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

48
3/4/98 PWG Presentation - Event s and Notification 1 Events and Notification Scott Isaacson

Upload: caroline-bird

Post on 27-Mar-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

1

Events and Notification

Scott Isaacson

Page 2: 3/4/98 PWG Presentation - Events and Notification1 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

Page 3: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 4: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 5: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 6: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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.

Page 7: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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)

Page 8: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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’]

Page 9: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 10: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 11: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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.

Page 12: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 13: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 14: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 15: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

15

TOG: Tasks

configurationauthorizationregistrationconnectiondeliverymaintenance.

Page 16: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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.

Page 17: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

17

TOG: Gateways

Support OMGSupport SNMPSupport CMIPSupport XMPSupport DCE

Page 18: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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;

Page 19: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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)

Page 20: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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.

Page 21: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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.

Page 22: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 23: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

23

Ambrosia Classes and Interfaces

Connection Credentials Evenlope Message MessageHandler Publication Session Subject Subscription

Page 24: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

24

Connection

authenticate (Credentials)connect(Broker)disconnet(boolean forceUnSubscribe)addMessageHandler(MH)removeMessageHandler(MH)getSubjetTree()getSubscriptions()

Page 25: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

25

Credentials

Constructor String userId String password

clear()getUid()set()acquire() - privateKey

Page 26: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

26

Envelope

getMessage()getID()getLabel()

Page 27: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

27

Message

byte[] getBody()setBody(byte[])getPublishers()getSubject()String toString()

Page 28: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

28

MessageHandler

Bind()unbind()getBindings()replaceHandler()

Page 29: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

29

Publication

Cancel()getEnvelope()join()start()suspend()

Page 30: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

30

Session

getConnection()isGuaranteedAllowed()isPublishAllowed()isSubscribeAllowed()publish(), subscribe()request(), reply() (solicit(MH))Transaction Support

Page 31: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

31

Subject

getParent()getChildren()getName()“stocks.*”“stocks.ACME”“printer.tray1.empty”

Page 32: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

32

Subscription

cancel()getDeliveryLabel()join()start()suspend()

Page 33: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 34: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 35: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

35

No Channel

Client

Client

Client

Client

Client

Printer

Printer

Printer

Printer

Printer

Page 36: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

36

Single Channel

Client

Client

Client

Client

Client

Printer

Printer

Printer

Printer

Printer

Page 37: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

37

Communities of Interest: Multiple Channels

Client

Client

Client

Client

Client

Printer

Printer

Printer

Printer

Printer

Page 38: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

38

Very Large Numbers of Clients

Printer

Clients

Page 39: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 40: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 41: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

3/4/98 PWG Presentation - Events and Notification

41

Finding a Broker

Admin configuration Named directory (NDS) object

SLP IP

SAP IPX

Page 42: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 43: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 44: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 45: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 46: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 47: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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

Page 48: 3/4/98 PWG Presentation - Events and Notification1 Events and Notification Scott Isaacson

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