Enterprise Application Integration. 2/31 Content Architectures Middleware What is EAI A Typical EAI...

Post on 23-Dec-2015

228 views 5 download

transcript

Enterprise Application Integration

2/31

Content

• Architectures

• Middleware

• What is EAI

• A Typical EAI System

• EAI Benefits

• Conclusion

3/31

Architectures

• 1 layer architecture– monolithic Information Systems– presentation, application logic, and resource

management were merged into a single tier

• 2 layer architecture– separation of presentation layer from other 2 layers

(app + resource) – became popular as 'server/client' systems

• 3 layer architecture– can be achieved by separating RM (resource

management) from application logic layer

4/31

Multi-tier Architectures

• Where to put the business-logic?– Client tier -> NO!

• Fat clients• Reimplementing it for each different type of client• Redistributing clients after each software update

– Data tier -> NO!• Vendor and technology dependence grows• Different applications have different needs for the

same data• Performance issues in resource usage

5/31

Multi-tier Architectures

• Where to put the business-logic?– Middle tier -> YES!

• Business logic has its own tier

Web browsersHTML, Java

GUI clientsC++, VB, Java

Client tier user interfaces

WebServer

MiddlewareServer

Middle tier business logic

Data tier data sources

Databases

Legacy Systems

6/31

Middleware I

• Allows communication– through a standard language– across different platforms– between legacy and moderm applications

• Takes care of– transactions between servers– data conversion– authentication– communications between computers

7/31

Middleware II

• Provides runtime environment for components in the middle-tier– Component lifecyle and management– Transaction, event and security services– Provides connections to databases,

mainframes and legacy systems

• Seperates client-tier from the data source– Clean seperation of user-interfaces and

presentation logic from the data source

8/31

Middleware III

• Main use today: legacy wrapping for thin client architectures

User interfaces

Business logic

Data sources

Client-tier (GUI applications, browsers)

Middle-tier (CORBA/EJB/COM server)

Data-tier (databases, mainframes)

9/31

What is EAI

• A step forard in the evolution of middleware

• Integrates applications and enterprise data sources so that they can easily share business processes and data

• Integration is done without significant changes of applications and data sources

10/31

Middleware

Middleware

Middleware

Middleware

Middleware

EAI

Middleware

11/31

ERP System

Legacy System

Databases

CRM System

Enterprise PortalApplication

Financial System

SCM System

Internal Applications(Java,C,C++)

EAI

12/31

Example: a simple supply chain

purchaseorder

deliver goods

write invoice

order atricle

checkavailability

document customer-contact

notavailable available

Ordering System

WarehouseControlsystem

CRM System

ERP System

ManufacturingSystem

Financial System

Business ProcessManagement

13/31

Components of EAI

• Adapters– map heterogenous data formats, interfaces

and protocols into a common model and format

– hide heterogeneity – present uniform view of layers below

• Message brokers– facilitates the interaction among adapters

14/31

Typical EAI system

integrating application(contains the composition logic)

message broker

SmartQuotation DBMSapplications

SmartForecasting XYZ

SmartQuotationadapter

databaseadapter

SmartForecastingadapter

e-mailadapter

XYZadapter

15/31

Message Brokers

• Message oriented middleware

• Supporting integration of heterogenous systems

• Logic for routing messages

• Filtering and processing messages

16/31

Old message-based interoperability

inventorymanagement

payment-system

month-endclosing

shipping

message-oriented middleware

dispacher

new PO

17/31

Message Brokers

inventorymanagement

payment-system

month-endclosing

shipping

message broker

dispacher

new PO

18/31

Difference

sender receiver

message broker core

In basic MOM it is the sender who specifies the identity of the receiers.

With message brokers, custom message routing logic can be defined at the messae broker level or at the queue level.

19/31

Routing logic

• sender‘s identity

• message type

• message content

• Definition– message broker level

– queue level

20/31

The Publish/Subscribe Interaction Model

• Applications communicate by exchanging messages

• Senders do not specify the the recipients of the message, they just publish

• Receivers have to subscribe with the middleware

