SlideShare a Scribd company logo
1 of 51
Download to read offline
‫أكاديمية الحكومة اإللكترونية الفلسطينية‬
         The Palestinian eGovernment Academy
                       www.egovacademy.ps




                       Tutorial III:
Process Integration and Service Oriented Architectures


                   Session 10
                      ESB

                      Prepared By

                 Mohammed Aldasht


                          PalGov © 2011                        1
About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the
Commission of the European Communities, grant agreement 511159-TEMPUS-1-
2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps
Project Consortium:
             Birzeit University, Palestine
                                                           University of Trento, Italy
             (Coordinator )


             Palestine Polytechnic University, Palestine   Vrije Universiteit Brussel, Belgium


             Palestine Technical University, Palestine
                                                           Université de Savoie, France

             Ministry of Telecom and IT, Palestine
                                                           University of Namur, Belgium
             Ministry of Interior, Palestine
                                                           TrueTrust, UK
             Ministry of Local Government, Palestine


Coordinator:
Dr. Mustafa Jarrar
Birzeit University, P.O.Box 14- Birzeit, Palestine
Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011
                                                                                                 2
© Copyright Notes
Everyone is encouraged to use this material, or part of it, but should properly
cite the project (logo and website), and the author of that part.


No part of this tutorial may be reproduced or modified in any form or by any
means, without prior written permission from the project, who have the full
copyrights on the material.




                   Attribution-NonCommercial-ShareAlike
                                CC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-
commercially, as long as they credit you and license their new creations
under the identical terms.

                                    PalGov © 2011                                 3
Tutorial Map



           Intended Learning Objectives
A: Knowledge and Understanding
                                                                                    Title                    T    Name
 3a1: Demonstrate knowledge of the fundamentals of middleware.
 3a2: Describe the concept behind web service protocols.
                                                                     Session0: Syllabus and overview         0   Aldasht
 3a3: Explain the concept of service oriented architecture.          Sesson1: Introduction to SOA            2   Aldasht
 3a4: Explain the concept of enterprise service bus.                 Session2: XML namespaces & XML schema   2   Aldasht
 3a5: Understanding WSDL service interfaces in UDDI.                 Session 3: Xpath & Xquery               4   Romi
B: Intellectual Skills                                               Session4: REST web services             3   M. Melhem
 3b1: Design, develop, and deploy applications based on Service      Session5: Lab2: Practice on REST        3   M. Melhem
 Oriented Architecture (SOA).                                        Session 6: SOAP                         2   Aldasht
 3b2: use Business Process Execution Language (BPEL).                Session 7: WSDL                         3   Aldasht
 3b3: using WSDL to describe web services.
                                                                     Session8: Lab 3: WSDL practice          3   Aldasht
C: Professional and Practical Skills                                 Session9: ESB                           4   Aldasht
 3c1: setup, Invoke, and deploy web services using integrated
                                                                     Session10: Lab4: Practice on ESB        4   Aldasht
 development environment.
                                                                     Session11: integration patterns         4   M. Melhem
 3c2: construct and use REST and SOAP messages for web
 services communication.                                             Session12: Lab5: integration patterns   4   M. Melhem
D: General and Transferable Skills                                   Session13: BPEL                         3   Aldasht
 d1: Working with team.                                              Session14: Lab6: Practice on BPEL       3   Aldasht
 d2: Presenting and defending ideas.                                 Session15: UDDI                         2   Aldasht
 d3: Use of creativity and innovation in problem solving.
 d4: Develop communication skills and logical reasoning abilities.
Session 10: ESB

                        Session ILOs
After completing this session students will be able to:
1. Explain the concept of enterprise service bus
2. Setup, invoke and deploy web services.
Session Outlines

  Introduction
      ESB functions
    ESB role
    ESB Components
    Service invocation
    ESB Routing Facilities
    ESB example (Biztalk)
Introduction

•   Using         point-to-point
    integration approach leads
    to unreliable, insecure,
    non-monitorable and in
    general    non-manageable
    communication channels
    between applications.
•   Process logic and data
    transformation logic is
    encoded        into      the
    applications.

                                   Tightly-coupled applications, Source [6]
Introduction

•   In an ESB architecture all
    kinds of applications are
    provided as business services
    and connected via reliable,
    secure and        manageable
    virtual channels.
•   Process orchestration and
    data transformation logic can
    be moved to the bus
•   Process interactions can be
    performed in a controlled
    manner
•   The ESB is an innovative
    approach      to    enterprise
                                     Integrate all kinds of applications using
    application integration (EAI)    a centralized EAI broker, Source [6]
Introduction: definitions

• The ESB is a new approach to integration that supports a
  loosely coupled, highly distributed integration network [1].
   – Shortly, a standards-based integration platform

• Also, we can say that an ESB is a flexible connectivity
  infrastructure for integrating applications and services [4].
ESB 4 functions [4]

• An ESB performs the following between requestor
  and service:
  – Routing messages between services.

  – Converting transport protocols between requestor and
    service.

  – Transforming message format between requestor and
    service.

  – Handling business events between different sources.
Session Outlines

  Introduction
      ESB functions
    ESB role
    ESB Components
    Service invocation
    ESB Routing Facilities
    ESB example (Biztalk)
SOA Role


• SOA decouples interfaces from applications.

