Introducing the WSO2 Enterprise Integration Platform By Miyuru Wanninayaka
Software in Enterprise Large enterprises have many software systems in their “line of business” Enterprise Resource Planning systems (ERP) Management Information Systems (MIS) Decision Support Systems (DSS) Data stores Legacy systems These systems are often independent and controls one or more related business activities But they are all parts of a single business process
Need for Enterprise Integration Individual software applications cannot achieve much Systems should be integrated to work together Enables free data flow across the organization Improves production and management efficiency Application users can make better decisions
Easier Said Than Done! Integrating a multitude of complex software applications is no child's play Systems are diverse Different platforms Different programming languages Different protocols and messaging standards Different QoS requirements Not everyone adhere to standards
Point-to-Point Connections?
Bus
What is an ESB? A piece of software that resembles a data bus used in computers Provides a uniform approach for connecting systems Monitor and control routing of message exchange between services Software applications communicate via the bus The service bus acts as a carrier or a message broker Replaces direct contact between applications – Reduces coupling
WSO2 Enterprise Service Bus A lightweight, high performance ESB Configuration driven over coding REST, SOAP and WS-* support Domain specific protocol support (eg: SAP, FIX) Extensible to support custom protocols / message formats Cloud enabled Supports all EIP patterns
KEY FEATURES
Routing Simple proxy Header-based Routing Content-based Routing XPath/Property/Regular Expression Rules If/Then/Else Router mediator for complex routing
Traffic Filtering Xpath and regex based filtering Script based filtering Schema based filtering and validation foo bar foo
Service Orchestration Service chaining Split/Aggregate/ Clone/Merge Parallel/Serial execution If/Then/Else
Transformation XSLT Payload Factory Smooks XQuery E4X
Protocol & Message Format Switching Message Formats SOAP, REST, JSON, Binary Protocols HTTP(S), JMS, VFS(File), TCP, SAP, FIX, HL7, SMTP
Business/Cloud Adaptors Business Adaptors
Load Balancing
QoS : Security, Throttling, Caching WS-Security / REST Security Throttling Concurrency Rate Caching Local Replicated Suitable for idempotent operations
REST Capabilities Expose any service as RESTful APIs URL Mapping URL Templates REST
Store and Forward Store incoming request in message store In memory, JMS queue, Database Forward to backend using message processor Guaranteed delivery Message Store
Management Console
WSO2 Developer Studio
Monitoring Mediation Statistics JMX SNMP BAM
Performance WSO2 ESB comes with new “Pass-through HTTP transport” Supports “pass-through” Sub millisecond latency within ESB Supports all mediation scenarios ( including content aware flows) Fastest ESB on the Earth! Streaming XPath and Fast XSLT implementation
Real World Performance – Online Shopping Use Case Billions of hits per day Only milliseconds range allowed as added latency in middleware layer WSO2 ESB instances handle external traffic loads from different functional areas Catalog, basket, checkout Channels: Web, Mobile, Desktop, Partner sites, APIs Not just “pass-through” Header based routing, XPath Zero downtime for years Inclusive daily peak hours and annual seasonal peaks Catalog Basket Checkout
Beyond ESB Just an ESB alone cannot make enterprise integration end- to-end WSO2 Middleware platform provides products to support end-to-end enterprise integration
Business Process WS-BPEL 2.0 and BPEL4WS 1.1 Long running stateful processes Short running stateless or stateful processes WS-Human Task 1.1, BPEL4People 1.1 Other systems / Client Apps Human Tasks Long running complex business processes
Business Process Monitoring business Business Process Orchestration Continuous evolution
Data As a Service Expose Any Source of Data as Web Services or REST Resources RDBMS via JDBC CSV, Excel, ODS, Cassandra, Google Spreadsheets, RDF XML based DSL with no Java code to be written Data Other systems / Client Apps
Security Gateway Centralized Authentication Standard-based Single Sign-on Centralized Policy-Based Authorization Bridging Incompatibilities / Protocol Switching Centralized Auditing & Monitoring Content-Based Filtering/Firewall Schema-Based Input Validation
DB Mobile Service Gateway JSON External Service Providers
SAP Message Gateway In Retailer IDOC Message Store DB POS BAPI JMS
Exposing Services to Public External Users
THANK YOU