Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 7, 2005.

Similar presentations


Presentation on theme: "CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 7, 2005."— Presentation transcript:

1 CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 7, 2005

2 Chapter 3: Enterprise Application Integration Web Services: Concepts, Architectures and Applications G. Alonso et. al. Springer Verlag

3 From Middleware to Enterprise Application Integration (EAI) Middleware and 3-tier architectures addressed the need to integrate multiple resources (typically databases whose interface was standardized using ODBC or JDBC type interfaces) EAI refers to the integration faced when dealing with multiple middleware systems to provide enterprise-wide functionality

4 Copyright Springer Verlag Berlin Heidelberg 2004 EAI: Application Example Manual process of implementing a supply-chain system

5 dispatcher inventory management ERPshipping message-oriented middleware month-end closing new PO Copyright Springer Verlag Berlin Heidelberg 2004 Need for message brokers With RPC or message-based interoperability, applications need to be Changed if they need to interoperate with a new system (dashed)

6 message broker core senderreceiver message broker with message brokers, custom message routing logic can be defined at the message broker level or at the queue level in basic MOM it is the sender who specifies the identity of the receivers Copyright Springer Verlag Berlin Heidelberg 2004 Extending basic Message-Oriented Middleware (MOM) Message brokers enable users to define custom message routing logic

7 dispatcher (publisher) inventory management (subscriber) ERP (subscriber) shipping (subscriber) message broker month-end closing (subscriber) new PO Copyright Springer Verlag Berlin Heidelberg 2004 Publish/Subscribe Interaction Model

8 admin message broker MB-A message broker MB-B client … adminclient … admin message broker MB-C client … administrative domain A administrative domain B administrative domain C Copyright Springer Verlag Berlin Heidelberg 2004 Distributed Administration of a Message Broker

9 DBMS applications message broker SmartQuotation adapter e-mail adapter database adapter SmartQuotation SmartForecasting adapter SmartForecasting XYZ adapter XYZ integrating application (contains the composition logic) Copyright Springer Verlag Berlin Heidelberg 2004 High-level architecture of typical EAI systems

10 message broker SmartQuotation adapter SmartQuotation SmartForecasting adapter SmartForecasting RFQ processing 1A6 BC 7 24 3 5 8 at systems startup time (can occur in any order, but all must occur before RFQs are executed) A: subscription to message quote B: subscription to message quoteRequest C: subscription to message newQuote at run time: processing of a request for quote. 1: publication of a quoteRequest message 2: delivery of message quoteRequest 3: synchronous invocation of the getQuote function 4: publication of a quote message 5: delivery of message quote 6: publication of a newQuote message 7: delivery of message newQuote 8: invocation of the createForecastEntry procedure Copyright Springer Verlag Berlin Heidelberg 2004 Example use of message broker

11 Critical view of message brokers On the plus side  Lower development costs  Lower opportunity costs  Lower maintenance effort On the negative side  Expensive tool suite  Adapters may not be easy to build

12 Workflow Management Systems

13 Historical background on workflow systems WfMS – work flow management systems Evolved from supporting “office automation” Types of workflows  Administrative workflows (travel reimbursement processing)  Production workflows Commercial platforms  WebSphere MQ workflow (IBM)  Vitria Businessware  Tibco Business Process Modeling (BPM)  BEA Web Logic  Microsoft BizTalk Orchestration Standardization effort – Workflow Management Coalition (WfMC)

14 Workflow definitions Business Process – a collection of activities that are performed by humans or software applications Work node – work that needs to be done Routing node – define the order in which work can be carried out Start and completion nodes – start and end points of workflows Workflow instance – an instance of a specific workflow process

15 check if offered product check if worth proceeding get quote from quotation system get quote from supplier enter quote in forecasting system send quote to customer ContractExists=true ContractExists=false Offered=true Offered=false GoAhead=true update quotation system variables: QuoteReferenceNumber: int Customer: String Item: String Quantity: int RequestedDeliveryDate: Date DeliveryAddress: String GoAhead: Bool ContractExists: Bool Offered: Bool else Copyright Springer Verlag Berlin Heidelberg 2004 Workflow model for a quotation system

16 workflow engine resource broker completed work items inbound queue resource 1 resource 2 resource n 1 2 4 5 3 workflow definitions outbound queues workflow designer Copyright Springer Verlag Berlin Heidelberg 2004 Scheduling and managing workflows

17 Recovering from failures Forward recovery Backward recovery  Sagas or compensating activity Exception handling languages Deadlines and deadline expiration

18 DBMS applications message broker SmartQuotation adapter e-mail adapter database adapter SmartQuotation SmartForecasting adapter SmartForecasting XYZ adapter XYZ WfMS adapter WfMS Copyright Springer Verlag Berlin Heidelberg 2004 Workflow and EAI technologies combined

19 Workflow summary Expensive and complicated to implement Useful in applications that are highly repetitive But the same applications can be done better with conventional middleware Nevertheless, they constitute a generic approach to a lot of commercial workflow problems.


Download ppt "CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 7, 2005."

Similar presentations


Ads by Google