• The number and complexity of interfaces is reduced.

• Business applications and their interfaces become reusable.

• Interfaces tightly coupled with point-to-point connections
SOA Role




Application      Application     Application           Service          Service     Service

                                                       Interface        Interface   Interface




                                                       Interface        Interface   Interface
Application      Application     Application

                                                       Service          Service     Service

       = Interface
                                    Source, IBM education assistant:
                           http://publib.boulder.ibm.com/infocenter/ieduasst
ESB Role



• ESB decouples the point to point connections from the interfaces.

• More flexible coupling and decoupling of applications

• Enables for finding applications and interfaces for reuse.

• Add or modify services faster and with less impact on existing
  services.
ESB Role




Service       Service           Service               Service          Service     Service

Interface    Interface          Interface

                                                              Enterprise Service Bus

Interface    Interface          Interface

Service       Service           Service               Service          Service     Service


                                  Source, IBM education assistant:
                         http://publib.boulder.ibm.com/infocenter/ieduasst
ESB role

• In an ESB, applications and event-driven services are tied
  together in an SOA in a loosely coupled fashion.
• An ESB provides the implementation backbone for an SOA.
• An ESB provides a loosely coupled, event-driven SOA with a
  highly distributed universe of named routing destinations across
  a multiprotocol message bus.
• Applications (and integration components) in the ESB are
  abstractly decoupled from each other, and connect together
  through the bus as logical endpoints that are exposed as event-
  driven services.
ESB forms a pervasive grid that can span a global enterprise network, Source [5]
Some ESB Characteristics

• Standards-Based Integration [1].
   – ESB can utilize J2EE components for connectivity.
   – ESB also integrates with applications built with .NET, COM, C#, and
     C/C++.
   – Can easily integrate with anything that supports SOAP and web-
     services APIs.
• Distributed Data Transformation.
   – Transformation services can be located anywhere and accessible from
     anywhere on the bus
• Remote Configuration and Management.
   – Local IT staff can't always be at each remote location
Session Outlines

  Introduction
      ESB functions
    ESB role
    ESB Components
    Service invocation
    ESB Routing Facilities
    ESB example (Biztalk)
ESB Components




3 key components of an ESB architecture: MOM, Service container, and Management facility, Source [5]
Message Oriented Middleware (MOM)


• A MOM is a key part of the ESB architecture [1].
   – It provides a network of virtual channels that an ESB uses to
     route messages throughout an enterprise and beyond.
• In a MOM-based communication environment,
  messages are usually sent and received asynchronously
• MOM in combination with message queues are
  fundamental components of the ESB
Message Oriented Middleware




             Source, [1]
Tightly Coupled Versus Loosely Coupled
    Interfaces

• Synchronous RPC-Style Programming [1]:
   – Technologies that predominantly use RPC-style communication include:
     CORBA, RMI, DCOM, Sun-RPC, Java API for XML-RPC (JAX-RPC)

   – Synchronous RPC-based interactions consist of multiple point-to-point
     integrations that depend on each other.

   – Minimum number of application interfaces is n(n-1)/2

• Asynchronous message-based interfaces are much more loosely
  coupled and manageable
Where MOM fits?




The shift from synchronous remote calls to asynchronous message exchange, Source [5]
Asynchronous Messaging Models




Point-to-point and publish-subscribe messaging models, Source [5].
Service Container




Connecting services to the ESB using ESB endpoints that are managed by a service
                                container, Source [5]
Management Facility

• ESB centrally manages its decentralized infrastructure

• Each ESB, therefore, has a powerful and versatile
  management facility, which consists of:
   – A central repository

   – A network of management servers

   – Management interfaces at message servers and service containers

   – Different configuration, management and monitoring tools.
Session Outlines

  Introduction
      ESB functions
    ESB role
    ESB Components
    Service invocation
    ESB Routing Facilities
    ESB example (Biztalk)
Service invocation model


• A typical SOA uses the find/bind/invoke model
• This model assumes that there is a registry or a
  directory that stores the location and metadata about a
  service implementation
   • In the "find" operation, the service client does a lookup in
     the registry for the service, using certain criteria, like names.
   • The "bind" operation, for a web services request could
     simply mean doing an HTTP connect.
   • The "invoke" operation, means sending a message or
     invoking a remote procedure.
ESB Service Invocation

• ESB has the concept of a registry or directory service in which
  information about service endpoints is stored

• An inherent find/bind/invoke operation occurs as part of the ESB
  mechanics, but it is separated out from the business logic.

• In    an   asynchronous     ESB    environment,     the   set   of
  find/bind/invoke operations may actually map to sending an
  XML message to a queue and processing the reply.

• The means by which the find/bind/invoke operations are defined,
  is through configuration and deployment tools.
Steps of service invocation

1. XML messages are received by the service from an entry
   endpoint that is managed by the service container.

2. Upon conclusion of its task, the service implementation
   places its output message in the exit endpoint.

3. The output of the service is the reply, which the ESB routes
   to the next step or back to the request.
Session Outlines

  Introduction
      ESB functions
    ESB role
    ESB Components
    Service invocation
    ESB Routing Facilities
    ESB example (Biztalk)
ESB Routing mechanisms

• ESB basically provides 3 routing mechanisms thereby
  invoking multiple business services:
   – Itinerary-based routing.

   – Service orchestration using BPEL.

   – Content-based routing.
