Upload
wso2
View
2.149
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
Simplifying Enterprise Integration with
WSO2 ESB
Hiranya Jayathilaka Senior Technical Lead
PMC Member (Integration Technologies)
A Word About WSO2
• Founded in 2005 by acknowledged leaders in XML, Web Services technologies & standards and open source. Primary contributors to Apache Web Services projects started in 2001.
• Producing entire middleware platform 100% open source under the Apache license.
• Business model is to sell comprehensive support & maintenance for our products.
• Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC and CA.
• Venture funded by Intel Capital and Quest Software • Global corporation with offices in Palo Alto (USA), Portsmouth (UK)
and Colombo (Sri Lanka). • 150+ employees and growing.
Software in Enterprise
• Modern day business organizations have many software systems
• Enterprise resource planning solutions
• Management information systems
• Decision support systems
• Tools for research, development and testing
Reality Check…
• Enterprises have many reasons for using software
• Saving time and resources
• Automating complex and repetitive tasks
• Detecting problems quickly and reacting to them
• But most software deployments don’t even come close to realizing these goals
What’s Wrong with Software?
• Nothing really – We are not using them right
• A business is comprised of many related activities and processes
• These should be carried out in perfect unison
• Software systems that look after individual business aspects do not see this big picture
• ‘Narrow minded’ systems often obstruct productivity than improve
A Couple of Examples…
• The supply chain management system should keep an eye on the inventory management system
• Decision support systems cannot help make useful decisions without insight to all the aspects of the business
And the Solution is…
• Integrating systems and applications together
• Get software systems to work in perfect synchronism with each other
• Let applications see the bigger picture and enable them to take the right action at the right moment
• These requirements lead to………..
Enterprise Application Integration
• Integrating enterprise computer applications using software and computer systems architectural principles
• Not limited to integration within an organization
• Integrating with customer applications
• Integrating with supplier/partner applications
• Integrating with public services
Easier Said Than Done
• EAI is often one of the hardest problems to crack
• Enterprise applications are diverse
• Different programming languages (C, Java, C#)
• Different protocols (HTTP, AMQP, FIX)
• Different platforms (J2EE, .NET, LAMP)
• Different message formats (XML, SOAP, JSON)
• Different QoS requirements (security, reliability)
If We are Not Careful…
ESB to the Rescue
• A software architectural construct which provides fundamental services for complex architectures
• Resembles a data bus used in computers
• Provides a uniform approach for integrating systems
• Reduces point-to-point connections between systems and reduces coupling
ESB in Action
Introducing WSO2 ESB
• A lightweight, high performance ESB
• Feature rich and standards compliant
• SOAP and WS-* standards
• REST support
• Support for generic protocols (HTTP/S, JMS…)
• Domain specific protocols (FIX, AMQP…)
• Easy to configure (Zero code development)
• Easy to extend (Clean APIs where necessary)
Lightweight to the Core
• The entire binary distribution is sized ~150 MB
– Download Extract Run
• No special tools or IDE required
– Use the built-in management console or go old school by manually editing the configuration files
• Implement complex messaging scenarios and integration patterns within minutes
– Powerful mediation features and flow constructs
• Low CPU utilization and small memory footprint
Functional Components
• Mediators
• Sequences
• Endpoints
• Proxy services
• Event sources
• Priority executors
• Message stores
• Tasks
• Local entries
• Registry
• REST APIs
• Message stores
• Templates
Mediators
• The basic message processing unit in the ESB
• Each mediator performs a predefined task on the input messages
• WSO2 ESB ships with many mediators
• Core mediators (Log, Send, Drop)
• Transformation mediators (XSLT, XQuery)
• Filtering mediators (Filter, Switch)
• Advanced mediators (Clone, Iterate)
WSO2 ESB Messaging Model
• Uniform view of “messages” regardless of underlying protocol and message format
• Pipes and filters model for message flow control • Filters Mediators
• Pipes Sequences
• Non-blocking, stateless, asynchronous messaging – High performance by design – 1 Billion transactions a day at eBay alone
Configuring the ESB
• The task of laying out ESB functional components and configuring them
• Done using the Synapse configuration language (XML based)
• WSO2 ESB makes the job easier by providing a set of UI wizards and graphical tools
• Equivalent to programming in many ways
An Example Configuration
One UI to Rule Them All!
Switch Between Design View & Source
Built-in Statistics & Monitoring
Carbon Studio for a More Integrated Development Experience
Supported Protocols/Standards
• Transports • HTTP/S, POP/IMAP, SMTP, JMS, AMQP, FIX, Raw
TCP, Raw UDP, SAP, File transports (FTP/CIFS)
• Content interchange formats • SOAP 1.1, SOAP 1.2, POX, HTML, Plain text, Binary,
JSON, Hessian
• WS-* standards • WS-Addressing, WS-Security, WS-Reliable
Messaging, WS-Policy, MTOM/SwA, WS-Discovery
WSO2 ESB Also Supports…
• JMX based monitoring and control
• Statistics collection
• Priority based mediation
• XSLT, XPath, XQuery, Smooks
• Caching and throttling
• Scripting languages
• JDBC
• Registry integration
• Spring
• Drools
• Clustering
As a Router
As a Message Filter/Validator
As a Message Transformer
Protocol Switching
As a Load Balancer/Fail-over Router
As a QoS Enforcer
WSO2 ESB in Action
Summary
• ESB is a powerful integration technology and a key enabler for implementing SOA
• WSO2 ESB is a fast and lightweight ESB implementation which can be used in a wide range of integration scenarios
• Powerful abstractions – Many mediation features – No coding required
• Easy to get started – Easy to grow with
Resources
• WSO2 ESB home page: http://wso2.com/products/enterprise-service-bus/
• Product documentation: http://docs.wso2.org/display/ESB403
• Samples: http://wso2.org/project/esb/java/4.0.3/docs/samples_index.html
• WSO2 ESB – eBay case study: http://wso2.com/landing/ebay-the-esb-casestudy/
Selected Customers
WSO2 Engagement Model
• QuickStart
• Development support
• Development services
• Production support
• Turnkey solutions
– WSO2 Mobile Gateway Solution
– WSO2 FIX Gateway Solution
– WSO2 SAP Gateway Solution
Thank You