236606 Lecture10

55
IBM Labs in Haifa Copyright 2002- 2003 IBM Corporation Message Brokers and Workflows Advanced Web Applications Development Technion CS 236606 Spring 2003, Class 10 Netta Aizenbud-Reshef

description

WMQ

Transcript of 236606 Lecture10

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