SlideShare a Scribd company logo
1 of 37
Download to read offline
Enterprise Service Bus (ESB) and SOA


              Paul Fremantle
             paul@wso2.com
        CTO and Co-Founder, WSO2
           VP, Apache Synapse
SOA – Enterprise Expectations
Standards




         • A set of extensible and composable standards that work together
         • Providing a common, standard, interoperable base to implement
                                       SOA


  SOA & SOAP                 Core Axis: WS with Apache Axis2             3
                                      © WSO2 Inc. 2006
A Sample SOAP Message


<soap:Envelope
  xmlns:soap="http://schemas.xmlsoap.org/soap/envel
  ope/">
 <soap:Header/>
 <soap:Body>
  <getProductDetails
     xmlns="http://warehouse.example.com/ws">
     <productID>827635</productID>
  </getProductDetails>
  </soap:Body>
</soap:Envelope>



 SOA & SOAP         Core Axis: WS with Apache Axis2   4
                             © WSO2 Inc. 2006
Key SOA Standards

Orchestration                     Business Process Execution Language (BPEL)‫‏‬

                SECURE                         RELIABLE                   TRANSACTIONAL




                                                                                                            WS-Policy
                WS-Security                    WS-ReliableMessaging       WS-AtomicTransaction
  Composable




                                                                                                                        WS-MetadataExchange
                     (encrypt, sign, auth)‫‏‬    (ExactlyOnce,              (2 Phase Commit ~XA)‫‏‬
  Quality       WS-SecureConversation          InOrder delivery, ~JMS)‫‏‬
  of                 (~SSL)‫‏‬                                              WS-BusinessActivity
                WS-Trust                                                  (Long running loosely coupled)‫‏‬
  Service
                XACML


                                                  WS-Addressing
   Messaging




                                                                                                            WSDL
                                                         SOAP

   Transport                                  HTTP, TCP, SMTP, UDP
                                                     Wire interaction                                       Metadata

    The Web services platform forms a complete framework for open
    standards enterprise middleware

  SOA & SOAP                              Core Axis: WS with Apache Axis2                                                              5
                                                     © WSO2 Inc. 2006
Other key approaches for SOA

• JMS
  – MQSeries, Tibco, Sonic
  – ActiveMQ, AMQP, Apache QPid
  – Loosely coupled, asynchronous reliable message passing
• REST
  –   A style of using HTTP
  –   Representational State Transfer
  –   Most HTTP applications are NOT “RESTful”
  –   Key characteristics of a RESTful app:
       • Use HTTP Verbs properly
       • Use mime-types properly
       • Use linking everywhere
       • Permanent URLs
Bus concept
Busbar
A common ESB definition

 “Any to any data connectivity and transformation
   (including Web Services) built on an advanced,
   proven, reliable middleware infrastructure”
ESB definition

 “Any to any data connectivity and transformation
   (including Web Services) built on an advanced,
   proven, reliable middleware infrastructure”
 which means
 • Our existing middleware re-branded as an SOA
   platform, with some new web services adapters at
   the edges
Jason Bloomberg, Zapthink

  “You're a software vendor with a product line chock full
  of proprietary, tightly-coupled integration middleware…
  Your software, however, does not lend itself to SOA best
  practices – loose coupling, composable Services, and
  flexibility in general are all capabilities that you failed to
  build             into            your             software…
  What to do? The only option is to slap Web Services
  interfaces on your stuff, call it an Enterprise Service Bus
  (ESB), and sell it as SOA middleware. Hopefully your
  customers won't notice the old wine in new bottles.
  After all, that's what marketing is for!”
My definition of an ESB

“What does it do?” not “How does it do it?”
• Services are independent of the transport and protocol
  used to access them
• Monitors and manages services with minimal intrusion
• Transforms and mediates messages
• Bridges between different message exchange patterns
• Helps implement service governance
• Provides a common backbone to the SOA
Do you need an ESB to do SOA?
Do you need an ESB to do SOA?
SOA can end up as spaghetti




  • Too many point-to-point links
  • Multiple protocols, different qualities of service
  • No clear picture of all available services
