Service Oriented Architecture
Deel 4 – SOA vanuit technisch perspectief




Leiden
19 May 2010
Bas Kruiswijk
Service Oriented Architecture




Overzicht
Deel 4: SOA vanuit technisch perspectief
1. Basisconcepten
2. SOA vanuit organisatorisch perspectief
3. Procesbesturing
4. SOA vanuit technisch perspectief
          – Service als technisch concept
          – Web services

5. De SOA infrastructuur
6. SOA in het ontwerpproces




© Twynstra Gudde 19-5-2010                  2
Service Oriented Architecture




Services

– From a technical perspective a logical next step following
  object- en component technology
          – Broad adoption of (internet)standards for web services
          – Platform independant
          – Central concept in (almost) alle current software development
            platforms (for instance the Java and .NET based platforms)

                                                     Visible service interface
                                                            description


                                                                                      request
                                       Service
                                      interface


                                        Service                                       respons
                                    implementation




                                                            Invisible, encapsulated
                                                           internal implementation
© Twynstra Gudde 19-5-2010                                                                      3
Service Oriented Architecture




Service
                                Visible service interface
                                       description


                                                                 request
        Service
       interface


      Service                                                    respons
  implementation




                                       Invisible, encapsulated
                                      internal implementation


© Twynstra Gudde 19-5-2010                                                 4
Service Oriented Architecture




Web services
– Web services are the most common technical implementation
  of a service
          – Web services are not the only possible technical implementation
          – Term Web services refers to a collection of standards that cover
            interoperability

– Fundamental standards
          – XML (eXtensible Markup Language) and XSD (XML Schema
            Definition)
          – HTTP (HyperText Transfer Protocol)
          – WSDL (Web Service Definition Language)
          – SOAP (Simple Object Access Protocol)
          – UDDI (Universal Description, Discovery and Integration)


© Twynstra Gudde 19-5-2010                                                     5
Service Oriented Architecture


Fundamental standards for web services (1)
HTTP and XML (existed before web services)
                                Visible service interface        XML
                                       description


                                                                 request
        Service
       interface
                                                                           XML

      Service                                                    respons
                                                 HTTP
  implementation




                                       Invisible, encapsulated
                                      internal implementation


© Twynstra Gudde 19-5-2010                                                  6
Service Oriented Architecture




   XML Example
                                             <books>
– eXtensible Markup Language                   <book>
                                                 <author>Don Box</author>
  for data-exchange, -storage                    <title>Essential XML</title>
  and –presentation                              <price>34,95</price>
                                               </book>
– General format, tag-structure                <book>
                                                 <author>Linus Torvalds</author>
– Most other web services                        <title>Linux for Fun</title>
                                                 <price>34,95</price>
  standards (and many others)                  </book>
  are based on XML                           </books>


                       <ClientSuwi>
                            <SofiNr>123456789</SofiNr>
                            <BankGironr>01982712</BankGironr>
                            <TelefoonnrClient>
                                <Telefoonnr>
                                     <Netnr>020</Netnr>
                                     <Abonneenr>4890000</Abonneenr>
                                </Telefoonnr>
                            </TelefoonnrClient>
                       </ClientSuwi>

   © Twynstra Gudde 19-5-2010                                                      7
Service Oriented Architecture




     XML and XSD (XML Schema Definition)
     Example
<shiporder orderid="889923"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   – An XML File has a
xsi:noNamespaceSchemaLocation="shiporder.xsd">
                                      "shiporder.xsd"
   <orderperson>John Smith</orderperson>                  structure
   <shipto>
      <name>Ola Nordmann</name>                         – An XML Schema
      <address>Langgt 23</address>                        Definition (XSD)
      <city>4000 Stavanger</city>
      <country>Norway</country>                           describes this structure
   </shipto>
   <item>
      <title>Empire Burlesque</title>
      <note>Special Edition</note>
      <quantity>1</quantity>
      <price>10.90</price>
   </item>
   <item>
      <title>Hide your heart</title>
      <quantity>1</quantity>
      <price>9.90</price>
   </item>
</shiporder>

     © Twynstra Gudde 19-5-2010                                                      8
Service Oriented Architecture




            XML and XSD (XML Schema Definition)
