SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Integration of Web
Service Stack in an
Enterprise Service Bus

Wen Zhu
Model Driven Solutions
www.modeldriven.com
Questions

 What is the relationship between Web
           Services and ESB?
And how they can work together in your
         composite application?




                                         2
Agenda
>   Background

>   ESB-Web Service Integration Approaches

>   Demo




                                             3
Background
>   Based on our work on Service Oriented
    Infrastructure (SOI) at a US large federal agency

>   Model Driven Solutions is a leading provider of
    professional services and products that leverage
    Services Oriented Architecture (SOA), Model
    Driven Architecture (MDA) and the Semantic Web
    techniques and standards.



                                                        4
Context
>   Objectives
      Establish principles and patterns for reuse, interoperability,
      and agility
      Elaborate the relationship of ESB and BPMS
      Focus on Open source, open standard based ESB
         More specially, Java EE5/JBI
>   ESB Products
      Apache ServiceMix v3.3 (IONA Fuse ESB 3.3.1.1)
      OpenESB v2 (Sun Java Application Server 9.1 Update 2)
      JBossESB 4.4 Plus
         JBoss Application Server 4.2.3
         JBossWS Metro Implementation 3.0.3


                                                                       5
Java Business Integration
                                    >   JBI
                                          Defined with in Java Community Process
              JBI                         (JCP) as JSR 208
                                          JBI Specification 1.0 published in 2005
                                          Standard basis for a Java EE based ESB
         Is a Standard for



             ESB
                                    >   ESB
                                          A pattern of middleware that unifies and
                                          connects services, applications and
  Is an Architectural Pattern for         resources
             SOA
                                    >   SOA
                                          An architectural style for a community of
                                          providers and consumers of services to
                                          achieve mutual value

                                                                                      6
Java Business Integration




                             NMR modeled
                             after MEP in
                             WSDL 2.0




                            Source: Apache ServiceMix



                                                        7
Approach
>   Refactoring a J2EE Web Service Application for ESB
      Reuse existing J2EE code
      Leverage ESB services
      Better Maintainability through policy management
>   As-Is Application
      J2EE Web Service Deployed as a WAR file
>   To-Be Application: (JBI) Composite Application
      Expose the same functional Web Service interface
      Separate infrastructure concerns from business logic
      Leverage components from Open Source communities




                                                             8
To-be Application Architecture
>   Mapping to ESB-specific
    components
                                                     JBI Composite Application
>   Issue:                           SOAP/HTTP                                       Other

     ESB Implementations rely     Binding Component

                                       Security
                                                                            Binding Components

                                                                                      File

     on Web Service Stacks        Reliable Messaging
                                    WS Transaction
                                                                                     Email
                                                                                     FTP

     A Web Service Stack            Service Engine
                                                                ESB
                                                           Service Engine        Service Engine

     provides both the web
     service endpoint and the        Transactional
                                     Process Flow
                                                            Transactional
                                                              Service
                                                                                   Validation
                                                                                     Logic


     service container contract



                                                                                                  9
Java API for XML-based Web Services
(JAX-WS)
>   Standard for developing SOAP based and RESTful Java
    Web services.
      Designed to replace JAX-RPC
      Release in 2006, currently version 2.1
>   Specification Contents
      WSDL Mapping
      API
        Client API
        Service API
        Core API
      Annotations
      Customization
>   Our focus: Web Service Implementation at Runtime

                                                          10
Web Services Stacks
>   Examples:
      Metro
      Apache CXF
      JBossWS
        Native
        Metro
        CXF




                      11
Aspects of Web Service
>    A Service Container                                     Service API and
                                                             Annotations
    import javax.jws.WebService;
    @WebService
    public class EchoService {
               public String echo(String input){
                          return input;
               }
    }


>    A SOAP/REST Endpoint Provider
POST /EchoService HTTP/1.1
                                                                 WSDL Java
Host: www.example.com                                            WSDL Java
                                                                 Mapping
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
SOAPAction: "Some-URI"
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
        <soapenv:Body>
……
                                                                               12
Aspects of Web Service
>    Quality of Service Considerations

    <wsd:binding ……>
        <wsp:PolicyReference URI="PasswordAuthenticationOverSSL"/>
        <wsp:PolicyReference URI="ReliableMessaging"/>
    </wsdl:binding …..>

    <wsp:Policy wsu:Id="ReliableMessaging">
       <wsp:ExactlyOne>
          <wsp:All>
            <wsaws:UsingAddressing
                     xmlns:wsaws="http://www.w3.org/2006/05/addressing/wsdl"/>
            <wsrm:RMAssertion
                     xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"/>
         </wsp:All>
       </wsp:ExactlyOne>
    </wsp:Policy>
     <wsp:Policy wsu:Id="PasswordAuthenticationOverSSL“>
            ……




                                                                                 13
