SlideShare a Scribd company logo
1 of 40
Web Services (NSWI145)
Lecture 02: Web Services Model, SOAP

  Martin Nečaský, Ph.D.
  Faculty of Mathematics and Physics
  Charles University in Prague, Czech Republic




                Summer 2013
Foundations of Web Services
   4 views of Web Services Architecture
       Message Oriented Model
       Service Oriented Model
       Resource Oriented Model
       Policy Model




                 Summer 2013
Web Services Architecture


                                       Policy
                         Policy
                                       Model



           Service
          Oriented                              Resource
           Model                                Oriented
Service
                                                 Model     Resource


                                   Message
                                   Oriented
                     Message        Model




                     Summer 2013
Message Oriented Model


                                Agent


                   originates           processes
Headers
             has
                                                               Message
                            Message
                                                    delivers   Transport
             has
 Body




             Summer 2013
Message Oriented Model




             http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#message_oriented_model


   Summer 2013
Service Oriented Model



                                                                 Person or
Message
                                                                Organization

            signals                               owns

                             Service

           describes                                     uses

                                       realizes
Metadata                                                           Agent




               Summer 2013
Service Oriented Model




                 http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#service_oriented_model


   Summer 2013
Resource Oriented Model



                                                   Person or
 URI
                                                  organization

          has                              owns

                         Resource

                is
                                    may have

Service                                            Representation




           Summer 2013
Resource Oriented Model




                 http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#resource_oriented_model


   Summer 2013
Policy Oriented Model



                                                     Person or
Action
                                                    organization

          about                       establishes

                          Policy

           subject to
                                   about

Agent                                                Resource




            Summer 2013
Policy Oriented Model




                http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#policy_model


  Summer 2013
When Web Services are appropriate
   for applications which must interoperate over the
    Internet with other applications
     and, possibly, they did not originally supposed this
   for applications which cannot be designed,
    implemented and evolved at once as one piece
   for applications whose different parts run on different
    platforms and are owned by different
    persons/organizations
   for applications which need to be exposed for use over
    the Internet
     and, possibly, were not originally designated for this
   where scalability, security, etc. need to be ensured

                      Summer 2013
Foundations of Web Services

                               VISA
                               WS
                            MasterCard
                               WS

                             Lufthansa
             Travel Agent       WS
                 WS
                                …
                            Turkish Air.
                                WS

                            Search Hotel
                                WS

     Summer 2013
Foundations of Web Services
   Web Services advantages
       platform-independence
       reusability
       interoperability
       scalability
       adaptability




                 Summer 2013
W3C-style Web Services

                                         Processes




                                                                 XSLT
                                  BPEL               WS-CDL

                                         Contract
Management




                                                                 XSD
             Security




                                  WSDL               WS-Policy

                                         Messages




                                                                 XML
                                      SOAP extensions
                                           SOAP

                              Communications (HTTP, SMTP, …)



                        Summer 2013
W3C-style Web Services



                                   WSDL
                                            Web Service

System                   SOAP             Interface

   Agent                 Message           Agent




           Summer 2013
SOAP
   Basics
   Syntax
   Processing Model
   Communication Model
   Network Protocol Bindings
   Advantages/Disadvantages


             Summer 2013
SOAP Basics
   Simple Object Access Protocol
     http://www.w3.org/TR/soap12-part0/
   protocol for inter-application communication
     applications = peers in decentralized and
      distributed environment




                Summer 2013
SOAP Basics
   de facto standard protocol for communication with Web
    Services
   easily extensible
     ideal for quickly evolving Web Service technologies
   overcomes differences among proprietary
    heterogeneous peers
     absolute necessity
   lightweight
     no need of specific environment to be installed
     no configuration necessary
   “Simple Object Access Protocol” is misleading
     SOAP is not Simple
     SOAP is not only Object Access Protocol


                    Summer 2013
SOAP Basics
   stateless, one-way message exchange
    paradigm
   more complex communication patterns can be
    created
     request/response
     publish/subscribe
     application-specific patterns with more
      communication rounds or more participants



                Summer 2013
