3/4/98 pwg presentation - events and notification1 events and notification scott isaacson

Post on 27-Mar-2015

222 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related