practical soa with open esb4409

Upload: ksrvasan6659

Post on 06-Apr-2018

221 views

Category:

Documents


0 download

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?