SOAP Message Syntax
   SOAP message is XML document
     envelopes exchanged data
   SOAP message is transferred over network via
    transfer protocol
     HTTP, FTP, SMTP, …
     or even TCP




                Summer 2013
SOAP Message Syntax


    Sender                               Receiver




  exchanged                             exchanged
     data                                  data
SOAP message                          SOAP message

HTTP/… message                        HTTP/… message
                            Network



              Summer 2013
SOAP Message Syntax
   SOAP standardizes 3 XML elements
     Envelope, Header, Body


                            <Envelope>



              0..1                          1
              <Header>                   <Body>


              1..*                          1..*
              header block           body entry


              Summer 2013
SOAP Message Syntax

<?xml version="1.0"?>
<env:Envelope
  xmlns:env="http://www.w3.org/2003/05/soap-envelope">

 <!–- Header is optional -->
 <env:Header>
   <!–- one or more header blocks -->
 </env:Header>

 <!–- Body is mandatory -->
 <env:Body>
   <!–- one or more body entries -->
 </env:Body>

</env:Envelope>


                  Summer 2013
SOAP Message Syntax
      Envelope Example




  Summer 2013
SOAP Message Syntax - Body Entry
   application specific XML element
   carries application data
     end-to-end information




                Summer 2013
SOAP Message Syntax - Body Example




         Summer 2013
SOAP Message Syntax - Header Block
   application specific XML element
   carries data that is not part of application data
    itself
      e.g. meta-data (message addressing, security,
       transactions, ...)
   SOAP extension mechanism
      SOAP modules
      SOAP faults



                 Summer 2013
SOAP Syntax - Header Block
   SOAP extensions via header blocks:
     specific languages extending SOAP
     WS-Encryption, WS-Trans, WS-Addressing, etc.
     W3C, OASIS, etc.
   each header block should have its own
    namespace
     helps identify relevant header blocks




                Summer 2013
SOAP Syntax - Header Example




      Summer 2013
SOAP Syntax - Faults
   all SOAP-specific and application-specific
    faults are reported using single element
    Fault in Body
     network transfer protocol faults are reported
      using other protocol-specific mechanisms (e.g.
      HTTP)
     separate SOAP message
     mandatory Code and Reason
     optional Detail, Node, Role


                Summer 2013
SOAP Syntax - Faults
   Code
     reports specific kind of fault
       • particular kind of fault may require additional header
         blocks to be generated
     mandatory Value
       • contains code value
     optional Subcode
       • contains mandatory Value with application-specific
         sub-code value




                  Summer 2013
SOAP Syntax - Faults
Code                     Semantics
VersionMismatch          Faulting node does not support the given version of
                         SOAP. The node SHOULD specify how the messages
                         should be upgraded with Upgrade header
MustUnderstand           Faulting node does not understand a header. The node
                         SHOULD specify which header was not understood with
                         NotUnderstood header
DataEncodingUnknown      Faulting node does not understand the message
                         encoding
Sender                   The message was incorrectly formed or did not contain
                         the appropriate information in order to succeed. E.g.
                         improper authentication details, registration
                         information, etc.
Receiver                 The message could not be processed for reasons
                         attributable to the processing of the message rather
                         than to the contents of the message itself. Something
                         went wrong.

                    Summer 2013
SOAP Syntax - Faults
   VersionMismatch
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
              xmlns:xml="http://www.w3.org/XML/1998/namespace">
 <env:Header>
  <env:Upgrade>                                       Ordered by preferences
   <env:SupportedEnvelope qname="soap1:Envelope"
             xmlns:soap1="http://www.w3.org/2003/05/soap-envelope"/>

  </env:Upgrade>
 </env:Header>
 <env:Body>
  <env:Fault>
   <env:Code><env:Value>env:VersionMismatch</env:Value></env:Code>
  </env:Fault>
 </env:Body>
</env:Envelope>




                      Summer 2013
