SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
What is OpenESB /
GlassFishESB?
December 2008




Frank Kieviet
OpenESB Community Manager



                            1
Agenda
•   What are we trying to do? (Value proposition)
•   How does OpenESB look like?
•   Basic concepts
•   Comparing OpenESB with other ESBs
•   Open Source
•   What is next?




                                                    Slide 2
What are we trying to do?




                            Slide 3
Example 1
•   Download HTTP ACCESS logs over HTTP
•   Parse the log file
•   Filter the log file
•   Store the hits in a database




                                          Slide 4
Example 2                                                                                                   ERP
                                                                                                          s y s te m

• Old system: An ERP system generates
  purchase orders; the orders are printed p o . p s
  out and mailed using USPS
• New system: added a web ordering application for
  internal use, added a financial Order Approval System
  and a Financial Monitoring System, and Purchase orders
  are now delivered electronically over the Internet using a
  Transaction Delivery Network application
              W eb
                                                        ERP
        p ro c u re m e n t
                                                      s y s te m
            s y s te m
                                                                                                 p o .e d i
                              o rd e r
                                                                      p o .c s v
                               .x m l                                                                           TDN
                                                                                                              s y s te m



                         po                                         po
                        .x m l         O rd e r                    .x m l     F in a n c ia l
                                     A p p ro v a l                          M o n it o r in g                             Slide 5
                                      S y s te m                               s y s te m
ERP
s y s te m
                                 > Following an order from the ERP system
                p o .c s v          > ERP system creates a file with a batch of orders in CSV
   re a d                             format
 c o n v e rt                       > File needs to be picked up, read and converted to a canonical
                  p o .x m l          format
 A p p ro v a l                     > The CSV file does not contain all information necessary for
  s y s te m                          the canonical format
                                    > All orders in the CSV file need to be approved by an approval
                    p o .x m l
                                      system
     M o n it o r in g
       s y s te m                   > Each order needs to be sent out to the Internet Gateway
         c o n v e rt                 (TDN) in EDI format, or to a Fax gateway in PS format
                  p o .tx t         > A financial monitoring application needs to get a copy of the
        E m a il
                                      order
        N o t if y
                                    > An email needs to be sent to the submitter of the order when
         c o n v e rt
                                      the order goes out
                  p o .e d i        > The department that generally takes delivery of goods needs
         TDN                          to be notified of the order
       s y s te m                                                                               Slide 6
One possible solution
• Example 1:
  > Write some Java code that uses the Apache FTP library to
      download the files
  >   Ensure configuration is externalizable
  >   Add error handling code (retries, avoid data loss, etc)
  >   Write code to parse the log file
  >   Use JPA to persist the data
  >   Add a timer to do this task periodically
• Example 2:
  > Similar approach for example 2
  > Use libraries to interact with external systems
  > Use libraries to do file format conversions
                                                                Slide 7
Observations
• Three aspects to both examples:
  > Connectivity
  > Message transformation
  > Business logic / orchestration
• In Java coding solution:
  > Business/orchestration logic is intermingled with code to
    connect to systems and other low level processing code
  > Because of this, will take some effort for someone else to
    understand the application
  > It's hard to add swap one transport for another, or one data
    format for another
  > The biggest problem: (next slide)

                                                                   Slide 8
Scaling
• An enterprise has hundreds of these integration
  applications
• Characteristics:
  >   Each application is relatively simple
  >   Code is repetitive
  >   Coding is labor intensive
  >   Applications become hard to manage
  >   Applications become hard to maintain




                                                    Slide 9
How OpenESB helps
• OpenESB provides
  > Off the shelf connectivity components
  > Off the shelf components for tough orchestration problems
  > Off the shelf data transformation components
• OpenESB aims to
  >   ... separate business logic from other logic
  >   ... reduce the amount of code
  >   ... reduce the cost to build large numbers of these applications
  >   ... make these applications manageable
• But wait, there's more!
  > (next slide)

                                                                    Slide 10
Web services
• Isn't everybody using web services?
  > Yes, but not today: still a lot of non-web services connectivity
  > Still requires data transformation and orchestration
  > (And in the future will bring its own integration problems)
• OpenESB aims to be an SOA platform for
  > Service Composition: an application uses various other
    services to provide new functionality
  > Service Creation: expose functionality as a service
     > e.g. add a web service wrapper around legacy systems




                                                                   Slide 11
What does OpenESB look like?




                               Slide 12