OpenESB-Metro Integration
>   Web Service Stack In the Binding Component
>   Service Hosted in the Application Server

          Service
          Implementation



                                                 QoS?




                                                   HTTP Endpoint




                                                                   14
OpenESB Composite Application

                                                       Glassfish


                             OpenESB Composite Application




                   SOAP BC             BPEL SE                     Java EE SE              EJB

  Service   SOAP                                                                        Web Service
                                                                                JAXWS
  Client                               (Business
                                    Rule Validation)




                                                                                                 JDBC




                                                                                          Oracle
                                                                                         Database



                                                                                                        15
OpenESB-Metro Integration:
Observations
>   Web Service Stack In the Binding Component
      Avoid Integration Issues
      Excellent QoS and Policy Support
>   Service Hosted in the Application Server
      Extra Component Required




                                                 16
ServiceMix-CXF Integration
>   Separate Components for Hosting Service Implementations and
    Exposing Web Service Endpoints




    QoS?




    HTTP Endpoint


                                                       Service
                                                       Implementation


                                                                    17
ServiceMix Composite Application
                                              ServiceMix




                   CXF BC      JMS BC               JMS BC          POJO           CXF SE
  Service   SOAP

  Client                                            (Start XA   (Business Rule
                                               Transaction)       Validation)




                            JMS/JCA                   JMS/JCA                          JAXWS

                                        JMS Queue                                Web Service




                                                                                        JDBC



                                                                                   Oracle
                                                                                  Database




                                                                                               18
ServiceMix-CXF Integration:
Observations
>   Separate Components for Hosting Service Implementations and
    Exposing Web Service Endpoints
       Clean Separation of Concerns
>   Introduced Additional Integration Issues
>   Transaction Management without an Application Server can
    be challenging




                                                                  19
JBossESB-JBossWS Integration
>   SOAP Processing Outside ESB




                                  20
JBossESB-JBossWS Integration
Approach
>   Alternative Approach



                           Can change to
                           support other
                           protocols




            SOAP
            Messages
            being passed



                                           21
Document Centric Architecture with ESB
and JAX-WS

                       Web
                                      Service          Persistence
                   Service                                              RDBMS
                                   Implementation             Tier
                   Stack
                             SEI
                             SEI
     XML/SOAP
     XML/SOAP

                JAXB
                JAXB               Java
                                   Java              O/R
                                                     O/R             Relational
                                                                     Relational
                                                    Mapping
                                                    Mapping            Data
                                                                       Data




>   Data mappings increase complexity and limit
    flexibility
      JAXB
      O/R
                                                                                  22
Document Centric Architecture with ESB
and JAX-WS

                                                            Java/
                                                            Java/
                                                            XSLT
                                                            XSLT



                      Web
                                                  Service                    XML
                     Service
                                              Implementation               Database
                      Stack
                                   JAX-WS
                                   JAX-WS
    XML/SOAP
    XML/SOAP                       Provider
                                   Provider
                                     API
                                     API                                   XML/
                                                                            XML/
                                                                           XPath
                                                                           XPath
                                                  Service
                                              Implementation
                                                                    XSLT
                                                                    XSLT




               Binding Component              Service Engine

                                                                                      23
Document Centric Architecture with ESB
and JAX-WS: Challenges
>   Technology Limitations
      Support for Provider-based API in the ESB
      Storing XML data in relational database
>   Readability/Maintainability

               Element person = ….
               String name = person.getAttribute("name");   Model Driven
                                                            Architecture
                                                            Helps!



               Person person = ….
               String name = person.getName();



                                                                           24
Question

How do I Preserve IT Investments in the
    Face of Technology Changes?




                                          25
No matter
                   which
                   technology
                   wins, the
                   business
                   requirement
                   remains.


Which technology
platform should
we choose?




                                 26
Model Driven Architecture for “Technology
Independent Service”                     Business Concerns
                                                                                                    OpenESB
                                          Business Concerns                            JBossESB
                                                                                             ServiceMix
                                                      Business Process
          Enterprise Challenges In The
          Face Of Technology Change:                                                                            BPEL
                                           Business Rule
          -Reusability                                                                        DROOLS?
          -Maintainability                         Quality of Service                                 Schema?
          -Interoperability
                                                           Business                      Platform
                                                                                                               XSLT?
                                                           Services                    Specific API
                                                                                            JAX-WS




                                                                                        Generates
                                                                                        executable artifacts
“Architecture Choice for a Changing World”                                              for a particular
                                                                                        technical
            - Object Management Group                                                   architecture

                                         Captures business
                                         concerns using
                                                                                             Generates            Executable
                                         standard tools and               Models
                                         notations                                                                  Artifact

                                         Addresses                                         Provisioning
                                         technology concerns                                   Tool
                                         such as
                                         interoperability,
                                                                         Technical
                                         scalability,
                                                                        Architecture
                                         maintainability and                                Specifies
                                         reusability                                                               Platform



                                                                                                                               27