An ESB can simplify SOA deployment




                                     Virtualization
                                     Perf Mgmt
                                     •Load balance
                                     •Throttle
                                     Transport
                                      matching
                                     Access control
                                     Message
                                       transform
                                     Logging and
                                      auditability



                                                      Integrated
                                                       Registry/
                                                      Repository
                      Web-based console
ESB Patterns and Anti-Patterns

• How are ESBs used effectively
• How are they abused
   – High-level patterns
      • How the ESB fits into an organization
      • How the ESB fits into an Enterprise Architecture
   – Low-level patterns
      • How the ESB fits into a specific message flow or business problem
The Concentrator Pattern


                        Mashup/Web Application
                             Dashboard



                           Concentrator ESB
         Consistent access, security, logging, audit, monitoring
                        But no transformation



    .NET           CRM            Apache
                                                   C/C++            Data
   service        service          Axis2
                                                  service          service
                                  service
The Federated ESB pattern

                                          Department
                                             ESB


                    Enterprise ESB
                    Routing, Audit
     Department
        ESB


                                     Department
                                        ESB
The mini-ESB pattern

•   Use a lightweight ESB
•   Co-locate on the same hardware/VM as the service
•   Transformation, polling, protocol translation, etc
•   Why?
    – In the control of the team who own the services
    – Keeps the SOA model (ownership) with a simple effective
      approach to exposing services

• What about the embedded ESB model?
    – e.g. embed transformation and logging into your Service
      Hosting platform
Active vs Passive

• The concentrator pattern is effectively passive
   – The ESB reacts to messages/requests from the front-end
• Active ESBs:
   – Poll file systems/FTP/SFTP for updated work
   – Actively call remote services based on timers
   – Integrate passive services
Scenario – Financial Security blocking




   Existing
   System
                                              XML/JMS



    legacy
    flat file                                           Existing
                                                        System
                               WSO2 ESB
                              Split/Iterate
                            DBLookup/Filter
                            Transform to MQ
                                  Send




   WSO2 ESB                    Database
     Poll
 Record->XML
  XML->XML
     Send
 NEW YORK                   LONDON
Push-Me Pull-You
Push-me Pull-you
Anti-Patterns

• Anti-Pattern #1
   – Implement all your business logic in the ESB
   – Why not?
      • Mixing Infrastructure logic and Business Logic
      • Maintainability
      • Tooling and Skills
• Anti-Pattern #2
   – Apply waterfall and application deployment approaches to
     the ESB
      • Long project cycles
      • No iterative approach
   – Why not?
      • Lose all flexibility and agility
      • Once the ESB becomes a static, code-driven system then you would
        be better off updating your applications
Anti-Pattern #3

• “Big Brother”
   – The ESB is hosted, managed and controlled by a central IT
     team
   – Because of organizational issues using the ESB is complex:
      • e.g.
          – It takes months of meetings to get access
          – The Central IT team is trying to recoup the investment and internally
            charges $000/year to use the ESB
          – The central IT deployment model holds up users
   – Departments and divisions actually sneak behind the ESB
      • Set up peer-to-peer communications
      • Avoid the ESB at all costs
The biggest Anti-Pattern of all

• Use an ESB because:
   – You heard it was a good idea
   – The salesman told you that you need one (over a nice
     dinner)
   – You need a new TLA on your resume/CV
   – Its an excuse to spend several months learning and going to
     conferences
ESB Market

• Proprietary
  – IBM WebSphere
  – Oracle/BEA
  – Tibco
• Open Source
  – Fuse/ServiceMix
  – MuleSource/Mule
  – WSO2 ESB/Synapse
Core model of the ESB

• Two main approaches
  – “Proxy” approach
     • Messages come into a proxy
        – Proxy = { inSequence, targetEndpoint, outSequence, faultSequence}
        – Sequence = { ordered list of mediators }
        – Mediator = Unit of function


  – Rule/Policy based approach
     • All messages come to a central sequence
        – Sequence categorizes and routes requests based on the message
     • Known in Synapse as the “main” sequence