Process view
• Runtime
  > GlassFish
  > JBI Runtime
  > Components
     > JBI Components: BPEL SE, XSLT SE, HTTP BC, EE SE
     > EE Components
• Designtime
  > NetBeans
  > Plugins
     > BPEL editor, WSDL editor, ...
• Management
  > ESB Console
                                                          Slide 13
Solution with OpenESB                                                                                            p o .x m l
                                                                                                                                             R e s e rv e
                                                                                                                                                .x m l
                                                                                                                                                           M o n it o r in g
                                                                                                                              F in a n c e                   s y s te m

       ERP
     s y s te m
                  p o .c s v
                                 ERP    p o .x m l      a p p ro v a l              p o .x m l             T     p o .x m l                   p o .e d i

                                                                                                                                                               TDN
                                                                                                                                TDN
                                                                                                           T                                                 s y s te m

                                                         A p p ro v a l
                                                          s y s te m


                                                                                                                 p o .x m l                    p o .p s
       W eb
 p ro c u re m e n t                                                                                                                                            Fax
                  o rd e r       W eb                                                                                            Fax                         s y s te m
                   .x m l



                             Q
                                                     E A I a p p lic a t io n s o r in f r a s t r u c t u r e
                                                                                                                 p o .x m l                    p o .tx t

                                                                   E x is tin g s y s t e m s                                  E m a il                        E m a il


                                                                          M essages

                                                                                                                                                                          Slide 14
Example:
A business process in BPEL                                        p o .x m l   a p p ro v a l   p o .x m l        T

                            B P E L p ro c e s s
                                                                                                                  T
                                                                               A p p ro v a l
                                                                                s y s te m
                                         R equest
      E xposed
       s e r v ic e

                                                                                                B P E L p ro c e s s


                                                   O K T o p ic




  R e p ly

                        N ot O K
                         T o p ic


                                                                                                                 Slide 15
Example:
Assembling an application in CASA

                                                                                                                               ERP
                                                                                                                             s y s te m
                                                                                                                                          p o .c s v
                                                                                                                                                       ER P   p o .x m l




                                                                        In -o u t m e s s a g e
                                                                    e x c h a n g e ; a ll o t h e r s
                                                                            a r e in - o n ly
          E R P s p e c if ic
               d a ta
                                                                                                                A ll th e s e m e s s a g e
                                                                                                                e x c h a n g e s a r e in -
   R eads and                                                                                                           m e m o ry
   p a r s e s f ile




                                                                                                         C a n o n ic a l
                                                                                                             d a ta
                                D a ta m a p p in g

                                                      D a t a b a s e lo o k u p

                                                                                                                                                                       Slide 16
Components
• 43 components
• Breadth significantly enhanced by partners / contributors,
  each bringing domain expertise to the table




                                                          Slide 17
Connectivity
• HTTP, File, FTP, JMS, Email, Scheduler
• Database, ETL, Data Mashup, Mural
• Asterisk, Exec BC, HL7, LDAP BC, RSS BC, SIP BC,
  SNMP BC, TCPIP BC, UDDI BC, XMPP BC
• CICS BC, CORBA BC, DCOM BC, EJB BC, IMS BC,
  MSMQ BC, MQSeries BC, ScreenScraping SE, SWIFT
  BC, SAP BC




                                                     Slide 18
Message transformation
•   XSLT SE
•   Encoding SE
•   Visual mapping in BPEL editor
•   Java based mapping (test/sample driven)




                                              Slide 19
Orchestration / business logic
• BPEL SE
  > Long running transactions
  > Asynchronous interactions (correlation)
  > Persistence, clustering
• IEP SE (Complex Event Processing)
  > Event Driven Architectures
• EE SE
  > Makes EJBs accessible from within JBI




                                              Slide 20
• POJO SE
  > Use simple Java classes for business logic
• Scripting SE
  > Use scripts for business logic
• WLM SE
  > Human workflow
• Camel SE




                                                 Slide 21
Basic concepts




                 Slide 22
Basics
• Components
  > Are really containers in which parts of an application are
    deployed into
  > BC = Binding Component: proxy to service
  > SE = Service Engine: runs business logic
  > Are installed into the runtime
• Service Units
  > Artifacts that get deployed into a component
     > Examples: .bpel file for a BPEL process, a WSDL for the HTTP BC
• Composite application
  > A zip that gets deployed into the runtime
  > Makes up an application
                                                                         Slide 23