What MDA is not…..
>   Model is not just pretty pictures
                                              Can run on a model
                                              Can run on a model
      Execution Semantic                             “VM”
                                                     “VM”


>   MDA is not just about code generation
      Especially not just about boiler plate code!




                                                               28
SoaML and Model Driven Architecture
(MDA)
                                           Computation Independent Model
                                           Computation Independent Model
    Stakeholders
    Stakeholders
 Business Drivers
 Business Drivers
                        Business Context
  As-Is Business
  As-Is Business                             Develop          Provide



                                                                                                                         Service Architecture
                        Plan and Design
                                           and Deliver      After Care

       Processes
       Processes                  Mission-Critical Value Chain
                                                                                               Information Model
                                                                             SOA Contracts
                           Value Chains

                                                                         Platform Independent Model
                                                                         Platform Independent Model

              As-Is Systems
                                                                                                                   Service Interface
              As-Is Systems

                                                                            Service-Oriented       Data Model
                                                                              Architecture
                                                                          Platform Specific Model/Implementation
                                                                          Platform Specific Model/Implementation
                          Open Source
                          Open Source                                               <wsdl:porttype
                                                                                                                          Service Provisioning
                        eGov Reference                                              >
                        eGov Reference                                                      …
                           Architecture
                           Architecture                                             </wsdl:portype
                                                                                    Web Services
                                                                                    >
                                                                                                      Components




                                                                                                                                            29
SoaML: Modeling Business Services
A services architecture describes how participants
A services architecture describes how participants
work together for a purpose by providing and using
work together for a purpose by providing and using
   services expressed as service contracts. It is
   services expressed as service contracts. It is                                        <<ServicesArchitecture>>                                              A participant represents some party
                                                                                                                                                                A participant represents some party
         modeled as a UML collaboration.
         modeled as a UML collaboration.                                    Solicitation Management Service Architecture
                                                                                                                                                                  that provides and/or consumes
                                                                                                                                                                   that provides and/or consumes
                                                                                                                                                               services. Participants may represent
                                                                                                                                                               services. Participants may represent
                                                                                                                                                                people, organizations or systems.
                                                                                                                                                                 people, organizations or systems.

                                           <<Participant>>       solicitation owner              <<ServiceContract>>
                                   : Solicitation Owner Agency                          : Solicitation Management Service               solicitation manager


                                                                                                                                                      <<Participant>>
                                                                                                                                                  : Solicitation Manager


                                               <<Participant>> vendor                                                                   solicitation manager
                                                                                                <<ServiceContract>>
                                                 : Vendor                                  : Vendor Solicitation Service
                                       type
                                                                                                                                                                type




                                                                                                                                                            <<Participant>>
                                   <<Participant>>                                                                <<ServicePoint>>                      Solicitation Manager
                            Solicitation Owner Agency                                                        <<ServicePoint Provisioning>>response
                                                        notification <<ServicePoint>>
                                                                                                                       <<ServicePoint>> solicitation


                                            A service contract is the specification of the
                                             A service contract is the specification of the
                                         agreement between providers and consumers of
                                         agreement between providers and consumers of
                                             a service as to what information, products,
                                             a service as to what information, products,                                                                     <<component>>
                                          assets, value and obligations will flow between
                                           assets, value and obligations will flow between                                                             Solicitation Management
                                          them. It specifies the service without regard for
                                           them. It specifies the service without regard for                                                                      Service
                                             realization, capabilities or implementation.
                                              realization, capabilities or implementation.
                                                                                                                                                                                             30
Provisioning for Technology Platforms
                                   <<JEE Provisioning>>
                                      <<Provision>>
                                   Java EE Server 1
                                                        {runtime = "GlassFish v2.1 Java EE 5"
                                                                                            }



                                             <<JEE Web Service>>               <<ServicePoint>>
        <<Entity Override>>                                              <<ServicePoint Provisioning>>
                                    : Solicitation Management Service
           : Response                                                    response
                                                                           {usedInterfaceAddress = "http://solicitationowner.gov/notify"   }

                                                                                                                  A components can be
                                                                                                                   A components can be
        <<Entity Override>>                                              <<ServicePoint>>
          : Solicitation
                                                                                                                  deployed on a specific
                                                                                                                  deployed on a specific
                                                                          solicitation
                                                                                                                   physical tier. A tier is
                                                                                                                   physical tier. A tier is
                                                                                                                 modeled as a UML node.
                                                                                                                 modeled as a UML node.




                                 <<JEE Provisioning>>
                                 Java EE Server 2                                                                    Service connections
                                                                                                                     Service connections
                                           {runtime = "JBoss v5.0"}
                                                                                                                   across tiers are modeled
                                                                                                                   across tiers are modeled
                                                                                                                      as UML assembly
                                                                                                                       as UML assembly
                                                                                                                        dependencies.
                                                                                                                        dependencies.
                                  <<JEE Web Service>>
                              : Solicitation Owner Agency




                                                                                                                                               31
