Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Topic 4

       Enterprise Service Bus
             and JBI
    Dr.Thanachart Numnonda
  Sun Microsystems (Thailand)
Asst....
Agenda
 What   is ESB?
 ESB   Differences
 What   is JBI?
 OpenESB    &GlassFish
 Usage   Scenario

                 ...
What is ESB?




               3
SOA Framework Recap

    User Interface Dashboard (KPI)

User Interface + Single Window (Portal)

Business Process Managem...
ESB
   Enterprise Service Bus (ESB) is the software
    middleware
   ESB acts as a mediator between different, often
  ...
The role of ESB in SOA
Features of an ESB
•   Web Services Support
     –   ESB offers an ability to invoke SOAP and WSDL
         based Web Serv...
Features of an ESB (Cont.)
•   Mediation and protocol independence
     –    Variety of protocols can be reconciled for co...
Features of an ESB (Cont.)
•   Orchestration
     –    Offers the ability to coordinate multiple services to
          exp...
ESB Features
Benefits of ESB
•   Reduce time to integrate new and existing
    applicatioms
•   Increase flexibility because system dep...
ESB Differences




                  12
Heterogeneous ESBs
ESB Differences
• Point-to-Point Connection
   – consumer has to know the endpoint, it sends each request to
     a specif...
Point-to-Point Connection
Mediating Connection
Interceptor (based on Point-to-Point)
ESB Differences
• Protocol Driven ESB
  – the ESB defines a protocol, and the providers and consumers
    send and receive...
Protocol-Driven ESB
API-Driven ESB
Commercial ESBs
•   IBM WebSphere ESB
•   Sonic ESB
•   Oracle Service Bus
•   Software AG/WebMethods ESB
•   Microsoft Bi...
Opensource ESB
•   Mule
•   Apache ServiceMix
•   OpenESB (GlassFish v2)
•   Project Fuji (OpenESB v3)
What is JBI?




               23
Why JBI?
•   Many ESB products in the market
•   Each has its own pattern and specification
•   Each may use different pro...
What is JBI?
•   JBI (Java Business Integration) is a specification
    published by JCP (JSR 208)
•   JBI is a message-ba...
What Is JBI?
• Standard “meta-container”
  for integrated services
• Provides for plug-in:
   – Service Engines (SE):
    ...
JBI Architecture
JBI
Service Engines
•   Sevice Engines (SEs) are JBI components that
    enable pluggable business logic
•   SEs is a standard...
Binding Components

•   Binding Components (BCs) provides connectivity
    services to SE
•   BCs offer protocol independe...
Normalized Message Router
•   NMR mediates the message exchange between Ses
    and Bcs within the framework
•   NMR is th...
JBI and Composite Application
Overview of Message Routing
JBI Runtime
JBI Portability Model
• Components should be portable (SEs and BCs)
• Service units are not portable across SEs/BCs from
 ...
OpenESB & GlassFish




                      36
What is Open ESB?
• Project Open ESB implements an Enterprise Service
  Bus (ESB) runtime using JBI as the foundation
   –...
Open ESB Architecture




                        38
Design-Time                                           Runtime                                             Management

    ...
JBI Support in GlassFish
• A JBI runtime has been integrated with GlassFish V2
• GlassFish admin console now supports JBI
...
JBI in Admin Console
OpenESB Web Site
•   https://open-esb.dev.java.net/
•   Latest GlassFishESB v2.1 with NetBeans 6.1
•   Documents / Example...
JBI Components : Examples
• Service Engines • Binding Comps
  –   BPEL SE        –   MQSeries BC
  –   XSLT SE        –   ...
Usage Scenario




                 45
Usage Scenario: Loan Processing
                • Loan Requestor Service:
                  – LoanRequestProcess
         ...
JBI-based
Infrastructure
                  BPEL     JavaEE   XSLT



                            NMR

                 WS-...
JBI-based         BPEL       JavaEE        XSLT
Infrastructure     Loan        Loan
                                      ...
BPEL       JavaEE        XSLT
  Loan        Loan
                         Transform
 Request    Processor
                ...
Architecture     BPEL       XSLT         JavaEE
Refactoring      Loan                     Loan
                           ...
BPEL       XSLT        RulesEngine     JavaEE
             Loan
                       Transform       Loan
            Re...
Resources
   Some contents are borrowed from the presentation
    slides of Sang Shin, Java™ Technology Evangelist,
    S...
Thank you
thanachart.numnonda@sun.com
     twitter.com/thanachart
 www.facebook.com/thanachart
     www.thaijavadev.com


...
Enterprise Service Bus and JBI
Upcoming SlideShare
Loading in …5
×

Enterprise Service Bus and JBI

3,307 views

Published on

This presentation describes ESB, JBI and OpenESB

Published in: Business, Technology
  • Be the first to comment

