0% found this document useful (0 votes)
188 views58 pages

Enterprise Application Integration: A Presentation For The Seminar Web-Services

This document discusses enterprise application integration (EAI). It describes the typical architectures used in EAI, including multi-tier architectures with separate client, middle, and data tiers. Middleware is used to facilitate communication and data sharing across different applications and platforms. The document then explains what EAI is and provides an example of a typical EAI system using message brokers and adapters to integrate different applications and data sources.

Uploaded by

Saurabh Rajput
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
188 views58 pages

Enterprise Application Integration: A Presentation For The Seminar Web-Services

This document discusses enterprise application integration (EAI). It describes the typical architectures used in EAI, including multi-tier architectures with separate client, middle, and data tiers. Middleware is used to facilitate communication and data sharing across different applications and platforms. The document then explains what EAI is and provides an example of a typical EAI system using message brokers and adapters to integrate different applications and data sources.

Uploaded by

Saurabh Rajput
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 58

Enterprise Application

Integration

A presentation for the seminar


web-services
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 Middle tier Data tier


user interfaces business logic data sources

Web browsers Web


HTML, Java Server Databases
Middleware
Server
GUI clients
Legacy Systems
C++, VB, Java
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

Middleware
EAI Middleware

Middleware Middleware

10/31
ERP System

Internal Applications
CRM System
(Java,C,C++)

Enterprise Portal
Application EAI Databases

Financial System Legacy System

SCM System

11/31
Example: a simple supply chain
Ordering System
purchase Business Process
order
Management
document
CRM System
customer-contact

Warehouse check
Controlsystem availability
not
available available
ERP System
order atricle

Financial System write invoice

Manufacturing
deliver goods
System 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 database SmartForecasting e-mail XYZ


adapter adapter adapter adapter adapter

SmartQuotation DBMS SmartForecasting XYZ


applications 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 payment- month-end
dispacher shipping
management system closing

new PO

message-oriented middleware

16/31
Message Brokers

inventory payment- month-end


dispacher shipping
management system closing

new PO

message broker

17/31
Difference
In basic MOM it is the With message brokers,
sender who specifies the custom message routing
identity of the receiers. logic can be defined at the
messae broker level or at
the queue level.

sender receiver

message broker core


18/31
Routing logic
• sender‘s 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 month-end
paymentsystem dispacher shipping
management closing
(subscriber) (pulisher) (subscriber)
(subscriber) (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 client client …

message broker MB-A 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 delivery of message
quoteRequest message quote
RFQ processing

publication of a quote publication of a


message newQuote message
message broker

delivery of message delivery of message


quoteRequest SmartQuotation SmartForecasting newQuote
adapter adapter

synchronous invocation invocation of the


of the getQuote function 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-applic
ation-integration-software
• http://www.infoworld.com/techindex/enterp
rise_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
Monitoring User Interface /
Application

Workflow
Instance
Resource
repository

Workflow
Workflow definition
engine

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

Check if worth else


proceeding Get quote from
supplier
Get quote from
Quotation system
else go_ahead = true
Update quotation
System
Contract = true

Send quote to Enter quote in


costumer 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"> <Activity Id="D">
<Activities> ...
<Activity Id="A"> <TransitionRestrictions>
... <TransitionRestriction>
<TransitionRestrictions> <Join Type="AND"/>
<TransitionRestriction> </TransitionRestriction>
<Split Type="AND"> </TransitionRestrictions>
<TransitionRefs> </Activity>
<TransitionRef Id="B"/> </Activities>
<TransitionRef Id="C"/> <Transitions>
</TransitionRefs> <Transition Id="AB" From="A" To="B"/>
</Split> <Transition Id="AC" From="A" To="C"/>
</TransitionRestriction> <Transition Id="BD" From="B" To="D"/>
</TransitionRestrictions> <Transition Id="CD" From="C" To="D"/>
</Activity> </Transitions>
<Activity Id="B"> </WorkflowProcess> A
...
</Activity>
<Activity Id="C"> B C
...
</Activity>
D 41/31
The Workflow engine
• Retrieve Wf definition
• Determine nodes to be executed
Determine Wait until
– routing node nodes out of Work is
WF definition completed
– work node
• Place work into the work queue
– resource accomplishes work Place work

• OR invoke method of resource API


Into work
queue

• monitor inbound queue for completion


messages
• determine next node to be executed
42/31
The Workflow engine (2)

Resource Broker
Outbound queues
3 4
5 resource1
Inbound queue
1 resource2
Workflow engine
resource3
2

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 database forecasting E-mail


…..
adapter adapter adapter adapter

Smart DBMS Smart


quotation Application 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

You might also like