Topic3 Enterprise Application Integration


Published on

Published in: Technology, Economy & Finance
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Topic3 Enterprise Application Integration

  1. 1. Enterprise Application Integration Sanjoy Sanyal (Tech for NonGeek)
  2. 2. Application Integration in Perspective Sanjoy Sanyal (Tech for NonGeek) Client Server Systems Separates the presentation layer from the application logic layer Increase of bandwidth and availability of PCs Islands of client server clusters emerged 3 tier architecture and middleware Separates the application logic layer from the resource management layer Allows systems to be built on clusters and integrate different servers This led to proliferation of services in several rounds of abstraction The challenge now is the integration of services EAI is one response to the challenge of bridging 3-tier architectures
  3. 3. The Challenge of Application Integration Sanjoy Sanyal (Tech for NonGeek) Example: Supply Chain Quotation Order Processing Procurement Shipment Management Financials <ul><li>A single implementation of a company-wide process requires integration between different systems which can: </li></ul><ul><li>Run on a different OS </li></ul><ul><li>Support different interfaces and functionality </li></ul><ul><li>Support different data formats </li></ul><ul><li>Support informational formats that cannot be easily cast into parameters of a procedure call </li></ul><ul><li>Have different security requirements </li></ul><ul><li>Have different communication protocols and infrastructure </li></ul>
  4. 4. EAI Middleware: Message Brokers <ul><li>Message Brokers create a “hub and spoke” communication infrastructure between applications </li></ul><ul><li>Traditional RPC/MOM systems create point-to-point links </li></ul><ul><li>Message brokers provide additional functionality to transporting messages: </li></ul><ul><ul><li>Provide adapters that makes it possible to access heterogenous systems </li></ul></ul><ul><ul><li>Also filters. routes and processes the messages </li></ul></ul><ul><ul><li>In other words attaches logic at the middleware layer </li></ul></ul><ul><li>Examples: </li></ul><ul><ul><li>Tibco ActiveEnterprise, BEA WebLogic Integration, WebMethods Enterprise and WebSphere </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  5. 5. Advantages of Message Brokers <ul><li>Message Brokers de-couple receivers and senders: </li></ul><ul><ul><li>The message routing logic is specified in the broker unlike in basic MOM where the sender specifies the receiver </li></ul></ul><ul><ul><li>Content transformation rules is specified in the broker </li></ul></ul><ul><li>Advantages: </li></ul><ul><ul><li>Increased flexibility : for e,g. when a new system is neeeded to interact with the supply chain process only the middleware logic needs to change </li></ul></ul><ul><ul><li>Integration between heterogeneous data formats/communication protocols </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  6. 6. Publish-Subscribe Interaction Model <ul><li>Applications publish to the middleware system </li></ul><ul><li>Applications subscribe to messages specifying: </li></ul><ul><ul><li>Type (type.subtype…..) </li></ul></ul><ul><ul><li>Parameters (boolean based: type.subtype AND <condition) </li></ul></ul><ul><li>Middleware: </li></ul><ul><ul><li>receives message </li></ul></ul><ul><ul><li>retrieves the list of relevant subscribing applications </li></ul></ul><ul><ul><li>delivers a copy to each of them </li></ul></ul><ul><li>Widely supported model among message brokers </li></ul>Sanjoy Sanyal (Tech for NonGeek)
  7. 7. JMS <ul><li>JMS tries to stanardize APIs and middleware infrastructure </li></ul><ul><li>JMS supports point-to-point middleware </li></ul><ul><li>JMS supports publish/subscribe API (based on topic ) </li></ul>Sanjoy Sanyal (Tech for NonGeek)
  8. 8. Distributed Administration of a Message Broker Sanjoy Sanyal (Tech for NonGeek) Administrative domain A admin Message Broker A client client Administrative domain B admin Message Broker B client client Administrative domain C admin Message Broker C client client The administrator has the authority to define: 1. Type of messages that can be sent and received 2, which users are authorized to send/receive and to customize routing logic Different admin domains can correspond to separate cos/departments Message brokers in different domains can be a client of each other thus allowing clients in one domain to interact with clients in another
  9. 9. Understanding Middleware <ul><li>Offers programming abstractions that hides the complexities of bridging between heterogeneous platforms </li></ul><ul><li>Middleware implements the functionality of the abstraction </li></ul>Sanjoy Sanyal (Tech for NonGeek) Remote Procedure Call Sockets TCP/UDP IP A simple example Remote Procedure Call: Hides communication details behind a procedure call Sockets: operating system level interface to the underlying communication protocols Underlying communication protocol
  10. 10. EAI with a Message Broker <ul><li>EAI platforms are based on two components: </li></ul><ul><ul><li>Adapters which hide heterogeneity </li></ul></ul><ul><ul><li>Message brokers which facilitate communication </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek) Message broker Integrating application Quotation adapter Database adapter Forecasting adapter Email adapter xyz adapter High Level architecture of a typical EAI system
  11. 11. EAI: Example Sanjoy Sanyal (Tech for NonGeek) RFQ Processing Message Broker Quotation Adapter Forecast Adapter A B C 2 4 1 5 6 7 At system startup A: subscription to message quote B: subscription to message quoterequest C: subscription to message newquote At runtime 1: publication of a quoterequest message 2: delivery of message quoterequest 3: synchronous invocation of getquote function 4: publication of a quote message 5: delivery of message quote 6: publication of a newquote message 7: delivery newquote message 8: invocation of create forecastentry function B 3
  12. 12. EAI: On the Balance <ul><li>Lower Development and Opportunity Costs </li></ul><ul><li>Lower Maintenance Costs </li></ul><ul><li>High software License costs </li></ul>Sanjoy Sanyal (Tech for NonGeek)
  13. 13. Workflow Management Systems <ul><li>Origin in office automation </li></ul><ul><li>Received interest from business process reengineering </li></ul><ul><li>Products: </li></ul><ul><ul><li>WebSphere MQ Workflow (IBM) </li></ul></ul><ul><ul><li>Vitra Business-Ware </li></ul></ul><ul><ul><li>Tibco BPM </li></ul></ul><ul><ul><li>BEA WebLogic Integration </li></ul></ul><ul><ul><li>Microsoft BizTalk Orchestration </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  14. 14. Workflow Definitions <ul><li>Business Process </li></ul><ul><ul><li> hiring new employees, process purchase orders </li></ul></ul><ul><li>Workflow/Workflow process: </li></ul><ul><ul><li>Formal executable description of a business process </li></ul></ul><ul><li>Workflow specified by: </li></ul><ul><ul><li>Work node: represent work items </li></ul></ul><ul><ul><li>Routing node: define order in which work items should be executed </li></ul></ul><ul><ul><li>Start and completion nodes: start and end points of workflow </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  15. 15. Workflow Execution <ul><li>Executed by a workflow engine: </li></ul><ul><ul><li>Retrieves the workflow definition from a repository </li></ul></ul><ul><ul><li>Determines the nodes to be executed </li></ul></ul><ul><ul><li>Schedules the work to be done </li></ul></ul><ul><ul><li>Assigns it to an appropriate resource (work executor) </li></ul></ul><ul><li>Resources: </li></ul><ul><ul><li>Retrieve work from a work queue (work can also be pushed) </li></ul></ul><ul><ul><li>Executes and returns the work to the engine’s inbound queue </li></ul></ul><ul><ul><li>Evaluate the condition and determines which node should be executed next </li></ul></ul><ul><li>Resource broker: </li></ul><ul><ul><li>Helps in node selection by executing resource selection policy </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  16. 16. Workflow Execution Sanjoy Sanyal (Tech for NonGeek) Workflow Engine Resource broker Completed work items Inbound queue resource 1 resource 2 resource n Workflow Definitions Workflow Designer Outbound queues
  17. 17. EAI with WfMS <ul><li>EAI and WfmS are Complimentary </li></ul><ul><ul><li>EAI tackles heterogenity, WfMs tackle workflow </li></ul></ul><ul><ul><li>WfMs can sit on top of EAI </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek) Message broker WfMS adapter Quotation adapter Database adapter Forecasting adapter Email adapter xyz adapter WfMS
  18. 18. WfMS: On the Balance <ul><li>Generated a lot of interest </li></ul><ul><li>But did not live up to its promise: </li></ul><ul><ul><li>High software licenses </li></ul></ul><ul><ul><li>Difficult to automate real-life processes </li></ul></ul>Sanjoy Sanyal (Tech for NonGeek)
  19. 19. Summary <ul><li>EAI refers specifically to integration of heterogeneous, coarse grained applications </li></ul><ul><li>Platforms for choice are message brokers and Workflow Management systems </li></ul><ul><li>Message brokers play a much more important role </li></ul><ul><li>Message brokers allow an asynchronous communication model and loose coupling </li></ul><ul><li>In general, implementations of EAI platforms is still expensive and not seamless </li></ul><ul><li>(the material in this topic is based on Web Services: Concepts, Architectures and Applications by Alonso, Casati, Kuno, Machiraju) </li></ul>Sanjoy Sanyal (Tech for NonGeek)