<shiporder orderid="889923"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="shiporder.xsd">
                                         "shiporder.xsd"                                         Part of the XSD
                                                             <xs:element name="shipto">
   <orderperson>John Smith</orderperson>
                                                              <xs:complexType>
   <shipto>
                                                                <xs:sequence>
      <name>Ola Nordmann</name>
                                                                   <xs:element name="name" type="xs:string"/>
      <address>Langgt 23</address>
                                                                   <xs:element name="address" type="xs:string"/>
      <city>4000 Stavanger</city>
                                                                   <xs:element name="city" type="xs:string"/>
      <country>Norway</country>
                                                                   <xs:element name="country" type="xs:string"/>
   </shipto>
                                                                </xs:sequence>
   <item>
                                                              </xs:complexType>
      <title>Empire Burlesque</title>
                                                             </xs:element>
      <note>Special Edition</note>
      <quantity>1</quantity>
      <price>10.90</price>                     <xs:element name="item" maxOccurs="unbounded">
   </item>                                      <xs:complexType>
   <item>                                         <xs:sequence>
      <title>Hide your heart</title>                 <xs:element name="title" type="xs:string"/>
      <quantity>1</quantity>                         <xs:element name="note" type="xs:string" minOccurs="0"/>
      <price>9.90</price>                            <xs:element name="quantity" type="xs:positiveInteger"/>
   </item>                                           <xs:element name="price" type="xs:decimal"/>
</shiporder>                                      </xs:sequence>
                             XML                </xs:complexType>
                                               </xs:element>
              © Twynstra Gudde 19-5-2010                                             Part of the XSD          9
Service Oriented Architecture




           XML and XSD (XML Schema Definition)
           Example                                      <?xml version="1.0" encoding="ISO-8859-1" ?>
                                                        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

<?xml version="1.0" encoding="ISO-8859-1"?>             <xs:element name="shiporder">
                                                         <xs:complexType>
<shiporder orderid="889923"                               <xs:sequence>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       <xs:element name="orderperson" type="xs:string"/>
xsi:noNamespaceSchemaLocation="shiporder.xsd">              <xs:element name="shipto">
 <orderperson>John Smith</orderperson>                       <xs:complexType>
 <shipto>                                                     <xs:sequence>
  <name>Ola Nordmann</name>                                     <xs:element name="name" type="xs:string"/>
  <address>Langgt 23</address>                                  <xs:element name="address" type="xs:string"/>
  <city>4000 Stavanger</city>                                   <xs:element name="city" type="xs:string"/>
  <country>Norway</country>                                     <xs:element name="country" type="xs:string"/>
 </shipto>                                                    </xs:sequence>
 <item>                                                      </xs:complexType>
  <title>Empire Burlesque</title>                           </xs:element>
  <note>Special Edition</note>                              <xs:element name="item" maxOccurs="unbounded">
  <quantity>1</quantity>                                     <xs:complexType>
  <price>10.90</price>                                        <xs:sequence>
 </item>                                                        <xs:element name="title" type="xs:string"/>
 <item>                                                         <xs:element name="note" type="xs:string" minOccurs="0"/>
  <title>Hide your heart</title>                                <xs:element name="quantity" type="xs:positiveInteger"/>
  <quantity>1</quantity>                                        <xs:element name="price" type="xs:decimal"/>
  <price>9.90</price>                                         </xs:sequence>
 </item>                                                     </xs:complexType>
</shiporder>                                                </xs:element>
                      Complete XML                        </xs:sequence>
                                                          <xs:attribute name="orderid" type="xs:string" use="required"/>
                                                         </xs:complexType>
                     XSD Defines the                    </xs:element>

                  structure of every XML                </xs:schema>
                        based on it                                                     Complete XSD
           © Twynstra Gudde 19-5-2010                                                                                      10
Service Oriented Architecture


Fundamental standards for web services (2)
WSDL
                                Visible service interface        XML WSDL
                                       description


                                                                 request
        Service
       interface
                                                                            XML

      Service                                                    respons
                                                 HTTP
  implementation




                                       Invisible, encapsulated
                                      internal implementation


© Twynstra Gudde 19-5-2010                                                  11
Service Oriented Architecture




WSDL
Web Service Definition Language
– Web Service Definition Language                        <definitions>