Itinerary-Based Routing

• Message itineraries (routes) are key to enabling a highly
  distributed SOA across an ESB.

• In order to route a message through the bus, each message
  contains an itinerary.

• The itinerary consists of a list of ESB endpoints that have to be
  visited and the information about already visited ESB endpoints.

• The message payload contains the current processing state.
An ESB itinerary represents a distributed
business process




              Source, [1]
Itinerary-based routing in an ESB




              Source, [5]
Service Orchestration using BPEL

• Used to manage long-running business processes that might
  run for months or years.

• A BPEL process definition consists of a number of logical steps
  that are connected to each other by conditional or unconditional
  links and can be executed in sequence or in parallel.

• A BPEL process definition also allows to define time-based,
  condition-based and event-based triggers.

• As in the itinerary based routing, each logical step refers to an
  ESB endpoint
Service orchestration using BPEL




             Source, [5]
Content-Based Routing (CBR)

• Based on the fact that XML processing services with different
  capabilities are plugged into the bus.

• They basically allow to validate, enrich, transform, route and
  operate XML messages.

• Combinations of these services allow to form lightweight processes
  with the purpose to process messages.

• Such a lightweight process is plugged as CBR service into the
  message flow between a message producer and a message consumer
Content-based routing in an ESB




             Source, [5]
Session Outlines

  Introduction
      ESB functions
    ESB role
    ESB Components
    Service invocation
    ESB Routing Facilities
    ESB example (Biztalk)
Microsoft BizTalk Server

• Referred to as "BizTalk“
• An Enterprise Service Bus (ESB) created by Microsoft.
• It enables companies to automate business processes
   – Through the use of "adapters" which are tailored to communicate with
     different software systems used in an enterprise.
• Provides the following functions:
   –   Enterprise application integration.
   –   Business process automation.
   –   Business-To-Business communication.
   –   Message broker.
   –   Business activity monitoring.
Biztalk main competitors

• Commercial:
   – WebSphere by IBM
   – webMethods by Software AG
   – Oracle Enterprise Service Bus (BEA Logic)
• Open source:
   –   Apache ServiceMix
   –   Apache Synapse
   –   JBoss ESB
   –   NetKernel
Architecture

• The BizTalk Server runtime is built on a publish/subscribe
  architecture, sometimes called "content-based publish/subscribe".
   – Messages are published into BizTalk, transformed to the desired format, and
     then routed to one or more subscribers.
• BizTalk makes processing safe by serialization (called dehydration
  in Biztalk's terminology)
   – Placing messages into a database while waiting for external events, thus
     preventing data loss.
• This architecture binds BizTalk with Microsoft SQL Server.
• Processing flow can be tracked by administrators using an
  Administration Console
BizTalk Server Messaging engine

• Enables users to create business processes that spans multiple
  applications by providing two primary things:
   – A way to specify and implement the logic driving that business process

   – A mechanism for communicating across the applications that the
     business process uses
BizTalk Server engine

•   Send and receive adapters, use the
    appropriate      mechanism        to
    communicate with receiver and
    sender applications respectively.
•   Receive and send pipelines,
    convert between XML format used
    by BizTalk Server and the format
    required the external application,
    validate/add a digital signature,
    etc…
•   Business      process    logic    is
    implemented as one or more
    orchestrations, each of which
    consists of executable code.
•   MessageBox, a database where the
    message is delivered into and is
    implemented using Microsoft SQL
    Server.
Different people perform different functions
      using the BizTalk Server engine

• A BizTalk application wraps orchestrations, pipelines,
  message schemas, etc. into a single logical unit
   – Which is an abstraction for management and deployment
• Three roles are necessary to create and maintain BizTalk
  Server solutions, this done by:
   – A business analyst: to define the rules and behaviors that
     make up a business process.
   – A developer can create a BizTalk application that implements
     the business process.
   – An administrator: setting up communication among the parts,
     deploying the BizTalk application.
Biztalk Application Example (Practical
      Session)
• Before start:
   – Install BizTalk server on a single-computer environment
   – Do the basic configuration
• We will create and build the first project in the enterprise
  application integration (EAI) solution.
   – The project contains message schemas, and a map.
• Then, we will create the business process that routes the
  messages and evaluates the contents of the request message.
• Then, we will learn administering BizTalk Server artifacts by
  using the BizTalk Server Administration Console, as follows:
   – Deploy the project
   – Configure and start the application
   – Test the solution
Summary

During this module we have introduced the concept of enterprise
    service bus; we have covered the following:
       1.   ESB role
       2.   ESB components
       3.   Service invocation
       4.   ESB Routing Facilities
       5.   BizTalk
Next module will cover the SOA design and Integration Patterns
References

1. Dave Chappell, “Enterprise Service Bus”, O'Reilly, June 2004.
2. Eric Newcomer, Greg Lomow, “Understanding SOA with Web Services”, Addison
   Wesley Professional, December 2004.
3. Steve Graham, Doug Davis, Simeon Simeonov, Glen Daniels, Peter Brittenham,
   Yuichi Nakamura, Paul Fremantle, Dieter König and Claudia Zentner, “Building Web
   Services with Java, making sense of XML, SOAP, WSDL and UDDI”, Second Edition,
   Sams Publishing, 2005.
4. Extracted               from           IBM             education            assistant:
   http://publib.boulder.ibm.com/infocenter/ieduasst, 9/2011.
5. Martin Breest, “An Introduction to the Enterprise Service Bus”, Hasso-Plattner-
   Institute for IT Systems Engineering at the University of Potsdam, Prof.-Dr.-Helmert-
   Str. 2-3, D-14482 Potsdam, Germany, 2006.
Thanks
Mohammed Aldasht

More Related Content

Viewers also liked

Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Mustafa Jarrar
 
Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Mustafa Jarrar
 
Pal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaPal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaMustafa Jarrar
 
Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Mustafa Jarrar
 
Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Mustafa Jarrar
 
Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Mustafa Jarrar
 
Pal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiPal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiMustafa Jarrar
 
Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)Mustafa Jarrar
 