JBI in a nutshell
• JSR 208: Java for Business Integration
• Provides a multi-vendor standard for
  > Messages sent over the bus
  > Component container interfaces
     > Management, start/stop etc
• Async message exchange
• Components
• In-vm
  > Allows transaction propagation
  > Streaming                              (From David Chappell)
  > Passing by reference
                                                                   Slide 24
Transaction propagation example
 Inbound BC               NMR             EESE     Workmanager           Work

              accept            accept
Begin tx
              send
                                accept
                                returns      submit Work
                                                                  run
                                accept

                tx                                 associate tx
            propagated

                                 done                  finished
           accept
           returns done
                                                           disassociate tx
             tx commit


                                                                                Slide 25
WSDL
• WSDL
    > Describes what messages are sent and returned
    > WSDL file is in XML
    > Message End Point + Operation
•   WSDL is not necessarily SOAP
•   WSDL can also be used for non-XML data exchanges
•   Abstract WSDLs describe what is exchanged
•   Concrete WSDLs describe how is exchanged



                                                       Slide 26
Example

       JBI Container                                      BPEL SE
                                                WSDL
HTTP   HTTP BC          WSDL
                                                               BPEL process
          WSDL                                  WSDL
          binding                                              BPEL process
                                   NMR


                                                          EE SE                    HTTP
                                                WSDL
                                                                   ejb.jar
                                                WSDL                               RMI
                                                               application.ear



       = service unit; all service units together = service assembly
                                                                                 Slide 27
OpenESB compared
  with other ESBs




                    Slide 28
Categorization
• Different ways of categorizing ESBs
  >   Open Source versus Proprietary/closed source
  >   Backing / project size
  >   Open standards versus proprietary
  >   Runtime only, or complete with design time?
• OpenESB
  > 100% Open Source
  > Backed by Sun
  > Open standards: external and internal
     > JBI: gives interoperability between components from different vendors –
       avoids vendor lock in
  > Comes with strong design time tooling

                                                                           Slide 29
Open Source




              Slide 30
OpenESB, the community
• Started in 2005
• Led by Sun Microsystems
• Many other partners (5+) and contributors:
  > e.g. Advantech, Imola, ChainBuilder, eviware, Gestalt
• A lot of engineers working on Java CAPS, a proprietary
  Sun product, are now working on OpenESB.
  > ... causing a recent surge in activity in the community
• Sun is now providing commercial support on
  GlassFish ESB
• A vibrant community

                                                              Slide 31
GlassFish ESB, Open ESB
• Open ESB is the name of the open source project
• GlassFish ESB is the name of a distribution built in the
  OpenESB community
  > Sun provides commercial support on this distribution
  > Is a subset of the components in OpenESB




                                                             Slide 32
Commercial applications
• OpenESB bits are used in Java CAPS
• GlassFish ESB is commercially supported
• Third parties are using OpenESB as OEMs




                                            Slide 33
• Lean more: http://open-esb.org




                                   Slide 34
What is next?




                Slide 35
Research project: Fuji
• Innovation at the center of our next generation platform
• Popularity of simple, productive solutions
  > A growing number of developers value high productivity and simplicity over
    all-encompassing but complex
• Make existing users more productive
• Capture larger audiences
  > Many developers do tasks that are ideally suited to our platform
  > ... but they don't necessarily think of it as “integration” or “SOA”




                                                                           Slide 36
What does Fuji bring?
• Runs on GlassFish V3
• OSGi
• Maven
  > Simplify user interface to service artifacts
  > Convention, Configuration, Code ... (In that order)
• New way of specifying interactions between components:
  Integration Flow Language
  > Editable text
  > Browser based visual editor
• Enterprise Integration Patterns out-of-the-box
• Interceptors
• New way of distribution over multiple machines          Slide 37
Example




    ... can be described in a text file as:
                 (next slide)


                                              Slide 38
Slide 39
Service Composition in a Browser




                                   Slide 40
Q&A


frank.kieviet@sun.com
http://blogs.sun.com/fkieviet

Más contenido relacionado

Similar a Open Esb 20081104 V2

SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019
Samuel Vandecasteele
 
CReatror_SPecial_5588778XXX55herebat.pptx
CReatror_SPecial_5588778XXX55herebat.pptxCReatror_SPecial_5588778XXX55herebat.pptx
CReatror_SPecial_5588778XXX55herebat.pptx
notionio83
 
