Enterprise Service Bus Part 1


Published on

Enterptise Service Bus webinar part 1.
Author: Evgeniy Epifantsev

1 Like
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Основа архитектуры ESB — это идея использования общей интеграционной инфраструктуры всеми корпоративными приложениями на базе обмена сообщениями. Все приложения взаимодействуют через одну точку, которая, в случае необходимости, обеспечивает сохранность обращений, преобразование данных и транзакции. При этом целью интеграции приложения является создание единственного модуля (или адаптера), который отвечает за «подключение» приложения к ESB. Последующую обработку сообщений и их маршрутизацию в другие системы, ESB выполняет на основании установленных бизнес-правил самостоятельно
  • Ответ ДА на все четыре вопроса.
  • Enterprise Service Bus Part 1

    1. 1. Enterprise Service Bus Evgeny Epifantsev december 2009 updated 2012Exigen Services confidential Exigen Services confidential
    2. 2. Trainer contacts• Evgeny Epifantsev• Developer• eepifantsev@exigenservices.com Exigen Services confidential 2
    3. 3. Goals• Provide an overview on: • What is Enterprise Service Bus? • How to implement it? Exigen Services confidential 3
    4. 4. Agenda• Introduction• EAI evolution: P2P->MOM Hub->ESB• ESB purpose and functions overview• QoS and Policy Enforcement• Components: Mediator VFTER (validate, filter, transform, enrich, route), Choreographer• Example of above topics• Open source ESB Exigen Services confidential 4
    5. 5. Part 1: Overview and ESB Concepts Exigen Services confidential
    6. 6. Definition ESB is idea of using common integration infrastructure across all enterprise application and systems. An Enterprise Service Bus (ESB) is a new architecture that exploits Web services, messaging middleware, intelligent routing, and transformation. ESBs act as a lightweight, ubiquitous integration backbone through which software services and application components flow." Exigen Services confidential 6
    7. 7. What is ESB?What is ESB? Is a Pattern? Is a Product? Is an Architectural Component? Is a Hardware Component? Exigen Services confidential 7
    8. 8. Evolution Enterprise Application Service Bus (ESB) Integration + Scalable Hub: + Service-oriented - Scalability + Flexible + Easy administration - Harder administration Bus: + Standards-based - Standards and + Cost less than EAI proprietary bus - High costPoint-to-Point- Tight coupling- Complexity ~N2- No visibility- Hard to secure Exigen Services confidential 8
    9. 9. ESB Architecture context Java/EJB HttpService location transparency Java/EJB HttpSharing service across the enterpriseSeparate of Business Services from Service implementation Exigen Services confidential 9
    10. 10. ESB as a Pattern of SOA PlaceTrade WSDLBusiness servicedefinition PlaceTrade saveOrTradeOrder() Java implementation service For saveOrTradeOrder() Exigen Services confidential 10
    11. 11. ESB capabilities Message Protocol Message transformation transformation Mapping enhancement service Routing Message processing Security Transaction Process management choreography Service orchestration Exigen Services confidential 11
    12. 12. ESB basic functionsROUTING messages between services• Addressability, static/deterministic routing• Content-based routing• Policy-based routing• Complex Rule-based routingMESSAGING• Message transformation• Message processing• Message enhancementCONVERTATION•Adapters and protocol conversion•Transport protocols (synchronous and asynchronous) Exigen Services confidential
    13. 13. BUS: Protocol Conversion Phone with wap - - WXML/HTTP Phone with wap WXML/HTTP SAP - - BAPI SAP BAPI .NET - - SOAP/HTTP .NET SOAP/HTTP External partner - -SOAP/HTTPS External partner SOAP/HTTPS ESB Service Requests Requests Requests Requests Service Responses Responses Responses ResponsesRequester Provider C++ - -XML/JMS User application - -RMI User application RMI C++ XML/JMS SAP - - BAPI SAP BAPI Database ––SQL Database SQL WebSphere 5.1 - -SOAP/JMS WebSphere 5.1 SOAP/JMS Application - -XML/JMS Application XML/JMS Exigen Services confidential 13
    14. 14. Service mappingThe ability to translate a business service into the correspondingservice implementation and provide binding and location information Could be implemented through XML, a database, or embeddedwithin the Mediator ESB component Usually contains the following core information • Implementation service name • Service protocol and binding information • Protocol-specific info (i.e. timeouts) • Service-specific routing information Exigen Services confidential 14
    15. 15. Process choreography The ability to manage complex business process that require the coordination of multiple business services to fulfill a single business service request  Usually BPEL based Each of business node can be anPlaceFixedIncomeTrade independent business service CreateOrder SelectBid PlaceTrade ExecuteTrade Exigen Services confidential 15
    16. 16. Service orchestrationThe ability to manage the coordination of multiple implementationservices Can be BPEL based but is usually implemented through inter-service communication or aggregate services Difference between Service orchestration and ProcessChoreography is based on type of service being coordinated • Process choreography - Business services • Service orchestration - implementation service Exigen Services confidential 16
    17. 17. Transaction managementThe ability to provide a single unit of work for a business servicerequest by providing a framework for the coordination of multipledisparate services ESB should provide a compensatory transactional framework for aservice request • WS - Coordination • WS - AT • WS –Business Activity Exigen Services confidential 17
    18. 18. SecurityThe ability to protect enterprise services from authorized access Services visible to the entire enterprise through ESB The 4 “A’s” of Security •Authentication • Authorization • Auditing • Administration ESB should provide authentication, authorization and auditing ESB should access a security manager for authentication andauthorization rather than have the direct responsibility Exigen Services confidential 18
    19. 19. Quality of Service and Policy enforcement requestor provider• Security WS-Security, SAML 1 No answer 2• Reliable delivery for each connection 3 response• Transaction management WS-AT, WS-Coordination, P1 P1 WS-Business Activity Tx_required Tx_required• Traffic management Compensation Compensation Tx_not Tx_not R1 R1 supported supported• Policy (WS-Policy) Tx_required Tx_required Compensation Compensation P2 P2 Exigen Services confidential 19
    20. 20. CEI Exigen Services confidential
    21. 21. Common Event InfrastructureCommon Event Infrastructure (CEI) is IBMs implementation of API, andinfrastructure for the creation, transmission, persistence and distribution of a widerange of business, system and network Common Base Event formatted events.Based on Common Base Event(IBM implementation of Web Services Distributed Management ) CEI Event Submission Interfaces (Event Source) CEI Event Subscription Interfaces (Event Server) CEI Event Query Interfaces (Event Server) Exigen Services confidential 21
    22. 22. CEI Event types Exigen Services confidential
    23. 23. Common Event Browser Exigen Services confidential
    24. 24. ESB Components Exigen Services confidential
    25. 25. ESB components ESB can broken down into the following components • Mediator • Service registry • Choreographer • Rules Engine Service Service Mediator Mediator registry registry Choreographer Choreographer Rules engine Rules engine Exigen Services confidential 25
    26. 26. Mediator (Routing, Message transformation) VETRO Service ServiceRequester Mediator Validation Validation Enrich Enrich Provider XSD XSD XPath XPath Requests Requests Requests Requests Responses Responses Responses Responses Transform Transform Route Route Operate Operate XSLT XSLT UDDI UDDI export import Exigen Services confidential 26
    27. 27. Process choreographer BPEL – Business Process Execution language <plnk:partnerLinkType name="purchasingLT"> </plnk:partnerLinkType> partnerLink ComputePricePT ComputePricePT partnerLink partnerLink partnerLinkpurchaseOrderPT purchaseOrderPT purchasing purchasing invoicing invoicing invoiceCallbackPT invoiceCallbackPT<wsdl:portTypename="purchaseOrderPT"><wsdl:operation …</wsdl:operation></wsdl:portType> <plnk:partnerLinkType name="invoicingLT"> <plnk:role portType="pos:computePricePT" /> <plnk:role portType="pos:invoiceCallbackPT“ /> </plnk:partnerLinkType> Exigen Services confidential 27
    28. 28. BPEL Process<sequence> <sequence> <receive portType="lns:purchaseOrderPT" … /> <receive portType="lns:purchaseOrderPT" … /> <flow> <flow> <invoke portType="lns:computePricePT“ … /> <invoke portType="lns:computePricePT“ … /> <receive portType="lns:invoiceCallbackPT" …/> <receive portType="lns:invoiceCallbackPT" …/> </flow> </flow> <reply portType="lns:purchaseOrderPT” … /> <reply portType="lns:purchaseOrderPT” … /><sequence> <sequence> Exigen Services confidential 28
    29. 29. Implementation Mediation Module Mediation module Requests Requests Requests Requests Responses Responses Responses Responses Mediation flow Service ServiceRequester Provider Mediation flow Imports Exports component Imports Exports Exigen Services confidential 29
    30. 30. Implementation mediation Flow Interfaces Interfaces Mediation primitives Mediation primitives Exigen Services confidential 30
    31. 31. Implementation in Business Works Exigen Services confidential 31
    32. 32. Implementation stepsWebSphere ESB Messaging Resources Import WSDL(SCA, Web Import WSDL(SCA, Web Create bus instance Create bus instance Service, HTML, JMS) Service, HTML, JMS) Setup SDO repository Setup SDO repository Create mediator Create mediator Setup resource adapters Setup resource adapters Connect WSDL ports with Connect WSDL ports with Create client listeners for Create client listeners for mediator (import) mediator (import) every protocols every protocols Generate exports with Generate exports with Create interceptors Create interceptors binging (SCA, Web binging (SCA, Web Service, HTML, JMS) Service, HTML, JMS) Create mediator (EJB) Create mediator (EJB) Exigen Services confidential 32
    33. 33. ESB platformsWSO2 ESB Apache Synapse, WS Apache Axis2Sun GlassFish ESB NetBeans IDE, BPEL orchestration, WS JAX-WS, Business Rules, Transaction, BAMMule ESB EE custom implementation model, WS CXF, No BAM, no Business rulesIONA Fuse ESB Apache ServiceMix, JBI, OSGI, WS CXF, no BAM, Business rulesWebSphere ESB WebSphere MQ, JMS, BPEL, SCA WS JAX-WS, BAM, Business RulesMatrix BusinessWorks no transaction, no dusiness rules, BAMOracle ESB JMS, BPEL Exigen Services confidential 33
    34. 34. Open source way Business Business eip eip Drools Drools Rules Rules Routing Routing camel camel jBPM jBPM Choreography Choreography java java ESB IBM IBM Transform Transform xslt xslt Events Events ation ation xpath xpath Oracle Oracle JMS JMS simple simple AMQ AMQ Exigen Services confidential 34
    35. 35. Thank You! Questions?Exigen Services confidential 35