ModelPro™ Project: The Open Source
Provisioning Engine           OMG SoaML
                                                               s
                                                            ent      UML Profile
                                                        l em
                                                  Imp
    ModelPro (ModelDriven.org)
     Open Source MDA Tools                                                  Uses

                                                                       Users SOA
                      SoaML Cartridge           Automates                Model
 ModelPro                   for
               Uses




Provisioning               JEE                                     Provisioning Model
  Engine
                                                                         UML Tool
                      Provisioning Profile           Uses



                                                   Manual               Automated
                                                   Platform               Platform
                       Application     Deploy
                                                  Application         Application & IDE
                                                   Artifacts              Artifacts

                                                Platform & Tools (E.G. Eclipse/Netbeans/.NET)   32
Demo




       33
ModelDriven.org
The Open Source Model Driven Community
>   Current Projects
      The ModelPro™ Project
      ModelPro™ Cartridge Projects
      Foundational UML Reference
      Implementation
>   Get Involved!




                                         34
Wen Zhu
wen-z@modeldriven.com




                        35

Contenu connexe

Tendances

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gGuido Schmutz
 
6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-s6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-sIBM
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudArun Gupta
 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)ejlp12
 
What is Semantic Service provisioning
What is Semantic Service provisioningWhat is Semantic Service provisioning
What is Semantic Service provisioningJosef Noll
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models JavaSOA Symposium
 
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013Microsoft Décideurs IT
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Arun Gupta
 
Cognos Technical Super Session 2012
Cognos Technical Super Session 2012Cognos Technical Super Session 2012
Cognos Technical Super Session 2012barnaby1502
 
Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Arun Gupta
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7WSO2
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationArun Gupta
 
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Arun Gupta
 
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty ProfileUsing WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty Profilet_quigly
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service BusFolio3 Software
 

Tendances (19)

Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Reusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11gReusing Existing Java EE Applications from SOA Suite 11g
Reusing Existing Java EE Applications from SOA Suite 11g
 
6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-s6 develop web20_with_rad-tim_frnacis_sarika-s
6 develop web20_with_rad-tim_frnacis_sarika-s
 
Oracle OSB Tutorial 2
Oracle OSB Tutorial 2Oracle OSB Tutorial 2
Oracle OSB Tutorial 2
 
The Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the CloudThe Java EE 7 Platform: Developing for the Cloud
The Java EE 7 Platform: Developing for the Cloud
 
WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)WebSphere Application Server Family (Editions Comparison)
WebSphere Application Server Family (Editions Comparison)
 
What is Semantic Service provisioning
What is Semantic Service provisioningWhat is Semantic Service provisioning
What is Semantic Service provisioning
 
Andre Tost Service Models Java
Andre  Tost    Service Models JavaAndre  Tost    Service Models Java
Andre Tost Service Models Java
 
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
Plongée en eaux profondes dans l'architecture du nouvel Exchange 2013
 
Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7Java Summit Chennai: Java EE 7
Java Summit Chennai: Java EE 7
 
Enterprise Service Bus Part 2
Enterprise Service Bus Part 2Enterprise Service Bus Part 2
Enterprise Service Bus Part 2
 
Cognos Technical Super Session 2012
Cognos Technical Super Session 2012Cognos Technical Super Session 2012
Cognos Technical Super Session 2012
 
Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011Java EE Technical Keynote at JavaOne Latin America 2011
Java EE Technical Keynote at JavaOne Latin America 2011
 
Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7Integrating with SAP FIX and HL7
Integrating with SAP FIX and HL7
 
TDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE ApplicationTDC 2011: OSGi-enabled Java EE Application
TDC 2011: OSGi-enabled Java EE Application
 
Enterprise Service Bus
Enterprise Service BusEnterprise Service Bus
Enterprise Service Bus
 
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
Java EE / GlassFish Strategy & Roadmap @ JavaOne 2011
 
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty ProfileUsing WebSphere MQ with WebSphere Application Server and the Liberty Profile
Using WebSphere MQ with WebSphere Application Server and the Liberty Profile
 
Introduction to Enterprise Service Bus
Introduction to Enterprise Service BusIntroduction to Enterprise Service Bus
Introduction to Enterprise Service Bus
 

En vedette

Service Integration - A Web of Things Perspective
Service Integration - A Web of Things PerspectiveService Integration - A Web of Things Perspective
Service Integration - A Web of Things PerspectiveSimon Mayer
 
