550 likes | 567 Views
Learn about Message Brokers, MQ Integrators, Workflows, and their role in developing advanced web applications. Explore the benefits like fault tolerance, load balancing, and scalability. Gain insights into Publish/Subscribe Messaging and Point-to-Point Messaging concepts and their importance in Enterprise Application Integration. Discover how Message Brokers help integrate different platforms, streamline business processes, and simplify application integration.
E N D
Message Brokers and WorkflowsAdvanced Web Applications DevelopmentTechnion CS 236606 Spring 2003, Class 10 Netta Aizenbud-Reshef
Outline • Message Brokers • MQ Integrator • Workflow • MQ Workflow • The Future?
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
Publish/Subscribe Messaging - Reminder • Topic – “destination” (virtual data channel) • Producer is a “publisher”Consumer is a “subscriber” • Publishers and subscribers are generally anonymous
Point-to-Point Messaging - Reminder • Queue: virtual data channel (“destination”) • Producer is a “sender”Consumer is a “receiver”
Enterprise Application Integration - Reminder Legacy System E-Mail gateway JMS Client JMS Client JMS Client JMS Server Vendor A JMS Server Vendor B JMS Client JMS Client JMS Client JMS Client Internet (http) Gateway JMS Client
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
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
Message Broker – Advantages • Minimal changes to applications (systems) • Faster implementation and more flexibility • A middleware that adapts to the applications, not vice versa
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
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
Application B Application C Application A Message Broker DTL Messaging API Messaging API Messaging API Rules Engine Messaging Clients Messaging Clients Messaging Clients Repository MOM
Message Broker Products • WebSphere MQ Integrator, IBM • BusinessWare, Vitria • Financial Fusion (Sybase) Message Broker • Helio Message Broker, HelioGraph
WMQI – WebSphere MQ Integrator • 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
WMQIArchitecture • Built on top of MQSeries • Base messaging and queuing capabilities • Supports 35 platforms
Queue Manager Client Applications WMQI Architecture Configuration Manager Broker MQ Integrator Layer Control Center Message Flows Message repository Configuration repository MQSeries Layer Queues
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
WMQI – Message Definition • Interface to the MRM • Hierarchical Structure
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
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
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
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
Workflow Management Systems • Lotus Workflow, IBM Lotus • WebSphere MQ Workflow, IBM • FLOWer, Pallas Athena • Staffware Workflow, Staffware • Verve Workflow, Verve inc. • i-Flow, Fujitsu • InConcert, TIBCO
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
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
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
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
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
Workflow – Runtime Activity Interactions • Human operations • Invoke application tools • Information processing operations • Pass appropriate data • Transfer control between activities • Ascertain the operational status of a process
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
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
Build Time Runtime WebSphere MQ Workflow Architecture Model the Business Process Manage Workflow Execution Perform Operations Worklist
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
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
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
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