1 / 58

Enterprise Application Integration

Enterprise Application Integration. Content. Architectures Middleware What is EAI A Typical EAI System EAI Benefits Conclusion. Architectures. 1 layer architecture monolithic Information Systems presentation, application logic, and resource management were merged into a single tier

feryal
Download Presentation

Enterprise Application Integration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enterprise Application Integration

  2. Content • Architectures • Middleware • What is EAI • A Typical EAI System • EAI Benefits • Conclusion

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

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

  9. 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. Middleware Middleware EAI Middleware Middleware Middleware Middleware

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

  12. Example: 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

  13. 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. Typical EAI system integrating application (contains the composition logic) message broker SmartQuotation adapter XYZ adapter database adapter SmartForecasting adapter e-mail adapter DBMS applications SmartQuotation SmartForecasting XYZ

  15. Message Brokers • Message oriented middleware • Supporting integration of heterogenous systems • Logic for routing messages • Filtering and processing messages

  16. Old message-based interoperability inventory management payment- system dispacher shipping month-end closing new PO message-oriented middleware

  17. Message Brokers inventory management payment- system dispacher shipping month-end closing new PO message broker

  18. sender receiver message broker core Difference 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.

  19. Routing logic • sender‘s identity • message type • message content • Definition • message broker level • queue level

  20. 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. The Publish/Subscribe Interaction Model inventory management (subscriber) paymentsystem (subscriber) dispacher (pulisher) shipping (subscriber) month-end closing (subscriber) new PO message broker

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

  24. Example: 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

  25. Example: Message exchanges publication of a quoteRequest message delivery of message quote RFQ processing publication of a quote message publication of a newQuote 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

  26. 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. 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. 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. 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. 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. Workflow Management Systems

  32. Content • Overview • The parts of a WfMS • WfMS requirements • WfMS and other Middleware • WfM and the Web

  33. 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. What is a WfMS • Software platform to • Design • Develope • Execute • Analyse workflow processes • integrate different Services, Applications and human participants

  35. The parts of a WfMS • Workflow definition • Workflow definition Languages • Workflow engine • Design interface • Monitoring tools and reporting capabilities • User Interface • Workflow Architecture

  36. The parts of a WfMS Monitoring User Interface / Application Workflow Instance Resource repository Workflow engine Workflow definition

  37. 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. The 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 else go_ahead = true Update quotation System Contract = true Send quote to costumer Enter quote in Forecasting system

  39. 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. The Workflow Definition (4) <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> <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> A B C D

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

  42. The Workflow engine (2) Resource Broker Outbound queues 3 4 resource1 5 Inbound queue 1 Workflow engine resource2 resource3 2 Workflow Definition

  43. 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. 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. 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. Workflow Architectures (2) • Decentralized Architecture • No centralized scheduler • Monitoring service for controlling • No Bottlenecks

  47. WfMS Requirements • Scale • Dynamic resource selection and assignment • Performance management • Sophisticated Failure handling

  48. Failure Handling • Forward Recovery • Backward Recovery • Exception handling • Deadlines

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

More Related