– Define the service interface for a                     <types>                        XSD definitions
                                                          definition of types........       used
  web service
                                                         </types>
          –    Contains all the information needed to
                                                                                          Possible
               call the web service                      <message>                      request and
          –    Signature (name and paramaters):           definition of a message....    response
               description of the request and response   </message>                      messages
               messages
          –    Protocal an location: where to find the   <portType>                      Interfaces
               service, and how to access it              definition of a port.......      request/
                                                         </portType>                      response
                                                                                        combinations
                                                         <binding>
                                                          definition of a binding....   How to
                                                                                         call it
                                                         </binding>

                                                         </definitions>



© Twynstra Gudde 19-5-2010                                                                    12
Service Oriented Architecture


        WSDL example
        A simple Glossary
                                        <message name="getTermRequest">
   Request message                       <part name="term" type="xs:string"/>
                                        </message>

                                        <message name="getTermResponse">
  Response message                       <part name="value" type="xs:string"/>
                                        </message>

                                        <portType name="glossaryTerms">
        Interface                        <operation name="getTerm">
    When you send a                       <input message="getTermRequest"/>
   “getTermRequest”                       <output message="getTermResponse"/>
       you get a                         </operation>
“getTermResponse” back                  </portType>

                                        <binding type="glossaryTerms" name="b1">
                                          <soap:binding style="document"
    SOAP action
                                          transport="http://schemas.xmlsoap.org/soap/http" />
  that corresponds
                                          <operation>
    to this action
                                            <soap:operation soapAction="http://example.com/getTerm"/>
                                            <input><soap:body use="literal"/></input>
                                            <output><soap:body use="literal"/></output>
                                         </operation>
                                        </binding>
        © Twynstra Gudde 19-5-2010                                                                  13
Service Oriented Architecture


Fundamental standards for web services (3)
SOAP
                                Visible service interface        XML WSDL
                                       description


                                                                 request
                                                                            SOAP
        Service
       interface
                                                                            XML

      Service                                                    respons
                                                 HTTP
  implementation




                                       Invisible, encapsulated
                                      internal implementation


© Twynstra Gudde 19-5-2010                                                  14
Service Oriented Architecture




SOAP
Simple Object Access Protocol
– Simple Object Access Protocol                        <?xml version="1.0"?>
          –    Call a component’s service by sending   <soap:Envelope
               an XML-message                          xmlns:soap="http://www.w3.org/2001/12/soap-
          –    Based on standard internet technology
                                                       envelope"
               (HTTP)
                                                       soap:encodingStyle="http://www.w3.org/2001/
                                                       12/soap-encoding">
          –    Suitable for Business-to-Business
               communication: communication            <soap:Header>
               between dissimilar systems (often
                                                       ...
               outside your own company)
                                                       </soap:Header>

                                                       <soap:Body>
– Requests and Responses can be                        ...
  sent and received as SOAP                              <soap:Fault>
  messages                                               ...
                                                         </soap:Fault>
                                                       </soap:Body>

                                                       </soap:Envelope>



© Twynstra Gudde 19-5-2010                                                                   15
Service Oriented Architecture




  A SOAP message
                                   van
                 Header
                                   aan

                                  Beste   /   /
           Body




Envelope




  © Twynstra Gudde 19-5-2010                      16
Service Oriented Architecture




       SOAP
       Example
                                               Request
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body>
 <m:GetPrice xmlns:m="http://www.w3schools.com/prices">
   <m:Item>Apples</m:Item>
 </m:GetPrice>
</soap:Body>
                                                                                   Response
                                       <?xml version="1.0"?>
</soap:Envelope>
                                       <soap:Envelope
                                       xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
                                       soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                                       <soap:Body>
                                        <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices">
                                          <m:Price>1.90</m:Price>
                                        </m:GetPriceResponse>
                                       </soap:Body>

       © Twynstra Gudde 19-5-2010      </soap:Envelope>                                        17
Service Oriented Architecture


Fundamental standards for web services (4)
UDDI
                                Visible service interface        XML WSDL
                                       description


                                                                 request
                                                                                       SOAP
        Service
       interface
                                                                                       XML

      Service                                                    respons
                                                 HTTP
  implementation




                                                                              Web
                                                                            Services




                                       Invisible, encapsulated
                                      internal implementation
                                                                            Rotterdam




                                                                            UDDI
