Enterprise MessagingNetta Aizenbud-Reshef
Asynchronous communication:
The sender and receiver do not have to be available at the same
time in order to communicate.
Message: “a package of business data that is sent from one
application to another over the network. Self-describing – contains
all the necessary context to allow the recipients to carry out
their work independently”
Fault tolerance
Load balancing
Producer is a “publisher”
Consumer is a “subscriber”
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Producer is a “sender”
Consumer is a “receiver”
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Enterprise Application Integration - Reminder
Message Broker
A broker among one or more target entities (such as a network,
middleware, applications, and systems)
Integrates multiple business activities (applications) whether they
are new, old, legacy, centralized, or distributed
Ties together many different platforms and application development
solutions
Facilitates the integration of business processes
Main goal - provide a simple, central point of integration
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Organizations want to hook new applications/systems (ERP, CRM) to
their traditional applications
No common technological frameworks – very costly integration
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
A middleware that adapts to the applications, not vice versa
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Message Dictionary
Rules engine
Message source, message format, target system, target system
format
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Message Broker vs. MOM
Solves only part of the problem
Message brokers
Provides enterprise application integration
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Helio Message Broker, HelioGraph
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
WMQI – WebSphere MQ Integrator
Routes and distributes data between systems
Supports topic-based publish/subscribe functions
Allows message formats to be defined
An open framework which allows the use of built-in components
together with third-party offerings
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Supports 35 platforms
Predefined
Messages that their content and structure is defined in the MRM
(Message Repository Manager)
Supported wire formats
JMS, XML
BLOB
An action is performed by a Message Processing Node
Message Flow
Can be built hierarchically
Provides a particular service
Transforming a message to an alternative representation
Selecting a message for further processing based upon the message’s
content
Interacting with an external repository to augment a message or
store the whole or part of a message
Responding to events and errors
User defined processing nodes
Implement a supplied Interface
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
WMQI - Message Flow Example
Stock Market
NYSEtrade message contains date, company symbol, company name,
quote price and total value traded
FTSEtrade message contains the same information as NYSEtrade in the
identical format
AMEXtrade message contains date, company name, quote price and
amount traded
The information that applications want to acquire
Rationalized trades - all trades in a consistent data format. These
are needed for known trading analysis application A
Major trades - rationalized trades with ‘netvalue’ greater than
$100,000. These should be logged in the message warehouse and
delivered to application C, which connects intermittently to
perform historical analysis
PE Update - triggered by earnings reports, computed and added to
earning report data and delivered to application B which analyses
PE changes
The stream of major trades should be published
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
WMQI - Message Flow Example
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Workflow Definition
Workflow is a term used to describe the tasks, procedural steps,
organizations or people involved, required input and output
information, and tools needed for each step in a business
process
A workflow engine is the component in a workflow automation program
that knows all the procedures, steps in a procedure, and rules for
each step. The workflow engine determines whether the process is
ready to move to the next step
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Workflow Example – Purchase Order
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Improved efficiency - automation of many business processes results
in the elimination of many unnecessary steps
Better process control - improved management of business processes
achieved through standardizing working methods and the availability
of audit trails
Improved customer service – consistency in the processes leads to
greater predictability in levels of response to customers
Flexibility – software control over processes enables their
re-design in line with changing business needs
Business process improvement - focus on business processes leads to
their streamlining and simplification
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
XLANG – extension of WSDL, Microsoft
UML – Unified Modeling Language, Rational
BPEL – Business Process Execution Language, Based on WSFL and
XLANG
XPDL – XML Process Definition Language, WfMC
WSCI – Web Service Choreography Interface, BEA, SAP, Sun
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
A non-profit, international organization of workflow vendors,
users, analysts and university/research groups.
Mission - to promote and develop the use of workflow through the
establishment of standards for software terminology,
interoperability and connectivity between workflow products.
Contribution - Workflow reference model
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Workflow systems provide support in the following function
areas
Build time functions – defining and modelling the workflow process
and its constituents activities
Runtime control functions – managing the workflow processes in an
operational environment and sequencing the various activities to be
handled as part of the process
Runtime interactions – with human users and IT application tools
for processing the various activity steps
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Use of analysis, modelling and definition techniques
Result
Associated computer and/or human operations
Rules for the progression of the process through the various
activity steps
Can be expressed in text, graphical form or formal language
notation
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Workflow – Runtime Control Functions
Creation and Control of operational instances of the process
Scheduling various activity steps within the process
Invoking human and IT application resources
Act as the linkage between the process as modelled by the Process
Definition and the process as it is seen in the real world
The core component is the workflow management control
software
Can be distributed across a number of computer platforms
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Workflow – Runtime Activity Interactions
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Workflow Interoperability – interfaces to support interoperability
between different workflow systems
Invoked Applications – interfaces to support interaction with a
variety of IT application types
Workflow Client applications – interfaces to support interaction
with user interface desktop functions
Administration and Monitoring – interfaces to provide system
monitoring and metric functions to facilitate the management of
composite workflow application environments
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Supports long-running business process workflows as they interact
with systems and people
Provides integration processes with rich support for human
interactions
Allows to bring systems and people into a managed process
integration environment for EAI, B2Bi, and BPM solutions
Built to a service-oriented architecture based on standards
Offers deep application connectivity to leverage WebSphere MQ, XML,
Java™ 2 Enterprise Edition (J2EE) and Web services
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
WebSphere MQ Workflow Architecture
Define staff
Register programs
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Define the program that needs to be executed
Define the responsible person/role
Define the data structures
Assign individual tasks to the right persons
Start linked applications automatically
Notify administrators of delay
Write every action to an audit trail for evaluation purposes
Performed in the background
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
WebSphere MQ Workflow Worklist
Find
Filter
Sort
Start, Interrupt and Resume activities
Transfer an activity from one person’s worklist to another’s
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
WebSphere MQ Workflow Worklist
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Application Integration
Transactions support
Transform transactions as activities into the workflow model
Integrate CICS or IMS transactions as part of the workflow
model
Transaction integrity is guaranteed
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
Intended to examine the expressive power of workflow management
systems
Basic Patterns
Parallel Split – execute activities in parallel
Synchronization – synchronize two parallel threads of
execution
Exclusive Choice – choose one execution path from many
alternatives
Simple Merge – merge two alternative execution paths
Advanced Patterns
Multiple Merge – merge many execution paths without
synchronizing
Arbitrary Cycles – execute workflow graph w/out any structural
restriction on loops
Implicit Termination – terminate if there is nothing to be
done
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation
The future is here?
An application-level network that provides unifying connectivity
among people, application systems and devices in different
locations and different business units
Built on the traditional enterprise network
An evolution of the network, providing value-added functions that
elevate the role of the network well beyond that of plain
communication
The network is as intelligent as the applications
Application systems and services interact with each other with the
assistance of a high-function ENS network that incorporates
inter-mediating logical engines such as integration brokers and
business process management services, and cross-application
information resources such as operational data stores and message
warehouses
Much of the technology is here and the foundation standards are
mostly in place
IBM Labs in Haifa
Copyright 2002-2003 IBM Corporation