communicate information to other applications (message bus) Requires additional programming Database event capture requires programmatic polling or application modification DB2 “Request/Reply Polling” for new events Modify application code to talk to both APIs Messaging Bus APP C APP B APP A DB APP A DB1 DB APP B API API API API API API
No programming to move basic business events Extensible to meet complex requirements Enables process automation via event generation Enterprise Event Broker APP A DB1 APP B DB2 APP C DB3 Messaging Bus
Communication or Communication without Waiting, regardless of associated use or non-use of Queuing Purpose: the reliable passing of information from one location to another Network Point-to-point or Unicast Broadcast Multicast Messaging Models What is Messaging? Network Network
APP D Messaging Systems — TIBCO TIBCO: Publish / subscribe technology with subject based addressing and reliable multicast The Information Bus (TIB) Applications Consumers ContentBroker An order update is Published via Rendezvous Subject = ORDER.UPDATE BRIAN
model utilizing stable queues for message containment and availability An order update is placed into an MQ order process queue MQPUT MQ call is made to order process queue
Deliver Messaging Systems Enterprise Event Broker Sybase and non-Sybase databases Pulling the Technologies Together Enterprise Event Broker High-level Schematic ASE TIB MQ Series Other DB Transforms Transforms Route 1 Route 2 Standard Transforms Custom Transforms
Trans form Out Flow EEB Server and Flowspaces A logical View Users create flowspaces as containers for object instances Adapters, processors, event types, and routes are grouped in a flowspace Flowspaces can be stopped, started, and paused Customer Defined Flowspace B Flowspace A Flowspace B Flowspace C
Queries ASE or any JDBC data-source and formats results Timer Sends scheduled event notification to SQL Adapter MQ Places events in MQ queues and listens for incoming MQ messages destined for EEB TIBCO Places events on the TIB bus and listens for incoming TIBCO messages destined for EEB Adapters provide interfaces into and out of the EEB server Adapters attach to routes via associated logic processors Adapters generate instances of themselves for execution MQ Adapter Rep Adapter Out Flow SQL Adapter Trans Form TIBCO Adapter Out Flow Branch In Flow Timer Adapter In Flow DB
type Out-flow Ends a route Transfer Transfers events from one route to another Branch Branches a route to multiple sub-branches. Transform Changes a route’s event type MQ Adapter Rep Adapter In Flow Out Flow SQL Adapter Trans Form TIBCO Adapter Out Flow Branch ‘Text’ Event Type ‘RV Msg’ Event Type MQ Adapter Out Flow Trans fer Trans Form ‘SQL’ Event Type Processors contain logic that is executed on an event All processors are associated with adapters and event types All processors can contain custom Java classes
MQ Adapter reports back to the Rep. Adapter that it was successful Rep. Adapter removes the event from its stable queue Routes and Quality of Service A route is an individual flow that an event traverses to interface with EEB’s processors and adapters Routes belong specific EEB managers Routes have a quality of service attribute assigned Guaranteed - The adapter at the end of a route will report a completion status back to the route’s origination point Reliable - A “fire and forget” model. Any errors are simply logged
a SQL DML String MQ Adapter Out Flow In Flow • INSERT • UPDATE • DELETE • stored procedure • begin .. commit DB2 Oracle Informix Replication Agent Captures INSERT, UPDATE, DELETE, stored procedure, and transaction boundary events from Rep Server’s DSI thread Formats the events into SQL strings, name/value pairs, TIB RV messages, comma delimited values, or a Java Objects Provides filtering to only receive events of interest Interacts with Rep Server’s stable queue to provide guaranteed delivery with a high quality of service. Hands all events to in-flow processors attached to routes
Trans form In Flow Out Flow Timer and SQL Adapter Timer Adapter sends event to tell Tranform processor to wake up and query a database SQL Adapter connects to database and returns a result set SQL Adapter can utilize bundled jConnect or any JDBC driver jConnect JDBC Driver
MQSeries Queue X In Flow In Flow Out Flow Out Flow MQSeries and TIBCO Adapter TIBCO and MQ Adapters covert events to native message formats TIBCO and MQ Adapters use outflow processors to end routes TIBCO and MQ Adapter are responsible for QOS report
Out Flow Rep. Adapter In Flow Branch MQSeries and TIBCO Adapter TIBCO and MQ Adapters covert events to native message formats TIBCO and MQ Adapters use outflow processors to end routes TIBCO and MQ Adapter are responsible for QOS report
Out-flow Ends a route Transfer Transfers events from one route to another Branch Branches a route to multiple sub-branches. Transform Changes a route’s event type MQ Adapter Rep Adapter In Flow Out Flow SQL Adapter Trans Form TIBCO Adapter Out Flow Branch ‘Text’ Event Type ‘RV Msg’ Event Type MQ Adapter Out Flow Trans fer Trans Form ‘SQL’ Event Type Processor Types Processors contain logic that is executed on an event All processors are associated with a route All processors can contain custom Java classes
In Flow In-Flow Processor Begins a route Must support the Quality of Service level of a route Pushes events onto a route Assigns an initial event type to a route Can invoke customer Java classes
Successful placement of event in MQ queue is reported back to InFlow Out-Flow Processor Ends a route by consuming an event Can invoke customer Java classes
Out Flow Trans fer ‘Text’ Event Type ‘Text’ Event Type Assigned Route 1 Route 2 Transfer Processor Moves an event from one route to another QOS of the route that terminates at a Transfer is unrelated to the QOS of any newly originated Route(s) Can invoke customer Java classes MQ Adapter
‘Text’ Event Type Assigned Route 1 Route 2 ASE MQSeries Queue Transform Processor Transforms a route’s event type from one type to another Can filter events by not forwarding along the route In-flow and out-flow events can be of different types Can invoke customer Java classes In Flow Out Flow Trans form
more sub-routes Can end a route by branching to 0 sub-routes Source and destination Events must be of the same type Can invoke customer Java classes jConnect Rep Adapter SQL Adapter MQ Adapter Trans form ‘SQL’ Event Type ‘Text’ Event Type Assigned Route 1 Route 2 ASE MQSeries Queue ‘RV Msg’ Event Type Assigned TIBCO Rendevous Out Flow In Flow Trans form Branch TIBCO Adapter Out Flow
+ Event Type assigned to route at In-Flow Processor Example: New_PO Example: RV Message Container Implementation Types SQL Single SQL result set RowSet Multi row result set Bin Binary Text Text String Java Object Any arbitrary Java Object as contents RV Message TIBCO rendezvous msg Aggregate Ordered collection of other nested Event Containers User Defined Customer created Processors Event Types and Container Implementations Processors are strongly typed by assigned Event Types that define the type of data the processor can handle. An Event can change Types along a Route at a Branch or Transform processor In Flow Event Type Container Type
demonstrates replicated event handling: routing between multiple message adapters, and transformation from one event content to another 1. The Replication Adapter receives a replicated event from a Rep Server 2. The Replication Adapter sends the event to the SQL Adapter as a SQL event type event 3. The SQL Adapter executes the query with the specified parameters within the event and transforms the ResultSet into a Rowset event type 4. The SQL Adapter sends the SQL Rowset typed event to the TIBCO Adapter 5. The TIBCO Adapter publishes the message to TIBCO message system Rep Adapter ASE Replication Server 11.5+ Transformed into a Text Event Type TIBCO Adapter SQL Adapter Out Flow Trans form In Flow
Replicate sample demonstrates sending a replicated Property event type event from the Replication Adapter to the TIBCO Adapter for publication to the TIBCO message system 1. The Replication Adapter receives a replicated event from a Rep Server 2. The Replication Adapter sends a Property event to the TIBCO Adapter 3. The TIBCO Adapter publishes the message to the TIBCO message system Rep Adapter ASE Replication Server 11.5+ Assigns a property event type. TIBCO Adapter Out Flow In Flow
demonstrates the TIBCO Adapter listening for a TIB/Rendezvous subject, receiving and processing the event within EEB, and then publishing the results back to the TIBCO message system 1. The TIBCO Adapter listens for messages with a “sample.query” subject 2. Detected messages are captures and converted to Text typed events 3. Event is processed by the SQL Adapter and returned as a Rowset typed event 4. The event is then transformed to a Text typed event and sent back to TIBCO 5. TIBCO Adapter receives and publishes the event to the TIBCO msg system ASE Property to Text Transform TIBCO Adapter Out Flow TIBCO Rendezvous SQL Adapter Trans form Out Flow Trans form In Flow Rowset to Text Transform In Flow
demonstrates receiving replicated events from the Replication Adapter, formatting of replication operations, and sending a message to an MQSeries queue 1. The Replication Adapter receives a replicated event from a Rep Server 2. The Replication Adapter In-flow processor types the event as Text 3. Event is forwarded to the MQ Adapter and placed in the local default queue 4. Diagnostic information is written to the logfile Rep Adapter ASE Replication Server 11.5+ Assigns a Text event type. MQ Adapter Out Flow In Flow MQSeries Default Local Queue Message is sent as UTF String
Content Customization T I B All Sybase trades Subscribe to Sybase.Smith Subscribe to Sybase.Chris & Sybase.Joe trade information Enterprise Event Broker All trades Capture Transform Deliver BRIAN Sybase.Joe trades
S e r i e s Mainframe DB2 Trade transactions replicated to Sybase ASE Enterprise Event Broker Transformed trade information in a modified FIX format Capture Transform Deliver Reporting Server Analysis Application