19
Enterprise Application Integration Sanjoy Sanyal (Tech for NonGeek)

Topic3 Enterprise Application Integration

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Topic3 Enterprise Application Integration

Enterprise Application Integration

Sanjoy Sanyal (Tech for NonGeek)

Page 2: Topic3 Enterprise Application Integration

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

Page 3: Topic3 Enterprise Application Integration

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

Page 4: Topic3 Enterprise Application Integration

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)

Page 5: Topic3 Enterprise Application Integration

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

Page 6: Topic3 Enterprise Application Integration

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)

Page 7: Topic3 Enterprise Application Integration

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)

Page 8: Topic3 Enterprise Application Integration

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

Page 9: Topic3 Enterprise Application Integration

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

Page 10: Topic3 Enterprise Application Integration

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

Page 11: Topic3 Enterprise Application Integration

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

Page 12: Topic3 Enterprise Application Integration

EAI: On the Balance

Lower Development and Opportunity CostsLower Maintenance Costs High software License costs

Sanjoy Sanyal (Tech for NonGeek)

Page 13: Topic3 Enterprise Application Integration

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)

Page 14: Topic3 Enterprise Application Integration

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)

Page 15: Topic3 Enterprise Application Integration

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)

Page 16: Topic3 Enterprise Application Integration

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

Page 17: Topic3 Enterprise Application Integration

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

Page 18: Topic3 Enterprise Application Integration

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)

Page 19: Topic3 Enterprise Application Integration

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)