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