236606 Lecture10

advertisement
Message Brokers and Workflows
Advanced Web Applications Development
Technion CS 236606 Spring 2003, Class 10
Netta Aizenbud-Reshef
Copyright 2002-2003
IBM Corporation
IBM Labs in Haifa
IBM Labs in Haifa
Outline





2
Message Brokers
MQ Integrator
Workflow
MQ Workflow
The Future?
Copyright 2002-2003 IBM Corporation
Message Brokers
Copyright 2002-2003
IBM Corporation
IBM Labs in Haifa
IBM Labs in Haifa
Message-Oriented Middleware (MOM) - Reminder
 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
 Scalability
 Transactional support
4
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Publish/Subscribe Messaging - Reminder
 Topic – “destination” (virtual data
channel)
 Producer is a “publisher”
Consumer is a “subscriber”
 Publishers and subscribers are
generally anonymous
5
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Point-to-Point Messaging - Reminder
 Queue: virtual data channel (“destination”)
 Producer is a “sender”
Consumer is a “receiver”
6
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Enterprise Application Integration - Reminder
Legacy
System
JMS
Client
JMS
Client
JMS
Server
Vendor A
JMSJMS
Client
Client
JMS
Client
Internet (http)
Gateway
7
E-Mail
gateway
JMS
Client
JMS
Server
Vendor B
JMS
Client
JMS
Client
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
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
8
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Message Broker - Motivation
 Traditional applications no longer have value by themselves
 Organizations want to hook new applications/systems (ERP, CRM) to
their traditional applications
 No common technological frameworks – very costly integration
9
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Message Broker – Advantages
 Minimal changes to applications (systems)
 Faster implementation and more flexibility
 A middleware that adapts to the applications, not vice versa
10
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Message Broker – Structure
 Common components of message brokers:
 Message Dictionary
 Data Translation Layer (DTL)
 Deconstructs messages
 Reconstructs data into new message
 Rules engine
 Content based routing decisions
 Boolean logic
 Adaptors to external systems
 Repository
 Stores copies of all exchanged data
 Message source, message format, target system, target system
format
11
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Message Broker vs. MOM
 MOM
Provides basic communication
Message persistence and guaranteed delivery
Solves only part of the problem
 Message brokers
Build on top of existing middleware technology
Provides enterprise application integration
12
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Application B
Messaging API
Messaging Clients
Application C
Application A
Messaging API
Messaging API
Messaging Clients
Message Broker
DTL
Rules
Engine
MOM
13
Messaging Clients
Copyright 2002-2003 IBM Corporation
Repository
IBM Labs in Haifa
Message Broker Products




14
WebSphere MQ Integrator, IBM
BusinessWare, Vitria
Financial Fusion (Sybase) Message Broker
Helio Message Broker, HelioGraph
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI – WebSphere MQ Integrator







15
Supports multiple environments
Transforms, augments and applies rules to message-based data
Routes and distributes data between systems
Supports topic-based publish/subscribe functions
Visualizes the application flow through a GUI
Allows message formats to be defined
An open framework which allows the use of built-in components together
with third-party offerings
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI Architecture
 Built on top of MQSeries
Base messaging and queuing capabilities
Supports 35 platforms
16
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI Architecture
Configuration
Manager
Broker
MQ Integrator
Layer
Control
Center
Message
Flows
Message
repository
Configuration
repository
Queue Manager
MQSeries
Layer
Queues
Client Applications
17
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI – Message Dictionary
 Supports messages from several sources
 Predefined
 Messages that their content and structure is defined in the MRM (Message
Repository Manager)
 Supported wire formats
CWF (Custom Wire Format)
XML
PDF
 Self defining
 Structure, content and format is within the message
 JMS, XML
 Undefined
 Content and structure is undefined
 BLOB
18
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI – Message Definition
 Interface to the MRM
 Hierarchical Structure
19
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI – Rules Engine
 A set of actions, rules
 An action is performed by a Message Processing Node
 Message Flow
 A sequence of message processing nodes
 Can be built hierarchically
 Provides a particular service
 Primitive processing nodes
