A Buyers Guide to an Enterprise Service Bus Kasun Indrasiri Associate Technical Lead WSO2 Inc.
Overview• Enterprise Service Bus (ESB) - What and Why?• Selecting an ESB• Do you really need an ESB?• Core Functionalities of an ESB• Why WSO2 ESB?• Features of WSO2 ESB• Conclusion
ESB - What?• Enterprise Service Bus (ESB) • An enterprise service bus (ESB) is a software architecture for middleware that provides fundamental services for more complex architectures. • An ESB acts as a shared messaging layer for connecting applications and other services throughout an enterprise computing infrastructure. • It supplements its core asynchronous messaging backbone with intelligent transformation and routing to ensure messages are passed reliably. (source:Gartner)
Selecting an ESB• It’s challenging! • Number of Complex ESB products • Discrete features and capabilities. • The architecture requirements for SOA and ESB rapidly vary. • There are no standards, that define ESB capabilities.
Do you really need an ESB?• Integrating more than a few application and more new applications will be introduced to the system.• Mediate Messages based on various business requirements• Supporting various protocols and standards• Virtualization of different services offered by diverse applications• Various QoS requirements
Core Functionalities of an ESB• Support of multiple protocols and Protocol conversion• Data transformation and data-based routing• Support of multiple standards• Integrated security features• Comprehensive error handling mechanisms• Support of both synchronous and asynchronous service invocations• Highly available and scalable infrastructure• Extensibility• Support of composite services through lightweight orchestration• Enterprise Integration Pattern support
Extended Features• Graphical editing tools• SLA monitoring and management• BPEL and other business process support• Business Activity Monitoring (BAM)• Dynamic service provisioning• Complex Event Processing (CEP)• Other SOA related aspects
Why WSO2 ESB?• Lightweight• Supports all the core functionalities of an ESB• A part of a complete SOA platform• 100% Free and Open Source under Apache License 2• Comprehensive support from the developers who built the product• Go Cloud Native
Wide Range of EIP support• Splitter• Aggregator• Translator• Content Enricher
Wide Range of EIP support• Wire Tap• Content Based Router• Message Filter• Message Store
Wide Range of EIP support• Recipient List• Message Router
Advance Features• Store and Forward • Message Stores • Message Processors• Configuration reuse • Sequence Templates • Endpoint Templates
Protocols and Conversions• Various Protocols and Conversions • Transports • HTTP/S, POP/IMAP, SMTP, JMS, AMQP, FIX, Raw TCP, Raw UDP, SAP, File transports (FTP/SFTP/CIFS), SAP IDOC/BAPI • Content interchange formats • SOAP 1.1, SOAP 1.2, POX, HTML, Plain text, binary, JSON, Hessian • REST API for all RESTful invocations • A new feature that will be available in the upcoming release.
Standards and Business Adapter• Various Standards and Business Adapters • WS-* standards • WS-Addressing, WS-Security, WS-Reliable Messaging, WS-Policy, WS-Discovery, MTOM/SwA • Business Adapters • SAP Adapter (BAPI and IDOC) • FIX • HL7
Message Transformations and QoS• Transformations • xslt,xquery,smooks• QoS • Security Features • 16 security scenarios • XACML, SAML 2.0, WS-Security and many more with WSO2-IS features • Reliable Messaging • Throttling
Ease of Use• Download-> Unzip -> Start• Web Console • Easy configuration through an intuitive graphical interface allows you to get started• Number of samples that you can try out. • http://wso2.org/project/esb/java/4.0.2/docs/samples_index.htm
Extensibility – WSO2 Carbon• Feature Management with WSO2
Extensibility – WSO2 Carbon• Implement your own • Custom Mediators, Scheduled Tasks, Message Stores and Message Processors• Xpath Extensions• Message Builders and Formatters to support proprietary protocols
HA, Clustering and Governance Aspects• Clustering based on WSO2 Governance Registry• Deployment Synchronizer• Carbon Applications (cApp)• Life Cycle Management
Extended Features• Tooling with Carbon Studio• BPS• BAM• CEP
WSO2 SOA Platform• Not just an ESB, but a SOA Platform
WSO2 SOA Platform• Don’t change your architecture to match the middleware
Proven Case Studies• Case Study : High Volume • 1 Billon Transactions per Day • 94 Million Active Users around the World • $2000 worth of Transactions per Second • 24×7 Shopping, Trading, Checkout, Mobile Applications Case study: http://wso2.com/casestudies/ebay-uses-100-open-source-wso2-esb-to-process-more-than-1-billion-transactions-per-day/