Enterprise Application Integration Sanjoy Sanyal (Tech for NonGeek)
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
The Challenge of Application Integration  Sanjoy Sanyal (Tech for NonGeek) Example: Supply Chain Quotation   Order  Processing Procurement Shipment  Management Financials A  single implementation of a company-wide process requires integration between different systems which can: Run on a different OS  Support different interfaces and functionality  Support different data formats  Support informational formats that cannot be easily cast into parameters of a procedure call Have different security requirements  Have different communication protocols and infrastructure
EAI Middleware: Message Brokers  Message Brokers create a “hub and spoke” communication infrastructure between applications  Traditional RPC/MOM systems create point-to-point links  Message brokers provide additional functionality to transporting messages: Provide  adapters  that makes it possible to access heterogenous systems  Also filters. routes and processes the messages In other words attaches logic at the middleware layer Examples: Tibco ActiveEnterprise, BEA WebLogic Integration, WebMethods Enterprise and WebSphere Sanjoy Sanyal (Tech for NonGeek)
Advantages  of Message Brokers Message Brokers de-couple receivers and senders: The message routing logic is specified in the broker  unlike in basic MOM where the sender specifies the receiver  Content transformation rules is specified in the broker  Advantages:  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 Integration between heterogeneous data formats/communication protocols  Sanjoy Sanyal (Tech for NonGeek)
Publish-Subscribe Interaction Model Applications  publish  to the middleware system  Applications  subscribe  to messages specifying: Type (type.subtype…..) Parameters (boolean based: type.subtype AND <condition) Middleware: receives message retrieves the list of relevant subscribing applications delivers a copy to each of them Widely supported model among message brokers  Sanjoy Sanyal (Tech for NonGeek)
JMS JMS tries to stanardize APIs and middleware infrastructure JMS supports point-to-point middleware  JMS supports publish/subscribe API  (based on  topic )  Sanjoy Sanyal (Tech for NonGeek)
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
Understanding Middleware Offers programming abstractions that hides the complexities of bridging between heterogeneous platforms  Middleware implements the functionality of the abstraction 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
EAI with a Message Broker EAI platforms are based on two components: Adapters which hide heterogeneity  Message brokers which facilitate communication  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
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
EAI: On the Balance Lower Development and Opportunity Costs Lower Maintenance Costs  High software License costs Sanjoy Sanyal (Tech for NonGeek)
Workflow Management Systems  Origin in office automation  Received interest from business process reengineering  Products: WebSphere MQ Workflow (IBM)  Vitra Business-Ware  Tibco BPM  BEA WebLogic Integration  Microsoft BizTalk Orchestration  Sanjoy Sanyal (Tech for NonGeek)
Workflow Definitions Business Process  E.gs: hiring new employees, process purchase orders  Workflow/Workflow process: Formal executable description of a business process  Workflow specified by: Work node: represent work items  Routing node: define order in which work items should be executed  Start and completion nodes: start and end points of workflow  Sanjoy Sanyal (Tech for NonGeek)
Workflow Execution Executed by a workflow engine: Retrieves the workflow definition from a repository Determines the nodes to be executed Schedules the work to be done  Assigns it to an appropriate resource (work executor) Resources: Retrieve work from a work queue (work can also be pushed) Executes and returns the work to the engine’s inbound queue  Evaluate the condition and determines which node should be executed next  Resource broker: Helps in node selection by executing resource selection policy Sanjoy Sanyal (Tech for NonGeek)
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
EAI with WfMS EAI and WfmS are Complimentary EAI tackles heterogenity, WfMs tackle workflow WfMs can sit on top of EAI Sanjoy Sanyal (Tech for NonGeek) Message broker WfMS adapter Quotation  adapter Database  adapter Forecasting adapter Email adapter xyz adapter WfMS
WfMS: On the Balance  Generated a lot of interest  But did not live up to its promise: High software licenses  Difficult to automate real-life processes  Sanjoy Sanyal (Tech for NonGeek)
Summary EAI refers specifically to integration of heterogeneous, coarse grained applications  Platforms for choice are message brokers and Workflow Management systems  Message brokers play a much more important role  Message brokers allow an asynchronous communication model and loose coupling  In general, implementations of EAI platforms is still expensive and not seamless  (the material in this topic is based on Web Services: Concepts, Architectures and Applications by Alonso, Casati, Kuno, Machiraju)  Sanjoy Sanyal (Tech for NonGeek)