• Middleware retrieves the list of subscrivers of a messagetype and delivers copy

21/31

inventorymanagement(subscriber)

paymentsystem(subscriber)

month-endclosing

(subscriber)

shipping(subscriber)

message broker

dispacher(pulisher)

new PO

The Publish/Subscribe Interaction Model

22/31

Definition messages subscribers want to receive

• Namespaces– „new PO“– „Supply Chain.new PO“– „Supply Chain.*“

• Parameter-based– „type = „new PO“ AND customer = „ACME

Co.“ AND quantity > 1200 “

23/31

The Publish/Subscribe Interaction Model

admin

message broker MB-A

client client … admin

message broker MB-C

client client …

admin

message broker MB-B

client client …

24/31

Example: Message exchanges

• Quotation scenario1. Receiving the quote from the customer

2. Accessing the quotation system to obtain a quote

3. Inserting quote information into a forecasting system (i.e., a system that predicts the order volume)

4. Sending the quote back to the customer

25/31

Example: Message exchangespublication of a

quoteRequest message

delivery of message quoteRequest

synchronous invocation of the getQuote function

publication of a newQuote message

delivery of message newQuote

invocation of the createForecastEntry

procedure

SmartQuotation SmartForecasting

SmartQuotationadapter

SmartForecastingadapter

message broker

publication of a quote message

delivery of message quoteRFQ processing

26/31

EAI benefits:

• Lower development costs– Integration is simpler because systems are more

loosely coupled than in object brokers

• Lower opportunity costs– Integration is done more quickly– corresponding cost savings reachieved sooner

• Lower maintenance effort– adapters extract the interaction with external systems– significant advantage from the software engineering

point of view

27/31

Real World Example:

• 1875 Alexander Graham Bell

invented the telephone • in the19th century AT&T became parent

company of the Bell System, the American telephone monopoly

• The system broke up into eight companies in 1984

28/31

Real World Example:

• From 1984 until 1996 AT&T was an integrated telecommunications services and equipment company

• Merged 2000 to 3 different companies: AT&T Wireless, AT&T Broadband, and AT&T

• 2002 AT&T developed a new nationwide intelligent optical network

29/31

Conclusion

• Enterprises integrate their applications– less expensive than replacement– more efficient than „information islands“

• Enterprises must establish web-presence and make business services available to web-clients

30/31

Links

• http://www.ibm.com

• http://www.att.com

• http://www.eaipatterns.com/

• http://www.iwaysoftware.com/

• http://www.capterra.com/enterprise-application-integration-software

• http://www.infoworld.com/techindex/enterprise_application_integration_-_eai.html

31/31

Workflow Management Systems

33/31

Content

• Overview

• The parts of a WfMS

• WfMS requirements

• WfMS and other Middleware

• WfM and the Web

34/31

Why WfMS

• Originally for office automation

• Automate administrative processes among human participants and applications

• Facilitate definition and maintenance of integration logic

• Processes can be interpreted and modified by business people

35/31

What is a WfMS

• Software platform to– Design– Develope– Execute– Analyse

workflow processes

• integrate different Services, Applications and human participants

36/31

The parts of a WfMS

• Workflow definition– Workflow definition Languages

• Workflow engine

• Design interface

• Monitoring tools and reporting capabilities

• User Interface

• Workflow Architecture

37/31

The parts of a WfMS

Workflow definitionWorkflow

engine

WorkflowInstance

User Interface / Application

Monitoring

Resourcerepository

38/31

The Workflow definition

• Formal description of a business logic

• Specified by a directed graph

• Defines order of execution of process nodes– Work node– Routing node– Start and completion nodes

• Once designed, definitions can be “applied” to the process engine

39/31

The Workflow Definition (2)

Check if offered Produkt

Offered = false

Check if worthproceeding

Get quote from Quotation system

go_ahead = true

Get quote from supplier

Update quotationSystem

Contract = false

Contract = true

Send quote to costumer

Enter quote in Forecasting system

else

else

40/31

The Workflow definition (3)