Pal gov.tutorial3.session7
Pal gov.tutorial3.session7Pal gov.tutorial3.session7
Pal gov.tutorial3.session7Mustafa Jarrar
 
Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Mustafa Jarrar
 
Business Process Modeling Notation Fundamentals
Business Process Modeling Notation FundamentalsBusiness Process Modeling Notation Fundamentals
Business Process Modeling Notation FundamentalsMustafa Jarrar
 

Viewers also liked (11)

Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5Pal gov.tutorial3.session12.lab5
Pal gov.tutorial3.session12.lab5
 
Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6Pal gov.tutorial3.session14.lab6
Pal gov.tutorial3.session14.lab6
 
Pal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schemaPal gov.tutorial3.session2.xml ns and schema
Pal gov.tutorial3.session2.xml ns and schema
 
Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3Pal gov.tutorial3.session8.lab3
Pal gov.tutorial3.session8.lab3
 
Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2Pal gov.tutorial3.session5.lab2
Pal gov.tutorial3.session5.lab2
 
Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4Pal gov.tutorial3.session10.lab4
Pal gov.tutorial3.session10.lab4
 
Pal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddiPal gov.tutorial3.session15.uddi
Pal gov.tutorial3.session15.uddi
 
Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)Pal gov.tutorial3.session3.xpath & xquery (lab1)
Pal gov.tutorial3.session3.xpath & xquery (lab1)
 
Pal gov.tutorial3.session7
Pal gov.tutorial3.session7Pal gov.tutorial3.session7
Pal gov.tutorial3.session7
 
Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14Pal gov.tutorial1.session13 14
Pal gov.tutorial1.session13 14
 
Business Process Modeling Notation Fundamentals
Business Process Modeling Notation FundamentalsBusiness Process Modeling Notation Fundamentals
Business Process Modeling Notation Fundamentals
 

Similar to Here are some key characteristics of an ESB:- Standards-based integration using open protocols like SOAP, HTTP, JMS, etc. - Distributed architecture that allows services and components to be distributed across an enterprise network.- Centralized routing and mediation of all integration logic and data transformation. - Remote management and configuration of services from a central location.- Support for asynchronous and synchronous messaging patterns.- Dynamic discovery of services through a registry like UDDI.- Loose coupling between services through abstract interfaces defined in WSDL.- Policy-based governance and management of services.So in summary, an ESB provides a standards-based distributed integration backbone

Pal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outlinePal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outlineMustafa Jarrar
 
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...eMadrid network
 
Mule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMuthu Guru Rathinesh G
 
Enterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxEnterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxcirek63365
 
A Component-Based Approach For Service Distribution In Sensor Networks
A Component-Based Approach For Service Distribution In Sensor NetworksA Component-Based Approach For Service Distribution In Sensor Networks
A Component-Based Approach For Service Distribution In Sensor NetworksKim Daniels
 
Cloud Aware Large Scale Distributed SOA
Cloud Aware Large Scale Distributed SOACloud Aware Large Scale Distributed SOA
Cloud Aware Large Scale Distributed SOAChristophe Hamerling
 
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...WSO2
 
VidyaBhooshanMishra_CV
VidyaBhooshanMishra_CVVidyaBhooshanMishra_CV
VidyaBhooshanMishra_CVLandis+Gyr
 
15 falko menge--_enterpise_service_bus
15 falko menge--_enterpise_service_bus15 falko menge--_enterpise_service_bus
15 falko menge--_enterpise_service_buslmphuong06
 
Enterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBEnterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBWSO2
 
Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...eSAT Journals
 

Similar to Here are some key characteristics of an ESB:- Standards-based integration using open protocols like SOAP, HTTP, JMS, etc. - Distributed architecture that allows services and components to be distributed across an enterprise network.- Centralized routing and mediation of all integration logic and data transformation. - Remote management and configuration of services from a central location.- Support for asynchronous and synchronous messaging patterns.- Dynamic discovery of services through a registry like UDDI.- Loose coupling between services through abstract interfaces defined in WSDL.- Policy-based governance and management of services.So in summary, an ESB provides a standards-based distributed integration backbone (20)

Pal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outlinePal gov.tutorial3.session0.outline
Pal gov.tutorial3.session0.outline
 
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
2011 01-14 (ucm) e madrid griffiths ub oferta de servicios flexibles para ims...
 
Mule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh gMule fundamentals muthu guru rathinesh g
Mule fundamentals muthu guru rathinesh g
 
