Title: Enterprise Application Integration
1Enterprise Application Integration
2Content
- Architectures
- Middleware
- What is EAI
- A Typical EAI System
- EAI Benefits
- Conclusion
3Architectures
- 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
4Multi-tier Architectures
- Where to put the business-logic?
- Client tier -gt NO!
- Fat clients
- Reimplementing it for each different type of
client - Redistributing clients after each software update
- Data tier -gt NO!
- Vendor and technology dependence grows
- Different applications have different needs for
the same data - Performance issues in resource usage
5Multi-tier Architectures
- Where to put the business-logic?
- Middle tier -gt YES!
- Business logic has its own tier
Client tier user interfaces
Middle tier business logic
Data tier data sources
Web browsers HTML, Java
Web Server
Middleware Server
Databases
GUI clients C, VB, Java
Legacy Systems
6Middleware 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
7Middleware 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
8Middleware 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)
9What 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
10Middleware
Middleware
EAI
Middleware
Middleware
Middleware
Middleware
11ERP System
CRM System
Internal Applications (Java,C,C)
EAI
Databases
Enterprise Portal Application
Legacy System
Financial System
SCM System
12Example a simple supply chain
purchase order
Ordering System
Business Process Management
document customer-contact
CRM System
check availability
Warehouse Controlsystem
not available
available
ERP System
order atricle
write invoice
Financial System
deliver goods
Manufacturing System
13Components 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
14Typical EAI system
integrating application (contains the composition
logic)
message broker
SmartQuotation adapter
database adapter
SmartForecasting adapter
e-mail adapter
XYZ adapter
DBMS applications
SmartQuotation
SmartForecasting
XYZ
15Message Brokers
- Message oriented middleware
- Supporting integration of heterogenous systems
- Logic for routing messages
- Filtering and processing messages
16Old message-based interoperability
inventory management
payment- system
month-end closing
shipping
dispacher
new PO
message-oriented middleware
17Message Brokers
inventory management
payment- system
month-end closing
shipping
dispacher
new PO
message broker
18Difference
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.
19Routing logic
- senders identity
- message type
- message content
- Definition
- message broker level
- queue level
20The 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
21The Publish/Subscribe Interaction Model
inventory management (subscriber)
paymentsystem (subscriber)
month-end closing (subscriber)
shipping (subscriber)
dispacher (pulisher)
new PO
message broker
22Definition 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 gt 1200
23The 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
24Example Message exchanges
- Quotation scenario
- Receiving the quote from the customer
- Accessing the quotation system to obtain a quote
- Inserting quote information into a forecasting
system (i.e., a system that predicts the order
volume) - Sending the quote back to the customer
25Example Message exchanges
publication of a quoteRequest message
delivery of message quote
RFQ processing
publication of a newQuote message
publication of a quote message
message broker
delivery of message quoteRequest
delivery of message newQuote
SmartQuotation adapter
SmartForecasting adapter
synchronous invocation of the getQuote function
invocation of the createForecastEntry procedure
SmartQuotation
SmartForecasting
26EAI 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
27Real World Example
- 1875 Alexander Graham Bell
- invented the telephone
- in the19th century ATT became parent company of
the Bell System, the American telephone monopoly - The system broke up into eight companies in 1984
28Real World Example
- From 1984 until 1996 ATT was an integrated
telecommunications services and equipment company - Merged 2000 to 3 different companies ATT
Wireless, ATT Broadband, and ATT - 2002 ATT developed a new nationwide intelligent
optical network
29Conclusion
- 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
30Links
- http//www.ibm.com
- http//www.att.com
- http//www.eaipatterns.com/
- http//www.iwaysoftware.com/
- http//www.capterra.com/enterprise-application-int
egration-software - http//www.infoworld.com/techindex/enterprise_appl
ication_integration_-_eai.html
31(No Transcript)
32Workflow Management Systems
33Content
- Overview
- The parts of a WfMS
- WfMS requirements
- WfMS and other Middleware
- WfM and the Web
34Why 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
35What is a WfMS
- Software platform to
- Design
- Develope
- Execute
- Analyse
- workflow processes
- integrate different Services, Applications and
human participants
36The parts of a WfMS
- Workflow definition
- Workflow definition Languages
- Workflow engine
- Design interface
- Monitoring tools and reporting capabilities
- User Interface
- Workflow Architecture
37The parts of a WfMS
Monitoring
User Interface / Application
Workflow Instance
Resource repository
Workflow engine
Workflow definition
38The 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
39The Workflow Definition (2)
Check if offered Produkt
Offered false
Contract false
Check if worth proceeding
else
Get quote from supplier
Get quote from Quotation system
go_ahead true
else
Update quotation System
Contract true
Send quote to costumer
Enter quote in Forecasting system
40The 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
41The Workflow Definition (4)
- ltWorkflowProcess Id"Parallel"gt
- ltActivitiesgt
- ltActivity Id"A"gt
- ...
- ltTransitionRestrictionsgt
- ltTransitionRestrictiongt
- ltSplit Type"AND"gt
- ltTransitionRefsgt
- ltTransitionRef Id"B"/gt
- ltTransitionRef Id"C"/gt
- lt/TransitionRefsgt
- lt/Splitgt
- lt/TransitionRestrictiongt
- lt/TransitionRestrictionsgt
- lt/Activitygt
- ltActivity Id"B"gt
- ...
- lt/Activitygt
- ltActivity Id"C"gt
ltActivity Id"D"gt ...
ltTransitionRestrictionsgt
ltTransitionRestrictiongt ltJoin
Type"AND"/gt lt/TransitionRestrictiongt
lt/TransitionRestrictionsgt lt/Activitygt
lt/Activitiesgt ltTransitionsgt ltTransition
Id"AB" From"A" To"B"/gt ltTransition Id"AC"
From"A" To"C"/gt ltTransition Id"BD"
From"B" To"D"/gt ltTransition Id"CD"
From"C" To"D"/gt lt/Transitionsgt lt/WorkflowProce
ssgt
A
C
B
D
42The 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
43The Workflow engine (2)
Resource Broker
Outbound queues
3
4
resource1
5
Inbound queue
Workflow engine
1
resource2
resource3
2
Workflow Definition
44Monitoring 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
45User Interface
- Separate work list management from workflow
management - access and action work requests
- individuals have a single work list
- requests from different workflows
46Workflow 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
47Workflow Architectures (2)
- Decentralized Architecture
- No centralized scheduler
- Monitoring service for controlling
- No Bottlenecks
48WfMS Requirements
- Scale
- Dynamic resource selection and assignment
- Performance management
- Sophisticated Failure handling
49Failure Handling
- Forward Recovery
- Backward Recovery
- Exception handling
- Deadlines
50WfMS 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
51WfMS and other Middleware (2)
WfMS
WfMS Adapter
Message Broker
Smart quotation adapter
database adapter
forecasting adapter
E-mail adapter
..
DBMS Application
Smart quotation
Smart Forecasting
52WfM 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
53Web Service Integration
- Outsource Services
- Search for business partners
- Establish partnership
- Enable Service communication
54Web Service Integration (2)
- Exchange of messages
- Services may not be invoked in right order
- Flow Model
55Web Service Integration (3)
- New requirements
- Get list of Services that fullfill them
56Web Service Integration (4)
- Compose new Web Service
- Publish Service
- Internal details hidden from User
57Disadvantages of WfMS
- Expensive software licenses
- Complex installation and operation
- Heavy-weight platforms
58Advantages of WfMS
- Rapid process design and maintainance
- Failure and exception handling
- Catering for performance and high availability
- Workflow design with graphical interface