SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a 8 soa technisch perspectief

Lecture 16 - Web Services
Lecture 16 - Web ServicesLecture 16 - Web Services
Lecture 16 - Web Servicesphanleson
 
Data Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite ApplicationsData Binding Unleashed for Composite Applications
Data Binding Unleashed for Composite ApplicationsRaymond Feng
 
Exposing Business Value
Exposing Business ValueExposing Business Value
Exposing Business ValueESUG
 
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 UDDIIMC Institute
 
Ogsi protocol perspective
Ogsi protocol perspectiveOgsi protocol perspective
Ogsi protocol perspectivePooja Dixit
 
Service Oriented Architecture Updated Luqman
Service Oriented Architecture Updated  LuqmanService Oriented Architecture Updated  Luqman
Service Oriented Architecture Updated Luqmanguesteb791b
 
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 expertsBernard Paques
 
JSFI - Dynamic RCP Desktop Application
JSFI - Dynamic RCP Desktop ApplicationJSFI - Dynamic RCP Desktop Application
JSFI - Dynamic RCP Desktop ApplicationAlper Türkyılmaz
 
Hva er SOA og Web services?
Hva er SOA og Web services?Hva er SOA og Web services?
Hva er SOA og Web services?Brian Elvesæter
 
introduction to Windows Comunication Foundation
introduction to Windows Comunication Foundationintroduction to Windows Comunication Foundation
introduction to Windows Comunication Foundationredaxe12
 

Similar a 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
 

Más de Dan Kamminga

Twynstra gudde presentatie implementatie juni 2012
Twynstra gudde presentatie implementatie juni 2012 Twynstra gudde presentatie implementatie juni 2012
Twynstra gudde presentatie implementatie juni 2012 Dan Kamminga
 
9 soa infrastructuur
9 soa infrastructuur9 soa infrastructuur
9 soa infrastructuurDan Kamminga
 
7 soa event driven architecture
7 soa event driven architecture7 soa event driven architecture
7 soa event driven architectureDan Kamminga
 
SOA procesbesturing
SOA procesbesturingSOA procesbesturing
SOA procesbesturingDan Kamminga
 
SOA organisatorisch perspectief
SOA organisatorisch perspectiefSOA organisatorisch perspectief
SOA organisatorisch perspectiefDan Kamminga
 
SOA basisconcepten
SOA basisconceptenSOA basisconcepten
SOA basisconceptenDan Kamminga
 
Lac 2009 eco architectuur
Lac 2009 eco architectuurLac 2009 eco architectuur
Lac 2009 eco architectuurDan Kamminga
 
Lac 2003 blauwdrukken en andere kleurendrukken
Lac 2003   blauwdrukken en andere kleurendrukkenLac 2003   blauwdrukken en andere kleurendrukken
Lac 2003 blauwdrukken en andere kleurendrukkenDan Kamminga
 
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 zorgDan Kamminga
 
Lac 2006 achilles en de schildpad
Lac 2006 achilles en de schildpadLac 2006 achilles en de schildpad
Lac 2006 achilles en de schildpadDan Kamminga
 
Lac2004 werken onder architectuur
Lac2004   werken onder architectuurLac2004   werken onder architectuur
Lac2004 werken onder architectuurDan Kamminga
 
Lac 2005 implementatie soa provincie gelderland
Lac 2005 implementatie soa provincie gelderlandLac 2005 implementatie soa provincie gelderland
Lac 2005 implementatie soa provincie gelderlandDan Kamminga
 
4 soa basisconcepten
4 soa basisconcepten4 soa basisconcepten
4 soa basisconceptenDan Kamminga
 
3 software architectuur
3 software architectuur3 software architectuur
3 software architectuurDan Kamminga
 
2 enterprise architectuur
2 enterprise architectuur2 enterprise architectuur
2 enterprise architectuurDan Kamminga
 
1 introductie architectuur
1 introductie architectuur1 introductie architectuur
1 introductie architectuurDan 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 regieDan 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 SchunckDan Kamminga
 
Onderzoek waardesturing
Onderzoek waardesturing Onderzoek waardesturing
Onderzoek waardesturing Dan Kamminga
 

Más 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
 

Último

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
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 organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

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