• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
ESB What it is?
 

ESB What it is?

on

  • 4,186 views

What is an ESB?

What is an ESB?
An extract presentation.

Statistics

Views

Total Views
4,186
Views on SlideShare
4,182
Embed Views
4

Actions

Likes
2
Downloads
210
Comments
1

2 Embeds 4

http://www.slideshare.net 2
http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Can i get a copy of this deck. visprar@gmail.com
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ESB What it is? ESB What it is? Presentation Transcript

    • ESB
      Enterprise Service Bus
    • Agenda
      • Introduction (Self and ESB)
      • The ESB as a pattern for SOA
      • Exploring the capabilities of an ESB
      • ESB components
      • Process Choreography and the ESB
      • JSR-208 JBI (Java Business Integration) Specification and the Impact on an ESB
      • Open Source ESB Projects
    • Who am I?
      • My name is Shan Kandaswamy  Technical Architect / Manager
      Little background on my work
      • Worked mostly for Automotive IT clients - projects managing, architecting and developing
      • Worked on lot of popular frameworks
      • Clients worked so farin USA ….
      • Roadway Express
      • DaimlerChrsyler
      • FreightLiner – A DaimerChrysler company
      • Nissan North America
      • Toyota Motor Sales
      • and finally now @ UCLA
      • Let me move on to actual presentation
    • Thanks to…
      • I am not going to lie  I did not invent or patternise ESB or SOA
      • I did not create the entire presentation content all by myself.
      • Like java re-usability, I gathered information around the www
      • Presentation is an extract from my fav architect  Mark Richard, an IBM Consultant /Architect.
      So thanks to all the resources available on the internet
      … and thanks to Google my favorite search engine.
    • What is an ESB?
      • There is no industry agreed upon definition of what an ESB is
      • Some questions to consider:
      • Is it a Pattern?
      • Is it a Product?
      • Is it an Architectural Component?
      • Is it a Hardware Component?
      • From Wiki 
      “An enterprise service bus (ESB) consists of a software architecture construct which provides fundamental services for complex architectures via an event-driven and standards-based messaging-engine (the bus)”
    • How does Gartner define an ESB?
      “An Enterprise Service Bus (ESB) is a new architecture that exploits Web Services, messaging, middleware, intelligent routing, and transformation. ESBs act as a lightweight, ubiquitous integration backbone through which software services and application components flow”
      Bottom line
      • There is no single consise deinition of an ESB
      • We will try to understand what an ESB is by understanding its role and capabilities.
    • ESB Architecture Context
      • In the move towards SOA, client applications are decoupled from services. The ESB provides the communication bridge
    • The ESB helps facilitate the following:
      • Service location transperancy
      • Sharing of services across the enterprise
      • Ability to separate Business Services from the service implementation.
      • Business Service vs. Implementation Service
      Business Service Def
      Make Payment
      WSDL
      Make Payment
      Business Services are
      exposed to client as a service name
      and specified input and output structures.
      (example: through WSDL)
      Implementation Services are coded within the Service Providers (example: through Webservices)
      Process Payment
      Post BAR Payment
      Post Housing Payment
      Java
    • ESB Core capabilities
      Routing
      Message Transformation
      Message Enhancement
      Protocol Transformation
      Service Mapping
      Message Processing
      Process Choreography
      Service Orchestration
      Transaction Management
      Security
    • Routing
      The ability to channel a request to a particular service provider based on deterministic or variable criteria.
       
      Types of routing to consider
      • Static or deterministic Routing
      • Content-based Routing
      • Policy-based Routing
      • Complex Rules-based Routing
    • Message Transformation
      The ability to convert the structure and format of the incoming business service request to the structure and format expected by the service provider
      • Some examples includes:
      • XML  XML
      • XML  COBOL Copybook
      • Object  XML
    • Message Enhancement
      The ability to add or modify the information contained in the message as required by the service provider.
       
      Types of Message Enhancement
      • Date format conversion
      • Supplement data not included in original message
      • Data conversion(i.e. spaces to zero)
      • Rules-based enhancement
    • Protocol Transformation
      The ability to accept one type of protocol from the consumer as input (i.e. SOAP/JMS) and communicate to the service provider through a different protocol (i.e. IIOP)
       
      • A form of message transformation concerned with the message structure, not the message payload.
      • Has both physical connection attributes as well as logical connectivity attributes
      • Examples:
      • SOAP/JMS  IIOP
      • XML/HTTP  CICSMQ
      • XML/HTTP  RMI/IIOP
      • SOAP/MQ ATMI (Application-to-Transaction Monitor Interface)
      • XML/HTTP OTMA (Open Transaction Manager Access)
    • Service Mapping
      The ability to translate a business service into the corresponding service implementation and provide binding and location information
       
      • Could be implemented through XML, a database, or embedded within the Mediator ESB component
      • Usually contains the following core information
      • Implementation Service Name
      • Service Protocol and binding information
      • Protocol specific info (i.e. timeouts, failover location)
      • Service-specific routing information
    • Message Processing
      The ability to manage state and perform request management by accepting an input request and ensuring delivery back to the client via message synchronization
      For updates this might require the use of XA or messaging sync points to ensure guaranteed message processing and delivery
    • Process Choreography
      The ability to manage complex business process that requires the coordination of multiple business service to fulfill a single business service request
       
      • Usually BPEL based
      • Process Choreography can be though of as a manifestation of a use case or business process
      Each of the business process nodes can be an
      Independent business service.
    • Service Orchestration
      The ability to manage the coordination of multiple implementation services
       
      • Can be BPEL based but is usually implemented through inter-service communication or aggregate services
      • Difference between Service Orchestration and Process Choreography is based on the type of service being coordinated
      • Process Choreography  Business Services
      • Service Orchestration  Implementation Services
    • Transaction Management
      The ability to provide a single unit of work for a business service request by providing a framework for the co-ordination of multiple resources across multiple disparate services
       
      • Specifically, the ESB should provide a compensatory transactional framework for a service request.
      • WS-Coordination
      • JSR-95 Activity Service for Extended Transactions
    • Security
      The ability to protect enterprise services from unauthorized access
      • In SOA there are no more silos; services become visible to the entire enterprise through ESB
      • The 4 “A’s” of Security
      • Authentication
      • Authorization
      • Auditing
      • Administration
      • ESB should provide authentication, authorization, and auditing
      • ESB should access a security manager or authentication and authorization rather than have the direct responsibility
    • ESB Components
      • There is no one single product that can effectively do all of the capabilities required of an ESB
      • An ESB can be broken down into the following components
      • Mediator
      • Service Registry
      • Choreographer
      • Rules Engine
    • Components Responsibility
      • Mediator
      • Routing
      • Communication
      • Message Transformation
      • Message Enhancement
      • Protocol Transformation
      • Message Processing
      • Error Handling
      • Service Orchestration
      • Transaction Management
      • Security
    • Component Responsibility
      • Service Registry
      • Service Mapping
    • Component Responsibility
      • Choreography
      • Message Processing
      • Process Choreography
      • Transaction Management
      • Security
    • Component Responsibility
      • Rules Engine
      • Routing
      • Message Transformation
      • Message Enhancement
       
      Specifically Rule based Routing, Message Transformation and Message Enhancement.
    • Relationships
      Choreography / Mediator Relationship
      • Mediator as the ESB entry point
      • Advantages
      • Good Performance
      • Good Scalability
      • Reduced Complexity: Only those services requiring Choreography go through Choreographer
    • Process Choreographer and the ESB
      Considerations
      • Should process choreography sit above or below the Mediator?
      • Choreography as the ESB entry point
      • Mediator as the ESB Entry point
      • Either as an ESB Entry point
      • Recommendation
      • Mediator as the ESB Entry point (Choreography Below)
      • Based on small % of services that must be choreographed
      • Better performance
      • Better Scalability
      • Less Complexity
    • Choreography / Mediator Relationship
      • Mediator As the ESB entry point
      • Advantages
      • Good Performance
      • Good Scalability
      • Reduced Complexity: Only those services requiring Choreography go through the Choreographer
    • Choreography / Mediator Relationship
      • Choreographer As the entry point
      • Considerations
      • Performance Issues
      • Maintenance Issues
      • Complexity Issues
      • Do All services requires BPEL based process coordination?
    • Choreography / Mediator Relationship
      • Choreographer and Mediator As The ESB Entry Point
      • Considerations
      • Client responsible for determining service characteristics
      • Capabilities shared by multiple ESB components
      • Message Processing
      • Transaction Processing
      • Security
      No good separation of
      responsibility within
      ESB components
    • Choreography / Mediator Relationship
      • Mediator As the ESB entry point
      • Advantages
      • Good Performance
      • Good Scalability
      • Reduced Complexity: Only those services requiring Choreography go through the Choreographer
    • Additional Considerations
      • Choreography contains business logic – does it really belong in an ESB?
      • ESB is an infrastructure component
      • Should business rules reside outside the ESB in the client? No I don’t think so…
    • JBI (Java Business Integration) Advantages and the effect on Commercial ESBs
      • Third-party or Custom Service Engines (SE) and the Binding Components (BC) can be swapped in and out without impacting applications or services
      • Avoids “Vendor Lock-in”
      • Allows for “Best of Breed” technologies and solutions
      • We can mix Open Source and Commercial solutions
      • We can swap in and out integration services (i.e capabilities) we don’t need, creating a light-weight solution that meets out specific needs
      • Is this the wave of the future ESBs?
    • Open Source ESB Projects
      • Mule
      • ServiceMix
    • What we have learned?
      • An ESB can defined through its capabilities. Specifically the ones important to us.
      • Reviewed 10 Core capabilities and what they really mean
      • Reviewed the components that make up an ESB and the capability mapping for each component
      • How Choreography can play a part within an ESB
      • What is JBI all about (Standards based pluggable Architecture)
      • Open Source solutions
    • Thank You
      and
      Happy Diwali …