© Twynstra Gudde 19-5-2010                                                              18
Service Oriented Architecture




Web services

     XML message

                                                 Described by
                                                 a WSDL
                                  van
                                 an
                                  a

                                Bes te   /
                                                 definition
     Inside a
                                             /



     SOAP message




     Sent over
     internet (HTTP
               HTTP)
               HTTP

© Twynstra Gudde 19-5-2010                             19
Service Oriented Architecture




Web services protocols
                        UDDI
                                 Supporting
                                 protocol
                      WSDL

                       SOAP
                                 Application
                         XML     protocol


                       HTTP

                         TCP
                                 Transport
                                 protocol
                            IP
© Twynstra Gudde 19-5-2010                     20
Service Oriented Architecture




Bas Kruiswijk
bkr@tg.nl




www.twynstragudde.nl

All rights reserved. No part of this presentation may be
reproduced or published in any form or by any means
without the prior written permission of Twynstra Gudde.




© Twynstra Gudde 19-5-2010                                 21

More Related Content

PPTX
Enterprise Service Bus Part 2
PPTX
Data-centric Invocable Services
PDF
Het nieuwe (net)werken
PDF
Prorail Situatie Na
PDF
Prorail Situatie Voor
PDF
SOA ontwerpproces en migratie
PDF
Presentatie Msc
Enterprise Service Bus Part 2
Data-centric Invocable Services
Het nieuwe (net)werken
Prorail Situatie Na
Prorail Situatie Voor
SOA ontwerpproces en migratie
Presentatie Msc

Similar to 8 soa technisch perspectief (20)

PPTX
Lecture 16 - Web Services
PPTX
Web Service Basics and NWS Setup
PPT
webservicearchitecture-150614164814-lva1-app6892.ppt
PPT
Web service architecture
PDF
Data Binding Unleashed for Composite Applications
PDF
Exposing Business Value
PDF
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
PPTX
Web Services - WSDL
PPT
PDF
Java Web Services [3/5]: WSDL, WADL and UDDI
PPT
Web services for IT ....................
PPT
webservices unit 5.ppt........................
PPTX
Enterprise service bus part 2
PPTX
Ogsi protocol perspective
PPTX
Service Oriented Architecture Updated Luqman
PPT
webservices.ppt for website designing ppt
PPTX
PPTX
W8/WP8 App Dev for SAP, Part 1A: Service Development with NetWeaver Gateway S...
PDF
web performance explained to network and infrastructure experts
PPT
Gws adarsh
Lecture 16 - Web Services
Web Service Basics and NWS Setup
webservicearchitecture-150614164814-lva1-app6892.ppt
Web service architecture
Data Binding Unleashed for Composite Applications
Exposing Business Value
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
Web Services - WSDL
Java Web Services [3/5]: WSDL, WADL and UDDI
Web services for IT ....................
webservices unit 5.ppt........................
Enterprise service bus part 2
Ogsi protocol perspective
Service Oriented Architecture Updated Luqman
webservices.ppt for website designing ppt
W8/WP8 App Dev for SAP, Part 1A: Service Development with NetWeaver Gateway S...
web performance explained to network and infrastructure experts
Gws adarsh
Ad

More from Dan Kamminga (20)

PPT
Twynstra gudde presentatie implementatie juni 2012
PDF
9 soa infrastructuur
PDF
7 soa event driven architecture
PDF
SOA procesbesturing
PDF
SOA organisatorisch perspectief
PDF
SOA basisconcepten
PDF
Lac 2009 eco architectuur
PPT
Lac 2003 blauwdrukken en andere kleurendrukken
PPT
Lac 2010 Track architectuur als hefboom in de zorg
PPT
Lac 2006 achilles en de schildpad
PDF
Lac2004 werken onder architectuur
PDF
Lac 2005 implementatie soa provincie gelderland
PDF
4 soa basisconcepten
PPT
3 software architectuur
PPT
2 enterprise architectuur
PPT
1 introductie architectuur
PDF
Congres: Ketenregie in Facility Management - Workshop Alliander sourcing th...
PDF
Congres: Ketenregie in Facility Management - Het FB van RIVM in regie
PDF
Congres: Ketenregie in Facility Management - Presentatie Leo Schunck
PDF
Onderzoek waardesturing
Twynstra gudde presentatie implementatie juni 2012
9 soa infrastructuur
7 soa event driven architecture
SOA procesbesturing
SOA organisatorisch perspectief
SOA basisconcepten
Lac 2009 eco architectuur
Lac 2003 blauwdrukken en andere kleurendrukken
Lac 2010 Track architectuur als hefboom in de zorg
Lac 2006 achilles en de schildpad
Lac2004 werken onder architectuur
Lac 2005 implementatie soa provincie gelderland
4 soa basisconcepten
3 software architectuur
2 enterprise architectuur
1 introductie architectuur
Congres: Ketenregie in Facility Management - Workshop Alliander sourcing th...
Congres: Ketenregie in Facility Management - Het FB van RIVM in regie
Congres: Ketenregie in Facility Management - Presentatie Leo Schunck
Onderzoek waardesturing
Ad