Receiving and routing messages
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
20
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
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
21
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI - Message Flow Example
22
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI – Message Flow Development
23
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI – Message Flow Deployment
24
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WMQI - Topics and Publish/Subscribe configuration
25
Copyright 2002-2003 IBM Corporation
Workflow
Copyright 2002-2003
IBM Corporation
IBM Labs in Haifa
IBM Labs in Haifa
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
27
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow Example – Purchase Order
28
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
The Key Benefits of Workflow
 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
29
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow Management Systems







30
Lotus Workflow, IBM Lotus
WebSphere MQ Workflow, IBM
FLOWer, Pallas Athena
Staffware Workflow, Staffware
Verve Workflow, Verve inc.
i-Flow, Fujitsu
InConcert, TIBCO
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow Definition Languages
BPML – Business Process Modeling Language, BPMI.org
WSFL – Web Services Flow Language, IBM
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





31
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
The Workflow Management Coalition (WfMC)
 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
32
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow – Basic Architecture
 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
33
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow – Basic Architecture
34
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow – Build Time Functions




Business Process Definition
Translation from the real world into a formal definition
Use of analysis, modelling and definition techniques
Result
 Process Model
 Process Template
 Process metadata
 Process Definition
 Comprised of
 Discrete activity steps
 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
35
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow – Runtime Control Functions





Interpretation of the Process Definition
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
36
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow – Runtime Activity Interactions






37
Human operations
Invoke application tools
Information processing operations
Pass appropriate data
Transfer control between activities
Ascertain the operational status of a process
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow Reference Model
 Process Definition – specifications for process definition data and its
interchange with the workflow execution environment
 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
38
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow Reference Model
39
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow
 Supports multiple environments
 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
40
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Architecture
Model the Business
Process
Build Time
41
Manage Workflow
Execution
Runtime
Copyright 2002-2003 IBM Corporation
Perform Operations
Worklist
IBM Labs in Haifa
WebSphere MQ Workflow Build Time
 Graphical editor for process definition
 Define staff
 Register programs
 Define data structures
 Define process flow
Activities
Logic connectors
Transition condition
Data connectors – data to be ready for activities
42
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Build Time Model
43
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Build Time – Define Staff
44
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Build Time – Register Programs
45
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Build Time – Define Activities
46
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Build Time – Define Activities
 Define the program that needs to be executed
 Define the responsible person/role
 Define the duration of the activity
 A person to notify on delay
 Define the data structures
 Input data structure
 Output data structure
47
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Runtime
 Manage Workflow execution
 Navigate through the entire process
 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
48
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Worklist
 A client to perform operations
 View the list of activities
Find
Filter
Sort
 Start, Interrupt and Resume activities
 Transfer an activity from one person’s worklist to another’s
49
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Worklist
50
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow Runtime Monitor
51
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
WebSphere MQ Workflow – Application Workflow




Application Integration
Flow and control of data between different applications
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
52
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
Workflow Patterns
 Intended to examine the expressive power of workflow management systems
 Basic Patterns
Sequence – execute activities in sequence
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 Choice – choose several execution paths from many alternatives
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
53
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
The future is here?
 An Enterprise Nervous System (ENS) (Gartner Group)
 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
54
Copyright 2002-2003 IBM Corporation
IBM Labs in Haifa
References
 Message Broker
 http://www-3.ibm.com/software/integration/wbimessagebroker/
 http://www.vitria.com/products/platform/
 http://www.financialfusion.com/solutions/
 http://www.heliograph.co.uk/so_-_helio_message_broker.html
 Workflow
 http://www.wfmc.org/
 http://www.e-workflow.org/
 http://tmitwww.tm.tue.nl/research/patterns/patterns.htm
 http://www-3.ibm.com/software/integration/wmqwf/
 http://www.lotus.com/products/domworkflow.nsf
 http://www.pallas-athena.com/
 http://www.staffware.com/products/
 http://www.electroactive.com/clients/verve/web/workflow/
 http://www.iitgroup.com/index.html
 http://www.tibco.com/solutions/default.jsp
55
Copyright 2002-2003 IBM Corporation
Download