SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
Web Service Orchestration

Emílio Francesquini, Felipe Besson, Leonardo Leite
                   IME - USP
       {emilio, besson, leofl}@ime.usp.br

                    FISL 12
           Porto Alegre, June 29, 2011
Service - Definition

• According to W3C, web service:
  o Is a software system designed to support machine-to-
    machine interaction over a network
  o Is described by an interface which is machine readable
    (more specific WSDL)
• Other systems can interact with web services through
  Soap messages
• The interaction is realized using XML over HTTP, and
  other web standards

                                                      2
Examples in the Web
RSS


Google Calendar (CalDAV over HTTP)
can be synchronized with iCal


Amazon Web Services (SOAP ou REST
over HTTP)
 o EC2
 o S3
 o SimpleDB
 o ...
                                     3
Web Services


• Web services have been used to integrate systems,
  replacing:
  o   The use of TCP/IP sockets
  o   CORBA, JRMI, RPC...



                                                      4
WS – Features

• Any language supporting TCP sockets are ready for using
  web services
• The use of HTTP make web services more suitable for
  bypassing firewalls, proxies, …
• It is widely accepted by companies
• Loose coupling and the possibility of evolution of the
  interface while maintaining backward compatibility



                                                     5
SOAP

• Standard for supporting the interoperability of
  heterogeneous systems.
• Since 2003, it is a W3C standard
• In the beginning, Soap was an acronym for Simple Object
  Access Protocol
   o Then, it was decided that the acronym means
     nothing :-)




                                                     6
Message Format




                 7
Example of a Soap request




                            8
Example of a Soap response




                             9
WSDL - Hello world
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:soap=””http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns=”http://hello” xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://hello/"
name="HelloWorldService">
<types>
<xsd:schema>
<xsd:import namespace="http://hello/"
schemaLocatio=”http://localhost:8080/hello?xsd=1"></xsd:import>
</xsd:schema>
</types>
<message name="sayHelloTo">
<part name="parameter" element="tns:sayHelloTo"></part>
</message>
<message name="sayHelloToResponse">
<part name="parameter" element="tns:sayHelloToResponse"></part>
</message>
<portType name="HelloWorld">
<operation name="sayHelloTo">
<input message="tns:sayHelloTo"></input>
<output message="tns:sayHelloToResponse"></output>
</operation>
</portType>                                                                10
WSDL Example - Hello world

<binding name="HelloWorldPortBinding" type="tns:HelloWorld">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http”
style="document"></soap:binding>
<operation name="sayHelloTo">
<input>
<soap:body use="literal"></soap:body>
</input>
<output>
<soap:body use="literal"></soap:body>
</output>
</operation>
</binding>

<service name="HelloWorldService">
<port name="HelloWorldPort" binding="tns:HelloWorldPortBinding">
<soap:address location="http://localhost:8080/hello”></soap:address>
</port>
</service>
</definitions>                                                         11
Disadvantages


• Messages are too big:
  o Low performance during the processing in the client and
    the server sides
  o Requested Bandwidth is large
  o Extremely inefficient when compared to CORBA or JRMI
    technologies


                                                       12
WS Composition

• Tipically, a real case of WS Composition involves:
   o More than one web service
   o Order / interdependence between requests to web
     services
   o Decision making during the workflow based on the
     information obtained so far
   o Dealing with services unavailability
   o Transaction control
   o Business automation
   o ...


                                                        13
Web Service Compositions



• Orchestration - Centralized


• Choreography - Distributed



                                14
Composition - Example


• Sale system:
  o Customer registration
  o Charging
• Used in all computers of a store




                                     15
Solution 1


• I can write the code using my favorite programming
  language and then, I integrate the ws client into my
  system:
   o web services access
   o exception handling
• The workflow is defined by myself



                                                         16
Solution 2



• I can copy the code and deploy it with my website
• Now, both website and client share the code containing
  the workflow, rules, ….




                                                      17
Problems 1

• Web services are implemented possibly in several languages ​
  but the information flow and their relationship get couple to a
  specific language
• The developer must deal with:
   o Paralelism
   o Transaction
   o Fault tolerance (e.g., service unavailability)




                                                             18
Problems 2


• Changes in web services, even small ones, involves customers'
  upgrade and deployment of new version of the site
