Date post: | 23-Dec-2015 |
Category: |
Documents |
Upload: | homer-hall |
View: | 228 times |
Download: | 5 times |
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