SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 8 soa technisch perspectief

Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
guesteb791b
 

Similaire à 8 soa technisch perspectief (20)

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Services
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
Web service architecture
Web service architectureWeb service architecture
Web service architecture
 
Data Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite ApplicationsData Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite Applications
 
Exposing Business Value
Exposing Business ValueExposing Business Value
Exposing Business Value
 
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
Unit 10: XML and Beyond (Sematic Web, Web Services, ...)
 
Web Services - WSDL
Web Services - WSDLWeb Services - WSDL
Web Services - WSDL
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Java Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDIJava Web Services [3/5]: WSDL, WADL and UDDI
Java Web Services [3/5]: WSDL, WADL and UDDI
 
Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Ogsi protocol perspective
Ogsi protocol perspectiveOgsi protocol perspective
Ogsi protocol perspective
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqman
 
Web services
Web servicesWeb services
Web services
 
W8/WP8 App Dev for SAP, Part 1A: Service Development with NetWeaver Gateway S...
W8/WP8 App Dev for SAP, Part 1A: Service Development with NetWeaver Gateway S...W8/WP8 App Dev for SAP, Part 1A: Service Development with NetWeaver Gateway S...
W8/WP8 App Dev for SAP, Part 1A: Service Development with NetWeaver Gateway S...
 
web performance explained to network and infrastructure experts
web performance explained to network and infrastructure expertsweb performance explained to network and infrastructure experts
web performance explained to network and infrastructure experts
 
Soa wcf 1.1
Soa wcf 1.1Soa wcf 1.1
Soa wcf 1.1
 
Gws adarsh
Gws adarshGws adarsh
Gws adarsh
 
JSFI - Dynamic RCP Desktop Application
JSFI - Dynamic RCP Desktop ApplicationJSFI - Dynamic RCP Desktop Application
JSFI - Dynamic RCP Desktop Application
 
Hva er SOA og Web services?
Hva er SOA og Web services?Hva er SOA og Web services?
Hva er SOA og Web services?
 
introduction to Windows Comunication Foundation
introduction to Windows Comunication Foundationintroduction to Windows Comunication Foundation
introduction to Windows Comunication Foundation
 

Plus de Dan Kamminga

9 soa infrastructuur
9 soa infrastructuur9 soa infrastructuur
9 soa infrastructuur
Dan Kamminga
 
7 soa event driven architecture
7 soa event driven architecture7 soa event driven architecture
7 soa event driven architecture
Dan Kamminga
 
Lac 2009 eco architectuur
Lac 2009 eco architectuurLac 2009 eco architectuur
Lac 2009 eco architectuur
Dan Kamminga
 
4 soa basisconcepten
4 soa basisconcepten4 soa basisconcepten
4 soa basisconcepten
Dan Kamminga
 
3 software architectuur
3 software architectuur3 software architectuur
3 software architectuur
Dan Kamminga
 
2 enterprise architectuur
2 enterprise architectuur2 enterprise architectuur
2 enterprise architectuur
Dan Kamminga
 
1 introductie architectuur
1 introductie architectuur1 introductie architectuur
1 introductie architectuur
Dan Kamminga
 
Congres: Ketenregie in Facility Management - Workshop Alliander sourcing th...
Congres: Ketenregie in Facility Management -   Workshop Alliander sourcing th...Congres: Ketenregie in Facility Management -   Workshop Alliander sourcing th...
Congres: Ketenregie in Facility Management - Workshop Alliander sourcing th...
Dan Kamminga
 
Congres: Ketenregie in Facility Management - Het FB van RIVM in regie
Congres: Ketenregie in Facility Management - Het FB van RIVM in regieCongres: Ketenregie in Facility Management - Het FB van RIVM in regie
Congres: Ketenregie in Facility Management - Het FB van RIVM in regie
Dan Kamminga
 
Congres: Ketenregie in Facility Management - Presentatie Leo Schunck
Congres: Ketenregie in Facility Management - Presentatie Leo SchunckCongres: Ketenregie in Facility Management - Presentatie Leo Schunck
Congres: Ketenregie in Facility Management - Presentatie Leo Schunck
Dan Kamminga
 

Plus de Dan Kamminga (20)

Twynstra gudde presentatie implementatie juni 2012
Twynstra gudde presentatie implementatie juni 2012 Twynstra gudde presentatie implementatie juni 2012
Twynstra gudde presentatie implementatie juni 2012
 
9 soa infrastructuur
9 soa infrastructuur9 soa infrastructuur
9 soa infrastructuur
 
7 soa event driven architecture
7 soa event driven architecture7 soa event driven architecture
7 soa event driven architecture
 
SOA procesbesturing
SOA procesbesturingSOA procesbesturing
SOA procesbesturing
 
SOA organisatorisch perspectief
SOA organisatorisch perspectiefSOA organisatorisch perspectief
SOA organisatorisch perspectief
 
SOA basisconcepten
SOA basisconceptenSOA basisconcepten
SOA basisconcepten
 
Lac 2009 eco architectuur
Lac 2009 eco architectuurLac 2009 eco architectuur
Lac 2009 eco architectuur
 
Lac 2003 blauwdrukken en andere kleurendrukken
Lac 2003   blauwdrukken en andere kleurendrukkenLac 2003   blauwdrukken en andere kleurendrukken
Lac 2003 blauwdrukken en andere kleurendrukken
 
Lac 2010 Track architectuur als hefboom in de zorg
Lac 2010 Track architectuur als hefboom in de zorgLac 2010 Track architectuur als hefboom in de zorg
Lac 2010 Track architectuur als hefboom in de zorg
 
Lac 2006 achilles en de schildpad
Lac 2006 achilles en de schildpadLac 2006 achilles en de schildpad
Lac 2006 achilles en de schildpad
 
Lac2004 werken onder architectuur
Lac2004   werken onder architectuurLac2004   werken onder architectuur
Lac2004 werken onder architectuur
 
Lac 2005 implementatie soa provincie gelderland
Lac 2005 implementatie soa provincie gelderlandLac 2005 implementatie soa provincie gelderland
Lac 2005 implementatie soa provincie gelderland
 
4 soa basisconcepten
4 soa basisconcepten4 soa basisconcepten
4 soa basisconcepten
 
3 software architectuur
3 software architectuur3 software architectuur
3 software architectuur
 
2 enterprise architectuur
2 enterprise architectuur2 enterprise architectuur
2 enterprise architectuur
 
1 introductie architectuur
1 introductie architectuur1 introductie architectuur
1 introductie architectuur
 
Congres: Ketenregie in Facility Management - Workshop Alliander sourcing th...
Congres: Ketenregie in Facility Management -   Workshop Alliander sourcing th...Congres: Ketenregie in Facility Management -   Workshop Alliander sourcing th...
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 - Het FB van RIVM in regieCongres: Ketenregie in Facility Management - Het FB van RIVM in regie
Congres: Ketenregie in Facility Management - Het FB van RIVM in regie
 
Congres: Ketenregie in Facility Management - Presentatie Leo Schunck
Congres: Ketenregie in Facility Management - Presentatie Leo SchunckCongres: Ketenregie in Facility Management - Presentatie Leo Schunck
Congres: Ketenregie in Facility Management - Presentatie Leo Schunck
 
Onderzoek waardesturing
Onderzoek waardesturing Onderzoek waardesturing
Onderzoek waardesturing
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
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
 

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