• Client/Site can became overloaded due the communication with
  the server
• Limitation of devices / code replication..




                                                         19
Solution 3

• A new web service is created
  o Containing the entire workflow and composition rules
  o Controlling transactions, paralellism and exceptions
    handling

• Clients, sites and devices begin to use this web service
  directly


                                                        20
However, some problems remain



• Workflow coupled to a specific programming language
• The developer still must deal with the transaction,
  parallelism and exceptions handling.




                                                    21
Orchestration

• BPEL – Business Process Execution Language
  o 2002
    o   BPEL4WS – BEA (now Oracle)
    o   WSFL – IBM
    o   XLANG – Microsoft
    o   ... SAP and Siebel Systems.
  o 2003   – Open Standard WS-BPEL, by OASIS
    o   XML with .bpel extension
    o   Normally called by BPEL when the specific version
        does not matter

                                                      22
BPEL




Shin, 2010



                    23
Motivations for using BPEL
• A business standard

• Supported by tools, some of them free, for editing and
  executing BPEL
   o Apache – ODE
   o Oracle – OpenESB, NetBeans 6.X
   o Active Endpoints – The Active BPEL, ActiveBPEL
     Designer
   o Microsoft – BizTalk
   o Oracle – BPEL Process Manager
   o Petalslink – EasyBPEL

• Portability* between different enforcement mechanisms
                                                           24
BPEL Structure
<process ...>

  <partnerLinks> ... </partnerLinks>

  <variables> ... </variables>

  <correlationSets> ... </correlationSets>

  <compensationHandlers> ... </compensationHandlers>

  <eventHandlers> ... </eventHandlers>


 ... (activities belonging to the business flow)
</process>
                                                       25
Activities accepted by BPEL

• Basic                  •   Structured
   •   <invoke>              • <if>
   •   <receive>             • <while>
   •   <reply>               • <repeatUntil>
   •   <assign>              • <foreach>
   •   <throw>               • <pick>
   •   <wait>                • <flow>
   •   <empty>               • <sequence>
   •   <exit>                • <scope>




                                               26
BPEL - synchronous example

<?xml version="1.0" encoding="UTF-8"?>
<process name="SynchronousSample" ...>

<import namespace="http://SynchronousSample"
location="SynchronousSample.xsd"
importType="http://www.w3.org/2001/XMLSchema"/>

<import namespace="http://SynchronousSample"
location="SynchronousSample.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"/>

                                                  27
BPEL - synchronous example
<partnerLinks>
<partnerLink
name="SynchronousSample"
partnerLinkType="ns1:partnerlinktype1"
myRole="partnerlinktyperole1">
</partnerLink>
</partnerLinks>

<variables>
<variable name="outputVar"
messageType="ns1:responseMessage"/>
<variable name="inputVar"
messageType="ns1:requestMessage"/>
</variables>

                                         28
BPEL - Exemplo síncrono

<sequence>

<receive name="start" partnerLink="SynchronousSample" operation="operation1"
portType="ns1:portType1" variable="inputVar" createInstance="yes"/>

<assign name="Assign1">
<copy>
<from>concat('Hello ', $inputVar.inputType/ns2:paramA, '!!!')</from>
<to>$outputVar.resultType/ns2:paramA</to>
</copy>
</assign>

<reply name="end" partnerLink="SynchronousSample" operation="operation1"
portType="ns1:portType1" variable="outputVar">
</reply>
</sequence>
</process>

                                                                       29
BPEL - synchronous example




                        30
BPEL - synchronous example




                        31
ESB

    • Acronym for Enterprise Service Bus

    • The same idea of hardware bus, ESB is charge of:
       o transporting,
       o routing,
       o And messages delivering


    • Service access management
 
    • These activities can be performed without an ESB
       o The goal of a ESB is just facilitate the work =p



                                                            32
Petals

• Open Source ESB – LGPL 2.1

• Compatible with the standards: JBI and BPEL

• Hot service deployment

• Hot component installation

• Tools to support the development:
   o PetalsStudio
   o Web Console



                                                33
Questions?


 This research has received founding from:




                                             34
References



• W3C Web Services Choreography Working Group Charter
• http://www.w3.org/2005/12/wscwg-charter.html
• Web Services Glossary, http://www.w3.org/TR/ws-gloss/




                                                      35