Sequence concept
Built-in Mediators

   – Drop (end)                     –   Property
   – Sequence (call another         –   Header
     sequence)                      –   Validate
   – Clone                          –   DBReport
   – Callout (call a WS)            –   DBLookup
   – Filter (if-then-else)          –   Class mediator
   – Switch                         –   Command Mediator
   – Iterate                        –   Script
   – Aggregate                      –   Spring
   – Send                           –   Throttle
   – Router                         –   Cache
   – Smooks (transform library)     –   XSLT
   – Rule (use a Rules engine)      –   XQuery
   – Entitlement (validate access
     against a XACML server)
Understanding performance

• Performance of an ESB can be critical
• Key Measurements are
  – Throughput (can the ESB cope with the required load)
  – Latency (does the ESB add unacceptable time)
  – Concurrency (does the ESB run out of threads)

• Two key technologies
  – Streaming and Streaming XML
     • Ability to operate in constant memory and handle XML without
       building a full tree
  – Non-blocking IO
     • Ability to manage large numbers of connections with constant
       thread pool
Case Study

• Mobile phone ringtone/media provider
• Every request goes via the ESB
  – Performance and Streaming are critical
  – Streaming and non-blocking are key
• Continuous Availability
  – Ability to upgrade the system live
  – Without losing transactions
  – Under load
Governance and ESBs

• Governance is a key issue for SOA
• Governance is fundamentally about ensuring standards
  around Enterprise IT
  – Policies
  – People
  – Processes
• ESBs can be very important for this
  – Policy Enforcement Point
  – Monitoring Point
  – Central Access Point for enterprise services
Summary

• We have
  –   Identified how ESBs fit into a Service Oriented Architecture
  –   Discussed when to use an ESB and when not to
  –   Looked at ESB patterns and anti-patterns
  –   Covered some simple ESB approaches
  –   Investigated how ESBs can fit into EDA
Questions

More Related Content

What's hot

WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2
 
What is Integration? What is webMethods? What is ESB | Middleware
What is Integration? What is webMethods? What is ESB | MiddlewareWhat is Integration? What is webMethods? What is ESB | Middleware
What is Integration? What is webMethods? What is ESB | MiddlewareArul ChristhuRaj Alphonse
 
Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!Software AG
 
itlchn 20 - Kien truc he thong chung khoan - Phan 1
itlchn 20 - Kien truc he thong chung khoan - Phan 1itlchn 20 - Kien truc he thong chung khoan - Phan 1
itlchn 20 - Kien truc he thong chung khoan - Phan 1IT Expert Club
 
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyEvent Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyBob Rhubart
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Rajesh Kumar
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)WSO2
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureBob Rhubart
 
Data Driven Advanced Analytics using Denodo Platform on AWS
Data Driven Advanced Analytics using Denodo Platform on AWSData Driven Advanced Analytics using Denodo Platform on AWS
Data Driven Advanced Analytics using Denodo Platform on AWSDenodo
 
ArchiMate application and data architecture layer - Simplify the models
ArchiMate application and data architecture layer - Simplify the modelsArchiMate application and data architecture layer - Simplify the models
ArchiMate application and data architecture layer - Simplify the modelsCOMPETENSIS
 
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new FeaturesMigrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new FeaturesWSO2
 
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Guido Schmutz
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQAraf Karsh Hamid
 
Introduction to Telecom O/BSS
Introduction to Telecom O/BSSIntroduction to Telecom O/BSS
Introduction to Telecom O/BSSAshutosh Tripathy
 

What's hot (20)

WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101
 
What is Integration? What is webMethods? What is ESB | Middleware
What is Integration? What is webMethods? What is ESB | MiddlewareWhat is Integration? What is webMethods? What is ESB | Middleware
What is Integration? What is webMethods? What is ESB | Middleware
 
Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!
 
Open Digital Framework from TMFORUM
Open Digital Framework from TMFORUMOpen Digital Framework from TMFORUM
Open Digital Framework from TMFORUM
 
Oracle soa suite 12c
Oracle soa suite 12cOracle soa suite 12c
Oracle soa suite 12c
 
Ict startegy and architecture
Ict startegy and architecture Ict startegy and architecture
Ict startegy and architecture
 