Glass Fish Esb Launch Feb10 2009 Part B Frank K
Glass Fish Esb Launch Feb10 2009 Part B Frank KGlass Fish Esb Launch Feb10 2009 Part B Frank K
Glass Fish Esb Launch Feb10 2009 Part B Frank K
Eduardo Pelegri-Llopart
 
Web enabling your survey business
Web enabling your survey businessWeb enabling your survey business
Web enabling your survey business
Rudy Stricklan
 
Jval presentation 1.2 english
Jval presentation 1.2 englishJval presentation 1.2 english
Jval presentation 1.2 english
jvalidator
 

Similar a Open Esb 20081104 V2 (20)

Business Process Modeling
Business Process ModelingBusiness Process Modeling
Business Process Modeling
 
20110507 Implementing Continuous Deployment
20110507 Implementing Continuous Deployment20110507 Implementing Continuous Deployment
20110507 Implementing Continuous Deployment
 
resume
resumeresume
resume
 
SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019SAI - Serverless Integration Architectures - 09/2019
SAI - Serverless Integration Architectures - 09/2019
 
How Expedia’s Entity Graph Powers Global Travel
How Expedia’s Entity Graph Powers Global TravelHow Expedia’s Entity Graph Powers Global Travel
How Expedia’s Entity Graph Powers Global Travel
 
CReatror_SPecial_5588778XXX55herebat.pptx
CReatror_SPecial_5588778XXX55herebat.pptxCReatror_SPecial_5588778XXX55herebat.pptx
CReatror_SPecial_5588778XXX55herebat.pptx
 
Migrating to Alfresco Part II: The “How” – Tools & Best Practices for Renovat...
Migrating to Alfresco Part II: The “How” – Tools & Best Practices for Renovat...Migrating to Alfresco Part II: The “How” – Tools & Best Practices for Renovat...
Migrating to Alfresco Part II: The “How” – Tools & Best Practices for Renovat...
 
Glass Fish Esb Launch Feb10 2009 Part B Frank K
Glass Fish Esb Launch Feb10 2009 Part B Frank KGlass Fish Esb Launch Feb10 2009 Part B Frank K
Glass Fish Esb Launch Feb10 2009 Part B Frank K
 
Creating Modern Metadata Systems with New Relic, Dow Jones [FutureStack16]
Creating Modern Metadata Systems with New Relic, Dow Jones [FutureStack16]Creating Modern Metadata Systems with New Relic, Dow Jones [FutureStack16]
Creating Modern Metadata Systems with New Relic, Dow Jones [FutureStack16]
 
Content Management and Collaboration
Content Management and CollaborationContent Management and Collaboration
Content Management and Collaboration
 
ch3_EN_BK_Process.pdf
ch3_EN_BK_Process.pdfch3_EN_BK_Process.pdf
ch3_EN_BK_Process.pdf
 
Web enabling your survey business
Web enabling your survey businessWeb enabling your survey business
Web enabling your survey business
 
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
Upgrade Your Website to HTML5 - VSLive Conference New York  @iRajLalUpgrade Your Website to HTML5 - VSLive Conference New York  @iRajLal
Upgrade Your Website to HTML5 - VSLive Conference New York @iRajLal
 
Meteor - not just for rockstars
Meteor - not just for rockstarsMeteor - not just for rockstars
Meteor - not just for rockstars
 
Should you be using an event driven architecture?
Should you be using an event driven architecture?Should you be using an event driven architecture?
Should you be using an event driven architecture?
 
Streamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web FrameworksStreamlining Your Applications with Web Frameworks
Streamlining Your Applications with Web Frameworks
 
AWS Compute Overview: Servers, Containers, Serverless, and Batch | AWS Public...
AWS Compute Overview: Servers, Containers, Serverless, and Batch | AWS Public...AWS Compute Overview: Servers, Containers, Serverless, and Batch | AWS Public...
AWS Compute Overview: Servers, Containers, Serverless, and Batch | AWS Public...
 
Jval presentation 1.2 english
Jval presentation 1.2 englishJval presentation 1.2 english
Jval presentation 1.2 english
 
So Your OpenStack Cloud is Built...Now What?
So Your OpenStack Cloud is Built...Now What? So Your OpenStack Cloud is Built...Now What?
So Your OpenStack Cloud is Built...Now What?
 
Wiring the IoT for modern manufacturing
Wiring the IoT for modern manufacturingWiring the IoT for modern manufacturing
Wiring the IoT for modern manufacturing
 

