practical soa with open esb
DESCRIPTION
TRANSCRIPT
![Page 1: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/1.jpg)
Practical SOA with Open ESB
Practical SOA with Open ESB 1
![Page 2: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/2.jpg)
Aims & Agenda
• Introduce Objectwares Service Classification Framework –approx 10 minutes.
• Explain how JBI (& Open ESB) fits into this framework –approx 10 minutes.
• Describe our experiences with implementing a part of our framework with Open ESB – approx 25 minutes.
• Question time – 10 minutes.
2Practical SOA with Open ESB
![Page 3: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/3.jpg)
Part 1: Service Classification Framework
Practical SOA with Open ESB 3
![Page 4: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/4.jpg)
Framework Introduction
•Classifies services into functional groups.
•Provides insight into service implementation.
•Describes both ”As-Is” and ”To-Be” architectures.
•Practical starting point for SOA.
4Practical SOA with Open ESB
![Page 5: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/5.jpg)
Overview
5Practical SOA with Open ESB
Human to Application services
Core services
Aggregated Core services
Application to Application services
Pro
duct c
entric
Code c
entric
Ne
ed
fo
r a
gil
ity
Co
st o
f ch
an
ge
![Page 6: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/6.jpg)
• I.T. Building Blocks.
• Bottom up designed.
• Fine Grained – focus on one thing.
• DDD - Maintain domain objects from silo applications.
• Exposes underlying systems as services.
• Implemented in dotNet, Java.
• Contained in integration repositories, i.e. Glassfish.
Core Services
Practical SOA with Open ESB 6
![Page 7: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/7.jpg)
• Combine and orchestrate other services.
• Reusable business functions.
• Can themselves be aggregated into other services.
• DDD – Context Maps.
• Implemented in dotNet & Java.
• Organised with a developer friendly ESB (i.e. Mule).
• Wrapped.
Aggregated Core Services
Practical SOA with Open ESB 7
![Page 8: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/8.jpg)
• Communication between applications.
• Business processes.
• Automated.
• Event / Data Driven.
• Conversational.
• Implemented on a JEE platform, running your choice of ESB/SOA platform.
Application 2 Application Services
Practical SOA with Open ESB 8
![Page 9: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/9.jpg)
• Business Processes interacting with humans.
• Workflow.
• Aligned closely with the REAL business processes.
• Portals built on best of breed solutions that allow for quick and simple changes (i.e. CorePortal, SiteVision).
Human 2 Application Services
Practical SOA with Open ESB 9
![Page 10: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/10.jpg)
Example Implementations
10Practical SOA with Open ESB
•Customer/My Account Portal.•CRM/Customer Care Portal.•Partner Portal.
•Order equipment from supplier.•Automated credit checking.•Payment of invoices.
•Customer overview.
•Customer.•Order.•Product.
Billing SystemSales SystemEquipment Database
![Page 11: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/11.jpg)
The Service Manifest
• I shall do one thing and one thing well.
• I shall never fail and if I do I will do it gracefully.
11Practical SOA with Open ESB
![Page 12: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/12.jpg)
Part 2: JBI & Open ESB
Practical SOA with Open ESB 12
![Page 13: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/13.jpg)
JBI Introduction
13Practical SOA with Open ESB
• JSR 208: Java Business Integration.
•Specification describing a pluggable component framework based on open standards.
•Components communicate via WSDL.
• Implementations such as Open ESB offer a ”Build It Yourself” ESB.
![Page 14: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/14.jpg)
• Pluggable component.
• Implements business logic and other services:
• Content based routing.
• Orchestration.
• Business rules.
• Transformations.
• Exposes service endpoints.
Service Engines
Practical SOA with Open ESB 14
![Page 15: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/15.jpg)
Binding Components
Practical SOA with Open ESB 15
• Pluggable component.
• Deals with plumbing and protocols:
• JMS.
• MQ.
• EJB.
• Proxy endpoints for remote services.
• Proxies JBI services to remote consumers.
• (Re)used by multiple service engines.
![Page 16: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/16.jpg)
• Provides message interchange between the loosely coupled components.
• Normalized Message:
• Message.
• Metadata.
• Attachments.
Normalised Message Router
Practical SOA with Open ESB 16
![Page 17: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/17.jpg)
Overview
17Practical SOA with Open ESB
JBI C
onta
iner
![Page 18: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/18.jpg)
A Very Simple Example
18Practical SOA with Open ESB
J
JBI Container
1
2 3
4
![Page 19: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/19.jpg)
JBI Advantages
•Allows you to build an integration platform from best of breed components.
•Avoids lock-in to a specific vendors ‘suite’.
•Encourages a SOA approach.
•Vendors can concentrate on what they do best.
•Encourages the use of Open Standards.
19Practical SOA with Open ESB
![Page 20: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/20.jpg)
JBI Implementations
20Practical SOA with Open ESB
Open ESB
![Page 21: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/21.jpg)
Mule-JBI
• No drag n’ drop development environment.
• Deployments require restart of the mule container.
• Limited Mule-JBI community.
• Mule-JBI would be best suited to code centric services, but is currently vapor ware.
21Practical SOA with Open ESB
?
![Page 22: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/22.jpg)
Servicemix
• Servicemix has little to no graphical tooling.
• Hot deployment is supported – important for product based services.
• Still in the Apache Incubator, moderately active community.
• In theory can support all services, but uncertain project stability.
22Practical SOA with Open ESB
?
![Page 23: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/23.jpg)
Open ESB
• GUI environment for creating SOA / Composite Applications.
• Supports hot deployment of changes via Service Assemblies.
• Open ESB on a Glassfish platform can support all the various service categories.
23Practical SOA with Open ESB
Open ESB
![Page 24: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/24.jpg)
Part 3: Implementing Open ESB
Practical SOA with Open ESB 24
![Page 25: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/25.jpg)
Implementing Open ESB
•The Case
•Existing solution
•Playing with Open ESB
•The solution
•Experiences
25Practical SOA with Open ESB
![Page 26: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/26.jpg)
The Actors
• Integration between BaneTele and Sønnico
•BaneTele – Provider of internet and data communication services
•Sønnico – Subcontractor that performs equipment installation and maintainance in the field
26Practical SOA with Open ESB
![Page 27: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/27.jpg)
Integration
27Practical SOA with Open ESB
Sønnico Clients
?
BaneTele Delivery System
![Page 28: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/28.jpg)
Existing Solution: BIE
• Integration managed by the Business Integration Engine (BIE)
•Open Source project with little activity
•Trouble with large processes
•Limited set of workflow activities
•No support for testing
28Practical SOA with Open ESB
![Page 29: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/29.jpg)
Open ESB
•Open Source ESB from Sun Microsystems
•Based on JBI
• Just hit version 2.0
•Runs on top of Java EE Containers such as Glassfish
•Netbeans IDE provides tooling
•Lacking in monitoring and configuration, but new tools are on their way!
29Practical SOA with Open ESB
![Page 30: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/30.jpg)
Use Case
30Practical SOA with Open ESB
![Page 31: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/31.jpg)
•Two service groups
•Core Services
•Application to Application Services
Applying the Objectware SOA Stack
Practical SOA with Open ESB 31
![Page 32: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/32.jpg)
•Three basic services
• GetOrders
• GetOrder
• GetNextStatus
• Keyword: Data Retrieval
Core Services
Practical SOA with Open ESB 32
![Page 33: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/33.jpg)
• One A2A service
• Status Management
• Keyword: Process
Application 2 Application Services
Practical SOA with Open ESB 33
![Page 34: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/34.jpg)
Netbeans and Open ESBas a Silver Bullet
34Practical SOA with Open ESB
J
Open ESB
![Page 35: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/35.jpg)
SQL Service Engine
•New in the latest Open ESB 2 Beta
•Exposes SQL queries as Web Services
•WSDL generated from query result
•Handy for importing simple data or performing simple operations
35Practical SOA with Open ESB
![Page 36: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/36.jpg)
JDBC Binding Component
•Alternative to the SQL Service Engine
•Exposes JDBC CRUD operations as web services
•Wizard-style configuration in Netbeans
•Good support for polling data from database
36Practical SOA with Open ESB
![Page 37: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/37.jpg)
Java EE Service Engine
•Acts as a bridge to the underlying Java EE Container
•Enables existing Java EE modules to be deployed in a JBI Service Assembly
•Connects the Java EE module to the NMR, enabling..
• Access to JBI resources
• Exposing the module using any JBI Binding Component
37Practical SOA with Open ESB
![Page 38: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/38.jpg)
BPEL Service Engine
•Supports WS-BPEL 2.0
•Good integration with Netbeans tooling
•Visual debugger
•Testable processes
•Clustering
•Versioning
38Practical SOA with Open ESB
![Page 39: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/39.jpg)
JMS Binding Component
•Enables communication with JMS Topics and Queues
•Configured through WSDL editor
•Supports polling of JMS queue
•Better tool support is coming
39Practical SOA with Open ESB
![Page 40: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/40.jpg)
NetBeans IDE 5.5.1
•Established IDE platform
•Provides tooling for Open ESB
• BPEL editor
• Xpath editor
• WSDL editor
• Debugging
• Testing
•Server and resource management
40Practical SOA with Open ESB
![Page 41: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/41.jpg)
Putting it all Together
•Core Services implemented using Java EE
• Data Access through JDBC
• Exposed as services using JAX-WS annotations
•A2A Services implemented using BPEL Service Engine
• Orchestration through BPEL
• Message Queing (Statuses) using JMS BC
41Practical SOA with Open ESB
![Page 42: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/42.jpg)
Putting it all Together: Core Services
42Practical SOA with Open ESB
J
Open ESB
![Page 43: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/43.jpg)
Putting it all Together: A2A Services
43Practical SOA with Open ESB
J
Open ESB
![Page 44: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/44.jpg)
Improvements over BIE
•Testability
•Better tools support
•Portable standards based solution
•Based on an established platform
•Active development
44Practical SOA with Open ESB
![Page 45: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/45.jpg)
Experiences
•Active component development
•Most components are still beta software
•Still little documentation
•Configuration issues
•Tooling looks promising, but is still immature
•Good A2A support with BPEL
•Easy to get started
45Practical SOA with Open ESB
![Page 46: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/46.jpg)
Conclusion – Did we get Hooked?
•Many components still unreliable
•Active development, daily improvements
•Worth checking out!
•Yes, we will keep on watching Open ESB
46Practical SOA with Open ESB
![Page 47: Practical SOA with Open ESB](https://reader034.vdocuments.us/reader034/viewer/2022042513/5484011db479590a0d8b4aab/html5/thumbnails/47.jpg)
<pent bilde her>
Questions?
Practical SOA with Open ESB 47