itlchn 20 - Kien truc he thong chung khoan - Phan 1
itlchn 20 - Kien truc he thong chung khoan - Phan 1itlchn 20 - Kien truc he thong chung khoan - Phan 1
itlchn 20 - Kien truc he thong chung khoan - Phan 1
 
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu KrishnaswamyEvent Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
Event Driven Architecture (EDA) Reference Architecture | Anbu Krishnaswamy
 
Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture Azure data analytics platform - A reference architecture
Azure data analytics platform - A reference architecture
 
Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)Event-Driven Architecture (EDA)
Event-Driven Architecture (EDA)
 
Different SoftwareAG webMethods components
Different SoftwareAG webMethods componentsDifferent SoftwareAG webMethods components
Different SoftwareAG webMethods components
 
Oracle Cloud Reference Architecture
Oracle Cloud Reference ArchitectureOracle Cloud Reference Architecture
Oracle Cloud Reference Architecture
 
Lakehouse in Azure
Lakehouse in AzureLakehouse in Azure
Lakehouse in Azure
 
Data Driven Advanced Analytics using Denodo Platform on AWS
Data Driven Advanced Analytics using Denodo Platform on AWSData Driven Advanced Analytics using Denodo Platform on AWS
Data Driven Advanced Analytics using Denodo Platform on AWS
 
ArchiMate application and data architecture layer - Simplify the models
ArchiMate application and data architecture layer - Simplify the modelsArchiMate application and data architecture layer - Simplify the models
ArchiMate application and data architecture layer - Simplify the models
 
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new FeaturesMigrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
Migrate to the Latest WSO2 Micro Integrator to Unlock All-new Features
 
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
Oracle SOA Suite 11g Mediator vs. Oracle Service Bus (OSB)
 
Event Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQEvent Sourcing & CQRS, Kafka, Rabbit MQ
Event Sourcing & CQRS, Kafka, Rabbit MQ
 
Introduction to Telecom O/BSS
Introduction to Telecom O/BSSIntroduction to Telecom O/BSS
Introduction to Telecom O/BSS
 
Tour of Dapr
Tour of DaprTour of Dapr
Tour of Dapr
 

Viewers also liked

Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)prksh89
 
Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)VTR Ravi Kumar
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusFolio3 Software
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusMahmoud Ezzat
 
Capgemini Offre Data Services - Brochure FR
Capgemini Offre Data Services - Brochure FRCapgemini Offre Data Services - Brochure FR
Capgemini Offre Data Services - Brochure FRSkander Guetari
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service BusHamed Hatami
 
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...IIBA_Latvia_Chapter
 
Service Oriented Enterprise Architecture
Service Oriented Enterprise ArchitectureService Oriented Enterprise Architecture
Service Oriented Enterprise ArchitectureYan Zhao
 
Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESBWSO2
 
SOA in banking issues and remedies
SOA in banking   issues and remediesSOA in banking   issues and remedies
SOA in banking issues and remediesDebajani Mohanty
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationKasun Indrasiri
 
SOA in Financial Services
SOA in Financial ServicesSOA in Financial Services
SOA in Financial ServicesMike Walker
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentationerichleipold
 
Getting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationGetting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationFigaf.com
 

Viewers also liked (20)

ESB Overview
ESB OverviewESB Overview
ESB Overview
 
ESB What it is?
ESB What it is?ESB What it is?
ESB What it is?
 
Enterprise service bus(esb)
Enterprise service bus(esb)Enterprise service bus(esb)
Enterprise service bus(esb)
 
Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)Why Enterprise Service Bus (ESB)
Why Enterprise Service Bus (ESB)
 
ESB Concepts
ESB ConceptsESB Concepts
ESB Concepts
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 
Capgemini Offre Data Services - Brochure FR
Capgemini Offre Data Services - Brochure FRCapgemini Offre Data Services - Brochure FR
Capgemini Offre Data Services - Brochure FR
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
'A View-Based Approach to Quality of Service Modelling in Service-Oriented En...
 
Service Oriented Enterprise Architecture
Service Oriented Enterprise ArchitectureService Oriented Enterprise Architecture
Service Oriented Enterprise Architecture
 
ESB
ESBESB
ESB
 
Security Patterns with WSO2 ESB
Security Patterns with WSO2 ESBSecurity Patterns with WSO2 ESB
Security Patterns with WSO2 ESB
 
