Upload
caroline-bird
View
230
Download
2
Tags:
Embed Size (px)
Citation preview
3/4/98 PWG Presentation - Events and Notification
1
Events and Notification
Scott Isaacson
3/4/98 PWG Presentation - Events and Notification
2
Agenda
OMG Event Channel Notification Channel
The Open Group (TOG)Java ImplementationsNDPS
3/4/98 PWG Presentation - Events and Notification
3
OMG Basics
Event Channel
TypedEvent Channel
Notification Channel
- untyped events- push/pull- connect/disconnect
- typed events
TypedNotification
Channel
Networked Channel
- structured events- event objects- filtering- time stamping- delivery QoS priority time-out retry persistent- durable conns.
- transactions- security- named connections- routing- admin topology batching stats
- typed events
3/4/98 PWG Presentation - Events and Notification
4
OMG Interfaces
QoS UNSUPPORTED_PROPERTY UNAVAILABLE_PROPERTY UNSUPPORTED_VALUE UNAVAILABLE_VALUE BAD_PROPERTY BAD_TYPE BAD_VALUE
3/4/98 PWG Presentation - Events and Notification
5
OMG Interfaces
FilterMappingFilterFilterFactoryFilters: 4/15 pages of IDLFilter Objects work on
Any, Structured, TypedChannel -> Admin -> Proxy ->
Message
3/4/98 PWG Presentation - Events and Notification
6
OMG Events
Event Transmission Any, Structured, Sequences of
StructuredClient chooses, Channel maps
Any -> Structured Structured -> Any etc.
3/4/98 PWG Presentation - Events and Notification
7
Structured Events
Event Header Fixed (domain, type, name) Variable (set of properties)
priority, start-time, stop-time, time-out
Event Body Filterable Event Fields (set of
properties) Remaining Body (OctetStream)
3/4/98 PWG Presentation - Events and Notification
8
OMG Other
System Events Events on the Event Channel
Constraint Grammar NOT: vh[3].name == ‘priority’ AND
vh[3].value >2 YES: vh[‘priority’] > 2
Run time variables $curtime; $priority IS vh[‘priority’]
3/4/98 PWG Presentation - Events and Notification
9
OMG Other cont.
QoS set at all levels: Per Channel Per Admin Per Proxy Per Message
subscription_changeoffer_changeType Repository: event -> properties
3/4/98 PWG Presentation - Events and Notification
10
TOG
timely warning of impending problems notifying system administrators of failing
processes and system components speedily identifying root causes of problems in
ever more complex systems automatically fixing problems before service
levels are degraded support application-specific events for cross-
application correlation and communication 246 pages
3/4/98 PWG Presentation - Events and Notification
11
TOG: Event Report
event identification, category and subcategorydate/time/timezone of originoriginating process (physical ID)component, subcomponent, module,
subroutine, source code line, and so on, identifiers
priority and severity code text messageend-user device identifier.
3/4/98 PWG Presentation - Events and Notification
12
TOG: Notification Methods
email message notificationbeeper calledlog file entry postedrow inserted into some table in some
databasemanaged server stored-procedure
execution
3/4/98 PWG Presentation - Events and Notification
13
TOG: Methods cont.
SNMP alert raisedasynchronous desktop visual alert (for
example, GUI pop-up)visual cue in iconic representations
(for example, color change)arbitrary program executioninvoke management services at API
level
3/4/98 PWG Presentation - Events and Notification
14
TOG:Components
ChannelSupplier, Supplier ProxyConsumer, Consumer ProxyRepository
Filer, Schema, Event, Registered ClientsGateways to other event systems
3/4/98 PWG Presentation - Events and Notification
15
TOG: Tasks
configurationauthorizationregistrationconnectiondeliverymaintenance.
3/4/98 PWG Presentation - Events and Notification
16
TOG: Interfaces
the Registration interfacethe Event Type interfacethe Supplier Interfacethe Filter Interfacethe Consumer Interfacethe Management Interface.
3/4/98 PWG Presentation - Events and Notification
17
TOG: Gateways
Support OMGSupport SNMPSupport CMIPSupport XMPSupport DCE
3/4/98 PWG Presentation - Events and Notification
18
TOG: C Data Structures
EVENT HEADER
typedef struct ems_hdr_s_t { ems_eventid_t eventid; ems_origin_t origin; ems_severity_t severity; ems_utc_t received; ems_utc_t delivered; ems_priority_t priority;} ems_hdr_t;
EVENT BODY
typedef struct ems_event_s_t { ems_hdr_t header; ems_ulong_int count; ems_attribute_t item[1];} ems_event_t;
3/4/98 PWG Presentation - Events and Notification
19
TOG: Filters
#define ems_c_attr_op_eq (0)#define ems_c_attr_op_gt (1)#define ems_c_attr_op_lt (2)#define ems_c_attr_op_ge (3)#define ems_c_attr_op_le (4)#define ems_c_attr_op_ne (5)#define ems_c_attr_op_bitand (6)#define ems_c_attr_op_substr (7)
3/4/98 PWG Presentation - Events and Notification
20
JAVA
JavaSoft: Java Message Service Events Messages not Email Messages
Java Message Service Technology: Leveraging Messaging Systems for Enterprise Applications
Speaker: Mark Hapner, Senior Staff Engineer, Sun Microsystems, Inc.
3/4/98 PWG Presentation - Events and Notification
21
http://java.sun.com/javaone/ javaone98/tracks.html
Abstract: Enterprise infrastructures rely increasingly on messsage-oriented middleware. The Java Message Service (JMS) technology is the Java Enterprise API technology for messaging. JMS provides capabilities for reliable queues and publish/subscribe messaging. Reliable queues provide the basis for asynchronous task management within an enterprise. Publish/subscribe functionality supports dynamic interconnection of information sources with subscribers interested in that information. This talk describe the JMS API technology and its uses in
modern enterprises.
3/4/98 PWG Presentation - Events and Notification
22
Java: Open Horizon
Ambrosia Clients
Publisher/Subcriber (push)Solicit/Response (query)Request/Reply (pull)
BrokerIntermediary
100% Java
3/4/98 PWG Presentation - Events and Notification
23
Ambrosia Classes and Interfaces
Connection Credentials Evenlope Message MessageHandler Publication Session Subject Subscription
3/4/98 PWG Presentation - Events and Notification
24
Connection
authenticate (Credentials)connect(Broker)disconnet(boolean forceUnSubscribe)addMessageHandler(MH)removeMessageHandler(MH)getSubjetTree()getSubscriptions()
3/4/98 PWG Presentation - Events and Notification
25
Credentials
Constructor String userId String password
clear()getUid()set()acquire() - privateKey
3/4/98 PWG Presentation - Events and Notification
26
Envelope
getMessage()getID()getLabel()
3/4/98 PWG Presentation - Events and Notification
27
Message
byte[] getBody()setBody(byte[])getPublishers()getSubject()String toString()
3/4/98 PWG Presentation - Events and Notification
28
MessageHandler
Bind()unbind()getBindings()replaceHandler()
3/4/98 PWG Presentation - Events and Notification
29
Publication
Cancel()getEnvelope()join()start()suspend()
3/4/98 PWG Presentation - Events and Notification
30
Session
getConnection()isGuaranteedAllowed()isPublishAllowed()isSubscribeAllowed()publish(), subscribe()request(), reply() (solicit(MH))Transaction Support
3/4/98 PWG Presentation - Events and Notification
31
Subject
getParent()getChildren()getName()“stocks.*”“stocks.ACME”“printer.tray1.empty”
3/4/98 PWG Presentation - Events and Notification
32
Subscription
cancel()getDeliveryLabel()join()start()suspend()
3/4/98 PWG Presentation - Events and Notification
33
NDPS Event Notification Service (ENS) Goals
Provide extensible, asynchronous distribution channel for event data. Supportive of diverse address schemes
and delivery methods Transport and platform neutral Localization friendly Secure Efficient in its use of network bandwidth
3/4/98 PWG Presentation - Events and Notification
34
ENS Principles
Notification Protocol is a separable, general purpose protocol, it IS NOT just a subset of the Print protocol
Use a “channel” for scalabilityThe service makes it possible for the
client (not server) to localize/translateUse “mixed” (human and machine)
consumption models
3/4/98 PWG Presentation - Events and Notification
35
No Channel
Client
Client
Client
Client
Client
Printer
Printer
Printer
Printer
Printer
3/4/98 PWG Presentation - Events and Notification
36
Single Channel
Client
Client
Client
Client
Client
Printer
Printer
Printer
Printer
Printer
3/4/98 PWG Presentation - Events and Notification
37
Communities of Interest: Multiple Channels
Client
Client
Client
Client
Client
Printer
Printer
Printer
Printer
Printer
3/4/98 PWG Presentation - Events and Notification
38
Very Large Numbers of Clients
Printer
Clients
3/4/98 PWG Presentation - Events and Notification
39
ENS Architecture
Registration
Request
/
Report
222-4096222-4096
Bill
Notification
Persistent
Requests
NDS Tree
Notification Supplier
Notification Consumer
ENS
3/4/98 PWG Presentation - Events and Notification
40
ENS Scenario
1
2a 2b
3
4
5
6a
6b
6c
6d
6e
1. Printer Agent registers with Broker
2a. Print Job with Profile or 2b. Add Profile with Profile
3. Printer Agent remembers “some interest”
4. An event happens
5. Report the event
6. a) programmatic; b) log; c) email; d) pop-up; e) directed pop-up
ENS
profile
3/4/98 PWG Presentation - Events and Notification
41
Finding a Broker
Admin configuration Named directory (NDS) object
SLP IP
SAP IPX
3/4/98 PWG Presentation - Events and Notification
42
Submitting a Profile
Printer Agent only reports an event if there is some interest
Profile with Job (Security: User role) Job and Printer events (printer only
while Job is active)Profile outside of Job (Security:
Operator role) Printer and All Jobs
3/4/98 PWG Presentation - Events and Notification
43
What is a Profile?
Notification Profile persistence consumer name language id method oid delivery address set of event objects
3/4/98 PWG Presentation - Events and Notification
44
I18N
Client requests a “language”Report Contains
Identifiers Strings
In client preference if possibleIn server default config otherwise
Remote Identifier to String database Cached on client Support for any language
3/4/98 PWG Presentation - Events and Notification
45
Types of Events
Abstract Events Printer
Error, Warning, Report
JobError, Warning, Report
Other
State Change Any MIB Object - value change Instrumented for MIB Alerts
3/4/98 PWG Presentation - Events and Notification
46
UI and Profiles
UI for: All Printer events All Printer Error events Specific Printer Error events
“When the media in tray 1 goes to 0”Objects and Attributes
3/4/98 PWG Presentation - Events and Notification
47
Event Report
Event Report event type containing class oid and id filter class oid object class oid and id event oid event attribute set time
3/4/98 PWG Presentation - Events and Notification
48
NDPS: Publish/Subscribe with variations
Many (extensible) notification methodsSubscribe by proxy through the printer
Instead of finding Printer Agent AND Channel Just find Printer Agent Subscription is made
Listener (programmatic)GuaranteedHalt the Service