SOAP Syntax - Faults
   MustUnderstand
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"
              xmlns:xml="http://www.w3.org/XML/1998/namespace">
 <env:Header>
  <env:NotUnderstood qname="abc:ExtensionABC"
             xmlns:abc="http://example.org/2011/abc"/>
  <env:NotUnderstood qname="xyz:ExtensionXYZ"
             xmlns:xyz="http://example.org/Martin"/>
 </env:Header>
 <env:Body>
  <env:Fault>
   <env:Code><env:Value>env:MustUnderstand</env:Value></env:Code>
  </env:Fault>
 </env:Body>
</env:Envelope>




                     Summer 2013
SOAP Syntax
                              Faults
   Reason
     for human understanding
     contains description of fault in one or more Text
      elements




                Summer 2013
SOAP Syntax
  Faults Example




Summer 2013
Homework 1
   design your own business process
   steps will be later realized as web services
     one step has to be realized as an external web
      service, i.e. a service that is not under your control
       • e.g., http://wwwinfo.mfcr.cz/ares/ > Webové služby (in
         czech)
   use BPMN to model the business process
     http://www.bizagi.com or similar tool
     see tutorial:
      http://www.omg.org/news/meetings/workshops/
      HC-Australia/Mancarella.pdf

                  Summer 2013
Homework 1
   in a more detail                      Hospital
    than this ...             Reception               Investigation




                               Surgery               Hospitalization



                                                     •Food
                                                     •Sanitary
                                                     •Accommodation
                                                 Utility


                               Control                           Economy
                                                     •Material
                                                     •Reports




                Summer 2013
Homework 1
   something like this is sufficient ...




                 Summer 2013

More Related Content

What's hot

Rest presentation
Rest  presentationRest  presentation
Rest presentation
srividhyau
 

What's hot (20)

Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
 
SOAP-based Web Services
SOAP-based Web ServicesSOAP-based Web Services
SOAP-based Web Services
 
Soap vs rest
Soap vs restSoap vs rest
Soap vs rest
 
REST-API introduction for developers
REST-API introduction for developersREST-API introduction for developers
REST-API introduction for developers
 
Introduction to Web Services
Introduction to Web ServicesIntroduction to Web Services
Introduction to Web Services
 
Web service Introduction
Web service IntroductionWeb service Introduction
Web service Introduction
 
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - WebinarRunning Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
Running Microsoft SharePoint On AWS - Smartronix and AWS - Webinar
 
Introduction to the Web API
Introduction to the Web APIIntroduction to the Web API
Introduction to the Web API
 
Restful web services ppt
Restful web services pptRestful web services ppt
Restful web services ppt
 
Layered Software Architecture
Layered Software ArchitectureLayered Software Architecture
Layered Software Architecture
 
Soa & services web
Soa & services webSoa & services web
Soa & services web
 
Form validation client side
Form validation client side Form validation client side
Form validation client side
 
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA)
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
 
Pentesting RESTful webservices
Pentesting RESTful webservicesPentesting RESTful webservices
Pentesting RESTful webservices
 
HTTP request and response
HTTP request and responseHTTP request and response
HTTP request and response
 
Web api
Web apiWeb api
Web api
 
Rest & RESTful WebServices
Rest & RESTful WebServicesRest & RESTful WebServices
Rest & RESTful WebServices
 

Viewers also liked

Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
Raveendra Bhat
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 
Simple Object Access Protocol
Simple Object Access ProtocolSimple Object Access Protocol
Simple Object Access Protocol
Saatviga Sudhahar
 
SOAP:Simple Object Access Protocol -XML-RPC
SOAP:Simple Object Access Protocol-XML-RPCSOAP:Simple Object Access Protocol-XML-RPC
SOAP:Simple Object Access Protocol -XML-RPC
elliando dias
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
Taichi Inaba
 

Viewers also liked (20)

Web Service Presentation
Web Service PresentationWeb Service Presentation
Web Service Presentation
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 
Web Services Tutorial
Web Services TutorialWeb Services Tutorial
Web Services Tutorial
 
Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Web service introduction
Web service introductionWeb service introduction
Web service introduction
 
Web Services
Web ServicesWeb Services
Web Services
 
