SlideShare a Scribd company logo
ESBs and SOA Paul Fremantle [email_address] CTO and Co-Founder, WSO2 VP, Apache Synapse
Service Oriented Architecture SOA is the  best practice  for building distributed interconnected systems Using well-defined interactions between systems Moving from proprietary formats to open formats: XML, HTTP, SOAP Integration is dependent on external  interfaces  not on internal  code
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
Loose Coupling Location and Access Scale up, failover, contingency Programming Language Work with available skills Integrate old and new Stack/Vendor No tie in to a particular proprietary solution Time Asynchronous interactions avoid gridlock
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 Integrated Registry/ Repository Virtualization Perf Mgmt Load balance Throttle Transport  matching Access control Message  transform Logging and  auditability Web-based console
Pragmatic SOA scenarios SOA has been seeded “bottom-up” within a company, and now looking for a way to add order and consistency Looking to expose existing backend systems as services in a consistent way Need to provide scale-up and performance management for SOAP and HTTP systems including load-balancing and throttling Starting to expose services to partners and require a solution to managing access control, security keys and auditability Integrating Java and .NET systems with other stacks, need a simple independent way to manage WS-Security, Reliable Messaging
Apply those rules to an ESB Location and Access Must provide virtualization, multiple protocol support, transparency Programming Language Minimal tie to any one programming language Focus on dynamic languages and XML-centric approaches such as XPath, XQuery and XSLT Stack/Vendor Interoperability, works with clients and services from many systems No requirement to have a proprietary system everywhere Time Asynchronous, non-blocking, scalable
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 .NET  service CRM service Apache Axis2  service C/C++ service Concentrator ESB Consistent access, security, logging, audit, monitoring But no transformation Data  service Mashup/Web Application Dashboard
The Federated ESB pattern Enterprise ESB Routing, Audit Department ESB 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 Database legacy flat file NEW YORK Existing System WSO2 ESB Poll Record->XML XML->XML Send LONDON WSO2 ESB Split/Iterate DBLookup/Filter Transform to MQ Send Existing System XML/JMS
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
What about JBI? JBI is the JCP/Sun sponsored standard for ESBs Allows a standard deployment and also standard adapters Can be seen as a follow-on to JCA JBI has had little market success Failed to bring true portability Based on a very code-centric deployment model inherited from J2EE JBI v2 was destined to fix those problems but has gone quiet Oracle/Sun acquisition has also thrown doubt on JBI
Openness Since the only standard for portability is flawed, I  highly recommend: Using an Open Source ESB Avoid lock-in and proprietary approach Using open network protocols E.g. SOAP, HTTP, XMPP, AMQP Avoid lock-in to MQSeries or Tibco Use as many standards based approaches as possible XSLT, XQuery, E4X/JavaScript, SOAP Headers, WS-Security, WS-RM, etc
OSGi and ESBs OSGi is a pluggability and component model for Java Proven to be effective as the component approach for Eclipse Gaining strong traction with middleware vendors BEA/Oracle IBM SpringSource WSO2 Both ServiceMix and WSO2 ESB have strong OSGi basis ServiceMix Kernel  WSO2 Carbon OSGi framework OSGi looks like a much stronger approach than JBI for plugging components into middleware runtimes
Understanding an ESB I’m an expert on the WSO2 ESB and Apache Synapse Both share the same core engine and model Scenario walkthrough Similar approaches will work with other Open Source ESBs
 
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) Sequence (call another sequence) Clone  Callout (call a WS) Filter (if-then-else) Switch Iterate Aggregate Send Router Smooks (transform library) Rule (use a Rules engine) Entitlement (validate access against a XACML server) Property Header Validate DBReport DBLookup Class mediator Command Mediator Script Spring Throttle Cache XSLT XQuery
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
Event Driven Architecture Event Architecture takes the SOA one step further towards loose-coupling than the previous patterns: Its up to you to publish to the right place Its up to you to subscribe to the right events You own the wiring too Allows for situational integration In the previous patterns the wiring was encoded into the ESB
Eventing in Synapse Synapse Proxy Event Source Event Publisher Subs Mgr Subscriber Publisher Subscriber Subscriber subscribe Mediation Sequence
Event Driven Architecture with a Master Data Pattern
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
Resources Reclaiming the ESB http://wso2.org/library/2913 Open Source SOA (book) by Jeff Davis http://www.manning.com/davis/   http://en.wikipedia.org/wiki/Enterprise_service_bus   Apache Synapse http://synapse.apache.org WSO2 ESB http://wso2.org/esb