• Standard Workflow definition Language• Extendable Process Definition Language -

XPDL 1.0. ( WFMC )– Includes application integration and resource

specification– XPDL is extendable– It provides a natural fit with graphical

representations– XPDL 1.0 uses the popular XML language– Can be imported into workflow engines that

supports XPDL

41/31

The Workflow Definition (4)<WorkflowProcess Id="Parallel"> <Activities> <Activity Id="A"> ... <TransitionRestrictions> <TransitionRestriction> <Split Type="AND"> <TransitionRefs> <TransitionRef Id="B"/> <TransitionRef Id="C"/> </TransitionRefs> </Split> </TransitionRestriction> </TransitionRestrictions> </Activity> <Activity Id="B"> ... </Activity> <Activity Id="C"> ... </Activity>

<Activity Id="D"> ... <TransitionRestrictions> <TransitionRestriction> <Join Type="AND"/> </TransitionRestriction> </TransitionRestrictions> </Activity> </Activities> <Transitions> <Transition Id="AB" From="A" To="B"/> <Transition Id="AC" From="A" To="C"/> <Transition Id="BD" From="B" To="D"/> <Transition Id="CD" From="C" To="D"/> </Transitions></WorkflowProcess> A

CB

D

42/31

The Workflow engine

• Retrieve Wf definition• Determine nodes to be executed

– routing node– work node

• Place work into the work queue– resource accomplishes work

• OR invoke method of resource API• monitor inbound queue for completion

messages• determine next node to be executed

Wait untilWork is

completed

Determine nodes out ofWF definition

Place workInto work

queue

43/31

The Workflow engine (2)

Resource Broker

Workflow engine

resource1

resource2

resource3

Inbound queue

Outbound queues

WorkflowDefinition

1

2

3 45

44/31

Monitoring Tools

• track and monitor individual work requests • review resource productivity and work volume

analysis• quickly search for and identify a work request • provide feedback on performance issues• Get information about bottlenecks in the

process• Analysis to implement changes to the workflow

process

45/31

User Interface

• Separate work list management from workflow management

• access and action work requests• individuals have a single work list• requests from different workflows

46/31

Workflow Architectures

• Highly centralized Architecture• Tasmanager parts of Scheduler

• Async. centralized Architecture• Tasmanager no longer part of Scheduler• Calling Program not blocked• No immediate action of called Program

47/31

Workflow Architectures (2)

• Decentralized Architecture

• No centralized scheduler• Monitoring service for

controlling• No Bottlenecks

48/31

WfMS Requirements

• Scale

• Dynamic resource selection and assignment

• Performance management

• Sophisticated Failure handling

49/31

Failure Handling

• Forward Recovery

• Backward Recovery

• Exception handling

• Deadlines

50/31

WfMS and other Middleware

• Act in many ways as EAI tools

• emphasis on programming in the large

• Focus on workflow that manages integration

• combine WfMS and EAI into a single system

51/31

WfMS and other Middleware (2)

WfMS

WfMS Adapter

Message Broker

Smart quotationadapter

databaseadapter

forecastingadapter

E-mailadapter

…..

Smartquotation

DBMS Application

SmartForecasting

52/31

WfM and the Web

• Services have to be described • Protocols to communicate with the Service

– SOAP

• Formats and protocols for invoking the Service– WSDL

• Must be easy to find• Search Services by creteria

– UDDI

53/31

Web Service Integration

• Outsource Services

• Search for business partners

• Establish partnership

• Enable Service communication

54/31

Web Service Integration (2)

• Exchange of messages

• Services may not be invoked in right order

• Flow Model

55/31

Web Service Integration (3)

• New requirements

• Get list of Services that fullfill them

56/31

Web Service Integration (4)

• Compose new Web Service

• Publish Service

• Internal details hidden from User

57/31

Disadvantages of WfMS

• Expensive software licenses

• Complex installation and operation

• Heavy-weight platforms

58/31

Advantages of WfMS

• Rapid process design and maintainance

• Failure and exception handling

• Catering for performance and high availability

• Workflow design with graphical interface