SlideShare a Scribd company logo
Exigen Services confidential Exigen Services confidential
Enterprise Service Bus
Evgeny Epifantsev
december 2009
updated 2012
Exigen Services confidential
Trainer contacts
• Evgeny Epifantsev
• Developer
• eepifantsev@exigenservices.com
2
Exigen Services confidential
Goals
• Provide an overview on:
• What is Enterprise Service Bus?
• How to implement it?
3
Exigen Services confidential
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
4
Exigen Services confidential
Part 1: Overview and ESB Concepts
Exigen Services confidential
Definition
6
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
What is ESB?
7
What is ESB?
Is a Pattern?
Is a Product?
Is an Architectural Component?
Is a Hardware Component?
Exigen Services confidential
Evolution
8
Point-to-Point
- Tight coupling
- Complexity ~N2
- No visibility
- Hard to secure
Service Bus (ESB)
+ Scalable
+ Service-oriented
+ Flexible
- Harder administration
+ Standards-based
+ Cost less than EAI
bus
Enterprise Application
Integration
Hub:
- Scalability
+ Easy administration
Bus:
- Standards and
proprietary
- High cost
Exigen Services confidential
ESB Architecture context
9
Java/EJB Http
Java/EJB HttpService location transparency
Sharing service across the enterprise
Separate of Business Services from Service implementation
Exigen Services confidential
ESB as a Pattern of SOA
10
WSDL
Business service
definition PlaceTrade
PlaceTrade
saveOrTradeOrder()
Java
implementation service
For saveOrTradeOrder()
Exigen Services confidential
ESB capabilities
11
Routing
Message
transformation
Message
enhancement
Security
Transaction
management Service
orchestration
Process
choreography
Message
processing
Mapping
service
Protocol
transformation
Exigen Services confidential
ESB basic functions
ROUTING messages between services
• Addressability, static/deterministic routing
• Content-based routing
• Policy-based routing
• Complex Rule-based routing
CONVERTATION
•Adapters and protocol conversion
•Transport protocols (synchronous and
asynchronous)
MESSAGING
• Message transformation
• Message processing
• Message enhancement
Exigen Services confidential
BUS: Protocol Conversion
13
ESB
Requests
Responses
Requests
Responses
Requests
Responses
Requests
Responses
Service
Requester
Service
Provider
Phone with wap - WXML/HTTPPhone with wap - WXML/HTTP
.NET - SOAP/HTTP.NET - SOAP/HTTP
C++ - XML/JMSC++ - XML/JMS
SAP - BAPISAP - BAPI
WebSphere 5.1 - SOAP/JMSWebSphere 5.1 - SOAP/JMS
SAP - BAPISAP - BAPI
External partner - SOAP/HTTPSExternal partner - SOAP/HTTPS
User application - RMIUser application - RMI
Database – SQLDatabase – SQL
Application - XML/JMSApplication - XML/JMS
Exigen Services confidential
Service mapping
14
The ability to translate a business service into the corresponding
service implementation and provide binding and location information
 Could be implemented through XML, a database, or embedded
within 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
Process choreography
15
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
PlaceFixedIncomeTrade
CreateOrder SelectBid PlaceTrade ExecuteTrade
Each of business node can be an
independent business service
Exigen Services confidential
Service orchestration
16
The ability to manage the coordination of multiple implementation
services
 Can be BPEL based but is usually implemented through inter-
service
communication or aggregate services
 Difference between Service orchestration and Process
Choreography is based on type of service being coordinated
• Process choreography - Business services
• Service orchestration - implementation service
Exigen Services confidential
Transaction management
17
The ability to provide a single unit of work for a business service
request by providing a framework for the coordination of multiple
disparate services
 ESB should provide a compensatory transactional framework for a