Np lab
Np labNp lab
Np lab
 
Enterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docxEnterprise Service Bus Features and Advantages.docx
Enterprise Service Bus Features and Advantages.docx
 
CV_AmitVohra
CV_AmitVohraCV_AmitVohra
CV_AmitVohra
 
A Component-Based Approach For Service Distribution In Sensor Networks
A Component-Based Approach For Service Distribution In Sensor NetworksA Component-Based Approach For Service Distribution In Sensor Networks
A Component-Based Approach For Service Distribution In Sensor Networks
 
Cloud Aware Large Scale Distributed SOA
Cloud Aware Large Scale Distributed SOACloud Aware Large Scale Distributed SOA
Cloud Aware Large Scale Distributed SOA
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 
Bhanu_Pottipareddy_CV
Bhanu_Pottipareddy_CVBhanu_Pottipareddy_CV
Bhanu_Pottipareddy_CV
 
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
 
VidyaBhooshanMishra_CV
VidyaBhooshanMishra_CVVidyaBhooshanMishra_CV
VidyaBhooshanMishra_CV
 
Anchal_5Jan_New
Anchal_5Jan_NewAnchal_5Jan_New
Anchal_5Jan_New
 
Abhilash_Documentum
Abhilash_Documentum Abhilash_Documentum
Abhilash_Documentum
 
Abhilash_Documentum
Abhilash_Documentum Abhilash_Documentum
Abhilash_Documentum
 
CS-802 Act-1.ppt
CS-802 Act-1.pptCS-802 Act-1.ppt
CS-802 Act-1.ppt
 
15 falko menge--_enterpise_service_bus
15 falko menge--_enterpise_service_bus15 falko menge--_enterpise_service_bus
15 falko menge--_enterpise_service_bus
 
Enterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESBEnterprise Integration with WSO2 ESB
Enterprise Integration with WSO2 ESB
 
Resume
ResumeResume
Resume
 
Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...Integration of a web portal and an erp through web service based implementati...
Integration of a web portal and an erp through web service based implementati...
 

More from Mustafa Jarrar

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisMustafa Jarrar
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal OntologyMustafa Jarrar
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course OutlineMustafa Jarrar
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process ImplementationMustafa Jarrar
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineeringMustafa Jarrar
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsMustafa Jarrar
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs Mustafa Jarrar
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process ManagementMustafa Jarrar
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology Mustafa Jarrar
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesMustafa Jarrar
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORMMustafa Jarrar
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineMustafa Jarrar
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesMustafa Jarrar
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalMustafa Jarrar
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsMustafa Jarrar
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingMustafa Jarrar
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Mustafa Jarrar
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsMustafa Jarrar
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Mustafa Jarrar
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql ProjectMustafa Jarrar
 

More from Mustafa Jarrar (20)

Clustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment AnalysisClustering Arabic Tweets for Sentiment Analysis
Clustering Arabic Tweets for Sentiment Analysis
 
Classifying Processes and Basic Formal Ontology
Classifying Processes  and Basic Formal OntologyClassifying Processes  and Basic Formal Ontology
Classifying Processes and Basic Formal Ontology
 
Discrete Mathematics Course Outline
Discrete Mathematics Course OutlineDiscrete Mathematics Course Outline
Discrete Mathematics Course Outline
 
Business Process Implementation
Business Process ImplementationBusiness Process Implementation
Business Process Implementation
 
Business Process Design and Re-engineering
Business Process Design and Re-engineeringBusiness Process Design and Re-engineering
Business Process Design and Re-engineering
 
BPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical ConstructsBPMN 2.0 Analytical Constructs
BPMN 2.0 Analytical Constructs
 
BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs  BPMN 2.0 Descriptive Constructs
BPMN 2.0 Descriptive Constructs
 
Introduction to Business Process Management
Introduction to Business Process ManagementIntroduction to Business Process Management
Introduction to Business Process Management
 
Customer Complaint Ontology
Customer Complaint Ontology Customer Complaint Ontology
Customer Complaint Ontology
 
Subset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion RulesSubset, Equality, and Exclusion Rules
Subset, Equality, and Exclusion Rules
 
Schema Modularization in ORM
Schema Modularization in ORMSchema Modularization in ORM
Schema Modularization in ORM
 
On Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in PalestineOn Computer Science Trends and Priorities in Palestine
On Computer Science Trends and Priorities in Palestine
 
Lessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online CoursesLessons from Class Recording & Publishing of Eight Online Courses
Lessons from Class Recording & Publishing of Eight Online Courses
 
Presentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-finalPresentation curras paper-emnlp2014-final
Presentation curras paper-emnlp2014-final
 
Jarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 CallsJarrar: Future Internet in Horizon 2020 Calls
Jarrar: Future Internet in Horizon 2020 Calls
 
Habash: Arabic Natural Language Processing
Habash: Arabic Natural Language ProcessingHabash: Arabic Natural Language Processing
Habash: Arabic Natural Language Processing
 
Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing Adnan: Introduction to Natural Language Processing
Adnan: Introduction to Natural Language Processing
 
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 ProposalsRiestra: How to Design and engineer Competitive Horizon 2020 Proposals
Riestra: How to Design and engineer Competitive Horizon 2020 Proposals
 
Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020Bouquet: SIERA Workshop on The Pillars of Horizon2020
Bouquet: SIERA Workshop on The Pillars of Horizon2020
 
