Dec 26, 2011

Introduction to Integration, ESB and SOA


Integration capabilities
  • The functionality that ESB can provide can be summarised as “Message exchange between systems”
  • Examples
–        Data synchronisation
–        Data replication
–        Exposure of technical functionality or data
–        B2B - ebXML EDI FACT
–        Protocol adaption and conversion
–        Orchestration – controlling What happens When


  • Enterprise Application Integration, or EAI is the unrestricted sharing of data and business processes throughout the networked applications or data sources in an organization
  • Service Oriented Architecture or SOA is a way of thinking about IT assets as service components. When functions in a large application are made into stand-alone services that can be accessed separately, they are beneficial to several parties. (Source Wikipedia)
  • Enterprise Service Bus or ESB is name given to the EAI platform in Orange UK that exposes IT functionality in the form of services.

–        provider services are reusable technical building blocks
–        orchestration services connect provider services in some combination to realise a business use-case suitable, for any client
–        interaction services allowing a client access to any provider or orchestration service no the ESB

Characteristics of SOA

  •     Service Loose coupling
–        Services maintain a relationship that minimizes dependencies (time, format and function) and only requires that they maintain an awareness of each other
  •     Service contract
–        Services adhere to a communications agreement, as defined collectively by one or more service description documents
  •     Service encapsulation or abstraction
–        Beyond what is described in the service contract, services hide logic from the outside world
  •     Service re-usability
–        Logic is divided into services with the intention of promoting reuse
  •     Service compos ability
–        Collections of services can be coordinated and assembled to form composite services
  •     Service autonomy
–        Services have control over the logic they encapsulate
  •    Service optimization
–        All else equal, high-quality services are generally considered preferable to low-quality ones
  •     Service discover-ability
–        Services are designed to be outwardly descriptive so that they can be found and accessed via available discovery mechanisms


Characteristics of SOA - The ACID Test

  • Service Composition directly effects the success of an SOA – where well composed services lead to greater ROI through technical and business reuse

–   Atomic
–   Consistent
–   Isolated
–   Durable

ESB can

  • Connect to any application, data source or data sink through a rich adapter set exposing the data or functionality as a service.
  • A Service:

–        Encapsulates integration logic like branching, routing, evaluation etc
–        Operates on a pipeline of data: mapping, translation, validation
–        Have properties to control caching of results, execution audit trail, and resubmission.

  • Dispatch options

–        Pub / Sub (asynchronous invocation through document triggers)
–        Direct invocation of C, Java, Web Service
–        protocols e.g. SOAP-RPC, HTTP, FTP, SMTP (email), File Polling
–        Description WSDL and IDD (MS-WORD)

  • The Broker is the ESB’s messaging component.  It enables queued message delivery between Integration Servers in the ESB or directly with external applications

–        Information is held in an entirely called a Document
–        A Document is the container for a message between a publisher and a subscriber
–        Documents are populated with information from any source XML documents, flat files, SOAP-MSG
–        Document Resubmission

  • Implement business processes that orchestrate activities between different IT systems and departments.
  • Achieved through combining documents and services where services are dispatched asynchronously in response to events.
  • Context is stored in a database allowing monitoring of process state and resubmission of failed steps.
  • Human interaction is permitted such as sign-off.
  • Systems and applications of all shapes and sizes exist ready to exchange messages.
  • In any given integration scenario applications can generally be categorised as producers or consumers of messages.