Webservices Overview : XML RPC, SOAP and REST
Webservices Overview : XML RPC, SOAP and RESTWebservices Overview : XML RPC, SOAP and REST
Webservices Overview : XML RPC, SOAP and REST
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
Simple Object Access Protocol
Simple Object Access ProtocolSimple Object Access Protocol
Simple Object Access Protocol
 
Webservices
WebservicesWebservices
Webservices
 
Corba concepts & corba architecture
Corba concepts & corba architectureCorba concepts & corba architecture
Corba concepts & corba architecture
 
Gustavo Travassos by SOAP
Gustavo Travassos by SOAPGustavo Travassos by SOAP
Gustavo Travassos by SOAP
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Testing web services
Testing web servicesTesting web services
Testing web services
 
SOAP:Simple Object Access Protocol -XML-RPC
SOAP:Simple Object Access Protocol-XML-RPCSOAP:Simple Object Access Protocol-XML-RPC
SOAP:Simple Object Access Protocol -XML-RPC
 
Lecture 3 soap
Lecture 3 soapLecture 3 soap
Lecture 3 soap
 
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
 
JAX-WS Basics
JAX-WS BasicsJAX-WS Basics
JAX-WS Basics
 
WS - SecurityPolicy
WS - SecurityPolicyWS - SecurityPolicy
WS - SecurityPolicy
 

Similar to Web Services - Architecture and SOAP (part 1)

Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Jason Townsend, MBA
 
Web Service Architecture for e-Learning
Web Service Architecture for e-LearningWeb Service Architecture for e-Learning
Web Service Architecture for e-Learning
Videoguy
 
A review of soa modeling approaches for enterprise information systems
A review of soa modeling approaches for enterprise information systemsA review of soa modeling approaches for enterprise information systems
A review of soa modeling approaches for enterprise information systems
Tiago Oliveira
 

Similar to Web Services - Architecture and SOAP (part 1) (20)

XML ENCRYPTION AND SIGNATURE FOR SECURING WEB SERVICES
XML ENCRYPTION AND SIGNATURE FOR SECURING WEB SERVICESXML ENCRYPTION AND SIGNATURE FOR SECURING WEB SERVICES
XML ENCRYPTION AND SIGNATURE FOR SECURING WEB SERVICES
 
XML Encryption and Signature for Securing Web Services
XML Encryption and Signature for Securing Web ServicesXML Encryption and Signature for Securing Web Services
XML Encryption and Signature for Securing Web Services
 
XML Encryption and Signature for Securing Web Services
XML Encryption and Signature for Securing Web ServicesXML Encryption and Signature for Securing Web Services
XML Encryption and Signature for Securing Web Services
 
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
Tulsa Tech Fest2008 Service Oriented Development With Windows Communication F...
 
Web Based Secure Soa
Web Based Secure SoaWeb Based Secure Soa
Web Based Secure Soa
 
1. soa design pattern introduction
1. soa design pattern introduction1. soa design pattern introduction
1. soa design pattern introduction
 
Web Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris WhitepaperWeb Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris Whitepaper
 
Web Service Architecture for e-Learning
Web Service Architecture for e-LearningWeb Service Architecture for e-Learning
Web Service Architecture for e-Learning
 
AGENTS AND OWL-S BASED SEMANTIC WEB SERVICE DISCOVERY WITH USER PREFERENCE SU...
AGENTS AND OWL-S BASED SEMANTIC WEB SERVICE DISCOVERY WITH USER PREFERENCE SU...AGENTS AND OWL-S BASED SEMANTIC WEB SERVICE DISCOVERY WITH USER PREFERENCE SU...
AGENTS AND OWL-S BASED SEMANTIC WEB SERVICE DISCOVERY WITH USER PREFERENCE SU...
 
A review of soa modeling approaches for enterprise information systems
A review of soa modeling approaches for enterprise information systemsA review of soa modeling approaches for enterprise information systems
A review of soa modeling approaches for enterprise information systems
 
Introduction to Micro Services
Introduction to Micro ServicesIntroduction to Micro Services
Introduction to Micro Services
 
Service view
Service viewService view
Service view
 
Variability modeling for customizable saas applications
Variability modeling for customizable saas applicationsVariability modeling for customizable saas applications
Variability modeling for customizable saas applications
 
Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003Service Oriented Development With Windows Communication Foundation 2003
Service Oriented Development With Windows Communication Foundation 2003
 
