You are on page 1of 58

Enterprise Application

Integration

Content

Architectures
Middleware
What is EAI
A Typical EAI System
EAI Benefits
Conclusion

2/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
3/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
4/31

Multi-tier Architectures
Where to put the business-logic?
Middle tier -> YES!
Business logic has its own tier
Client tier
user interfaces

Web browsers
HTML, Java
GUI clients
C++, VB, Java

Middle tier
business logic

Web
Server

Data tier
data sources

Databases
Middleware
Server
Legacy Systems
5/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
6/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
7/31

Middleware III
Main use today: legacy wrapping for thin
client architectures
User interfaces

Client-tier (GUI applications, browsers)

Business logic

Middle-tier (CORBA/EJB/COM server)

Data sources

Data-tier (databases, mainframes)


8/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

9/31

Middleware

Middleware

EAI

Middleware

Middleware

Middleware

Middleware

10/31

ERP System

Internal Applications
(Java,C,C++)

Enterprise Portal
Application

CRM System

EAI

Financial System

Databases

Legacy System

SCM System

11/31

Example: a simple supply chain


Ordering System

purchase
order

CRM System

document
customer-contact

Warehouse
Controlsystem

check
availability

Business Process
Management

not
available

available

ERP System
order atricle
Financial System

write invoice

Manufacturing
System

deliver goods

12/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
13/31

Typical EAI system


integrating application
(contains the composition logic)

message broker
SmartQuotation
adapter

database
adapter

SmartForecasting
adapter

SmartQuotation

DBMS
applications

SmartForecasting

e-mail
adapter

XYZ
adapter

XYZ

14/31

Message Brokers
Message oriented middleware
Supporting integration of heterogenous
systems
Logic for routing messages
Filtering and processing messages

15/31

Old message-based
interoperability
inventory
management

paymentsystem

dispacher

shipping

month-end
closing

new PO

message-oriented middleware

16/31

Message Brokers
inventory
management

paymentsystem

dispacher

shipping

month-end
closing

new PO

message broker

17/31

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

In basic MOM it is the


sender who specifies the
identity of the receiers.

sender

receiver

message broker core


18/31

Routing logic
senders identity
message type
message content
Definition
message broker level
queue level
19/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
20/31

The Publish/Subscribe
Interaction Model
inventory
management
(subscriber)

paymentsystem
(subscriber)

dispacher
(pulisher)

shipping
(subscriber)

month-end
closing
(subscriber)

new PO

message broker

21/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
22/31

The Publish/Subscribe
Interaction Model
admin

client

client

admin

message broker MB-A

client

client

message broker MB-C

message broker MB-B


admin

client

client

23/31

Example: Message exchanges

Quotation scenario
1. 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
24/31

Example: Message exchanges


publication of a
quoteRequest message

publication of a quote
message

delivery of message
quoteRequest

RFQ processing

message broker

SmartQuotation
adapter

SmartForecasting
adapter

synchronous invocation
of the getQuote function

delivery of message
quote

publication of a
newQuote message

delivery of message
newQuote

invocation of the
createForecastEntry
procedure

SmartQuotation

SmartForecasting

25/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
26/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
27/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

28/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
29/31

Links

http://www.ibm.com
http://www.att.com
http://www.eaipatterns.com/
http://www.iwaysoftware.com/
http://www.capterra.com/enterprise-applica
tion-integration-software
http://www.infoworld.com/techindex/enterpr
ise_application_integration_-_eai.html
30/31

31/31

Workflow Management Systems

Content

Overview
The parts of a WfMS
WfMS requirements
WfMS and other Middleware
WfM and the Web

33/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
34/31

What is a WfMS
Software platform to

Design
Develope
Execute
Analyse

workflow processes
integrate different Services, Applications
and human participants

35/31

The parts of a WfMS


Workflow definition
Workflow definition Languages

Workflow engine
Design interface
Monitoring tools and reporting capabilities
User Interface
Workflow Architecture
36/31

The parts of a WfMS


User Interface /
Application

Monitoring

Workflow
Instance
Resource
repository
Workflow
engine

Workflow definition

37/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
38/31

The Workflow Definition (2)


Check if
offered Produkt
Offered = false

Contract = false
else

Check if worth
proceeding

else

go_ahead = true

Get quote from


Quotation system

Get quote from


supplier

Update quotation
System

Contract = true

Send quote to
costumer

Enter quote in
Forecasting system

39/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
40/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>
A
</WorkflowProcess>

C
D

41/31

The Workflow engine


Retrieve Wf definition
Determine nodes to be executed
routing node
work node

Wait until
Work is
completed

Determine
nodes out of
WF definition

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

Place work
Into work
queue

42/31

The Workflow engine (2)


Resource Broker
3
Inbound queue

Workflow engine

Outbound queues
5

resource1
resource2
resource3

Workflow
Definition

43/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
44/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

45/31

Workflow Architectures

Async. centralized Architecture


Tasmanager no longer part of Scheduler
Calling Program not blocked
No immediate action of called Program

Highly centralized Architecture


Tasmanager parts of Scheduler

46/31

Workflow Architectures (2)


Decentralized
Architecture
No centralized scheduler
Monitoring service for
controlling
No Bottlenecks

47/31

WfMS Requirements
Scale
Dynamic resource selection and
assignment
Performance management
Sophisticated Failure handling

48/31

Failure Handling

Forward Recovery
Backward Recovery
Exception handling
Deadlines

49/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

50/31

WfMS and other Middleware (2)


WfMS

WfMS Adapter

Message Broker
Smart quotation
adapter

database
adapter

Smart
quotation

DBMS
Application

..

forecasting
adapter

E-mail
adapter

Smart
Forecasting

51/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

52/31

Web Service Integration


Outsource Services
Search for business
partners
Establish partnership
Enable Service
communication

53/31

Web Service Integration (2)


Exchange of
messages
Services may not be
invoked in right order
Flow Model

54/31

Web Service Integration (3)


New requirements
Get list of Services
that fullfill them

55/31

Web Service Integration (4)


Compose new
Web Service
Publish Service
Internal details
hidden from
User

56/31

Disadvantages of WfMS
Expensive software licenses
Complex installation and operation
Heavy-weight platforms

57/31

Advantages of WfMS
Rapid process design and maintainance
Failure and exception handling
Catering for performance and high
availability
Workflow design with graphical interface

58/31