service request
• WS - Coordination
• WS - AT
• WS –Business Activity
Exigen Services confidential
Security
18
The 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 and
authorization rather than have the direct responsibility
Exigen Services confidential
Quality of Service and Policy enforcement
19
• Security WS-Security, SAML
• Reliable delivery for each connection
• Transaction management
WS-AT, WS-Coordination,
WS-Business Activity
• Traffic management
• Policy (WS-Policy)
R1R1
P1P1
P2P2
Tx_not
supported
Tx_not
supported
Tx_requiredTx_required
Tx_requiredTx_required
CompensationCompensation
CompensationCompensation
requestor provider
1
2
3
response
No
answer
Exigen Services confidential
CEI
Exigen Services confidential
Common Event Infrastructure
21
Based on Common Base Event
(IBM implementation of Web Services Distributed Management )
Common Event Infrastructure (CEI) is IBM's implementation of API, and
infrastructure for the creation, transmission, persistence and distribution of a wide
range of business, system and network Common Base Event formatted events.
CEI Event Submission Interfaces (Event Source)
CEI Event Subscription Interfaces (Event Server)
CEI Event Query Interfaces (Event Server)
Exigen Services confidential
CEI Event types
Exigen Services confidential
Common Event Browser
Exigen Services confidential
ESB Components
Exigen Services confidential
ESB components
25
 ESB can broken down into the following components
• Mediator
• Service registry
• Choreographer
• Rules Engine
MediatorMediator
Service
registry
Service
registry
ChoreographerChoreographer Rules engineRules engine
Exigen Services confidential
Mediator (Routing, Message transformation)
26
Mediator
Requests
Responses
Requests
Responses
Requests
Responses
Requests
Responses
Service
Requester
Service
ProviderValidation
XSD
Validation
XSD
Transform
XSLT
Transform
XSLT
Enrich
XPath
Enrich
XPath
OperateOperateRoute
UDDI
Route
UDDI
VETRO
export
import
Exigen Services confidential
Process choreographer
27
BPEL – Business Process Execution language
partnerLink
purchasing
partnerLink
purchasing
purchaseOrderPTpurchaseOrderPT partnerLink
invoicing
partnerLink
invoicing
ComputePricePTComputePricePT
invoiceCallbackPTinvoiceCallbackPT
<wsdl:portType
name="purchaseOrderPT">
<wsdl:operation …
</wsdl:operation>
</wsdl:portType>
<plnk:partnerLinkType
name="purchasingLT">
</plnk:partnerLinkType>
<plnk:partnerLinkType name="invoicingLT">
<plnk:role portType="pos:computePricePT" />
<plnk:role portType="pos:invoiceCallbackPT“ />
</plnk:partnerLinkType>
Exigen Services confidential
BPEL Process
28
<sequence>
<receive portType="lns:purchaseOrderPT" … />
<flow>
<invoke portType="lns:computePricePT“ … />
<receive portType="lns:invoiceCallbackPT" …/>
</flow>
<reply portType="lns:purchaseOrderPT” … />
<sequence>
<sequence>
<receive portType="lns:purchaseOrderPT" … />
<flow>
<invoke portType="lns:computePricePT“ … />
<receive portType="lns:invoiceCallbackPT" …/>
</flow>
<reply portType="lns:purchaseOrderPT” … />
<sequence>
Exigen Services confidential
Implementation Mediation Module
29
Mediation flow
Mediation module
Requests
Responses
Requests
Responses
Requests
Responses
Requests
Responses
Service
Requester
Service
Provider
Exports Imports
Mediation flow
component ExportsImports
Exigen Services confidential
Implementation mediation Flow
30
InterfacesInterfaces Mediation primitivesMediation primitives
Exigen Services confidential
Implementation in Business Works
31
Exigen Services confidential
Implementation steps
32
Import WSDL(SCA, Web
Service, HTML, JMS)
Import WSDL(SCA, Web
Service, HTML, JMS)
Create mediatorCreate mediator
Connect WSDL ports with
mediator (import)
Connect WSDL ports with
mediator (import)
Generate exports with
binging (SCA, Web
Service, HTML, JMS)
Generate exports with
binging (SCA, Web
Service, HTML, JMS)
Messaging ResourcesWebSphere ESB
Create bus instanceCreate bus instance
Setup SDO repositorySetup SDO repository
Setup resource adaptersSetup resource adapters
Create client listeners for
every protocols
Create client listeners for
every protocols
Create interceptorsCreate interceptors
Create mediator (EJB)Create mediator (EJB)
Exigen Services confidential
ESB platforms
33
Sun GlassFish ESB NetBeans IDE, BPEL orchestration, WS JAX-WS,
Business Rules, Transaction, BAM
Matrix BusinessWorks no transaction, no dusiness rules, BAM
Mule ESB EE custom implementation model, WS CXF, No BAM,
no Business rules
IONA Fuse ESB Apache ServiceMix, JBI, OSGI, WS CXF, no BAM,
Business rules
WSO2 ESB Apache Synapse, WS Apache Axis2
WebSphere ESB WebSphere MQ, JMS, BPEL, SCA
WS JAX-WS, BAM, Business Rules
Oracle ESB JMS, BPEL
Exigen Services confidential
Open source way
34
ESB
Business
Rules
Business
Rules
DroolsDrools
RoutingRouting
eipeip
javajava
camelcamel
ChoreographyChoreographyjBPMjBPM
Transform
ation
Transform
ation
xpathxpath
xsltxslt
simplesimple
EventsEventsIBMIBM
OracleOracle
JMSJMS
AMQAMQ
Exigen Services confidential
Thank You!
Questions?
35