References


• ZHANG, Liang-Jie. Services Computing, Pequim,
  Springer, 2007
• Hewitt, Eben, Java SOA Cookbook, 1st Edition, 2009,
• Shin, San, SOA Using OpenESB, BPEL and NetBeans,
  2010
• http://ccsl.ime.usp.br/baile




                                                   36

Mais conteúdo relacionado

Mais procurados

Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”panagenda
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixBruce Snyder
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Peter R. Egli
 
Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Michael Greene
 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastNico Meisenzahl
 
Plone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group searchPlone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group searchfredvd
 
Linux in Business - Workstation Integration
Linux in Business - Workstation IntegrationLinux in Business - Workstation Integration
Linux in Business - Workstation IntegrationRichBos
 
Web Performance First Aid
Web Performance First AidWeb Performance First Aid
Web Performance First AidAlan Seiden
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSCarol McDonald
 
AdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections AdminblastAdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections AdminblastNico Meisenzahl
 

Mais procurados (15)

Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
Soccnx10: IBM Connections Troubleshooting or “Get the Cow off the Ice”
 
Service Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMixService Oriented Integration With ServiceMix
Service Oriented Integration With ServiceMix
 
Consuming SOAP
Consuming SOAPConsuming SOAP
Consuming SOAP
 
Php reports sumit
Php reports sumitPhp reports sumit
Php reports sumit
 
Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)Java API for XML Web Services (JAX-WS)
Java API for XML Web Services (JAX-WS)
 
PHP at Yahoo!
PHP at Yahoo!PHP at Yahoo!
PHP at Yahoo!
 
Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)Making Life Easier with PowerShell (SPSVB 2012)
Making Life Easier with PowerShell (SPSVB 2012)
 
20jsp
20jsp20jsp
20jsp
 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections Adminblast
 
Plone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group searchPlone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group search
 
Linux in Business - Workstation Integration
Linux in Business - Workstation IntegrationLinux in Business - Workstation Integration
Linux in Business - Workstation Integration
 
Web Performance First Aid
Web Performance First AidWeb Performance First Aid
Web Performance First Aid
 
Interoperable Web Services with JAX-WS
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WS
 
AdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections AdminblastAdminCamp 2017 - IBM Connections Adminblast
AdminCamp 2017 - IBM Connections Adminblast
 
JAX-WS Basics
JAX-WS BasicsJAX-WS Basics
JAX-WS Basics
 

Destaque

CHOReOS presented @CeBIT 2013, Hannover, Germany
CHOReOS presented @CeBIT 2013, Hannover, GermanyCHOReOS presented @CeBIT 2013, Hannover, Germany
CHOReOS presented @CeBIT 2013, Hannover, Germanychoreos
 
OW2 A presentation pierre_chatel
OW2 A presentation pierre_chatelOW2 A presentation pierre_chatel
OW2 A presentation pierre_chatelchoreos
 
CHOReOS presented at WiNNOVATE Conference April 2012
CHOReOS presented at WiNNOVATE Conference April 2012CHOReOS presented at WiNNOVATE Conference April 2012
CHOReOS presented at WiNNOVATE Conference April 2012choreos
 
CHOReOS Project Presentation at Solutions linux 2013
 CHOReOS Project Presentation at Solutions linux 2013 CHOReOS Project Presentation at Solutions linux 2013
CHOReOS Project Presentation at Solutions linux 2013choreos
 
Service deployer FISL 2013
Service deployer FISL 2013Service deployer FISL 2013
Service deployer FISL 2013choreos
 
CHOReOS European Project presented at OW2Con2011 in Paris
CHOReOS European Project presented at OW2Con2011 in ParisCHOReOS European Project presented at OW2Con2011 in Paris
CHOReOS European Project presented at OW2Con2011 in Parischoreos
 
CHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use caseCHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use caseCHOReVOLUTION
 
@ OW2con' 12
 @ OW2con' 12 @ OW2con' 12
@ OW2con' 12choreos
 

Destaque (8)

CHOReOS presented @CeBIT 2013, Hannover, Germany
CHOReOS presented @CeBIT 2013, Hannover, GermanyCHOReOS presented @CeBIT 2013, Hannover, Germany
CHOReOS presented @CeBIT 2013, Hannover, Germany
 