Service Integration in the Web of Things
Service Integration in the Web of ThingsService Integration in the Web of Things
Service Integration in the Web of ThingsSimon Mayer
 
Oracle SOA Suite Overview - Integration in a Service-Oriented World
Oracle SOA Suite Overview - Integration in a Service-Oriented WorldOracle SOA Suite Overview - Integration in a Service-Oriented World
Oracle SOA Suite Overview - Integration in a Service-Oriented WorldOracleContractors
 
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3OTN Systems Hub
 
Modern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform SystemModern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform SystemJames Serra
 
Architecting a Data Warehouse: A Case Study
Architecting a Data Warehouse: A Case StudyArchitecting a Data Warehouse: A Case Study
Architecting a Data Warehouse: A Case StudyMark Ginnebaugh
 
Oracle Solaris Secure Cloud Infrastructure
Oracle Solaris Secure Cloud InfrastructureOracle Solaris Secure Cloud Infrastructure
Oracle Solaris Secure Cloud InfrastructureOTN Systems Hub
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSINGKing Julian
 
Building an Effective Data Warehouse Architecture
Building an Effective Data Warehouse ArchitectureBuilding an Effective Data Warehouse Architecture
Building an Effective Data Warehouse ArchitectureJames Serra
 

En vedette (10)

Service Integration - A Web of Things Perspective
Service Integration - A Web of Things PerspectiveService Integration - A Web of Things Perspective
Service Integration - A Web of Things Perspective
 
Service Integration in the Web of Things
Service Integration in the Web of ThingsService Integration in the Web of Things
Service Integration in the Web of Things
 
Oracle SOA Suite Overview - Integration in a Service-Oriented World
Oracle SOA Suite Overview - Integration in a Service-Oriented WorldOracle SOA Suite Overview - Integration in a Service-Oriented World
Oracle SOA Suite Overview - Integration in a Service-Oriented World
 
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
Oracle Solaris Simple, Flexible, Fast: Virtualization in 11.3
 
Modern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform SystemModern Data Warehousing with the Microsoft Analytics Platform System
Modern Data Warehousing with the Microsoft Analytics Platform System
 
Architecting a Data Warehouse: A Case Study
Architecting a Data Warehouse: A Case StudyArchitecting a Data Warehouse: A Case Study
Architecting a Data Warehouse: A Case Study
 
Oracle Solaris Secure Cloud Infrastructure
Oracle Solaris Secure Cloud InfrastructureOracle Solaris Secure Cloud Infrastructure
Oracle Solaris Secure Cloud Infrastructure
 
Oracle Solaris Overview
Oracle Solaris OverviewOracle Solaris Overview
Oracle Solaris Overview
 
DATA WAREHOUSING
DATA WAREHOUSINGDATA WAREHOUSING
DATA WAREHOUSING
 
Building an Effective Data Warehouse Architecture
Building an Effective Data Warehouse ArchitectureBuilding an Effective Data Warehouse Architecture
Building an Effective Data Warehouse Architecture
 

Similaire à Integration of Web Service Stacks in an Esb

Develop Web20 With Rad - Tim Frnacis Sarika S
Develop Web20 With Rad - Tim Frnacis Sarika SDevelop Web20 With Rad - Tim Frnacis Sarika S
Develop Web20 With Rad - Tim Frnacis Sarika SRoopa Nadkarni
 
Complex End-to-End Testing
Complex End-to-End TestingComplex End-to-End Testing
Complex End-to-End TestingErika Barron
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOAWSO2
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusIMC Institute
 
Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02kishore2526
 
Developing Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerDeveloping Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerGaurav Sharma
 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7Chris Sparshott
 
Real world integration using mule
Real world integration using muleReal world integration using mule
Real world integration using muleManav Prasad
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Archluohd
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
Web service through cxf
Web service through cxfWeb service through cxf
Web service through cxfRoger Xia
 
Windows Azure架构探析
Windows Azure架构探析Windows Azure架构探析
Windows Azure架构探析George Ang
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper DiveBIOVIA
 
Jax ws
Jax wsJax ws
Jax wsF K
 
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...Nathaniel Palmer
 

Similaire à Integration of Web Service Stacks in an Esb (20)

Develop Web20 With Rad - Tim Frnacis Sarika S
Develop Web20 With Rad - Tim Frnacis Sarika SDevelop Web20 With Rad - Tim Frnacis Sarika S
Develop Web20 With Rad - Tim Frnacis Sarika S
 
Complex End-to-End Testing
Complex End-to-End TestingComplex End-to-End Testing
Complex End-to-End Testing
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
Presentation
PresentationPresentation
Presentation
 
Mule ESB
Mule ESBMule ESB
Mule ESB
 
Presentation
PresentationPresentation
Presentation
 
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
 
Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02Websphereinterview 100725022705-phpapp02
Websphereinterview 100725022705-phpapp02
 