More Related Content

PPTX
Enterprise Service Bus Part 2
PPTX
Enterprise Service Bus
PPT
Enterprise service bus part 1
PPT
Enterprise service bus(esb)
PPTX
ESB What it is?
PPTX
ESB Presentation
 
ODP
SOA & ESB Presentation
PPT
Introduction to Enterprise Service Bus
Enterprise Service Bus Part 2
Enterprise Service Bus
Enterprise service bus part 1
Enterprise service bus(esb)
ESB What it is?
ESB Presentation
 
SOA & ESB Presentation
Introduction to Enterprise Service Bus

What's hot (20)

PDF
WSO2 ESB and SOA
PPT
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
PDF
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
PDF
ESB and SOA
PPT
ESB Concepts
PPT
Enterprise Service Bus Part 1
PDF
oracle-osb
PPTX
Overview of ESB at Azilen Tech Meetup
PDF
ESB Evaluation Framework
PPT
Enterprise service bus
PPTX
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
PPTX
SOA Suite 12c - Service Bus new features summary
PPTX
Where and when to use the Oracle Service Bus (OSB)
PPTX
Biztalk ESB Toolkit Introduction
PPTX
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
PPTX
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
PPT
Overview of SOA and the role of ESB / OSB
PDF
Enterprise Service Bus and JBI
PPTX
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
PPTX
WSO2 ESB - The Backbone of Integration
WSO2 ESB and SOA
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
ESB and SOA
ESB Concepts
Enterprise Service Bus Part 1
oracle-osb
Overview of ESB at Azilen Tech Meetup
ESB Evaluation Framework
Enterprise service bus
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
SOA Suite 12c - Service Bus new features summary
Where and when to use the Oracle Service Bus (OSB)
Biztalk ESB Toolkit Introduction
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
Overview of SOA and the role of ESB / OSB
Enterprise Service Bus and JBI
Introducing SOA and Oracle SOA Suite 11g for Database Professionals
WSO2 ESB - The Backbone of Integration
Ad

Viewers also liked (7)

PPTX
Enterprise service bus part 2
PPTX
Career development in exigen services
PPTX
Apache cassandra - future without boundaries (part2)
PPTX
Apache cassandra - future without boundaries (part3)
PPTX
Introduction to selenium web driver
PPTX
Anti patterns part 1
PPTX
Conflicts Resolving
Enterprise service bus part 2
Career development in exigen services
Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part3)
Introduction to selenium web driver
Anti patterns part 1
Conflicts Resolving
Ad

Similar to Enterprise service bus part 1 (20)