Jarrar: Sparql Project
Jarrar: Sparql ProjectJarrar: Sparql Project
Jarrar: Sparql Project
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Here are some key characteristics of an ESB:- Standards-based integration using open protocols like SOAP, HTTP, JMS, etc. - Distributed architecture that allows services and components to be distributed across an enterprise network.- Centralized routing and mediation of all integration logic and data transformation. - Remote management and configuration of services from a central location.- Support for asynchronous and synchronous messaging patterns.- Dynamic discovery of services through a registry like UDDI.- Loose coupling between services through abstract interfaces defined in WSDL.- Policy-based governance and management of services.So in summary, an ESB provides a standards-based distributed integration backbone

  • 1. ‫أكاديمية الحكومة اإللكترونية الفلسطينية‬ The Palestinian eGovernment Academy www.egovacademy.ps Tutorial III: Process Integration and Service Oriented Architectures Session 10 ESB Prepared By Mohammed Aldasht PalGov © 2011 1
  • 2. About This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the Commission of the European Communities, grant agreement 511159-TEMPUS-1- 2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps Project Consortium: Birzeit University, Palestine University of Trento, Italy (Coordinator ) Palestine Polytechnic University, Palestine Vrije Universiteit Brussel, Belgium Palestine Technical University, Palestine Université de Savoie, France Ministry of Telecom and IT, Palestine University of Namur, Belgium Ministry of Interior, Palestine TrueTrust, UK Ministry of Local Government, Palestine Coordinator: Dr. Mustafa Jarrar Birzeit University, P.O.Box 14- Birzeit, Palestine Telfax:+972 2 2982935 mjarrar@birzeit.eduPalGov © 2011 2
  • 3. © Copyright Notes Everyone is encouraged to use this material, or part of it, but should properly cite the project (logo and website), and the author of that part. No part of this tutorial may be reproduced or modified in any form or by any means, without prior written permission from the project, who have the full copyrights on the material. Attribution-NonCommercial-ShareAlike CC-BY-NC-SA This license lets others remix, tweak, and build upon your work non- commercially, as long as they credit you and license their new creations under the identical terms. PalGov © 2011 3
  • 4. Tutorial Map Intended Learning Objectives A: Knowledge and Understanding Title T Name 3a1: Demonstrate knowledge of the fundamentals of middleware. 3a2: Describe the concept behind web service protocols. Session0: Syllabus and overview 0 Aldasht 3a3: Explain the concept of service oriented architecture. Sesson1: Introduction to SOA 2 Aldasht 3a4: Explain the concept of enterprise service bus. Session2: XML namespaces & XML schema 2 Aldasht 3a5: Understanding WSDL service interfaces in UDDI. Session 3: Xpath & Xquery 4 Romi B: Intellectual Skills Session4: REST web services 3 M. Melhem 3b1: Design, develop, and deploy applications based on Service Session5: Lab2: Practice on REST 3 M. Melhem Oriented Architecture (SOA). Session 6: SOAP 2 Aldasht 3b2: use Business Process Execution Language (BPEL). Session 7: WSDL 3 Aldasht 3b3: using WSDL to describe web services. Session8: Lab 3: WSDL practice 3 Aldasht C: Professional and Practical Skills Session9: ESB 4 Aldasht 3c1: setup, Invoke, and deploy web services using integrated Session10: Lab4: Practice on ESB 4 Aldasht development environment. Session11: integration patterns 4 M. Melhem 3c2: construct and use REST and SOAP messages for web services communication. Session12: Lab5: integration patterns 4 M. Melhem D: General and Transferable Skills Session13: BPEL 3 Aldasht d1: Working with team. Session14: Lab6: Practice on BPEL 3 Aldasht d2: Presenting and defending ideas. Session15: UDDI 2 Aldasht d3: Use of creativity and innovation in problem solving. d4: Develop communication skills and logical reasoning abilities.
  • 5. Session 10: ESB Session ILOs After completing this session students will be able to: 1. Explain the concept of enterprise service bus 2. Setup, invoke and deploy web services.
  • 6. Session Outlines  Introduction  ESB functions  ESB role  ESB Components  Service invocation  ESB Routing Facilities  ESB example (Biztalk)
  • 7. Introduction • Using point-to-point integration approach leads to unreliable, insecure, non-monitorable and in general non-manageable communication channels between applications. • Process logic and data transformation logic is encoded into the applications. Tightly-coupled applications, Source [6]
  • 8. Introduction • In an ESB architecture all kinds of applications are provided as business services and connected via reliable, secure and manageable virtual channels. • Process orchestration and data transformation logic can be moved to the bus • Process interactions can be performed in a controlled manner • The ESB is an innovative approach to enterprise Integrate all kinds of applications using application integration (EAI) a centralized EAI broker, Source [6]
  • 9. Introduction: definitions • The ESB is a new approach to integration that supports a loosely coupled, highly distributed integration network [1]. – Shortly, a standards-based integration platform • Also, we can say that an ESB is a flexible connectivity infrastructure for integrating applications and services [4].
  • 10. ESB 4 functions [4] • An ESB performs the following between requestor and service: – Routing messages between services. – Converting transport protocols between requestor and service. – Transforming message format between requestor and service. – Handling business events between different sources.
  • 11. Session Outlines  Introduction  ESB functions  ESB role  ESB Components  Service invocation  ESB Routing Facilities  ESB example (Biztalk)
  • 12. SOA Role • SOA decouples interfaces from applications. • The number and complexity of interfaces is reduced. • Business applications and their interfaces become reusable. • Interfaces tightly coupled with point-to-point connections
  • 13. SOA Role Application Application Application Service Service Service Interface Interface Interface Interface Interface Interface Application Application Application Service Service Service = Interface Source, IBM education assistant: http://publib.boulder.ibm.com/infocenter/ieduasst
  • 14. ESB Role • ESB decouples the point to point connections from the interfaces. • More flexible coupling and decoupling of applications • Enables for finding applications and interfaces for reuse. • Add or modify services faster and with less impact on existing services.
  • 15. ESB Role Service Service Service Service Service Service Interface Interface Interface Enterprise Service Bus Interface Interface Interface Service Service Service Service Service Service Source, IBM education assistant: http://publib.boulder.ibm.com/infocenter/ieduasst
  • 16. ESB role • In an ESB, applications and event-driven services are tied together in an SOA in a loosely coupled fashion. • An ESB provides the implementation backbone for an SOA. • An ESB provides a loosely coupled, event-driven SOA with a highly distributed universe of named routing destinations across a multiprotocol message bus. • Applications (and integration components) in the ESB are abstractly decoupled from each other, and connect together through the bus as logical endpoints that are exposed as event- driven services.
  • 17. ESB forms a pervasive grid that can span a global enterprise network, Source [5]
  • 18. Some ESB Characteristics • Standards-Based Integration [1]. – ESB can utilize J2EE components for connectivity. – ESB also integrates with applications built with .NET, COM, C#, and C/C++. – Can easily integrate with anything that supports SOAP and web- services APIs. • Distributed Data Transformation. – Transformation services can be located anywhere and accessible from anywhere on the bus • Remote Configuration and Management. – Local IT staff can't always be at each remote location
  • 19. Session Outlines  Introduction  ESB functions  ESB role  ESB Components  Service invocation  ESB Routing Facilities  ESB example (Biztalk)
  • 20. ESB Components 3 key components of an ESB architecture: MOM, Service container, and Management facility, Source [5]
  • 21. Message Oriented Middleware (MOM) • A MOM is a key part of the ESB architecture [1]. – It provides a network of virtual channels that an ESB uses to route messages throughout an enterprise and beyond. • In a MOM-based communication environment, messages are usually sent and received asynchronously • MOM in combination with message queues are fundamental components of the ESB
  • 23. Tightly Coupled Versus Loosely Coupled Interfaces • Synchronous RPC-Style Programming [1]: – Technologies that predominantly use RPC-style communication include: CORBA, RMI, DCOM, Sun-RPC, Java API for XML-RPC (JAX-RPC) – Synchronous RPC-based interactions consist of multiple point-to-point integrations that depend on each other. – Minimum number of application interfaces is n(n-1)/2 • Asynchronous message-based interfaces are much more loosely coupled and manageable
  • 24. Where MOM fits? The shift from synchronous remote calls to asynchronous message exchange, Source [5]
  • 25. Asynchronous Messaging Models Point-to-point and publish-subscribe messaging models, Source [5].
  • 26. Service Container Connecting services to the ESB using ESB endpoints that are managed by a service container, Source [5]
  • 27. Management Facility • ESB centrally manages its decentralized infrastructure • Each ESB, therefore, has a powerful and versatile management facility, which consists of: – A central repository – A network of management servers – Management interfaces at message servers and service containers – Different configuration, management and monitoring tools.
  • 28. Session Outlines  Introduction  ESB functions  ESB role  ESB Components  Service invocation  ESB Routing Facilities  ESB example (Biztalk)
  • 29. Service invocation model • A typical SOA uses the find/bind/invoke model • This model assumes that there is a registry or a directory that stores the location and metadata about a service implementation • In the "find" operation, the service client does a lookup in the registry for the service, using certain criteria, like names. • The "bind" operation, for a web services request could simply mean doing an HTTP connect. • The "invoke" operation, means sending a message or invoking a remote procedure.
  • 30. ESB Service Invocation • ESB has the concept of a registry or directory service in which information about service endpoints is stored • An inherent find/bind/invoke operation occurs as part of the ESB mechanics, but it is separated out from the business logic. • In an asynchronous ESB environment, the set of find/bind/invoke operations may actually map to sending an XML message to a queue and processing the reply. • The means by which the find/bind/invoke operations are defined, is through configuration and deployment tools.
  • 31. Steps of service invocation 1. XML messages are received by the service from an entry endpoint that is managed by the service container. 2. Upon conclusion of its task, the service implementation places its output message in the exit endpoint. 3. The output of the service is the reply, which the ESB routes to the next step or back to the request.
  • 32. Session Outlines  Introduction  ESB functions  ESB role  ESB Components  Service invocation  ESB Routing Facilities  ESB example (Biztalk)
  • 33. ESB Routing mechanisms • ESB basically provides 3 routing mechanisms thereby invoking multiple business services: – Itinerary-based routing. – Service orchestration using BPEL. – Content-based routing.
  • 34. Itinerary-Based Routing • Message itineraries (routes) are key to enabling a highly distributed SOA across an ESB. • In order to route a message through the bus, each message contains an itinerary. • The itinerary consists of a list of ESB endpoints that have to be visited and the information about already visited ESB endpoints. • The message payload contains the current processing state.
  • 35. An ESB itinerary represents a distributed business process Source, [1]
  • 36. Itinerary-based routing in an ESB Source, [5]
  • 37. Service Orchestration using BPEL • Used to manage long-running business processes that might run for months or years. • A BPEL process definition consists of a number of logical steps that are connected to each other by conditional or unconditional links and can be executed in sequence or in parallel. • A BPEL process definition also allows to define time-based, condition-based and event-based triggers. • As in the itinerary based routing, each logical step refers to an ESB endpoint
  • 38. Service orchestration using BPEL Source, [5]
  • 39. Content-Based Routing (CBR) • Based on the fact that XML processing services with different capabilities are plugged into the bus. • They basically allow to validate, enrich, transform, route and operate XML messages. • Combinations of these services allow to form lightweight processes with the purpose to process messages. • Such a lightweight process is plugged as CBR service into the message flow between a message producer and a message consumer
  • 40. Content-based routing in an ESB Source, [5]
  • 41. Session Outlines  Introduction  ESB functions  ESB role  ESB Components  Service invocation  ESB Routing Facilities  ESB example (Biztalk)
  • 42. Microsoft BizTalk Server • Referred to as "BizTalk“ • An Enterprise Service Bus (ESB) created by Microsoft. • It enables companies to automate business processes – Through the use of "adapters" which are tailored to communicate with different software systems used in an enterprise. • Provides the following functions: – Enterprise application integration. – Business process automation. – Business-To-Business communication. – Message broker. – Business activity monitoring.
  • 43. Biztalk main competitors • Commercial: – WebSphere by IBM – webMethods by Software AG – Oracle Enterprise Service Bus (BEA Logic) • Open source: – Apache ServiceMix – Apache Synapse – JBoss ESB – NetKernel
  • 44. Architecture • The BizTalk Server runtime is built on a publish/subscribe architecture, sometimes called "content-based publish/subscribe". – Messages are published into BizTalk, transformed to the desired format, and then routed to one or more subscribers. • BizTalk makes processing safe by serialization (called dehydration in Biztalk's terminology) – Placing messages into a database while waiting for external events, thus preventing data loss. • This architecture binds BizTalk with Microsoft SQL Server. • Processing flow can be tracked by administrators using an Administration Console
  • 45. BizTalk Server Messaging engine • Enables users to create business processes that spans multiple applications by providing two primary things: – A way to specify and implement the logic driving that business process – A mechanism for communicating across the applications that the business process uses
  • 46. BizTalk Server engine • Send and receive adapters, use the appropriate mechanism to communicate with receiver and sender applications respectively. • Receive and send pipelines, convert between XML format used by BizTalk Server and the format required the external application, validate/add a digital signature, etc… • Business process logic is implemented as one or more orchestrations, each of which consists of executable code. • MessageBox, a database where the message is delivered into and is implemented using Microsoft SQL Server.
  • 47. Different people perform different functions using the BizTalk Server engine • A BizTalk application wraps orchestrations, pipelines, message schemas, etc. into a single logical unit – Which is an abstraction for management and deployment • Three roles are necessary to create and maintain BizTalk Server solutions, this done by: – A business analyst: to define the rules and behaviors that make up a business process. – A developer can create a BizTalk application that implements the business process. – An administrator: setting up communication among the parts, deploying the BizTalk application.
  • 48. Biztalk Application Example (Practical Session) • Before start: – Install BizTalk server on a single-computer environment – Do the basic configuration • We will create and build the first project in the enterprise application integration (EAI) solution. – The project contains message schemas, and a map. • Then, we will create the business process that routes the messages and evaluates the contents of the request message. • Then, we will learn administering BizTalk Server artifacts by using the BizTalk Server Administration Console, as follows: – Deploy the project – Configure and start the application – Test the solution
  • 49. Summary During this module we have introduced the concept of enterprise service bus; we have covered the following: 1. ESB role 2. ESB components 3. Service invocation 4. ESB Routing Facilities 5. BizTalk Next module will cover the SOA design and Integration Patterns
  • 50. References 1. Dave Chappell, “Enterprise Service Bus”, O'Reilly, June 2004. 2. Eric Newcomer, Greg Lomow, “Understanding SOA with Web Services”, Addison Wesley Professional, December 2004. 3. Steve Graham, Doug Davis, Simeon Simeonov, Glen Daniels, Peter Brittenham, Yuichi Nakamura, Paul Fremantle, Dieter König and Claudia Zentner, “Building Web Services with Java, making sense of XML, SOAP, WSDL and UDDI”, Second Edition, Sams Publishing, 2005. 4. Extracted from IBM education assistant: http://publib.boulder.ibm.com/infocenter/ieduasst, 9/2011. 5. Martin Breest, “An Introduction to the Enterprise Service Bus”, Hasso-Plattner- Institute for IT Systems Engineering at the University of Potsdam, Prof.-Dr.-Helmert- Str. 2-3, D-14482 Potsdam, Germany, 2006.