Enterprise Service Bus and JBI

  1. 1. Topic 4 Enterprise Service Bus and JBI Dr.Thanachart Numnonda Sun Microsystems (Thailand) Asst.Prof.Thanisa Kruawaisayawan KMITL
  2. 2. Agenda  What is ESB?  ESB Differences  What is JBI?  OpenESB &GlassFish  Usage Scenario 2
  3. 3. What is ESB? 3
  4. 4. SOA Framework Recap User Interface Dashboard (KPI) User Interface + Single Window (Portal) Business Process Management (BPEL) Build Re-usable Services (ESB) External/Internal Systems 4
  5. 5. ESB  Enterprise Service Bus (ESB) is the software middleware  ESB acts as a mediator between different, often incompatible protocols and middleware products  ESB is the backbone of SOA  You can't buy SOA, but you can buy an ESB
  6. 6. The role of ESB in SOA
  7. 7. Features of an ESB • Web Services Support – ESB offers an ability to invoke SOAP and WSDL based Web Services • Adapters – Many ESB vendors will provide adapters to integrate with different thrd-part applications, such as PeopleSoft, SAP – Used for applications which do not directly have SOAP or XML interface • Invocation – ESB supports synchronous and asynchronous calls to services and sometimes callbacks
  8. 8. Features of an ESB (Cont.) • Mediation and protocol independence – Variety of protocols can be reconciled for complex route across a variety of platform – Allows to connect with different protocols such as HTTP, FTP, SMTP, JDBC • Routing – Allows us to route the messages to different services based on their content, origin or other attributes • Transformation – Data represented as XML can be transformed using XSLT or XQuery before they are delivered to services. – Some ESB supports various XML, e.g. HL7, SWIFT
  9. 9. Features of an ESB (Cont.) • Orchestration – Offers the ability to coordinate multiple services to expose them as a single proxy service – Many ESBs delegate this functionality to a BPEL engine • Security – Provides additional security capabiulity, SSL, SAML • Control over the deployment, usage and maintenance of services
  10. 10. ESB Features
  11. 11. Benefits of ESB • Reduce time to integrate new and existing applicatioms • Increase flexibility because system dependencies are reduced • Simultaneous centralized management of services • Centralized management ability (e.g. BAM) • Encourage use of industry standard interface • Greater agility and responsiveness to change
  12. 12. ESB Differences 12
  13. 13. Heterogeneous ESBs
  14. 14. ESB Differences • Point-to-Point Connection – consumer has to know the endpoint, it sends each request to a specific receiver – The problem with this type of connection is that the call fails if the physical receiver is not available. • Mediating Conenction – identifies the provided service by a tag or symbolic that the ESB interprets to find an appropriate provider – ESB plays the role of a mediator or broker
  15. 15. Point-to-Point Connection
  16. 16. Mediating Connection
  17. 17. Interceptor (based on Point-to-Point)
  18. 18. ESB Differences • Protocol Driven ESB – the ESB defines a protocol, and the providers and consumers send and receive messages according to this protoco – Example; Web Services, which require a SOAP protocol, • API Driven ESB – the ESB defines platform-specific APIs (such as Java interfaces), and the providers and consumers use these APIs for service implementations and service calls (see Connecting to an API-driven ESB).
  19. 19. Protocol-Driven ESB
  20. 20. API-Driven ESB
  21. 21. Commercial ESBs • IBM WebSphere ESB • Sonic ESB • Oracle Service Bus • Software AG/WebMethods ESB • Microsoft Biztalk • TIBCO ActiveMatrix and BusinessWorks
  22. 22. Opensource ESB • Mule • Apache ServiceMix • OpenESB (GlassFish v2) • Project Fuji (OpenESB v3)
  23. 23. What is JBI? 23
  24. 24. Why JBI? • Many ESB products in the market • Each has its own pattern and specification • Each may use different protocols and different forms of communication • Need different ways / patterns of implementation • Need a ESB standard to avoid vendor lock-in • The ideas is this: someone implements the spec and then they can in turn implement engine that are pluggable within that container. 24
  25. 25. What is JBI? • JBI (Java Business Integration) is a specification published by JCP (JSR 208) • JBI is a message-based, pluggable meta-container • It is a container of containers. • JBI allows pluggable components to be added into a standard architecture 25
  26. 26. What Is JBI? • Standard “meta-container” for integrated services • Provides for plug-in: – Service Engines (SE): business logic – Binding Components: communications protocols • Standard deployment / Management model • Loose coupling via WSDL message exchanges between WSDL described Services
  27. 27. JBI Architecture
  28. 28. JBI
  29. 29. Service Engines • Sevice Engines (SEs) are JBI components that enable pluggable business logic • SEs is a standard container for hosting WSDL- defined service providers as well as service consumers used internally by JBI • Business Logic get deployed into SE • SE get installed into JBI runtime • OpenESB offers varous SEs – BPEL SE – XSLT SE – JavaEE SE
  30. 30. Binding Components • Binding Components (BCs) provides connectivity services to SE • BCs offer protocol independence • BCs provide transport protocols for external services • BCs converts a message that is bound to a specific protocol or transport into the normalized protocols • Example BCs – File, HTTP, FTP, SMTP, Database (JDBC) – CICS, DCOM, CORBA
  31. 31. Normalized Message Router • NMR mediates the message exchange between Ses and Bcs within the framework • NMR is the core of the bus • Allows services to interoperate by passing messages between all the components • BC and SE are decoupled • NMR is bidirectional
  32. 32. JBI and Composite Application
  33. 33. Overview of Message Routing
  34. 34. JBI Runtime
  35. 35. JBI Portability Model • Components should be portable (SEs and BCs) • Service units are not portable across SEs/BCs from different vendors • Example: moving an application from OpenESB toServiceMix – Install all Open ESB Service Engines and Binding Components that you used, in ServiceMix – Deploy the application into ServiceMix's runtime
  36. 36. OpenESB & GlassFish 36
  37. 37. What is Open ESB? • Project Open ESB implements an Enterprise Service Bus (ESB) runtime using JBI as the foundation – This allows easy integration of web services to create loosely coupled enterprise class composite applications. • It also provides various tools for the development, deployment, and management of composite applications 37
  38. 38. Open ESB Architecture 38
  39. 39. Design-Time Runtime Management IDE Web Server Java EE BPEL XSLT FTP Many More Composite SE SE BC SEs… Composite EJBs Application Application App Server Java EE Project Servlets SE JBI Bus Manager HTTP FTP FTP Many More BC BC BC BCs… BPEL BPEL Editor 3rd Party Monitor Open Standard Based Service Platforms Service Bus WS-Reliable Messaging XSLT WS-Security XSLT 3rd Party Editor WS-FastInfoSet, … Service Monitor Platforms IEP IEP Editor Java EE HTTP FTP FTP Many More Monitor BC BC BC BCs… EJBs App Server Java EE Many More Servlets SE JBI Bus Many More Many More Editors BPEL XSLT FTP Many More Editors Many More Editors SE SE BC SEs… Monitors
  40. 40. JBI Support in GlassFish • A JBI runtime has been integrated with GlassFish V2 • GlassFish admin console now supports JBI • Java EE Service Engine act as the bridge between Java EE applications and JBI • A Java EE application archive (ear/war/jar) can be packaged in a JBI composite application • Expose JMX to tools • JBI runtime has been enhanced to adhere to the appserver clustering architecture – Each instance in the appserver cluster will also have a JBI runtime in it
  41. 41. JBI in Admin Console
  42. 42. OpenESB Web Site • https://open-esb.dev.java.net/ • Latest GlassFishESB v2.1 with NetBeans 6.1 • Documents / Examples • 43 JBI Components
  43. 43. JBI Components : Examples • Service Engines • Binding Comps – BPEL SE – MQSeries BC – XSLT SE – Database BC – JavaEE SE – HL7 BC • Nolonger Maintain – IEP SE – SAP BC – JavaScript SE – POJI SE – SMTP BC – Aspect SE – Scripting SE – HTTP BC – JDBC BC – WLM SE – JMS BC – SMTP BC – File BC – SQL SE – CICS BC – DCOM BC – CORBA BC – ...
  44. 44. Usage Scenario 45
  45. 45. Usage Scenario: Loan Processing • Loan Requestor Service: – LoanRequestProcess • WS-I BP • BPEL Orchestration – LoanProcessor • JavaEE – TransformReport • XSLT – LoanReportStore • Business Partner thru FTP – LoanReportMailer • Legacy thru JMS
  46. 46. JBI-based Infrastructure BPEL JavaEE XSLT NMR WS-I BP JMS File
  47. 47. JBI-based BPEL JavaEE XSLT Infrastructure Loan Loan Transform Request Processor Report Process EJB NMR WS-I BP JMS File LoanRS WS ReportMail ReportStore
  48. 48. BPEL JavaEE XSLT Loan Loan Transform Request Processor Report Process EJB NMR WS-I BP JMS File LoanRS WS ReportMail ReportStore
  49. 49. Architecture BPEL XSLT JavaEE Refactoring Loan Loan Transform Request Processor Report Service EJB NMR WS-I BP JMS File LoanRS WS ReportMail ReportStore
  50. 50. BPEL XSLT RulesEngine JavaEE Loan Transform Loan Request ReportStore Report Processor Service NMR JMS WS-I BP JMS File LoanRS Q LoanRS WS ReportMail ReportStore
  51. 51. Resources  Some contents are borrowed from the presentation slides of Sang Shin, Java™ Technology Evangelist, Sun Microsystems, Inc.  Business Process Execution Language for Web Services, Matjaz B. Juric  Java SOA Cookbook, Eben Hewitt  Building SOA-Based Composite Applications Using NetBeans IDE 6, David Salter  SOA in Practice, Nicolai M. Josuttis 52
  52. 52. Thank you thanachart.numnonda@sun.com twitter.com/thanachart www.facebook.com/thanachart www.thaijavadev.com 53

×