SOA in banking issues and remedies
SOA in banking   issues and remediesSOA in banking   issues and remedies
SOA in banking issues and remedies
 
Sessie 17 gamification
Sessie 17 gamificationSessie 17 gamification
Sessie 17 gamification
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
 
SOA in Financial Services
SOA in Financial ServicesSOA in Financial Services
SOA in Financial Services
 
SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
 
Getting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentationGetting started with SAP PI/PO an overview presentation
Getting started with SAP PI/PO an overview presentation
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
 

Similar to ESB and SOA

WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOAWSO2
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb ImplementationMurali Manohar
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugWSO2
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session WSO2
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slidesWSO2
 
Ss Esb
Ss EsbSs Esb
Ss EsbWSO2
 
Ss Esb
Ss EsbSs Esb
Ss EsbWSO2
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusIMC Institute
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB WSO2
 
Enterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxEnterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxcirek63365
 
Mule esb demo
Mule esb demoMule esb demo
Mule esb democibij
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service busUpul Doluweera
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solutionSwati Bansal
 
Esb buyers guide_final
Esb buyers guide_finalEsb buyers guide_final
Esb buyers guide_finalWSO2
 
A Buyers Guide to an Enterprise Service Bus (ESB)
A Buyers Guide to an Enterprise Service Bus (ESB)A Buyers Guide to an Enterprise Service Bus (ESB)
A Buyers Guide to an Enterprise Service Bus (ESB)WSO2
 
The Intricacies Of Enterprise Integration Soa Vs Esb
The Intricacies Of Enterprise Integration   Soa Vs EsbThe Intricacies Of Enterprise Integration   Soa Vs Esb
The Intricacies Of Enterprise Integration Soa Vs Esbrsnarayanan
 
Do We Need Esb Any More
Do We Need Esb Any MoreDo We Need Esb Any More
Do We Need Esb Any Morekaraznie
 

Similar to ESB and SOA (20)

WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb Implementation
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 Aug
 
SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session SOA Summer School: Best of SOA Summer School – Encore Session
SOA Summer School: Best of SOA Summer School – Encore Session
 
Webbinar slides
Webbinar slidesWebbinar slides
Webbinar slides
 
Ss Esb
Ss EsbSs Esb
Ss Esb
 
Ss Esb
Ss EsbSs Esb
Ss Esb
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
 
Enterprise Service Bus and JBI
Enterprise Service Bus and JBIEnterprise Service Bus and JBI
Enterprise Service Bus and JBI
 
Enterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxEnterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docx
 
Mule esb demo
Mule esb demoMule esb demo
Mule esb demo
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service bus
 
ESB and Mule ESB solution
ESB and Mule ESB solutionESB and Mule ESB solution
ESB and Mule ESB solution
 
Esb buyers guide_final
Esb buyers guide_finalEsb buyers guide_final
Esb buyers guide_final
 
A Buyers Guide to an Enterprise Service Bus (ESB)
A Buyers Guide to an Enterprise Service Bus (ESB)A Buyers Guide to an Enterprise Service Bus (ESB)
A Buyers Guide to an Enterprise Service Bus (ESB)
 
The Intricacies Of Enterprise Integration Soa Vs Esb
The Intricacies Of Enterprise Integration   Soa Vs EsbThe Intricacies Of Enterprise Integration   Soa Vs Esb
The Intricacies Of Enterprise Integration Soa Vs Esb
 
Do We Need Esb Any More
Do We Need Esb Any MoreDo We Need Esb Any More
Do We Need Esb Any More
 

More from WSO2

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in ChoreoWSO2
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023WSO2
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzureWSO2
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfWSO2
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in MinutesWSO2
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityWSO2
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...WSO2
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfWSO2
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoWSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsWSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital BusinessesWSO2
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)WSO2
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformationWSO2
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesWSO2
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready BankWSO2
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIsWSO2
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native DeploymentWSO2
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”WSO2
 

More from WSO2 (20)

Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
[API Word 2021] - Quantum Duality of “API as a Business and a Technology”
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