Topic3 Enterprise Application Integration

  • 1.
    Enterprise Application IntegrationSanjoy Sanyal (Tech for NonGeek)
  • 2.
    Application Integration inPerspective 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.
    The Challenge ofApplication Integration Sanjoy Sanyal (Tech for NonGeek) Example: Supply Chain Quotation Order Processing Procurement Shipment Management Financials A single implementation of a company-wide process requires integration between different systems which can: Run on a different OS Support different interfaces and functionality Support different data formats Support informational formats that cannot be easily cast into parameters of a procedure call Have different security requirements Have different communication protocols and infrastructure
  • 4.
    EAI Middleware: MessageBrokers Message Brokers create a “hub and spoke” communication infrastructure between applications Traditional RPC/MOM systems create point-to-point links Message brokers provide additional functionality to transporting messages: Provide adapters that makes it possible to access heterogenous systems Also filters. routes and processes the messages In other words attaches logic at the middleware layer Examples: Tibco ActiveEnterprise, BEA WebLogic Integration, WebMethods Enterprise and WebSphere Sanjoy Sanyal (Tech for NonGeek)
  • 5.
    Advantages ofMessage Brokers Message Brokers de-couple receivers and senders: The message routing logic is specified in the broker unlike in basic MOM where the sender specifies the receiver Content transformation rules is specified in the broker Advantages: 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 Integration between heterogeneous data formats/communication protocols Sanjoy Sanyal (Tech for NonGeek)
  • 6.
    Publish-Subscribe Interaction ModelApplications publish to the middleware system Applications subscribe to messages specifying: Type (type.subtype…..) Parameters (boolean based: type.subtype AND <condition) Middleware: receives message retrieves the list of relevant subscribing applications delivers a copy to each of them Widely supported model among message brokers Sanjoy Sanyal (Tech for NonGeek)
  • 7.
    JMS JMS triesto stanardize APIs and middleware infrastructure JMS supports point-to-point middleware JMS supports publish/subscribe API (based on topic ) Sanjoy Sanyal (Tech for NonGeek)
  • 8.
    Distributed Administration ofa 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.
    Understanding Middleware Offersprogramming abstractions that hides the complexities of bridging between heterogeneous platforms Middleware implements the functionality of the abstraction 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.
    EAI with aMessage Broker EAI platforms are based on two components: Adapters which hide heterogeneity Message brokers which facilitate communication 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.
    EAI: Example SanjoySanyal (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.
    EAI: On theBalance Lower Development and Opportunity Costs Lower Maintenance Costs High software License costs Sanjoy Sanyal (Tech for NonGeek)
  • 13.
    Workflow Management Systems Origin in office automation Received interest from business process reengineering Products: WebSphere MQ Workflow (IBM) Vitra Business-Ware Tibco BPM BEA WebLogic Integration Microsoft BizTalk Orchestration Sanjoy Sanyal (Tech for NonGeek)
  • 14.
    Workflow Definitions BusinessProcess E.gs: hiring new employees, process purchase orders Workflow/Workflow process: Formal executable description of a business process Workflow specified by: Work node: represent work items Routing node: define order in which work items should be executed Start and completion nodes: start and end points of workflow Sanjoy Sanyal (Tech for NonGeek)
  • 15.
    Workflow Execution Executedby a workflow engine: Retrieves the workflow definition from a repository Determines the nodes to be executed Schedules the work to be done Assigns it to an appropriate resource (work executor) Resources: Retrieve work from a work queue (work can also be pushed) Executes and returns the work to the engine’s inbound queue Evaluate the condition and determines which node should be executed next Resource broker: Helps in node selection by executing resource selection policy Sanjoy Sanyal (Tech for NonGeek)
  • 16.
    Workflow Execution SanjoySanyal (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.
    EAI with WfMSEAI and WfmS are Complimentary EAI tackles heterogenity, WfMs tackle workflow WfMs can sit on top of EAI Sanjoy Sanyal (Tech for NonGeek) Message broker WfMS adapter Quotation adapter Database adapter Forecasting adapter Email adapter xyz adapter WfMS
  • 18.
    WfMS: On theBalance Generated a lot of interest But did not live up to its promise: High software licenses Difficult to automate real-life processes Sanjoy Sanyal (Tech for NonGeek)
  • 19.
    Summary EAI refersspecifically to integration of heterogeneous, coarse grained applications Platforms for choice are message brokers and Workflow Management systems Message brokers play a much more important role Message brokers allow an asynchronous communication model and loose coupling In general, implementations of EAI platforms is still expensive and not seamless (the material in this topic is based on Web Services: Concepts, Architectures and Applications by Alonso, Casati, Kuno, Machiraju) Sanjoy Sanyal (Tech for NonGeek)