PPTX
Enterprise service bus part 2
PPTX
Cs 1023 lec 12 soa (week 4)
PDF
Enterprise Integration with the WSO2 ESB
PDF
Enterprise Integration with WSO2 ESB
PDF
Tactics Esb Implementation
PPTX
The Middleware technology that connects the enterprise
PPTX
03 Service Oriented Architecture Series - Basic SOA Architecture
PPT
06FSAConfSession50 in software engineering
PPT
06FSAConfSession50 6 session50 bu terry woods
PDF
2011-ESB-WP-Draft
PPT
Ss Esb
PPT
Ss Esb
PPSX
Getting started with Enterprise Application Integration (EAI) using Enterpris...
PDF
A Buyers Guide to an Enterprise Service Bus (ESB)
PDF
Esb buyers guide_final
PDF
Enterprise Servie Bus - Enterprise Application Integration
PPTX
Wso2 tutorial
PPT
What is an ESB? OPITZ CONSULTING - Winterberg - Trops
Enterprise service bus part 2
Cs 1023 lec 12 soa (week 4)
Enterprise Integration with the WSO2 ESB
Enterprise Integration with WSO2 ESB
Tactics Esb Implementation
The Middleware technology that connects the enterprise
03 Service Oriented Architecture Series - Basic SOA Architecture
06FSAConfSession50 in software engineering
06FSAConfSession50 6 session50 bu terry woods
2011-ESB-WP-Draft
Ss Esb
Ss Esb
Getting started with Enterprise Application Integration (EAI) using Enterpris...
A Buyers Guide to an Enterprise Service Bus (ESB)
Esb buyers guide_final
Enterprise Servie Bus - Enterprise Application Integration
Wso2 tutorial
What is an ESB? OPITZ CONSULTING - Winterberg - Trops

More from Return on Intelligence (20)

PPTX
Clean Code Approach
PPTX
Code Coverage
PPTX
Effective Communication in english
PPTX
Anti-patterns
PPTX
Database versioning with liquibase
PPTX
Effective Feedback
PPTX
English for Negotiations 2016
PPTX
Lean Software Development
PPT
Unit Tests? It is Very Simple and Easy!
PPTX
Quick Start to AngularJS
PPTX
Introduction to Backbone.js & Marionette.js
PPTX
Types of testing and their classification
PPTX
Introduction to EJB
PPTX
Apache cassandra - future without boundaries (part1)
PPTX
Apache maven 2. advanced topics
PPTX
Apache maven 2 overview
PPT
Jira as a test management tool
PPTX
Testing your code
PPT
Quality Principles
PPTX
Cross cultural communication
Clean Code Approach
Code Coverage
Effective Communication in english
Anti-patterns
Database versioning with liquibase
Effective Feedback
English for Negotiations 2016
Lean Software Development
Unit Tests? It is Very Simple and Easy!
Quick Start to AngularJS
Introduction to Backbone.js & Marionette.js
Types of testing and their classification
Introduction to EJB
Apache cassandra - future without boundaries (part1)
Apache maven 2. advanced topics
Apache maven 2 overview
Jira as a test management tool
Testing your code
Quality Principles
Cross cultural communication

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPT
Introduction Database Management System for Course Database
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Transform Your Business with a Software ERP System
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Introduction to Artificial Intelligence
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administraation Chapter 3
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
Nekopoi APK 2025 free lastest update
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Introduction Database Management System for Course Database
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Design an Analysis of Algorithms I-SECS-1021-03
How to Choose the Right IT Partner for Your Business in Malaysia
Transform Your Business with a Software ERP System
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
CHAPTER 2 - PM Management and IT Context
L1 - Introduction to python Backend.pptx
Introduction to Artificial Intelligence
ai tools demonstartion for schools and inter college
System and Network Administraation Chapter 3
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Which alternative to Crystal Reports is best for small or large businesses.pdf
Upgrade and Innovation Strategies for SAP ERP Customers