ESB and SOA

  • 1. Enterprise Service Bus (ESB) and SOA Paul Fremantle paul@wso2.com CTO and Co-Founder, WSO2 VP, Apache Synapse
  • 2. SOA – Enterprise Expectations
  • 3. Standards • A set of extensible and composable standards that work together • Providing a common, standard, interoperable base to implement SOA SOA & SOAP Core Axis: WS with Apache Axis2 3 © WSO2 Inc. 2006
  • 4. A Sample SOAP Message <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envel ope/"> <soap:Header/> <soap:Body> <getProductDetails xmlns="http://warehouse.example.com/ws"> <productID>827635</productID> </getProductDetails> </soap:Body> </soap:Envelope> SOA & SOAP Core Axis: WS with Apache Axis2 4 © WSO2 Inc. 2006
  • 5. Key SOA Standards Orchestration Business Process Execution Language (BPEL)‫‏‬ SECURE RELIABLE TRANSACTIONAL WS-Policy WS-Security WS-ReliableMessaging WS-AtomicTransaction Composable WS-MetadataExchange (encrypt, sign, auth)‫‏‬ (ExactlyOnce, (2 Phase Commit ~XA)‫‏‬ Quality WS-SecureConversation InOrder delivery, ~JMS)‫‏‬ of (~SSL)‫‏‬ WS-BusinessActivity WS-Trust (Long running loosely coupled)‫‏‬ Service XACML WS-Addressing Messaging WSDL SOAP Transport HTTP, TCP, SMTP, UDP Wire interaction Metadata The Web services platform forms a complete framework for open standards enterprise middleware SOA & SOAP Core Axis: WS with Apache Axis2 5 © WSO2 Inc. 2006
  • 6. Other key approaches for SOA • JMS – MQSeries, Tibco, Sonic – ActiveMQ, AMQP, Apache QPid – Loosely coupled, asynchronous reliable message passing • REST – A style of using HTTP – Representational State Transfer – Most HTTP applications are NOT “RESTful” – Key characteristics of a RESTful app: • Use HTTP Verbs properly • Use mime-types properly • Use linking everywhere • Permanent URLs
  • 9. A common ESB definition “Any to any data connectivity and transformation (including Web Services) built on an advanced, proven, reliable middleware infrastructure”
  • 10. ESB definition “Any to any data connectivity and transformation (including Web Services) built on an advanced, proven, reliable middleware infrastructure” which means • Our existing middleware re-branded as an SOA platform, with some new web services adapters at the edges
  • 11. Jason Bloomberg, Zapthink “You're a software vendor with a product line chock full of proprietary, tightly-coupled integration middleware… Your software, however, does not lend itself to SOA best practices – loose coupling, composable Services, and flexibility in general are all capabilities that you failed to build into your software… What to do? The only option is to slap Web Services interfaces on your stuff, call it an Enterprise Service Bus (ESB), and sell it as SOA middleware. Hopefully your customers won't notice the old wine in new bottles. After all, that's what marketing is for!”
  • 12. My definition of an ESB “What does it do?” not “How does it do it?” • Services are independent of the transport and protocol used to access them • Monitors and manages services with minimal intrusion • Transforms and mediates messages • Bridges between different message exchange patterns • Helps implement service governance • Provides a common backbone to the SOA
  • 13. Do you need an ESB to do SOA?
  • 14. Do you need an ESB to do SOA?
  • 15. SOA can end up as spaghetti • Too many point-to-point links • Multiple protocols, different qualities of service • No clear picture of all available services
  • 16. An ESB can simplify SOA deployment Virtualization Perf Mgmt •Load balance •Throttle Transport matching Access control Message transform Logging and auditability Integrated Registry/ Repository Web-based console
  • 17. ESB Patterns and Anti-Patterns • How are ESBs used effectively • How are they abused – High-level patterns • How the ESB fits into an organization • How the ESB fits into an Enterprise Architecture – Low-level patterns • How the ESB fits into a specific message flow or business problem
  • 18. The Concentrator Pattern Mashup/Web Application Dashboard Concentrator ESB Consistent access, security, logging, audit, monitoring But no transformation .NET CRM Apache C/C++ Data service service Axis2 service service service
  • 19. The Federated ESB pattern Department ESB Enterprise ESB Routing, Audit Department ESB Department ESB
  • 20. The mini-ESB pattern • Use a lightweight ESB • Co-locate on the same hardware/VM as the service • Transformation, polling, protocol translation, etc • Why? – In the control of the team who own the services – Keeps the SOA model (ownership) with a simple effective approach to exposing services • What about the embedded ESB model? – e.g. embed transformation and logging into your Service Hosting platform
  • 21. Active vs Passive • The concentrator pattern is effectively passive – The ESB reacts to messages/requests from the front-end • Active ESBs: – Poll file systems/FTP/SFTP for updated work – Actively call remote services based on timers – Integrate passive services
  • 22. Scenario – Financial Security blocking Existing System XML/JMS legacy flat file Existing System WSO2 ESB Split/Iterate DBLookup/Filter Transform to MQ Send WSO2 ESB Database Poll Record->XML XML->XML Send NEW YORK LONDON
  • 25. Anti-Patterns • Anti-Pattern #1 – Implement all your business logic in the ESB – Why not? • Mixing Infrastructure logic and Business Logic • Maintainability • Tooling and Skills • Anti-Pattern #2 – Apply waterfall and application deployment approaches to the ESB • Long project cycles • No iterative approach – Why not? • Lose all flexibility and agility • Once the ESB becomes a static, code-driven system then you would be better off updating your applications
  • 26. Anti-Pattern #3 • “Big Brother” – The ESB is hosted, managed and controlled by a central IT team – Because of organizational issues using the ESB is complex: • e.g. – It takes months of meetings to get access – The Central IT team is trying to recoup the investment and internally charges $000/year to use the ESB – The central IT deployment model holds up users – Departments and divisions actually sneak behind the ESB • Set up peer-to-peer communications • Avoid the ESB at all costs
  • 27. The biggest Anti-Pattern of all • Use an ESB because: – You heard it was a good idea – The salesman told you that you need one (over a nice dinner) – You need a new TLA on your resume/CV – Its an excuse to spend several months learning and going to conferences
  • 28. ESB Market • Proprietary – IBM WebSphere – Oracle/BEA – Tibco • Open Source – Fuse/ServiceMix – MuleSource/Mule – WSO2 ESB/Synapse
  • 29.
  • 30. Core model of the ESB • Two main approaches – “Proxy” approach • Messages come into a proxy – Proxy = { inSequence, targetEndpoint, outSequence, faultSequence} – Sequence = { ordered list of mediators } – Mediator = Unit of function – Rule/Policy based approach • All messages come to a central sequence – Sequence categorizes and routes requests based on the message • Known in Synapse as the “main” sequence
  • 32. Built-in Mediators – Drop (end) – Property – Sequence (call another – Header sequence) – Validate – Clone – DBReport – Callout (call a WS) – DBLookup – Filter (if-then-else) – Class mediator – Switch – Command Mediator – Iterate – Script – Aggregate – Spring – Send – Throttle – Router – Cache – Smooks (transform library) – XSLT – Rule (use a Rules engine) – XQuery – Entitlement (validate access against a XACML server)
  • 33. Understanding performance • Performance of an ESB can be critical • Key Measurements are – Throughput (can the ESB cope with the required load) – Latency (does the ESB add unacceptable time) – Concurrency (does the ESB run out of threads) • Two key technologies – Streaming and Streaming XML • Ability to operate in constant memory and handle XML without building a full tree – Non-blocking IO • Ability to manage large numbers of connections with constant thread pool
  • 34. Case Study • Mobile phone ringtone/media provider • Every request goes via the ESB – Performance and Streaming are critical – Streaming and non-blocking are key • Continuous Availability – Ability to upgrade the system live – Without losing transactions – Under load
  • 35. Governance and ESBs • Governance is a key issue for SOA • Governance is fundamentally about ensuring standards around Enterprise IT – Policies – People – Processes • ESBs can be very important for this – Policy Enforcement Point – Monitoring Point – Central Access Point for enterprise services
  • 36. Summary • We have – Identified how ESBs fit into a Service Oriented Architecture – Discussed when to use an ESB and when not to – Looked at ESB patterns and anti-patterns – Covered some simple ESB approaches – Investigated how ESBs can fit into EDA