M.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing ProjectsM.Phil Computer Science Server Computing Projects
M.Phil Computer Science Server Computing Projects
 
M phil-computer-science-server-computing-projects
M phil-computer-science-server-computing-projectsM phil-computer-science-server-computing-projects
M phil-computer-science-server-computing-projects
 
Web services and SOA [Modified]
Web services and SOA [Modified]Web services and SOA [Modified]
Web services and SOA [Modified]
 
A Message-Passing Model For Service Oriented Computing
A Message-Passing Model For Service Oriented ComputingA Message-Passing Model For Service Oriented Computing
A Message-Passing Model For Service Oriented Computing
 
Web Services Based Information Retrieval Agent System for Cloud Computing
Web Services Based Information Retrieval Agent System for Cloud ComputingWeb Services Based Information Retrieval Agent System for Cloud Computing
Web Services Based Information Retrieval Agent System for Cloud Computing
 
Cc unit 2 updated
Cc unit 2 updatedCc unit 2 updated
Cc unit 2 updated
 

More from Martin Necasky

Web Services - Business Process Execution Language
Web Services - Business Process Execution LanguageWeb Services - Business Process Execution Language
Web Services - Business Process Execution Language
Martin Necasky
 
Web Services - SOAP (part 2)
Web Services - SOAP (part 2)Web Services - SOAP (part 2)
Web Services - SOAP (part 2)
Martin Necasky
 
Otevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictviOtevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictvi
Martin Necasky
 
Web Services - Introduction
Web Services - IntroductionWeb Services - Introduction
Web Services - Introduction
Martin Necasky
 
Linked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fondLinked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fond
Martin Necasky
 

More from Martin Necasky (16)

Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016
 
Tutoriál : Otevřená a propojitelná data veřejné správy
Tutoriál : Otevřená a propojitelná data veřejné správyTutoriál : Otevřená a propojitelná data veřejné správy
Tutoriál : Otevřená a propojitelná data veřejné správy
 
Linked Data for Czech Legislation - 2nd year of our project
Linked Data for Czech Legislation - 2nd year of our projectLinked Data for Czech Legislation - 2nd year of our project
Linked Data for Czech Legislation - 2nd year of our project
 
Linked Open Data for Public Contracts
Linked Open Data for Public ContractsLinked Open Data for Public Contracts
Linked Open Data for Public Contracts
 
Linked Data for Czech Legislation
Linked Data for Czech LegislationLinked Data for Czech Legislation
Linked Data for Czech Legislation
 
Web Services - Business Process Execution Language
Web Services - Business Process Execution LanguageWeb Services - Business Process Execution Language
Web Services - Business Process Execution Language
 
WS-Addressing
WS-AddressingWS-Addressing
WS-Addressing
 
RESTful Web Services
RESTful Web ServicesRESTful Web Services
RESTful Web Services
 
Web Services - WSDL
Web Services - WSDLWeb Services - WSDL
Web Services - WSDL
 
Otevrena data v CR - aktualni stav (brezen 2013)
Otevrena data v CR - aktualni stav (brezen 2013)Otevrena data v CR - aktualni stav (brezen 2013)
Otevrena data v CR - aktualni stav (brezen 2013)
 
Web Services - SOAP (part 2)
Web Services - SOAP (part 2)Web Services - SOAP (part 2)
Web Services - SOAP (part 2)
 
Otevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictviOtevrene problemy architektury elektronickeho zdravotnictvi
Otevrene problemy architektury elektronickeho zdravotnictvi
 
Vysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictvi
Vysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictviVysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictvi
Vysledek souteze o navrh hospodarneho a funkcniho elektronickeho zdravotnictvi
 
Web Services - Introduction
Web Services - IntroductionWeb Services - Introduction
Web Services - Introduction
 
Techniky a nástroje pro propojená data (Linked Data)
Techniky a nástroje pro propojená data (Linked Data)Techniky a nástroje pro propojená data (Linked Data)
Techniky a nástroje pro propojená data (Linked Data)
 