OW2 A presentation pierre_chatel
OW2 A presentation pierre_chatelOW2 A presentation pierre_chatel
OW2 A presentation pierre_chatel
 
CHOReOS presented at WiNNOVATE Conference April 2012
CHOReOS presented at WiNNOVATE Conference April 2012CHOReOS presented at WiNNOVATE Conference April 2012
CHOReOS presented at WiNNOVATE Conference April 2012
 
CHOReOS Project Presentation at Solutions linux 2013
 CHOReOS Project Presentation at Solutions linux 2013 CHOReOS Project Presentation at Solutions linux 2013
CHOReOS Project Presentation at Solutions linux 2013
 
Service deployer FISL 2013
Service deployer FISL 2013Service deployer FISL 2013
Service deployer FISL 2013
 
CHOReOS European Project presented at OW2Con2011 in Paris
CHOReOS European Project presented at OW2Con2011 in ParisCHOReOS European Project presented at OW2Con2011 in Paris
CHOReOS European Project presented at OW2Con2011 in Paris
 
CHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use caseCHOReVOLUTION WP4 UTC Use case
CHOReVOLUTION WP4 UTC Use case
 
@ OW2con' 12
 @ OW2con' 12 @ OW2con' 12
@ OW2con' 12
 

Semelhante a USP presentation of CHOReOS @ FISL Conference

Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1Qualitest
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting startedQualitest
 
WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...WSO2
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...WSO2
 
Portal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppPortal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppTed Tschopp
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practiceaegloff
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iibm16k
 
oracle ebs free web service integration tools
oracle ebs free web service integration toolsoracle ebs free web service integration tools
oracle ebs free web service integration toolsSmartDog Services
 
Making Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentMaking Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentStrongback Consulting
 
eSoftHead - groupware solution
eSoftHead - groupware solutioneSoftHead - groupware solution
eSoftHead - groupware solutionNguyen Hai
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...WSO2
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB WSO2
 
Week2 cloud computing week2
Week2 cloud computing week2Week2 cloud computing week2
Week2 cloud computing week2Ankit Gupta
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsRonny López
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2
 
Oracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANKOracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANKibankuk
 
nptl cc video.pptx
nptl cc video.pptxnptl cc video.pptx
nptl cc video.pptxMunmunSaha7
 

Semelhante a USP presentation of CHOReOS @ FISL Conference (20)

Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
 
Soap UI - Getting started
Soap UI - Getting startedSoap UI - Getting started
Soap UI - Getting started
 
WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101WSO2 Enterprise Integrator 101
WSO2 Enterprise Integrator 101
 
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...WSO2 Intro Webinar -  Simplifying Enterprise Integration with Configurable WS...
WSO2 Intro Webinar - Simplifying Enterprise Integration with Configurable WS...
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
 
Portal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted TschoppPortal / BI 2008 Presentation by Ted Tschopp
Portal / BI 2008 Presentation by Ted Tschopp
 
TS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in PracticeTS 4839 - Enterprise Integration Patterns in Practice
TS 4839 - Enterprise Integration Patterns in Practice
 
Effective admin and development in iib
Effective admin and development in iibEffective admin and development in iib
Effective admin and development in iib
 
oracle ebs free web service integration tools
oracle ebs free web service integration toolsoracle ebs free web service integration tools
oracle ebs free web service integration tools
 
Making Rational HATS a Strategic Investment
Making Rational HATS a Strategic InvestmentMaking Rational HATS a Strategic Investment
Making Rational HATS a Strategic Investment
 
SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperforman...
SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperforman...SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperforman...
SOA_BPM_12c_launch_event_SOA_track_deepdive_developerproductivityandperforman...
 
eSoftHead - groupware solution
eSoftHead - groupware solutioneSoftHead - groupware solution
eSoftHead - groupware solution
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
 
Soap
SoapSoap
Soap
 
Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB Enterprise Integration with the WSO2 ESB
Enterprise Integration with the WSO2 ESB
 
Week2 cloud computing week2
Week2 cloud computing week2Week2 cloud computing week2
Week2 cloud computing week2
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
WSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product OverviewWSO2 Enterprise Service Bus - Product Overview
WSO2 Enterprise Service Bus - Product Overview
 
Oracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANKOracle fusion middleware 11g - IBANK
Oracle fusion middleware 11g - IBANK
 
nptl cc video.pptx
nptl cc video.pptxnptl cc video.pptx
nptl cc video.pptx
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 

USP presentation of CHOReOS @ FISL Conference

  • 1. Web Service Orchestration Emílio Francesquini, Felipe Besson, Leonardo Leite IME - USP {emilio, besson, leofl}@ime.usp.br FISL 12 Porto Alegre, June 29, 2011
  • 2. Service - Definition • According to W3C, web service: o Is a software system designed to support machine-to- machine interaction over a network o Is described by an interface which is machine readable (more specific WSDL) • Other systems can interact with web services through Soap messages • The interaction is realized using XML over HTTP, and other web standards 2
  • 3. Examples in the Web RSS Google Calendar (CalDAV over HTTP) can be synchronized with iCal Amazon Web Services (SOAP ou REST over HTTP) o EC2 o S3 o SimpleDB o ... 3
  • 4. Web Services • Web services have been used to integrate systems, replacing: o The use of TCP/IP sockets o CORBA, JRMI, RPC... 4
  • 5. WS – Features • Any language supporting TCP sockets are ready for using web services • The use of HTTP make web services more suitable for bypassing firewalls, proxies, … • It is widely accepted by companies • Loose coupling and the possibility of evolution of the interface while maintaining backward compatibility 5
  • 6. SOAP • Standard for supporting the interoperability of heterogeneous systems. • Since 2003, it is a W3C standard • In the beginning, Soap was an acronym for Simple Object Access Protocol o Then, it was decided that the acronym means nothing :-) 6
  • 8. Example of a Soap request 8
  • 9. Example of a Soap response 9
  • 10. WSDL - Hello world <?xml version="1.0" encoding="UTF-8"?> <definitions xmlns:soap=””http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns=”http://hello” xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://hello/" name="HelloWorldService"> <types> <xsd:schema> <xsd:import namespace="http://hello/" schemaLocatio=”http://localhost:8080/hello?xsd=1"></xsd:import> </xsd:schema> </types> <message name="sayHelloTo"> <part name="parameter" element="tns:sayHelloTo"></part> </message> <message name="sayHelloToResponse"> <part name="parameter" element="tns:sayHelloToResponse"></part> </message> <portType name="HelloWorld"> <operation name="sayHelloTo"> <input message="tns:sayHelloTo"></input> <output message="tns:sayHelloToResponse"></output> </operation> </portType> 10
  • 11. WSDL Example - Hello world <binding name="HelloWorldPortBinding" type="tns:HelloWorld"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http” style="document"></soap:binding> <operation name="sayHelloTo"> <input> <soap:body use="literal"></soap:body> </input> <output> <soap:body use="literal"></soap:body> </output> </operation> </binding> <service name="HelloWorldService"> <port name="HelloWorldPort" binding="tns:HelloWorldPortBinding"> <soap:address location="http://localhost:8080/hello”></soap:address> </port> </service> </definitions> 11
  • 12. Disadvantages • Messages are too big: o Low performance during the processing in the client and the server sides o Requested Bandwidth is large o Extremely inefficient when compared to CORBA or JRMI technologies 12
  • 13. WS Composition • Tipically, a real case of WS Composition involves: o More than one web service o Order / interdependence between requests to web services o Decision making during the workflow based on the information obtained so far o Dealing with services unavailability o Transaction control o Business automation o ... 13
  • 14. Web Service Compositions • Orchestration - Centralized • Choreography - Distributed 14
  • 15. Composition - Example • Sale system: o Customer registration o Charging • Used in all computers of a store 15
  • 16. Solution 1 • I can write the code using my favorite programming language and then, I integrate the ws client into my system: o web services access o exception handling • The workflow is defined by myself 16
  • 17. Solution 2 • I can copy the code and deploy it with my website • Now, both website and client share the code containing the workflow, rules, …. 17
  • 18. Problems 1 • Web services are implemented possibly in several languages ​ but the information flow and their relationship get couple to a specific language • The developer must deal with: o Paralelism o Transaction o Fault tolerance (e.g., service unavailability) 18
  • 19. Problems 2 • Changes in web services, even small ones, involves customers' upgrade and deployment of new version of the site • Client/Site can became overloaded due the communication with the server • Limitation of devices / code replication.. 19
  • 20. Solution 3 • A new web service is created o Containing the entire workflow and composition rules o Controlling transactions, paralellism and exceptions handling • Clients, sites and devices begin to use this web service directly 20
  • 21. However, some problems remain • Workflow coupled to a specific programming language • The developer still must deal with the transaction, parallelism and exceptions handling. 21
  • 22. Orchestration • BPEL – Business Process Execution Language o 2002 o BPEL4WS – BEA (now Oracle) o WSFL – IBM o XLANG – Microsoft o ... SAP and Siebel Systems. o 2003 – Open Standard WS-BPEL, by OASIS o XML with .bpel extension o Normally called by BPEL when the specific version does not matter 22
  • 24. Motivations for using BPEL • A business standard • Supported by tools, some of them free, for editing and executing BPEL o Apache – ODE o Oracle – OpenESB, NetBeans 6.X o Active Endpoints – The Active BPEL, ActiveBPEL Designer o Microsoft – BizTalk o Oracle – BPEL Process Manager o Petalslink – EasyBPEL • Portability* between different enforcement mechanisms 24
  • 25. BPEL Structure <process ...> <partnerLinks> ... </partnerLinks> <variables> ... </variables> <correlationSets> ... </correlationSets> <compensationHandlers> ... </compensationHandlers> <eventHandlers> ... </eventHandlers> ... (activities belonging to the business flow) </process> 25
  • 26. Activities accepted by BPEL • Basic • Structured • <invoke> • <if> • <receive> • <while> • <reply> • <repeatUntil> • <assign> • <foreach> • <throw> • <pick> • <wait> • <flow> • <empty> • <sequence> • <exit> • <scope> 26
  • 27. BPEL - synchronous example <?xml version="1.0" encoding="UTF-8"?> <process name="SynchronousSample" ...> <import namespace="http://SynchronousSample" location="SynchronousSample.xsd" importType="http://www.w3.org/2001/XMLSchema"/> <import namespace="http://SynchronousSample" location="SynchronousSample.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> 27
  • 28. BPEL - synchronous example <partnerLinks> <partnerLink name="SynchronousSample" partnerLinkType="ns1:partnerlinktype1" myRole="partnerlinktyperole1"> </partnerLink> </partnerLinks> <variables> <variable name="outputVar" messageType="ns1:responseMessage"/> <variable name="inputVar" messageType="ns1:requestMessage"/> </variables> 28
  • 29. BPEL - Exemplo síncrono <sequence> <receive name="start" partnerLink="SynchronousSample" operation="operation1" portType="ns1:portType1" variable="inputVar" createInstance="yes"/> <assign name="Assign1"> <copy> <from>concat('Hello ', $inputVar.inputType/ns2:paramA, '!!!')</from> <to>$outputVar.resultType/ns2:paramA</to> </copy> </assign> <reply name="end" partnerLink="SynchronousSample" operation="operation1" portType="ns1:portType1" variable="outputVar"> </reply> </sequence> </process> 29
  • 30. BPEL - synchronous example 30
  • 31. BPEL - synchronous example 31
  • 32. ESB • Acronym for Enterprise Service Bus • The same idea of hardware bus, ESB is charge of: o transporting, o routing, o And messages delivering • Service access management   • These activities can be performed without an ESB o The goal of a ESB is just facilitate the work =p 32
  • 33. Petals • Open Source ESB – LGPL 2.1 • Compatible with the standards: JBI and BPEL • Hot service deployment • Hot component installation • Tools to support the development: o PetalsStudio o Web Console 33
  • 34. Questions? This research has received founding from: 34
  • 35. References • W3C Web Services Choreography Working Group Charter • http://www.w3.org/2005/12/wscwg-charter.html • Web Services Glossary, http://www.w3.org/TR/ws-gloss/ 35
  • 36. References • ZHANG, Liang-Jie. Services Computing, Pequim, Springer, 2007 • Hewitt, Eben, Java SOA Cookbook, 1st Edition, 2009, • Shin, San, SOA Using OpenESB, BPEL and NetBeans, 2010 • http://ccsl.ime.usp.br/baile 36