practical soa with open esb4409
TRANSCRIPT
-
8/2/2019 Practical Soa With Open Esb4409
1/47
Practical SOA with Open ESB
Practical SOA with Open ESB 1
-
8/2/2019 Practical Soa With Open Esb4409
2/47
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 ourframework with Open ESB approx 25 minutes.
Question time 10 minutes.
2Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
3/47
Part 1: Service ClassificationFramework
Practical SOA with Open ESB 3
-
8/2/2019 Practical Soa With Open Esb4409
4/47
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
-
8/2/2019 Practical Soa With Open Esb4409
5/47
Overview
5Practical SOA with Open ESB
Human to Application services
Core services
Aggregated Core services
Application to Application services
Productcen
tric
Codecentric
Needforagility
Costofcha
nge
-
8/2/2019 Practical Soa With Open Esb4409
6/47
I.T. Building Blocks.
Bottom up designed.
Fine Grained focus on one thing.
DDD - Maintain domain objects fromsilo applications.
Exposes underlying systems asservices.
Implemented in dotNet, Java.
Contained in integration repositories,i.e. Glassfish.
Core Services
Practical SOA with Open ESB 6
-
8/2/2019 Practical Soa With Open Esb4409
7/47
Combine and orchestrate otherservices.
Reusable business functions.
Can themselves be aggregated intoother services.
DDD Context Maps.
Implemented in dotNet & Java.
Organised with a developer friendlyESB (i.e. Mule).
Wrapped.
Aggregated Core Services
Practical SOA with Open ESB 7
-
8/2/2019 Practical Soa With Open Esb4409
8/47
Communication between applications.
Business processes.
Automated.
Event / Data Driven.
Conversational.
Implemented on a JEE platform,running your choice of ESB/SOAplatform.
Application 2 Application Services
Practical SOA with Open ESB 8
-
8/2/2019 Practical Soa With Open Esb4409
9/47
Business Processes interacting withhumans.
Workflow.
Aligned closely with the REAL businessprocesses.
Portals built on best of breed solutions
that allow for quick and simplechanges (i.e. CorePortal, SiteVision).
Human 2 Application Services
Practical SOA with Open ESB 9
-
8/2/2019 Practical Soa With Open Esb4409
10/47
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 SystemEquipmentDatabase
-
8/2/2019 Practical Soa With Open Esb4409
11/47
The Service Manifest
I shall do one thing and one thingwell.
I shall never fail and if I do I will do itgracefully.
11Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
12/47
Part 2: JBI & Open ESB
Practical SOA with Open ESB 12
-
8/2/2019 Practical Soa With Open Esb4409
13/47
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 ItYourself ESB.
-
8/2/2019 Practical Soa With Open Esb4409
14/47
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
-
8/2/2019 Practical Soa With Open Esb4409
15/47
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 remoteconsumers.
(Re)used by multiple service engines.
-
8/2/2019 Practical Soa With Open Esb4409
16/47
Provides message interchangebetween the loosely coupledcomponents.
Normalized Message:
Message.
Metadata.
Attachments.
Normalised Message Router
Practical SOA with Open ESB 16
-
8/2/2019 Practical Soa With Open Esb4409
17/47
Overview
17Practical SOA with Open ESB
JBIC
ontainer
-
8/2/2019 Practical Soa With Open Esb4409
18/47
A Very Simple Example
18Practical SOA with Open ESB
J
JBI Container
1
2 3
4
-
8/2/2019 Practical Soa With Open Esb4409
19/47
JBI Advantages
Allows you to build an integration platform from best ofbreed 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
-
8/2/2019 Practical Soa With Open Esb4409
20/47
JBI Implementations
20Practical SOA with Open ESB
Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
21/47
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, butis currently vapor ware.
21Practical SOA with Open ESB
?
-
8/2/2019 Practical Soa With Open Esb4409
22/47
Servicemix
Servicemix has little to no graphical tooling.
Hot deployment is supported important for product basedservices.
Still in the Apache Incubator, moderately active community.
In theory can support all services, but uncertain projectstability.
22Practical SOA with Open ESB
?
-
8/2/2019 Practical Soa With Open Esb4409
23/47
Open ESB
GUI environment for creating SOA / Composite Applications.
Supports hot deployment of changes via ServiceAssemblies.
Open ESB on a Glassfish platform can support all thevarious service categories.
23Practical SOA with Open ESB
Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
24/47
Part 3: Implementing Open ESB
Practical SOA with Open ESB 24
-
8/2/2019 Practical Soa With Open Esb4409
25/47
Implementing Open ESB
The Case
Existing solution
Playing with Open ESB
The solution
Experiences
25Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
26/47
The Actors
Integration between BaneTele and Snnico
BaneTele Provider of internet and data communicationservices
Snnico Subcontractor that performs equipmentinstallation and maintainance in the field
26Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
27/47
Integration
27Practical SOA with Open ESB
SnnicoClients
?
BaneTeleDeliverySystem
-
8/2/2019 Practical Soa With Open Esb4409
28/47
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
-
8/2/2019 Practical Soa With Open Esb4409
29/47
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 areon their way!
29Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
30/47
Use Case
30Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
31/47
Two service groups
Core Services
Application to Application Services
Applying theObjectware SOA Stack
Practical SOA with Open ESB 31
-
8/2/2019 Practical Soa With Open Esb4409
32/47
Three basic services
GetOrders
GetOrder
GetNextStatus
Keyword: Data Retrieval
Core Services
Practical SOA with Open ESB 32
-
8/2/2019 Practical Soa With Open Esb4409
33/47
One A2A service
Status Management
Keyword: Process
Application 2 Application Services
Practical SOA with Open ESB 33
-
8/2/2019 Practical Soa With Open Esb4409
34/47
Netbeans and Open ESBas a Silver Bullet
34Practical SOA with Open ESB
J
Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
35/47
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 orperforming simple operations
35Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
36/47
JDBC Binding Component
Alternative to the SQL Service Engine
Exposes JDBC CRUD operations asweb services
Wizard-style configuration in Netbeans
Good support for polling data fromdatabase
36Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
37/47
Java EE Service Engine
Acts as a bridge to the underlyingJava EE Container
Enables existing Java EE modules tobe deployed in a JBI Service Assembly
Connects the Java EE module to theNMR, enabling..
Access to JBI resources
Exposing the module using any JBI
Binding Component
37Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
38/47
BPEL Service Engine
Supports WS-BPEL 2.0
Good integration with Netbeanstooling
Visual debugger
Testable processes
Clustering
Versioning
38Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
39/47
JMS Binding Component
Enables communication with JMSTopics and Queues
Configured through WSDL editor
Supports polling of JMS queue
Better tool support is coming
39Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
40/47
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
-
8/2/2019 Practical Soa With Open Esb4409
41/47
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
-
8/2/2019 Practical Soa With Open Esb4409
42/47
Putting it all Together: Core Services
42Practical SOA with Open ESB
J
Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
43/47
Putting it all Together: A2A Services
43Practical SOA with Open ESB
J
Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
44/47
Improvements over BIE
Testability
Better tools support
Portable standards based solution
Based on an established platform
Active development
44Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
45/47
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
-
8/2/2019 Practical Soa With Open Esb4409
46/47
Conclusion Did we get Hooked?
Many components still unreliable
Active development, dailyimprovements
Worth checking out!
Yes, we will keep on watchingOpen ESB
46Practical SOA with Open ESB
-
8/2/2019 Practical Soa With Open Esb4409
47/47
Questions?