JBossESBoverview

download JBossESBoverview

of 20

Transcript of JBossESBoverview

  • 8/7/2019 JBossESBoverview

    1/20

    JBoss Inc. 2005

    JBossESB

    SOA everywhere!

  • 8/7/2019 JBossESBoverview

    2/20

    2 The Professional Open Source Company

    Aims

    To provide the standard OSSinfrastructure for SOASOA principles first and foremost

    Use SOA principles internally as wellas externally

    Everything will (conceptually) beconsidered as a service

    Everything will be replaceable Standards compliant

    Though requirements live longer

  • 8/7/2019 JBossESBoverview

    3/20

    3 The Professional Open Source Company

    JBossESB = SOA Infrastructure

  • 8/7/2019 JBossESBoverview

    4/20

    4 The Professional Open Source Company

    JBossESB will provide

    Process orchestration Protocol translation Adapters Repositories (e.g., UDDI) Change management (hot deployment,

    versioning, lifecycle management) Quality of service (transactions, failover)

    Qualify of protection (message encryption,security) Management (versioning of services)

  • 8/7/2019 JBossESBoverview

    5/20

    5 The Professional Open Source Company

    Architecture overview

  • 8/7/2019 JBossESBoverview

    6/20

    6 The Professional Open Source Company

    Requirements

    Cannot mandate specific capabilityimplementations All capabilities accessed as services

    Plug-and-playExtensibility

    All capabilities are message basedIncluding (conceptually) the container

    Standards are importantJBIPerhaps SCA

  • 8/7/2019 JBossESBoverview

    7/207 The Professional Open Source Company

    JBossESB and standards

  • 8/7/2019 JBossESBoverview

    8/208 The Professional Open Source Company

    Core message

    Everything is a service, including thebus All services are interacted with via

    messages.

    Includes service lifecyclesContainers abstracted within architecture

    Services plugged directly into a lifecycle bus Services can be plugged into multiple buses

    concurrently

  • 8/7/2019 JBossESBoverview

    9/209 The Professional Open Source Company

    The SOA Bus

    Underlying the ESB is a MOM abstraction Does not mandate implementationJMS, SOAP etc. ESB must be able to support pure-play Web

    Services deploymentsWS-RX

    Capabilities can be provided by multipleimplementations

    Concurrently

    Support multiple busesSingle bus concept is wrong Counter to SOA and Web Services Biggest problem with old-style EAI

  • 8/7/2019 JBossESBoverview

    10/2010 The Professional Open Source Company

    ESB versus SOA versus EDA

    SOA rules take precedenceEDA is a way of implementing SOA JBossESB is a unitary EDA

    ESB is a narrowing of SOAMediation not necessary for SOARouting not necessary for SOA

    SOA infrastructure first and foremostESB veneer

  • 8/7/2019 JBossESBoverview

    11/2011 The Professional Open Source Company

    Message view

  • 8/7/2019 JBossESBoverview

    12/2012 The Professional Open Source Company

    Core service requirements

    ContainerJBoss Microcontainer default MOM

    JBoss Messaging and Web Services Transformations

    JBoss Rules Repository

    UDDIBasic contract definition QoS Service versions

  • 8/7/2019 JBossESBoverview

    13/2013 The Professional Open Source Company

    Standards

    Important for interoperabilityWeb ServicesJMS

    Important for portabilityJBISCA

    ButRequirements are more important Standards change!

  • 8/7/2019 JBossESBoverview

    14/2014 The Professional Open Source Company

    JBossESB interfaces

  • 8/7/2019 JBossESBoverview

    15/2015 The Professional Open Source Company

    Addressing

    Logical and physical namesLogical requires indirection to lookup WS-Addressing based

    Not dependant on Web ServicesJust capabilities

  • 8/7/2019 JBossESBoverview

    16/2016 The Professional Open Source Company

    The Message

    Two levels of messageSeen and used by clients and servicesSeen and used by the core ESB

    Latter is a superset of the former

    interface Message{

    public Header getHeader ();public Context getContext ();

    public Body getBody ();public Fault getFault ();public Attachment getAttachment ();

    }

  • 8/7/2019 JBossESBoverview

    17/2017 The Professional Open Source Company

    Client plugin

    interface ClientPlugin{

    public void send (Address to, Body msg);public void sendAsync (Address to, Body msg);public void sendAsync (Address to, Body msg, Callback cb);public void sendReliable (Address to, Body msg);

    }

    interface ClientPluginFactory{

    public ClientPlugin getPlugin (ContractDefinition def);}

  • 8/7/2019 JBossESBoverview

    18/2018 The Professional Open Source Company

    Service plugin

    interface ServicePlugin{

    public Body receive (Address from);

    }

    interface ServicePluginFactory{

    public ServicePlugin getPlugin (ContractDefinition def);}

  • 8/7/2019 JBossESBoverview

    19/2019 The Professional Open Source Company

    But

    Lots to do We have many components We need to collaborate with partners

    SOA-within-and-without should helpBest-of-breed approaches to ESBdeployments No single solution

    Talking to partners and vendors now JBossESB as the unifying

    infrastructure

  • 8/7/2019 JBossESBoverview

    20/20

    JBossESB Needs You!