Developing Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic ServerDeveloping Web Services With Oracle Web Logic Server
Developing Web Services With Oracle Web Logic Server
 
Websphere Application Server v7
Websphere Application Server v7Websphere Application Server v7
Websphere Application Server v7
 
Enterprise Service Bus Part 1
Enterprise Service Bus Part 1Enterprise Service Bus Part 1
Enterprise Service Bus Part 1
 
Real world integration using mule
Real world integration using muleReal world integration using mule
Real world integration using mule
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
Web service through cxf
Web service through cxfWeb service through cxf
Web service through cxf
 
WCF
WCFWCF
WCF
 
Windows Azure架构探析
Windows Azure架构探析Windows Azure架构探析
Windows Azure架构探析
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
 
Jax ws
Jax wsJax ws
Jax ws
 
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...
Use of SOA and Web Services Technologies for EA Migration - Lessons Learned o...
 

Plus de Wen Zhu

Semantic Mediation Bus Presentation at VORTE 2012
Semantic Mediation Bus Presentation at VORTE 2012Semantic Mediation Bus Presentation at VORTE 2012
Semantic Mediation Bus Presentation at VORTE 2012Wen Zhu
 
Context Driven Delivery of Aeronautical Information
Context Driven Delivery of Aeronautical InformationContext Driven Delivery of Aeronautical Information
Context Driven Delivery of Aeronautical InformationWen Zhu
 
Cross domain security reference architecture
Cross domain security reference architectureCross domain security reference architecture
Cross domain security reference architectureWen Zhu
 
Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...
Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...
Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...Wen Zhu
 
Refactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESBRefactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESBWen Zhu
 
Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...
Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...
Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...Wen Zhu
 
Extending SOA Infrastructure for Semantic Interoperability
Extending SOA Infrastructure for Semantic InteroperabilityExtending SOA Infrastructure for Semantic Interoperability
Extending SOA Infrastructure for Semantic InteroperabilityWen Zhu
 
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...Wen Zhu
 

Plus de Wen Zhu (8)

Semantic Mediation Bus Presentation at VORTE 2012
Semantic Mediation Bus Presentation at VORTE 2012Semantic Mediation Bus Presentation at VORTE 2012
Semantic Mediation Bus Presentation at VORTE 2012
 
Context Driven Delivery of Aeronautical Information
Context Driven Delivery of Aeronautical InformationContext Driven Delivery of Aeronautical Information
Context Driven Delivery of Aeronautical Information
 
Cross domain security reference architecture
Cross domain security reference architectureCross domain security reference architecture
Cross domain security reference architecture
 
Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...
Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...
Semantic Mediation Bus: An Ontology-based Runtime Infrastructure for Service ...
 
Refactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESBRefactoring J2EE Application for a JBI-based ESB
Refactoring J2EE Application for a JBI-based ESB
 
Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...
Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...
Net-Enabled Test Environment: a Federated Approach to Establishing an Inter-a...
 
Extending SOA Infrastructure for Semantic Interoperability
Extending SOA Infrastructure for Semantic InteroperabilityExtending SOA Infrastructure for Semantic Interoperability
Extending SOA Infrastructure for Semantic Interoperability
 
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
Enhancing The Role Of A Large Us Federal Agency As An Intermediary In The Fed...
 

Dernier

Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 

Dernier (20)

Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 