More Related Content

What's hot

[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
WSO2
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
WSO2
 
Wso2 esb
Wso2 esbWso2 esb
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
Kasun Indrasiri
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
Kim Clark
 
Cloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceedCloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceed
Sam Vanhoutte
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is important
WSO2
 
[WSO2Con EU 2017] Creating Composite Services Using Ballerina
[WSO2Con EU 2017] Creating Composite Services Using Ballerina[WSO2Con EU 2017] Creating Composite Services Using Ballerina
[WSO2Con EU 2017] Creating Composite Services Using Ballerina
WSO2
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
WSO2
 
From SOA to MSA
From SOA to MSAFrom SOA to MSA
From SOA to MSA
William Yang
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in Action
WSO2
 
ESB Evaluation Framework
ESB Evaluation Framework ESB Evaluation Framework
ESB Evaluation Framework
WSO2
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
WSO2
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
WSO2
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a Service
Paul Fremantle
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
Eberhard Wolff
 
Building Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and CloudBuilding Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and Cloud
WSO2
 
01. mulesoft basics
01. mulesoft basics01. mulesoft basics
01. mulesoft basics
venkata20k
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
Kasun Indrasiri
 
Hosting rails apps
Hosting rails appsHosting rails apps
Hosting rails apps
Pravin Mishra
 

What's hot (20)

[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
 
Wso2 esb
Wso2 esbWso2 esb
Wso2 esb
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
 
Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...Microservices: Where do they fit within a rapidly evolving integration archit...
Microservices: Where do they fit within a rapidly evolving integration archit...
 
Cloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceedCloud integration patterns for it pros - itprceed
Cloud integration patterns for it pros - itprceed
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is important
 
[WSO2Con EU 2017] Creating Composite Services Using Ballerina
[WSO2Con EU 2017] Creating Composite Services Using Ballerina[WSO2Con EU 2017] Creating Composite Services Using Ballerina
[WSO2Con EU 2017] Creating Composite Services Using Ballerina
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
 
From SOA to MSA
From SOA to MSAFrom SOA to MSA
From SOA to MSA
 
WSO2 in Action
WSO2 in ActionWSO2 in Action
WSO2 in Action
 
ESB Evaluation Framework
ESB Evaluation Framework ESB Evaluation Framework
ESB Evaluation Framework
 
WSO2 ESB Integration with REST
WSO2 ESB Integration with RESTWSO2 ESB Integration with REST
WSO2 ESB Integration with REST
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
 
Understanding Platform as a Service
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a Service
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 
Building Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and CloudBuilding Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and Cloud
 
01. mulesoft basics
01. mulesoft basics01. mulesoft basics
01. mulesoft basics
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
Hosting rails apps
Hosting rails appsHosting rails apps
Hosting rails apps
 

Similar to Ss Esb

SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
erichleipold
 
Layer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and ComplexityLayer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and Complexity
CA API Management
 
Choosing The Right ESB
Choosing The Right ESBChoosing The Right ESB
Choosing The Right ESB
Mohammed Fazuluddin
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service bus
Upul Doluweera
 
Spring Integration
Spring IntegrationSpring Integration
Spring Integration
Srinivas Kumar R
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
WSO2
 
Sca
ScaSca
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
WSO2
 
Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...
Tamim Khan
 
Carbon Webinar
Carbon WebinarCarbon Webinar
Carbon Webinar
WSO2
 
Ss Wrap Up Session 13 Aug
Ss Wrap Up Session 13 AugSs Wrap Up Session 13 Aug
Ss Wrap Up Session 13 Aug
WSO2
 
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
 
WebServices and Workflow technologies
WebServices and Workflow technologiesWebServices and Workflow technologies
WebServices and Workflow technologies
Nitin Pande
 
Presentation
PresentationPresentation
Presentation
javeed_mhd
 
Presentation
PresentationPresentation
Presentation
Mohammed625
 
Mule ESB
Mule ESBMule ESB
Mule ESB
Rajkattamuri
 
Real world integration using mule
Real world integration using muleReal world integration using mule
Real world integration using mule
Manav Prasad
 
Soa session 1 part 1(2)
Soa session 1 part 1(2)Soa session 1 part 1(2)
Soa session 1 part 1(2)
Shilpi Jain
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRL
Jorgen Thelin
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb Implementation
Murali Manohar
 

Similar to Ss Esb (20)

SOA & ESB Presentation
SOA & ESB PresentationSOA & ESB Presentation
SOA & ESB Presentation
 
Layer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and ComplexityLayer 7: Getting Your SOA to Production Without Cost and Complexity
Layer 7: Getting Your SOA to Production Without Cost and Complexity
 
Choosing The Right ESB
Choosing The Right ESBChoosing The Right ESB
Choosing The Right ESB
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service bus
 
Spring Integration
Spring IntegrationSpring Integration
Spring Integration
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
Sca
ScaSca
Sca
 
WSO2 ESB and SOA
WSO2 ESB and SOAWSO2 ESB and SOA
WSO2 ESB and SOA
 
Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...Getting started with Enterprise Application Integration (EAI) using Enterpris...
Getting started with Enterprise Application Integration (EAI) using Enterpris...
 
Carbon Webinar
Carbon WebinarCarbon Webinar
Carbon Webinar
 
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
 
WebServices and Workflow technologies
WebServices and Workflow technologiesWebServices and Workflow technologies
WebServices and Workflow technologies
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Real world integration using mule
Real world integration using muleReal world integration using mule
Real world integration using mule
 
Soa session 1 part 1(2)
Soa session 1 part 1(2)Soa session 1 part 1(2)
Soa session 1 part 1(2)
 
The New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRLThe New Enterprise Alphabet - .Net, XML And XBRL
The New Enterprise Alphabet - .Net, XML And XBRL
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb Implementation
 

More from WSO2

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
WSO2
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
WSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
WSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
WSO2
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
WSO2
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
WSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
WSO2
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2
 

More from WSO2 (20)

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
WSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the CloudWSO2CON 2024 - Elevating the Integration Game to the Cloud
WSO2CON 2024 - Elevating the Integration Game to the Cloud
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital BusinessesWSO2CON 2024 - Software Engineering for Digital Businesses
WSO2CON 2024 - Software Engineering for Digital Businesses
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 

Recently uploaded

Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
Kief Morris
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 

Recently uploaded (20)

Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
[Talk] Moving Beyond Spaghetti Infrastructure [AOTB] 2024-07-04.pdf
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介��A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 

Ss Esb

  • 1. ESBs and SOA Paul Fremantle [email_address] CTO and Co-Founder, WSO2 VP, Apache Synapse
  • 2. Service Oriented Architecture SOA is the best practice for building distributed interconnected systems Using well-defined interactions between systems Moving from proprietary formats to open formats: XML, HTTP, SOAP Integration is dependent on external interfaces not on internal code
  • 5. A common ESB definition “ Any to any data connectivity and transformation (including Web Services) built on an advanced, proven, reliable middleware infrastructure”
  • 6. 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
  • 7. 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!”
  • 8. 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
  • 9. Loose Coupling Location and Access Scale up, failover, contingency Programming Language Work with available skills Integrate old and new Stack/Vendor No tie in to a particular proprietary solution Time Asynchronous interactions avoid gridlock
  • 10. Do you need an ESB to do SOA?
  • 11. Do you need an ESB to do SOA?
  • 12. 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
  • 13. An ESB can simplify SOA deployment Integrated Registry/ Repository Virtualization Perf Mgmt Load balance Throttle Transport matching Access control Message transform Logging and auditability Web-based console
  • 14. Pragmatic SOA scenarios SOA has been seeded “bottom-up” within a company, and now looking for a way to add order and consistency Looking to expose existing backend systems as services in a consistent way Need to provide scale-up and performance management for SOAP and HTTP systems including load-balancing and throttling Starting to expose services to partners and require a solution to managing access control, security keys and auditability Integrating Java and .NET systems with other stacks, need a simple independent way to manage WS-Security, Reliable Messaging
  • 15. Apply those rules to an ESB Location and Access Must provide virtualization, multiple protocol support, transparency Programming Language Minimal tie to any one programming language Focus on dynamic languages and XML-centric approaches such as XPath, XQuery and XSLT Stack/Vendor Interoperability, works with clients and services from many systems No requirement to have a proprietary system everywhere Time Asynchronous, non-blocking, scalable
  • 16. 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
  • 17. The Concentrator Pattern .NET service CRM service Apache Axis2 service C/C++ service Concentrator ESB Consistent access, security, logging, audit, monitoring But no transformation Data service Mashup/Web Application Dashboard
  • 18. The Federated ESB pattern Enterprise ESB Routing, Audit Department ESB Department ESB Department ESB
  • 19. 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
  • 20. 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
  • 21. Scenario – Financial Security blocking Database legacy flat file NEW YORK Existing System WSO2 ESB Poll Record->XML XML->XML Send LONDON WSO2 ESB Split/Iterate DBLookup/Filter Transform to MQ Send Existing System XML/JMS
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. ESB Market Proprietary IBM WebSphere Oracle/BEA Tibco Open Source Fuse/ServiceMix MuleSource/Mule WSO2 ESB/Synapse
  • 28. What about JBI? JBI is the JCP/Sun sponsored standard for ESBs Allows a standard deployment and also standard adapters Can be seen as a follow-on to JCA JBI has had little market success Failed to bring true portability Based on a very code-centric deployment model inherited from J2EE JBI v2 was destined to fix those problems but has gone quiet Oracle/Sun acquisition has also thrown doubt on JBI
  • 29. Openness Since the only standard for portability is flawed, I highly recommend: Using an Open Source ESB Avoid lock-in and proprietary approach Using open network protocols E.g. SOAP, HTTP, XMPP, AMQP Avoid lock-in to MQSeries or Tibco Use as many standards based approaches as possible XSLT, XQuery, E4X/JavaScript, SOAP Headers, WS-Security, WS-RM, etc
  • 30. OSGi and ESBs OSGi is a pluggability and component model for Java Proven to be effective as the component approach for Eclipse Gaining strong traction with middleware vendors BEA/Oracle IBM SpringSource WSO2 Both ServiceMix and WSO2 ESB have strong OSGi basis ServiceMix Kernel WSO2 Carbon OSGi framework OSGi looks like a much stronger approach than JBI for plugging components into middleware runtimes
  • 31. Understanding an ESB I’m an expert on the WSO2 ESB and Apache Synapse Both share the same core engine and model Scenario walkthrough Similar approaches will work with other Open Source ESBs
  • 32.  
  • 33. 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
  • 35. Built-in Mediators Drop (end) Sequence (call another sequence) Clone Callout (call a WS) Filter (if-then-else) Switch Iterate Aggregate Send Router Smooks (transform library) Rule (use a Rules engine) Entitlement (validate access against a XACML server) Property Header Validate DBReport DBLookup Class mediator Command Mediator Script Spring Throttle Cache XSLT XQuery
  • 36. 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
  • 37. 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
  • 38. Event Driven Architecture Event Architecture takes the SOA one step further towards loose-coupling than the previous patterns: Its up to you to publish to the right place Its up to you to subscribe to the right events You own the wiring too Allows for situational integration In the previous patterns the wiring was encoded into the ESB
  • 39. Eventing in Synapse Synapse Proxy Event Source Event Publisher Subs Mgr Subscriber Publisher Subscriber Subscriber subscribe Mediation Sequence
  • 40. Event Driven Architecture with a Master Data Pattern
  • 41. 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
  • 42. 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
  • 44. Resources Reclaiming the ESB http://wso2.org/library/2913 Open Source SOA (book) by Jeff Davis http://www.manning.com/davis/ http://en.wikipedia.org/wiki/Enterprise_service_bus Apache Synapse http://synapse.apache.org WSO2 ESB http://wso2.org/esb