Enterprise service bus part 1

  • 1. Exigen Services confidential Exigen Services confidential Enterprise Service Bus Evgeny Epifantsev december 2009 updated 2012
  • 2. Exigen Services confidential Trainer contacts • Evgeny Epifantsev • Developer • eepifantsev@exigenservices.com 2
  • 3. Exigen Services confidential Goals • Provide an overview on: • What is Enterprise Service Bus? • How to implement it? 3
  • 4. Exigen Services confidential 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 4
  • 5. Exigen Services confidential Part 1: Overview and ESB Concepts
  • 6. Exigen Services confidential Definition 6 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."
  • 7. Exigen Services confidential What is ESB? 7 What is ESB? Is a Pattern? Is a Product? Is an Architectural Component? Is a Hardware Component?
  • 8. Exigen Services confidential Evolution 8 Point-to-Point - Tight coupling - Complexity ~N2 - No visibility - Hard to secure Service Bus (ESB) + Scalable + Service-oriented + Flexible - Harder administration + Standards-based + Cost less than EAI bus Enterprise Application Integration Hub: - Scalability + Easy administration Bus: - Standards and proprietary - High cost
  • 9. Exigen Services confidential ESB Architecture context 9 Java/EJB Http Java/EJB HttpService location transparency Sharing service across the enterprise Separate of Business Services from Service implementation
  • 10. Exigen Services confidential ESB as a Pattern of SOA 10 WSDL Business service definition PlaceTrade PlaceTrade saveOrTradeOrder() Java implementation service For saveOrTradeOrder()
  • 11. Exigen Services confidential ESB capabilities 11 Routing Message transformation Message enhancement Security Transaction management Service orchestration Process choreography Message processing Mapping service Protocol transformation
  • 12. Exigen Services confidential ESB basic functions ROUTING messages between services • Addressability, static/deterministic routing • Content-based routing • Policy-based routing • Complex Rule-based routing CONVERTATION •Adapters and protocol conversion •Transport protocols (synchronous and asynchronous) MESSAGING • Message transformation • Message processing • Message enhancement
  • 13. Exigen Services confidential BUS: Protocol Conversion 13 ESB Requests Responses Requests Responses Requests Responses Requests Responses Service Requester Service Provider Phone with wap - WXML/HTTPPhone with wap - WXML/HTTP .NET - SOAP/HTTP.NET - SOAP/HTTP C++ - XML/JMSC++ - XML/JMS SAP - BAPISAP - BAPI WebSphere 5.1 - SOAP/JMSWebSphere 5.1 - SOAP/JMS SAP - BAPISAP - BAPI External partner - SOAP/HTTPSExternal partner - SOAP/HTTPS User application - RMIUser application - RMI Database – SQLDatabase – SQL Application - XML/JMSApplication - XML/JMS
  • 14. Exigen Services confidential Service mapping 14 The ability to translate a business service into the corresponding service implementation and provide binding and location information  Could be implemented through XML, a database, or embedded within 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
  • 15. Exigen Services confidential Process choreography 15 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 PlaceFixedIncomeTrade CreateOrder SelectBid PlaceTrade ExecuteTrade Each of business node can be an independent business service
  • 16. Exigen Services confidential Service orchestration 16 The ability to manage the coordination of multiple implementation services  Can be BPEL based but is usually implemented through inter- service communication or aggregate services  Difference between Service orchestration and Process Choreography is based on type of service being coordinated • Process choreography - Business services • Service orchestration - implementation service
  • 17. Exigen Services confidential Transaction management 17 The ability to provide a single unit of work for a business service request by providing a framework for the coordination of multiple disparate services  ESB should provide a compensatory transactional framework for a service request • WS - Coordination • WS - AT • WS –Business Activity
  • 18. Exigen Services confidential Security 18 The 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 and authorization rather than have the direct responsibility
  • 19. Exigen Services confidential Quality of Service and Policy enforcement 19 • Security WS-Security, SAML • Reliable delivery for each connection • Transaction management WS-AT, WS-Coordination, WS-Business Activity • Traffic management • Policy (WS-Policy) R1R1 P1P1 P2P2 Tx_not supported Tx_not supported Tx_requiredTx_required Tx_requiredTx_required CompensationCompensation CompensationCompensation requestor provider 1 2 3 response No answer
  • 21. Exigen Services confidential Common Event Infrastructure 21 Based on Common Base Event (IBM implementation of Web Services Distributed Management ) Common Event Infrastructure (CEI) is IBM's implementation of API, and infrastructure for the creation, transmission, persistence and distribution of a wide range of business, system and network Common Base Event formatted events. CEI Event Submission Interfaces (Event Source) CEI Event Subscription Interfaces (Event Server) CEI Event Query Interfaces (Event Server)
  • 25. Exigen Services confidential ESB components 25  ESB can broken down into the following components • Mediator • Service registry • Choreographer • Rules Engine MediatorMediator Service registry Service registry ChoreographerChoreographer Rules engineRules engine
  • 26. Exigen Services confidential Mediator (Routing, Message transformation) 26 Mediator Requests Responses Requests Responses Requests Responses Requests Responses Service Requester Service ProviderValidation XSD Validation XSD Transform XSLT Transform XSLT Enrich XPath Enrich XPath OperateOperateRoute UDDI Route UDDI VETRO export import
  • 27. Exigen Services confidential Process choreographer 27 BPEL – Business Process Execution language partnerLink purchasing partnerLink purchasing purchaseOrderPTpurchaseOrderPT partnerLink invoicing partnerLink invoicing ComputePricePTComputePricePT invoiceCallbackPTinvoiceCallbackPT <wsdl:portType name="purchaseOrderPT"> <wsdl:operation … </wsdl:operation> </wsdl:portType> <plnk:partnerLinkType name="purchasingLT"> </plnk:partnerLinkType> <plnk:partnerLinkType name="invoicingLT"> <plnk:role portType="pos:computePricePT" /> <plnk:role portType="pos:invoiceCallbackPT“ /> </plnk:partnerLinkType>
  • 28. Exigen Services confidential BPEL Process 28 <sequence> <receive portType="lns:purchaseOrderPT" … /> <flow> <invoke portType="lns:computePricePT“ … /> <receive portType="lns:invoiceCallbackPT" …/> </flow> <reply portType="lns:purchaseOrderPT” … /> <sequence> <sequence> <receive portType="lns:purchaseOrderPT" … /> <flow> <invoke portType="lns:computePricePT“ … /> <receive portType="lns:invoiceCallbackPT" …/> </flow> <reply portType="lns:purchaseOrderPT” … /> <sequence>
  • 29. Exigen Services confidential Implementation Mediation Module 29 Mediation flow Mediation module Requests Responses Requests Responses Requests Responses Requests Responses Service Requester Service Provider Exports Imports Mediation flow component ExportsImports
  • 30. Exigen Services confidential Implementation mediation Flow 30 InterfacesInterfaces Mediation primitivesMediation primitives
  • 32. Exigen Services confidential Implementation steps 32 Import WSDL(SCA, Web Service, HTML, JMS) Import WSDL(SCA, Web Service, HTML, JMS) Create mediatorCreate mediator Connect WSDL ports with mediator (import) Connect WSDL ports with mediator (import) Generate exports with binging (SCA, Web Service, HTML, JMS) Generate exports with binging (SCA, Web Service, HTML, JMS) Messaging ResourcesWebSphere ESB Create bus instanceCreate bus instance Setup SDO repositorySetup SDO repository Setup resource adaptersSetup resource adapters Create client listeners for every protocols Create client listeners for every protocols Create interceptorsCreate interceptors Create mediator (EJB)Create mediator (EJB)
  • 33. Exigen Services confidential ESB platforms 33 Sun GlassFish ESB NetBeans IDE, BPEL orchestration, WS JAX-WS, Business Rules, Transaction, BAM Matrix BusinessWorks no transaction, no dusiness rules, BAM Mule ESB EE custom implementation model, WS CXF, No BAM, no Business rules IONA Fuse ESB Apache ServiceMix, JBI, OSGI, WS CXF, no BAM, Business rules WSO2 ESB Apache Synapse, WS Apache Axis2 WebSphere ESB WebSphere MQ, JMS, BPEL, SCA WS JAX-WS, BAM, Business Rules Oracle ESB JMS, BPEL
  • 34. Exigen Services confidential Open source way 34 ESB Business Rules Business Rules DroolsDrools RoutingRouting eipeip javajava camelcamel ChoreographyChoreographyjBPMjBPM Transform ation Transform ation xpathxpath xsltxslt simplesimple EventsEventsIBMIBM OracleOracle JMSJMS AMQAMQ

Editor's Notes

  • #7: Основа архитектуры ESB — это идея использования общей интеграционной инфраструктуры всеми корпоративными приложениями на базе обмена сообщениями. Все приложения взаимодействуют через одну точку, которая, в случае необходимости, обеспечивает сохранность обращений, преобразование данных и транзакции. При этом целью интеграции приложения является создание единственного модуля (или адаптера), который отвечает за «подключение» приложения к ESB. Последующую обработку сообщений и их маршрутизацию в другие системы, ESB выполняет на основании установленных бизнес-правил самостоятельно
  • #8: Ответ ДА на все четыре вопроса.