Linked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fondLinked Data pro Evropský sociální fond
Linked Data pro Evropský sociální fond
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Web Services - Architecture and SOAP (part 1)

  • 1. Web Services (NSWI145) Lecture 02: Web Services Model, SOAP Martin Nečaský, Ph.D. Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Summer 2013
  • 2. Foundations of Web Services  4 views of Web Services Architecture  Message Oriented Model  Service Oriented Model  Resource Oriented Model  Policy Model Summer 2013
  • 3. Web Services Architecture Policy Policy Model Service Oriented Resource Model Oriented Service Model Resource Message Oriented Message Model Summer 2013
  • 4. Message Oriented Model Agent originates processes Headers has Message Message delivers Transport has Body Summer 2013
  • 5. Message Oriented Model http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#message_oriented_model Summer 2013
  • 6. Service Oriented Model Person or Message Organization signals owns Service describes uses realizes Metadata Agent Summer 2013
  • 7. Service Oriented Model http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#service_oriented_model Summer 2013
  • 8. Resource Oriented Model Person or URI organization has owns Resource is may have Service Representation Summer 2013
  • 9. Resource Oriented Model http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#resource_oriented_model Summer 2013
  • 10. Policy Oriented Model Person or Action organization about establishes Policy subject to about Agent Resource Summer 2013
  • 11. Policy Oriented Model http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#policy_model Summer 2013
  • 12. When Web Services are appropriate  for applications which must interoperate over the Internet with other applications  and, possibly, they did not originally supposed this  for applications which cannot be designed, implemented and evolved at once as one piece  for applications whose different parts run on different platforms and are owned by different persons/organizations  for applications which need to be exposed for use over the Internet  and, possibly, were not originally designated for this  where scalability, security, etc. need to be ensured Summer 2013
  • 13. Foundations of Web Services VISA WS MasterCard WS Lufthansa Travel Agent WS WS … Turkish Air. WS Search Hotel WS Summer 2013
  • 14. Foundations of Web Services  Web Services advantages  platform-independence  reusability  interoperability  scalability  adaptability Summer 2013
  • 15. W3C-style Web Services Processes XSLT BPEL WS-CDL Contract Management XSD Security WSDL WS-Policy Messages XML SOAP extensions SOAP Communications (HTTP, SMTP, …) Summer 2013
  • 16. W3C-style Web Services WSDL Web Service System SOAP Interface Agent Message Agent Summer 2013
  • 17. SOAP  Basics  Syntax  Processing Model  Communication Model  Network Protocol Bindings  Advantages/Disadvantages Summer 2013
  • 18. SOAP Basics  Simple Object Access Protocol  http://www.w3.org/TR/soap12-part0/  protocol for inter-application communication  applications = peers in decentralized and distributed environment Summer 2013
  • 19. SOAP Basics  de facto standard protocol for communication with Web Services  easily extensible  ideal for quickly evolving Web Service technologies  overcomes differences among proprietary heterogeneous peers  absolute necessity  lightweight  no need of specific environment to be installed  no configuration necessary  “Simple Object Access Protocol” is misleading  SOAP is not Simple  SOAP is not only Object Access Protocol Summer 2013
  • 20. SOAP Basics  stateless, one-way message exchange paradigm  more complex communication patterns can be created  request/response  publish/subscribe  application-specific patterns with more communication rounds or more participants Summer 2013
  • 21. SOAP Message Syntax  SOAP message is XML document  envelopes exchanged data  SOAP message is transferred over network via transfer protocol  HTTP, FTP, SMTP, …  or even TCP Summer 2013
  • 22. SOAP Message Syntax Sender Receiver exchanged exchanged data data SOAP message SOAP message HTTP/… message HTTP/… message Network Summer 2013
  • 23. SOAP Message Syntax  SOAP standardizes 3 XML elements  Envelope, Header, Body <Envelope> 0..1 1 <Header> <Body> 1..* 1..* header block body entry Summer 2013
  • 24. SOAP Message Syntax <?xml version="1.0"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <!–- Header is optional --> <env:Header> <!–- one or more header blocks --> </env:Header> <!–- Body is mandatory --> <env:Body> <!–- one or more body entries --> </env:Body> </env:Envelope> Summer 2013
  • 25. SOAP Message Syntax Envelope Example Summer 2013
  • 26. SOAP Message Syntax - Body Entry  application specific XML element  carries application data  end-to-end information Summer 2013
  • 27. SOAP Message Syntax - Body Example Summer 2013
  • 28. SOAP Message Syntax - Header Block  application specific XML element  carries data that is not part of application data itself  e.g. meta-data (message addressing, security, transactions, ...)  SOAP extension mechanism  SOAP modules  SOAP faults Summer 2013
  • 29. SOAP Syntax - Header Block  SOAP extensions via header blocks:  specific languages extending SOAP  WS-Encryption, WS-Trans, WS-Addressing, etc.  W3C, OASIS, etc.  each header block should have its own namespace  helps identify relevant header blocks Summer 2013
  • 30. SOAP Syntax - Header Example Summer 2013
  • 31. SOAP Syntax - Faults  all SOAP-specific and application-specific faults are reported using single element Fault in Body  network transfer protocol faults are reported using other protocol-specific mechanisms (e.g. HTTP)  separate SOAP message  mandatory Code and Reason  optional Detail, Node, Role Summer 2013
  • 32. SOAP Syntax - Faults  Code  reports specific kind of fault • particular kind of fault may require additional header blocks to be generated  mandatory Value • contains code value  optional Subcode • contains mandatory Value with application-specific sub-code value Summer 2013
  • 33. SOAP Syntax - Faults Code Semantics VersionMismatch Faulting node does not support the given version of SOAP. The node SHOULD specify how the messages should be upgraded with Upgrade header MustUnderstand Faulting node does not understand a header. The node SHOULD specify which header was not understood with NotUnderstood header DataEncodingUnknown Faulting node does not understand the message encoding Sender The message was incorrectly formed or did not contain the appropriate information in order to succeed. E.g. improper authentication details, registration information, etc. Receiver The message could not be processed for reasons attributable to the processing of the message rather than to the contents of the message itself. Something went wrong. Summer 2013
  • 34. SOAP Syntax - Faults  VersionMismatch <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace"> <env:Header> <env:Upgrade> Ordered by preferences <env:SupportedEnvelope qname="soap1:Envelope" xmlns:soap1="http://www.w3.org/2003/05/soap-envelope"/> </env:Upgrade> </env:Header> <env:Body> <env:Fault> <env:Code><env:Value>env:VersionMismatch</env:Value></env:Code> </env:Fault> </env:Body> </env:Envelope> Summer 2013
  • 35. SOAP Syntax - Faults  MustUnderstand <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:xml="http://www.w3.org/XML/1998/namespace"> <env:Header> <env:NotUnderstood qname="abc:ExtensionABC" xmlns:abc="http://example.org/2011/abc"/> <env:NotUnderstood qname="xyz:ExtensionXYZ" xmlns:xyz="http://example.org/Martin"/> </env:Header> <env:Body> <env:Fault> <env:Code><env:Value>env:MustUnderstand</env:Value></env:Code> </env:Fault> </env:Body> </env:Envelope> Summer 2013
  • 36. SOAP Syntax Faults  Reason  for human understanding  contains description of fault in one or more Text elements Summer 2013
  • 37. SOAP Syntax Faults Example Summer 2013
  • 38. Homework 1  design your own business process  steps will be later realized as web services  one step has to be realized as an external web service, i.e. a service that is not under your control • e.g., http://wwwinfo.mfcr.cz/ares/ > Webové služby (in czech)  use BPMN to model the business process  http://www.bizagi.com or similar tool  see tutorial: http://www.omg.org/news/meetings/workshops/ HC-Australia/Mancarella.pdf Summer 2013
  • 39. Homework 1  in a more detail Hospital than this ... Reception Investigation Surgery Hospitalization •Food •Sanitary •Accommodation Utility Control Economy •Material •Reports Summer 2013
  • 40. Homework 1  something like this is sufficient ... Summer 2013