Enterprise Application Integration

A presentation for the seminar web-services

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


‡ 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

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

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

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

Web Server Middleware Server


Legacy Systems

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 .

event and security services ± Provides connections to databases.Middleware II ‡ Provides runtime environment for components in the middle-tier ± Component lifecyle and management ± Transaction. 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 .

C.C++) CRM System Enterprise Portal Application EAI Databases Financial System Legacy System SCM System 11/31 .ERP System Internal Applications (Java.

Example: a simple supply chain Ordering System purchase order document customer-contact check availability Business Process Management CRM System Warehouse Controlsystem not available order atricle available ERP System 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 e-mail adapter XYZ adapter SmartQuotation DBMS applications SmartForecasting 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 .

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

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 management (subscriber) paymentsystem (subscriber) dispacher (pulisher) shipping (subscriber) month-end closing (subscriber) new PO message broker 21/31 .

³ AND quantity > 1200 ³ 22/31 .*³ ‡ Parameter-based ± Ätype = Änew PO³ AND customer = ÄACME Co.new PO³ ± ÄSupply Chain.Definition messages subscribers want to receive ‡ Namespaces ± Änew PO³ ± ÄSupply Chain.

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 .

Receiving the quote from the customer 2..e. Inserting quote information into a forecasting system (i. Accessing the quotation system to obtain a quote 3.Example: Message exchanges ‡ Quotation scenario 1. Sending the quote back to the customer 24/31 . a system that predicts the order volume) 4.

Example: Message exchanges publication of a quoteRequest message delivery of message quote RFQ processing publication of a quote message message broker publication of a newQuote message delivery of message quoteRequest SmartQuotation adapter SmartForecasting adapter delivery of message newQuote synchronous invocation of the getQuote function 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 .

the American telephone monopoly ‡ The system broke up into eight companies in 1984 27/31 .Real World Example: ‡ 1875 Alexander Graham Bell invented the telephone ‡ in the19th century AT&T became parent company of the Bell System.

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. and AT&T ‡ 2002 AT&T developed a new nationwide intelligent optical network 28/31 . AT&T Broadband.

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 .

com/ http://www.com/ http://www.iwaysoftware.eaipatterns.capterra.com http://www.infoworld.com/techindex/enterp rise_application_integration_-_eai.com/enterpriseapplication-integration-software ‡ http://www.ibm.com http://www.Links ‡ ‡ ‡ ‡ ‡ http://www.att.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 .

Applications and human participants 35/31 .What is a WfMS ‡ Software platform to ± ± ± ± Design Develope Execute Analyse workflow processes ‡ integrate different Services.

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 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 .

... <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 B D C 41/31 ..The Workflow Definition (4) <WorkflowProcess Id="Parallel"> <Activities> <Activity Id="A"> . </Activity> <Activity Id="D"> . </Activity> <Activity Id="C"> .... <TransitionRestrictions> <TransitionRestriction> <Split Type="AND"> <TransitionRefs> <TransitionRef Id="B"/> <TransitionRef Id="C"/> </TransitionRefs> </Split> </TransitionRestriction> </TransitionRestrictions> </Activity> <Activity Id="B"> ..

The Workflow engine ‡ Retrieve Wf definition ‡ Determine nodes to be executed ± routing node ± work node Determine nodes out of WF definition Wait until Work is completed ‡ 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 Outbound queues 3 Inbound queue 1 4 5 Workflow engine 2 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 .

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 ‡ Async.

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 forecasting adapter E-mail adapter «.. Smart quotation DBMS Application 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 .

Sign up to vote on this title
UsefulNot useful