Integration of Web Service Stacks in an Esb

  • 1. Integration of Web Service Stack in an Enterprise Service Bus Wen Zhu Model Driven Solutions www.modeldriven.com
  • 2. Questions What is the relationship between Web Services and ESB? And how they can work together in your composite application? 2
  • 3. Agenda > Background > ESB-Web Service Integration Approaches > Demo 3
  • 4. Background > Based on our work on Service Oriented Infrastructure (SOI) at a US large federal agency > Model Driven Solutions is a leading provider of professional services and products that leverage Services Oriented Architecture (SOA), Model Driven Architecture (MDA) and the Semantic Web techniques and standards. 4
  • 5. Context > Objectives Establish principles and patterns for reuse, interoperability, and agility Elaborate the relationship of ESB and BPMS Focus on Open source, open standard based ESB More specially, Java EE5/JBI > ESB Products Apache ServiceMix v3.3 (IONA Fuse ESB 3.3.1.1) OpenESB v2 (Sun Java Application Server 9.1 Update 2) JBossESB 4.4 Plus JBoss Application Server 4.2.3 JBossWS Metro Implementation 3.0.3 5
  • 6. Java Business Integration > JBI Defined with in Java Community Process JBI (JCP) as JSR 208 JBI Specification 1.0 published in 2005 Standard basis for a Java EE based ESB Is a Standard for ESB > ESB A pattern of middleware that unifies and connects services, applications and Is an Architectural Pattern for resources SOA > SOA An architectural style for a community of providers and consumers of services to achieve mutual value 6
  • 7. Java Business Integration NMR modeled after MEP in WSDL 2.0 Source: Apache ServiceMix 7
  • 8. Approach > Refactoring a J2EE Web Service Application for ESB Reuse existing J2EE code Leverage ESB services Better Maintainability through policy management > As-Is Application J2EE Web Service Deployed as a WAR file > To-Be Application: (JBI) Composite Application Expose the same functional Web Service interface Separate infrastructure concerns from business logic Leverage components from Open Source communities 8
  • 9. To-be Application Architecture > Mapping to ESB-specific components JBI Composite Application > Issue: SOAP/HTTP Other ESB Implementations rely Binding Component Security Binding Components File on Web Service Stacks Reliable Messaging WS Transaction Email FTP A Web Service Stack Service Engine ESB Service Engine Service Engine provides both the web service endpoint and the Transactional Process Flow Transactional Service Validation Logic service container contract 9
  • 10. Java API for XML-based Web Services (JAX-WS) > Standard for developing SOAP based and RESTful Java Web services. Designed to replace JAX-RPC Release in 2006, currently version 2.1 > Specification Contents WSDL Mapping API Client API Service API Core API Annotations Customization > Our focus: Web Service Implementation at Runtime 10
  • 11. Web Services Stacks > Examples: Metro Apache CXF JBossWS Native Metro CXF 11
  • 12. Aspects of Web Service > A Service Container Service API and Annotations import javax.jws.WebService; @WebService public class EchoService { public String echo(String input){ return input; } } > A SOAP/REST Endpoint Provider POST /EchoService HTTP/1.1 WSDL Java Host: www.example.com WSDL Java Mapping Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI" <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> …… 12
  • 13. Aspects of Web Service > Quality of Service Considerations <wsd:binding ……> <wsp:PolicyReference URI="PasswordAuthenticationOverSSL"/> <wsp:PolicyReference URI="ReliableMessaging"/> </wsdl:binding …..> <wsp:Policy wsu:Id="ReliableMessaging"> <wsp:ExactlyOne> <wsp:All> <wsaws:UsingAddressing xmlns:wsaws="http://www.w3.org/2006/05/addressing/wsdl"/> <wsrm:RMAssertion xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"/> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> <wsp:Policy wsu:Id="PasswordAuthenticationOverSSL“> …… 13
  • 14. OpenESB-Metro Integration > Web Service Stack In the Binding Component > Service Hosted in the Application Server Service Implementation QoS? HTTP Endpoint 14
  • 15. OpenESB Composite Application Glassfish OpenESB Composite Application SOAP BC BPEL SE Java EE SE EJB Service SOAP Web Service JAXWS Client (Business Rule Validation) JDBC Oracle Database 15
  • 16. OpenESB-Metro Integration: Observations > Web Service Stack In the Binding Component Avoid Integration Issues Excellent QoS and Policy Support > Service Hosted in the Application Server Extra Component Required 16
  • 17. ServiceMix-CXF Integration > Separate Components for Hosting Service Implementations and Exposing Web Service Endpoints QoS? HTTP Endpoint Service Implementation 17
  • 18. ServiceMix Composite Application ServiceMix CXF BC JMS BC JMS BC POJO CXF SE Service SOAP Client (Start XA (Business Rule Transaction) Validation) JMS/JCA JMS/JCA JAXWS JMS Queue Web Service JDBC Oracle Database 18
  • 19. ServiceMix-CXF Integration: Observations > Separate Components for Hosting Service Implementations and Exposing Web Service Endpoints Clean Separation of Concerns > Introduced Additional Integration Issues > Transaction Management without an Application Server can be challenging 19
  • 20. JBossESB-JBossWS Integration > SOAP Processing Outside ESB 20
  • 21. JBossESB-JBossWS Integration Approach > Alternative Approach Can change to support other protocols SOAP Messages being passed 21
  • 22. Document Centric Architecture with ESB and JAX-WS Web Service Persistence Service RDBMS Implementation Tier Stack SEI SEI XML/SOAP XML/SOAP JAXB JAXB Java Java O/R O/R Relational Relational Mapping Mapping Data Data > Data mappings increase complexity and limit flexibility JAXB O/R 22
  • 23. Document Centric Architecture with ESB and JAX-WS Java/ Java/ XSLT XSLT Web Service XML Service Implementation Database Stack JAX-WS JAX-WS XML/SOAP XML/SOAP Provider Provider API API XML/ XML/ XPath XPath Service Implementation XSLT XSLT Binding Component Service Engine 23
  • 24. Document Centric Architecture with ESB and JAX-WS: Challenges > Technology Limitations Support for Provider-based API in the ESB Storing XML data in relational database > Readability/Maintainability Element person = …. String name = person.getAttribute("name"); Model Driven Architecture Helps! Person person = …. String name = person.getName(); 24
  • 25. Question How do I Preserve IT Investments in the Face of Technology Changes? 25
  • 26. No matter which technology wins, the business requirement remains. Which technology platform should we choose? 26
  • 27. Model Driven Architecture for “Technology Independent Service” Business Concerns OpenESB Business Concerns JBossESB ServiceMix Business Process Enterprise Challenges In The Face Of Technology Change: BPEL Business Rule -Reusability DROOLS? -Maintainability Quality of Service Schema? -Interoperability Business Platform XSLT? Services Specific API JAX-WS Generates executable artifacts “Architecture Choice for a Changing World” for a particular technical - Object Management Group architecture Captures business concerns using Generates Executable standard tools and Models notations Artifact Addresses Provisioning technology concerns Tool such as interoperability, Technical scalability, Architecture maintainability and Specifies reusability Platform 27
  • 28. What MDA is not….. > Model is not just pretty pictures Can run on a model Can run on a model Execution Semantic “VM” “VM” > MDA is not just about code generation Especially not just about boiler plate code! 28
  • 29. SoaML and Model Driven Architecture (MDA) Computation Independent Model Computation Independent Model Stakeholders Stakeholders Business Drivers Business Drivers Business Context As-Is Business As-Is Business Develop Provide Service Architecture Plan and Design and Deliver After Care Processes Processes Mission-Critical Value Chain Information Model SOA Contracts Value Chains Platform Independent Model Platform Independent Model As-Is Systems Service Interface As-Is Systems Service-Oriented Data Model Architecture Platform Specific Model/Implementation Platform Specific Model/Implementation Open Source Open Source <wsdl:porttype Service Provisioning eGov Reference > eGov Reference … Architecture Architecture </wsdl:portype Web Services > Components 29
  • 30. SoaML: Modeling Business Services A services architecture describes how participants A services architecture describes how participants work together for a purpose by providing and using work together for a purpose by providing and using services expressed as service contracts. It is services expressed as service contracts. It is <<ServicesArchitecture>> A participant represents some party A participant represents some party modeled as a UML collaboration. modeled as a UML collaboration. Solicitation Management Service Architecture that provides and/or consumes that provides and/or consumes services. Participants may represent services. Participants may represent people, organizations or systems. people, organizations or systems. <<Participant>> solicitation owner <<ServiceContract>> : Solicitation Owner Agency : Solicitation Management Service solicitation manager <<Participant>> : Solicitation Manager <<Participant>> vendor solicitation manager <<ServiceContract>> : Vendor : Vendor Solicitation Service type type <<Participant>> <<Participant>> <<ServicePoint>> Solicitation Manager Solicitation Owner Agency <<ServicePoint Provisioning>>response notification <<ServicePoint>> <<ServicePoint>> solicitation A service contract is the specification of the A service contract is the specification of the agreement between providers and consumers of agreement between providers and consumers of a service as to what information, products, a service as to what information, products, <<component>> assets, value and obligations will flow between assets, value and obligations will flow between Solicitation Management them. It specifies the service without regard for them. It specifies the service without regard for Service realization, capabilities or implementation. realization, capabilities or implementation. 30
  • 31. Provisioning for Technology Platforms <<JEE Provisioning>> <<Provision>> Java EE Server 1 {runtime = "GlassFish v2.1 Java EE 5" } <<JEE Web Service>> <<ServicePoint>> <<Entity Override>> <<ServicePoint Provisioning>> : Solicitation Management Service : Response response {usedInterfaceAddress = "http://solicitationowner.gov/notify" } A components can be A components can be <<Entity Override>> <<ServicePoint>> : Solicitation deployed on a specific deployed on a specific solicitation physical tier. A tier is physical tier. A tier is modeled as a UML node. modeled as a UML node. <<JEE Provisioning>> Java EE Server 2 Service connections Service connections {runtime = "JBoss v5.0"} across tiers are modeled across tiers are modeled as UML assembly as UML assembly dependencies. dependencies. <<JEE Web Service>> : Solicitation Owner Agency 31
  • 32. ModelPro™ Project: The Open Source Provisioning Engine OMG SoaML s ent UML Profile l em Imp ModelPro (ModelDriven.org) Open Source MDA Tools Uses Users SOA SoaML Cartridge Automates Model ModelPro for Uses Provisioning JEE Provisioning Model Engine UML Tool Provisioning Profile Uses Manual Automated Platform Platform Application Deploy Application Application & IDE Artifacts Artifacts Platform & Tools (E.G. Eclipse/Netbeans/.NET) 32
  • 33. Demo 33
  • 34. ModelDriven.org The Open Source Model Driven Community > Current Projects The ModelPro™ Project ModelPro™ Cartridge Projects Foundational UML Reference Implementation > Get Involved! 34