Download presentation
Presentation is loading. Please wait.
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
EAI: Application Example
quotation supplier and customer mgmt order processing procurement shipment management financial Manual process of implementing a supply-chain system Copyright Springer Verlag Berlin Heidelberg 2004
5
Need for message brokers
dispatcher inventory management ERP shipping message-oriented middleware month-end closing new PO With RPC or message-based interoperability, applications need to be Changed if they need to interoperate with a new system (dashed) Copyright Springer Verlag Berlin Heidelberg 2004
6
Extending basic Message-Oriented Middleware (MOM)
message broker core sender receiver 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 Message brokers enable users to define custom message routing logic Copyright Springer Verlag Berlin Heidelberg 2004
7
Publish/Subscribe Interaction Model
dispatcher (publisher) inventory management (subscriber) ERP shipping message broker month-end closing new PO Copyright Springer Verlag Berlin Heidelberg 2004
8
Distributed Administration of a Message Broker
message broker MB-A message broker MB-B client … message broker MB-C administrative domain A administrative domain B administrative domain C Copyright Springer Verlag Berlin Heidelberg 2004
9
High-level architecture of typical EAI systems
DBMS applications message broker SmartQuotation adapter database SmartForecasting XYZ integrating application (contains the composition logic) Copyright Springer Verlag Berlin Heidelberg 2004
10
Example use of message broker
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 RFQ processing A 1 5 6 message broker B 2 4 C 7 SmartQuotation adapter SmartForecasting adapter 3 8 SmartQuotation SmartForecasting Copyright Springer Verlag Berlin Heidelberg 2004
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
Workflow model for a quotation system
check if offered product Offered=false check if worth proceeding Offered=true else GoAhead=true get quote from quotation system variables: QuoteReferenceNumber: int Customer: String Item: String Quantity: int RequestedDeliveryDate: Date DeliveryAddress: String GoAhead: Bool ContractExists: Bool Offered: Bool ContractExists=false get quote from supplier ContractExists=true update quotation system send quote to customer enter quote in forecasting system Copyright Springer Verlag Berlin Heidelberg 2004
16
Scheduling and managing workflows
resource broker resource 1 5 3 4 workflow engine resource 2 completed work items inbound queue 1 2 resource n workflow definitions outbound queues workflow designer Copyright Springer Verlag Berlin Heidelberg 2004
17
Recovering from failures
Forward recovery Backward recovery Sagas or compensating activity Exception handling languages Deadlines and deadline expiration
18
Workflow and EAI technologies combined
WfMS WfMS adapter message broker SmartQuotation adapter database adapter SmartForecasting adapter adapter XYZ adapter SmartQuotation DBMS applications XYZ SmartForecasting Copyright Springer Verlag Berlin Heidelberg 2004
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.