Más de Eduardo Pelegri-Llopart

Más de Eduardo Pelegri-Llopart (20)

Juggling at freenome
Juggling   at freenomeJuggling   at freenome
Juggling at freenome
 
Csumb capstone-fall2016
Csumb capstone-fall2016Csumb capstone-fall2016
Csumb capstone-fall2016
 
Digital activitymanagement
Digital activitymanagementDigital activitymanagement
Digital activitymanagement
 
Progress next iot_pelegri
Progress next iot_pelegriProgress next iot_pelegri
Progress next iot_pelegri
 
Pelegri Desarrollando en una nueva era de software
Pelegri   Desarrollando en una nueva era de software Pelegri   Desarrollando en una nueva era de software
Pelegri Desarrollando en una nueva era de software
 
Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015Market trends in IT - exchange cala - October 2015
Market trends in IT - exchange cala - October 2015
 
The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015The impact of IOT - exchange cala - 2015
The impact of IOT - exchange cala - 2015
 
IOT - Presentation to PEP @ Progress
IOT - Presentation to PEP @ ProgressIOT - Presentation to PEP @ Progress
IOT - Presentation to PEP @ Progress
 
Node.js as an IOT Bridge
Node.js as an IOT BridgeNode.js as an IOT Bridge
Node.js as an IOT Bridge
 
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
What is IoT and how Modulus and Pacific can Help - Featuring Node.js and Roll...
 
What is the Internet of Things and How it Impacts You
What is the Internet of Things and How it Impacts YouWhat is the Internet of Things and How it Impacts You
What is the Internet of Things and How it Impacts You
 
Community Update 25 Mar2010 - English
Community Update 25 Mar2010 - EnglishCommunity Update 25 Mar2010 - English
Community Update 25 Mar2010 - English
 
GlassFish Community Update 25 Mar2010
GlassFish Community Update 25 Mar2010GlassFish Community Update 25 Mar2010
GlassFish Community Update 25 Mar2010
 
Glass Fish Portfolio C1 West V3.Mini
Glass Fish Portfolio C1 West V3.MiniGlass Fish Portfolio C1 West V3.Mini
Glass Fish Portfolio C1 West V3.Mini
 
Virtual Box Aquarium May09
Virtual Box Aquarium May09Virtual Box Aquarium May09
Virtual Box Aquarium May09
 
Introduction To Web Beans
Introduction To Web BeansIntroduction To Web Beans
Introduction To Web Beans
 
Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage Patterns
 
OpenDS Primer Aquarium
OpenDS Primer AquariumOpenDS Primer Aquarium
OpenDS Primer Aquarium
 
Fuji Overview
Fuji OverviewFuji Overview
Fuji Overview
 
Nuxeo 5.2 Glassfish
Nuxeo 5.2 GlassfishNuxeo 5.2 Glassfish
Nuxeo 5.2 Glassfish
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 

