topic3 enterprise application integration
DESCRIPTION
TRANSCRIPT
Enterprise Application Integration
Sanjoy Sanyal (Tech for NonGeek)
Application Integration in Perspective
Sanjoy Sanyal (Tech for NonGeek)
Client Server Systems Separates the presentation layer from the application logic layerIncrease of bandwidth and availability of PCsIslands of client server clusters emerged
3 tier architecture and middleware Separates the application logic layer from the resource management layerAllows systems to be built on clusters and integrate different serversThis led to proliferation of services in several rounds of abstraction
The challenge now is the integration of services EAI is one response to the challenge of bridging 3-tier architectures
The Challenge of Application Integration
Sanjoy Sanyal (Tech for NonGeek)
Example: Supply Chain
Quotation
Order Processing
Procurement
Shipment Managem
ent
Financials
A single implementation of a company-wide process requires integration between different systems which can:-Run on a different OS -Support different interfaces and functionality -Support different data formats -Support informational formats that cannot be easily cast into parameters of a procedure call-Have different security requirements -Have different communication protocols and infrastructure
EAI Middleware: Message Brokers Message Brokers create a “hub and spoke”
communication infrastructure between applications
Traditional RPC/MOM systems create point-to-point links
Message brokers provide additional functionality to transporting messages:Provide adapters that makes it possible to access
heterogenous systems Also filters. routes and processes the messagesIn other words attaches logic at the middleware layer
Examples:Tibco ActiveEnterprise, BEA WebLogic Integration,
WebMethods Enterprise and WebSphereSanjoy Sanyal (Tech for NonGeek)
Advantages of Message Brokers
Sanjoy Sanyal (Tech for NonGeek)
Message Brokers de-couple receivers and senders:The message routing logic is specified in the
broker unlike in basic MOM where the sender specifies the receiver
Content transformation rules is specified in the broker
Advantages: Increased flexibility : for e,g. when a new system is
neeeded to interact with the supply chain process only the middleware logic needs to change
Integration between heterogeneous data formats/communication protocols
Publish-Subscribe Interaction Model
Applications publish to the middleware system Applications subscribe to messages specifying:
Type (type.subtype…..)Parameters (boolean based: type.subtype AND
<condition)Middleware:
receives messageretrieves the list of relevant subscribing
applicationsdelivers a copy to each of them
Widely supported model among message brokers
Sanjoy Sanyal (Tech for NonGeek)
JMS
JMS tries to stanardize APIs and middleware infrastructure
JMS supports point-to-point middleware JMS supports publish/subscribe API (based
on topic)
Sanjoy Sanyal (Tech for NonGeek)
Distributed Administration of a Message Broker
Sanjoy Sanyal (Tech for NonGeek)
Administrative domain A
admin
Message Broker A
client client
Administrative domain B
admin
Message Broker B
client client
Administrative domain C
admin
Message Broker C
client clientThe administrator has the authority to define:1. Type of messages that can be sent and received 2, which users are authorized to send/receive and to customize routing logic
Different admin domains can correspond to separate cos/departments
Message brokers in different domains can be a client of each other thus allowing clients in one domain to interact with clients in another
Understanding MiddlewareOffers programming abstractions that hides the complexities
of bridging between heterogeneous platforms Middleware implements the functionality of the abstraction
Sanjoy Sanyal (Tech for NonGeek)
Remote Procedure Call
Sockets
TCP/UDP
IP
A simple example
Remote Procedure Call: Hides communication details behind a procedure call
Sockets: operating system level interface to the underlying communication protocols
Underlying communication protocol
EAI with a Message BrokerEAI platforms are based on two components:
Adapters which hide heterogeneity Message brokers which facilitate communication
Sanjoy Sanyal (Tech for NonGeek)
Message broker
Integrating application
Quotation adapter
Database adapter
Forecasting
adapter
Emailadapter
xyzadapter
High Level architecture of a typical EAI system
EAI: Example
Sanjoy Sanyal (Tech for NonGeek)
RFQ Processing
Message Broker
Quotation Adapter
Forecast Adapter
A
B C2 4
1 5 6
7
At system startupA: subscription to message quote B: subscription to message quoterequest C: subscription to message newquote
At runtime1: publication of a quoterequest message2: delivery of message quoterequest 3: synchronous invocation of getquote function4: publication of a quote message5: delivery of message quote6: publication of a newquote message 7: delivery newquote message 8: invocation of createforecastentry function
B3
EAI: On the Balance
Lower Development and Opportunity CostsLower Maintenance Costs High software License costs
Sanjoy Sanyal (Tech for NonGeek)
Workflow Management Systems
Origin in office automation Received interest from business process
reengineering Products:
WebSphere MQ Workflow (IBM) Vitra Business-Ware Tibco BPM BEA WebLogic Integration Microsoft BizTalk Orchestration
Sanjoy Sanyal (Tech for NonGeek)
Workflow Definitions
Business Process E.gs: hiring new employees, process
purchase orders Workflow/Workflow process:
Formal executable description of a business process
Workflow specified by:Work node: represent work items Routing node: define order in which work
items should be executed Start and completion nodes: start and end
points of workflow
Sanjoy Sanyal (Tech for NonGeek)
Workflow ExecutionExecuted by a workflow engine:
Retrieves the workflow definition from a repositoryDetermines the nodes to be executedSchedules the work to be done Assigns it to an appropriate resource (work executor)
Resources:Retrieve work from a work queue (work can also be
pushed)Executes and returns the work to the engine’s
inbound queue Evaluate the condition and determines which node
should be executed next Resource broker:
Helps in node selection by executing resource selection policy
Sanjoy Sanyal (Tech for NonGeek)
Workflow Execution
Sanjoy Sanyal (Tech for NonGeek)
Workflow Engine
Resource broker
Completed work itemsInbound queue
resource 1
resource 2
resource n
Workflow Definitions
Workflow Designer Outbound queues
EAI with WfMSEAI and WfmS are Complimentary
EAI tackles heterogenity, WfMs tackle workflowWfMs can sit on top of EAI
Sanjoy Sanyal (Tech for NonGeek)
Message broker
WfMS adapter
Quotation adapter
Database adapter
Forecasting
adapter
Emailadapter
xyzadapter
WfMS
WfMS: On the Balance
Generated a lot of interest But did not live up to its promise:
High software licenses Difficult to automate real-life processes
Sanjoy Sanyal (Tech for NonGeek)
Summary
Sanjoy Sanyal (Tech for NonGeek)
EAI refers specifically to integration of heterogeneous, coarse grained applications
Platforms for choice are message brokers and Workflow Management systems
Message brokers play a much more important role Message brokers allow an asynchronous communication
model and loose coupling In general, implementations of EAI platforms is still
expensive and not seamless
(the material in this topic is based on Web Services: Concepts, Architectures and Applications by Alonso, Casati, Kuno, Machiraju)