Enterprise Application Integration: A Presentation For The Seminar Web-Services
Enterprise Application Integration: A Presentation For The Seminar Web-Services
Integration
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
7/31
Middleware III
• Main use today: legacy wrapping for thin
client architectures
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
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
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
15/31
Old message-based
interoperability
inventory payment- month-end
dispacher shipping
management system closing
new PO
message-oriented middleware
16/31
Message Brokers
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
• 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
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
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:
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
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
38/31
The Workflow Definition (2)
Check if
offered Produkt
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
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
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
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