Recently uploaded (20)

PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
Modernising the Digital Integration Hub
PDF
Getting Started with Data Integration: FME Form 101
PDF
August Patch Tuesday
PPTX
observCloud-Native Containerability and monitoring.pptx
PPT
What is a Computer? Input Devices /output devices
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPT
Geologic Time for studying geology for geologist
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Five Habits of High-Impact Board Members
PDF
Unlock new opportunities with location data.pdf
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
STKI Israel Market Study 2025 version august
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
A comparative study of natural language inference in Swahili using monolingua...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Developing a website for English-speaking practice to English as a foreign la...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Modernising the Digital Integration Hub
Getting Started with Data Integration: FME Form 101
August Patch Tuesday
observCloud-Native Containerability and monitoring.pptx
What is a Computer? Input Devices /output devices
Univ-Connecticut-ChatGPT-Presentaion.pdf
Geologic Time for studying geology for geologist
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
A novel scalable deep ensemble learning framework for big data classification...
Chapter 5: Probability Theory and Statistics
Five Habits of High-Impact Board Members
Unlock new opportunities with location data.pdf
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
STKI Israel Market Study 2025 version august
A contest of sentiment analysis: k-nearest neighbor versus neural network

8 soa technisch perspectief

  • 1. Service Oriented Architecture Deel 4 – SOA vanuit technisch perspectief Leiden 19 May 2010 Bas Kruiswijk
  • 2. Service Oriented Architecture Overzicht Deel 4: SOA vanuit technisch perspectief 1. Basisconcepten 2. SOA vanuit organisatorisch perspectief 3. Procesbesturing 4. SOA vanuit technisch perspectief – Service als technisch concept – Web services 5. De SOA infrastructuur 6. SOA in het ontwerpproces © Twynstra Gudde 19-5-2010 2
  • 3. Service Oriented Architecture Services – From a technical perspective a logical next step following object- en component technology – Broad adoption of (internet)standards for web services – Platform independant – Central concept in (almost) alle current software development platforms (for instance the Java and .NET based platforms) Visible service interface description request Service interface Service respons implementation Invisible, encapsulated internal implementation © Twynstra Gudde 19-5-2010 3
  • 4. Service Oriented Architecture Service Visible service interface description request Service interface Service respons implementation Invisible, encapsulated internal implementation © Twynstra Gudde 19-5-2010 4
  • 5. Service Oriented Architecture Web services – Web services are the most common technical implementation of a service – Web services are not the only possible technical implementation – Term Web services refers to a collection of standards that cover interoperability – Fundamental standards – XML (eXtensible Markup Language) and XSD (XML Schema Definition) – HTTP (HyperText Transfer Protocol) – WSDL (Web Service Definition Language) – SOAP (Simple Object Access Protocol) – UDDI (Universal Description, Discovery and Integration) © Twynstra Gudde 19-5-2010 5
  • 6. Service Oriented Architecture Fundamental standards for web services (1) HTTP and XML (existed before web services) Visible service interface XML description request Service interface XML Service respons HTTP implementation Invisible, encapsulated internal implementation © Twynstra Gudde 19-5-2010 6
  • 7. Service Oriented Architecture XML Example <books> – eXtensible Markup Language <book> <author>Don Box</author> for data-exchange, -storage <title>Essential XML</title> and –presentation <price>34,95</price> </book> – General format, tag-structure <book> <author>Linus Torvalds</author> – Most other web services <title>Linux for Fun</title> <price>34,95</price> standards (and many others) </book> are based on XML </books> <ClientSuwi> <SofiNr>123456789</SofiNr> <BankGironr>01982712</BankGironr> <TelefoonnrClient> <Telefoonnr> <Netnr>020</Netnr> <Abonneenr>4890000</Abonneenr> </Telefoonnr> </TelefoonnrClient> </ClientSuwi> © Twynstra Gudde 19-5-2010 7
  • 8. Service Oriented Architecture XML and XSD (XML Schema Definition) Example <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" – An XML File has a xsi:noNamespaceSchemaLocation="shiporder.xsd"> "shiporder.xsd" <orderperson>John Smith</orderperson> structure <shipto> <name>Ola Nordmann</name> – An XML Schema <address>Langgt 23</address> Definition (XSD) <city>4000 Stavanger</city> <country>Norway</country> describes this structure </shipto> <item> <title>Empire Burlesque</title> <note>Special Edition</note> <quantity>1</quantity> <price>10.90</price> </item> <item> <title>Hide your heart</title> <quantity>1</quantity> <price>9.90</price> </item> </shiporder> © Twynstra Gudde 19-5-2010 8
  • 9. Service Oriented Architecture XML and XSD (XML Schema Definition) <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="shiporder.xsd"> "shiporder.xsd" Part of the XSD <xs:element name="shipto"> <orderperson>John Smith</orderperson> <xs:complexType> <shipto> <xs:sequence> <name>Ola Nordmann</name> <xs:element name="name" type="xs:string"/> <address>Langgt 23</address> <xs:element name="address" type="xs:string"/> <city>4000 Stavanger</city> <xs:element name="city" type="xs:string"/> <country>Norway</country> <xs:element name="country" type="xs:string"/> </shipto> </xs:sequence> <item> </xs:complexType> <title>Empire Burlesque</title> </xs:element> <note>Special Edition</note> <quantity>1</quantity> <price>10.90</price> <xs:element name="item" maxOccurs="unbounded"> </item> <xs:complexType> <item> <xs:sequence> <title>Hide your heart</title> <xs:element name="title" type="xs:string"/> <quantity>1</quantity> <xs:element name="note" type="xs:string" minOccurs="0"/> <price>9.90</price> <xs:element name="quantity" type="xs:positiveInteger"/> </item> <xs:element name="price" type="xs:decimal"/> </shiporder> </xs:sequence> XML </xs:complexType> </xs:element> © Twynstra Gudde 19-5-2010 Part of the XSD 9
  • 10. Service Oriented Architecture XML and XSD (XML Schema Definition) Example <?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <?xml version="1.0" encoding="ISO-8859-1"?> <xs:element name="shiporder"> <xs:complexType> <shiporder orderid="889923" <xs:sequence> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <xs:element name="orderperson" type="xs:string"/> xsi:noNamespaceSchemaLocation="shiporder.xsd"> <xs:element name="shipto"> <orderperson>John Smith</orderperson> <xs:complexType> <shipto> <xs:sequence> <name>Ola Nordmann</name> <xs:element name="name" type="xs:string"/> <address>Langgt 23</address> <xs:element name="address" type="xs:string"/> <city>4000 Stavanger</city> <xs:element name="city" type="xs:string"/> <country>Norway</country> <xs:element name="country" type="xs:string"/> </shipto> </xs:sequence> <item> </xs:complexType> <title>Empire Burlesque</title> </xs:element> <note>Special Edition</note> <xs:element name="item" maxOccurs="unbounded"> <quantity>1</quantity> <xs:complexType> <price>10.90</price> <xs:sequence> </item> <xs:element name="title" type="xs:string"/> <item> <xs:element name="note" type="xs:string" minOccurs="0"/> <title>Hide your heart</title> <xs:element name="quantity" type="xs:positiveInteger"/> <quantity>1</quantity> <xs:element name="price" type="xs:decimal"/> <price>9.90</price> </xs:sequence> </item> </xs:complexType> </shiporder> </xs:element> Complete XML </xs:sequence> <xs:attribute name="orderid" type="xs:string" use="required"/> </xs:complexType> XSD Defines the </xs:element> structure of every XML </xs:schema> based on it Complete XSD © Twynstra Gudde 19-5-2010 10
  • 11. Service Oriented Architecture Fundamental standards for web services (2) WSDL Visible service interface XML WSDL description request Service interface XML Service respons HTTP implementation Invisible, encapsulated internal implementation © Twynstra Gudde 19-5-2010 11
  • 12. Service Oriented Architecture WSDL Web Service Definition Language – Web Service Definition Language <definitions> – Define the service interface for a <types> XSD definitions definition of types........ used web service </types> – Contains all the information needed to Possible call the web service <message> request and – Signature (name and paramaters): definition of a message.... response description of the request and response </message> messages messages – Protocal an location: where to find the <portType> Interfaces service, and how to access it definition of a port....... request/ </portType> response combinations <binding> definition of a binding.... How to call it </binding> </definitions> © Twynstra Gudde 19-5-2010 12
  • 13. Service Oriented Architecture WSDL example A simple Glossary <message name="getTermRequest"> Request message <part name="term" type="xs:string"/> </message> <message name="getTermResponse"> Response message <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> Interface <operation name="getTerm"> When you send a <input message="getTermRequest"/> “getTermRequest” <output message="getTermResponse"/> you get a </operation> “getTermResponse” back </portType> <binding type="glossaryTerms" name="b1"> <soap:binding style="document" SOAP action transport="http://schemas.xmlsoap.org/soap/http" /> that corresponds <operation> to this action <soap:operation soapAction="http://example.com/getTerm"/> <input><soap:body use="literal"/></input> <output><soap:body use="literal"/></output> </operation> </binding> © Twynstra Gudde 19-5-2010 13
  • 14. Service Oriented Architecture Fundamental standards for web services (3) SOAP Visible service interface XML WSDL description request SOAP Service interface XML Service respons HTTP implementation Invisible, encapsulated internal implementation © Twynstra Gudde 19-5-2010 14
  • 15. Service Oriented Architecture SOAP Simple Object Access Protocol – Simple Object Access Protocol <?xml version="1.0"?> – Call a component’s service by sending <soap:Envelope an XML-message xmlns:soap="http://www.w3.org/2001/12/soap- – Based on standard internet technology envelope" (HTTP) soap:encodingStyle="http://www.w3.org/2001/ 12/soap-encoding"> – Suitable for Business-to-Business communication: communication <soap:Header> between dissimilar systems (often ... outside your own company) </soap:Header> <soap:Body> – Requests and Responses can be ... sent and received as SOAP <soap:Fault> messages ... </soap:Fault> </soap:Body> </soap:Envelope> © Twynstra Gudde 19-5-2010 15
  • 16. Service Oriented Architecture A SOAP message van Header aan Beste / / Body Envelope © Twynstra Gudde 19-5-2010 16
  • 17. Service Oriented Architecture SOAP Example Request <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <m:GetPrice xmlns:m="http://www.w3schools.com/prices"> <m:Item>Apples</m:Item> </m:GetPrice> </soap:Body> Response <?xml version="1.0"?> </soap:Envelope> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> <m:GetPriceResponse xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90</m:Price> </m:GetPriceResponse> </soap:Body> © Twynstra Gudde 19-5-2010 </soap:Envelope> 17
  • 18. Service Oriented Architecture Fundamental standards for web services (4) UDDI Visible service interface XML WSDL description request SOAP Service interface XML Service respons HTTP implementation Web Services Invisible, encapsulated internal implementation Rotterdam UDDI © Twynstra Gudde 19-5-2010 18
  • 19. Service Oriented Architecture Web services XML message Described by a WSDL van an a Bes te / definition Inside a / SOAP message Sent over internet (HTTP HTTP) HTTP © Twynstra Gudde 19-5-2010 19
  • 20. Service Oriented Architecture Web services protocols UDDI Supporting protocol WSDL SOAP Application XML protocol HTTP TCP Transport protocol IP © Twynstra Gudde 19-5-2010 20
  • 21. Service Oriented Architecture Bas Kruiswijk bkr@tg.nl www.twynstragudde.nl All rights reserved. No part of this presentation may be reproduced or published in any form or by any means without the prior written permission of Twynstra Gudde. © Twynstra Gudde 19-5-2010 21