Open Esb 20081104 V2

  • 1. What is OpenESB / GlassFishESB? December 2008 Frank Kieviet OpenESB Community Manager 1
  • 2. Agenda • What are we trying to do? (Value proposition) • How does OpenESB look like? • Basic concepts • Comparing OpenESB with other ESBs • Open Source • What is next? Slide 2
  • 3. What are we trying to do? Slide 3
  • 4. Example 1 • Download HTTP ACCESS logs over HTTP • Parse the log file • Filter the log file • Store the hits in a database Slide 4
  • 5. Example 2 ERP s y s te m • Old system: An ERP system generates purchase orders; the orders are printed p o . p s out and mailed using USPS • New system: added a web ordering application for internal use, added a financial Order Approval System and a Financial Monitoring System, and Purchase orders are now delivered electronically over the Internet using a Transaction Delivery Network application W eb ERP p ro c u re m e n t s y s te m s y s te m p o .e d i o rd e r p o .c s v .x m l TDN s y s te m po po .x m l O rd e r .x m l F in a n c ia l A p p ro v a l M o n it o r in g Slide 5 S y s te m s y s te m
  • 6. ERP s y s te m > Following an order from the ERP system p o .c s v > ERP system creates a file with a batch of orders in CSV re a d format c o n v e rt > File needs to be picked up, read and converted to a canonical p o .x m l format A p p ro v a l > The CSV file does not contain all information necessary for s y s te m the canonical format > All orders in the CSV file need to be approved by an approval p o .x m l system M o n it o r in g s y s te m > Each order needs to be sent out to the Internet Gateway c o n v e rt (TDN) in EDI format, or to a Fax gateway in PS format p o .tx t > A financial monitoring application needs to get a copy of the E m a il order N o t if y > An email needs to be sent to the submitter of the order when c o n v e rt the order goes out p o .e d i > The department that generally takes delivery of goods needs TDN to be notified of the order s y s te m Slide 6
  • 7. One possible solution • Example 1: > Write some Java code that uses the Apache FTP library to download the files > Ensure configuration is externalizable > Add error handling code (retries, avoid data loss, etc) > Write code to parse the log file > Use JPA to persist the data > Add a timer to do this task periodically • Example 2: > Similar approach for example 2 > Use libraries to interact with external systems > Use libraries to do file format conversions Slide 7
  • 8. Observations • Three aspects to both examples: > Connectivity > Message transformation > Business logic / orchestration • In Java coding solution: > Business/orchestration logic is intermingled with code to connect to systems and other low level processing code > Because of this, will take some effort for someone else to understand the application > It's hard to add swap one transport for another, or one data format for another > The biggest problem: (next slide) Slide 8
  • 9. Scaling • An enterprise has hundreds of these integration applications • Characteristics: > Each application is relatively simple > Code is repetitive > Coding is labor intensive > Applications become hard to manage > Applications become hard to maintain Slide 9
  • 10. How OpenESB helps • OpenESB provides > Off the shelf connectivity components > Off the shelf components for tough orchestration problems > Off the shelf data transformation components • OpenESB aims to > ... separate business logic from other logic > ... reduce the amount of code > ... reduce the cost to build large numbers of these applications > ... make these applications manageable • But wait, there's more! > (next slide) Slide 10
  • 11. Web services • Isn't everybody using web services? > Yes, but not today: still a lot of non-web services connectivity > Still requires data transformation and orchestration > (And in the future will bring its own integration problems) • OpenESB aims to be an SOA platform for > Service Composition: an application uses various other services to provide new functionality > Service Creation: expose functionality as a service > e.g. add a web service wrapper around legacy systems Slide 11
  • 12. What does OpenESB look like? Slide 12
  • 13. Process view • Runtime > GlassFish > JBI Runtime > Components > JBI Components: BPEL SE, XSLT SE, HTTP BC, EE SE > EE Components • Designtime > NetBeans > Plugins > BPEL editor, WSDL editor, ... • Management > ESB Console Slide 13
  • 14. Solution with OpenESB p o .x m l R e s e rv e .x m l M o n it o r in g F in a n c e s y s te m ERP s y s te m p o .c s v ERP p o .x m l a p p ro v a l p o .x m l T p o .x m l p o .e d i TDN TDN T s y s te m A p p ro v a l s y s te m p o .x m l p o .p s W eb p ro c u re m e n t Fax o rd e r W eb Fax s y s te m .x m l Q E A I a p p lic a t io n s o r in f r a s t r u c t u r e p o .x m l p o .tx t E x is tin g s y s t e m s E m a il E m a il M essages Slide 14
  • 15. Example: A business process in BPEL p o .x m l a p p ro v a l p o .x m l T B P E L p ro c e s s T A p p ro v a l s y s te m R equest E xposed s e r v ic e B P E L p ro c e s s O K T o p ic R e p ly N ot O K T o p ic Slide 15
  • 16. Example: Assembling an application in CASA ERP s y s te m p o .c s v ER P p o .x m l In -o u t m e s s a g e e x c h a n g e ; a ll o t h e r s a r e in - o n ly E R P s p e c if ic d a ta A ll th e s e m e s s a g e e x c h a n g e s a r e in - R eads and m e m o ry p a r s e s f ile C a n o n ic a l d a ta D a ta m a p p in g D a t a b a s e lo o k u p Slide 16
  • 17. Components • 43 components • Breadth significantly enhanced by partners / contributors, each bringing domain expertise to the table Slide 17
  • 18. Connectivity • HTTP, File, FTP, JMS, Email, Scheduler • Database, ETL, Data Mashup, Mural • Asterisk, Exec BC, HL7, LDAP BC, RSS BC, SIP BC, SNMP BC, TCPIP BC, UDDI BC, XMPP BC • CICS BC, CORBA BC, DCOM BC, EJB BC, IMS BC, MSMQ BC, MQSeries BC, ScreenScraping SE, SWIFT BC, SAP BC Slide 18
  • 19. Message transformation • XSLT SE • Encoding SE • Visual mapping in BPEL editor • Java based mapping (test/sample driven) Slide 19
  • 20. Orchestration / business logic • BPEL SE > Long running transactions > Asynchronous interactions (correlation) > Persistence, clustering • IEP SE (Complex Event Processing) > Event Driven Architectures • EE SE > Makes EJBs accessible from within JBI Slide 20
  • 21. • POJO SE > Use simple Java classes for business logic • Scripting SE > Use scripts for business logic • WLM SE > Human workflow • Camel SE Slide 21
  • 22. Basic concepts Slide 22
  • 23. Basics • Components > Are really containers in which parts of an application are deployed into > BC = Binding Component: proxy to service > SE = Service Engine: runs business logic > Are installed into the runtime • Service Units > Artifacts that get deployed into a component > Examples: .bpel file for a BPEL process, a WSDL for the HTTP BC • Composite application > A zip that gets deployed into the runtime > Makes up an application Slide 23
  • 24. JBI in a nutshell • JSR 208: Java for Business Integration • Provides a multi-vendor standard for > Messages sent over the bus > Component container interfaces > Management, start/stop etc • Async message exchange • Components • In-vm > Allows transaction propagation > Streaming (From David Chappell) > Passing by reference Slide 24
  • 25. Transaction propagation example Inbound BC NMR EESE Workmanager Work accept accept Begin tx send accept returns submit Work run accept tx associate tx propagated done finished accept returns done disassociate tx tx commit Slide 25
  • 26. WSDL • WSDL > Describes what messages are sent and returned > WSDL file is in XML > Message End Point + Operation • WSDL is not necessarily SOAP • WSDL can also be used for non-XML data exchanges • Abstract WSDLs describe what is exchanged • Concrete WSDLs describe how is exchanged Slide 26
  • 27. Example JBI Container BPEL SE WSDL HTTP HTTP BC WSDL BPEL process WSDL WSDL binding BPEL process NMR EE SE HTTP WSDL ejb.jar WSDL RMI application.ear = service unit; all service units together = service assembly Slide 27
  • 28. OpenESB compared with other ESBs Slide 28
  • 29. Categorization • Different ways of categorizing ESBs > Open Source versus Proprietary/closed source > Backing / project size > Open standards versus proprietary > Runtime only, or complete with design time? • OpenESB > 100% Open Source > Backed by Sun > Open standards: external and internal > JBI: gives interoperability between components from different vendors – avoids vendor lock in > Comes with strong design time tooling Slide 29
  • 30. Open Source Slide 30
  • 31. OpenESB, the community • Started in 2005 • Led by Sun Microsystems • Many other partners (5+) and contributors: > e.g. Advantech, Imola, ChainBuilder, eviware, Gestalt • A lot of engineers working on Java CAPS, a proprietary Sun product, are now working on OpenESB. > ... causing a recent surge in activity in the community • Sun is now providing commercial support on GlassFish ESB • A vibrant community Slide 31
  • 32. GlassFish ESB, Open ESB • Open ESB is the name of the open source project • GlassFish ESB is the name of a distribution built in the OpenESB community > Sun provides commercial support on this distribution > Is a subset of the components in OpenESB Slide 32
  • 33. Commercial applications • OpenESB bits are used in Java CAPS • GlassFish ESB is commercially supported • Third parties are using OpenESB as OEMs Slide 33
  • 34. • Lean more: http://open-esb.org Slide 34
  • 35. What is next? Slide 35
  • 36. Research project: Fuji • Innovation at the center of our next generation platform • Popularity of simple, productive solutions > A growing number of developers value high productivity and simplicity over all-encompassing but complex • Make existing users more productive • Capture larger audiences > Many developers do tasks that are ideally suited to our platform > ... but they don't necessarily think of it as “integration” or “SOA” Slide 36
  • 37. What does Fuji bring? • Runs on GlassFish V3 • OSGi • Maven > Simplify user interface to service artifacts > Convention, Configuration, Code ... (In that order) • New way of specifying interactions between components: Integration Flow Language > Editable text > Browser based visual editor • Enterprise Integration Patterns out-of-the-box • Interceptors • New way of distribution over multiple machines Slide 37
  • 38. Example ... can be described in a text file as: (next slide) Slide 38
  • 40. Service Composition in a Browser Slide 40