T110 455 Network Application Frameworks and XML Web
![T-110. 455 Network Application Frameworks and XML Web Services and WSDL 16. 3. 2005 T-110. 455 Network Application Frameworks and XML Web Services and WSDL 16. 3. 2005](https://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-1.jpg)
T-110. 455 Network Application Frameworks and XML Web Services and WSDL 16. 3. 2005 Sasu Tarkoma Based on slides by Pekka Nikander
![Contents n n Short review of XML & related specs Web Services u u Contents n n Short review of XML & related specs Web Services u u](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-2.jpg)
Contents n n Short review of XML & related specs Web Services u u n WSDL 1. 1 u u n n Driving forces Architecture & protocol stack WSDL document elements Mapping SOAP to WSDL 2. 0 Implementations Towards the Semantic Web Summary
![XML n n n XML (e. Xtensible Markup Language) is a framework for defining XML n n n XML (e. Xtensible Markup Language) is a framework for defining](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-3.jpg)
XML n n n XML (e. Xtensible Markup Language) is a framework for defining markup languages Standardized by W 3 C Idea: to separate syntax from semantics, custom markup, internationalization, platform independence XML Document: prolog, elements, attributes, entity references, comments Validated using DTD or schema Two things: well-formedness and validity
![Related standards n Namespaces u n XPath / XQuery u n n Navigation and Related standards n Namespaces u n XPath / XQuery u n n Navigation and](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-4.jpg)
Related standards n Namespaces u n XPath / XQuery u n n Navigation and query of parts of the document XML linking language (Xlink) XML Schema u n Modular document definition, multiple inheritance, collision avoidance definition of document structure and custom data types XSLT u Transformation of documents
![Namespaces n Many documents can have identical elements that denote different things u u Namespaces n Many documents can have identical elements that denote different things u u](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-5.jpg)
Namespaces n Many documents can have identical elements that denote different things u u n n W 3 C Recommendation In general, a namespace is just a tag u u n Namespaces are the XML way to classify elements A qualified name is a name subject to namespace interpretation An arbitrary string Does not need to be a URI A common practice to store a schema / WSDL into the place referenced by the URI u u Semantics depends on the specific platform Some XML validators use these
![Example namespace <!-- the 'price' element's namespace is http: //ecommerce. example. org/schema --> <edi: Example namespace <!-- the 'price' element's namespace is http: //ecommerce. example. org/schema --> <edi:](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-6.jpg)
Example namespace <!-- the 'price' element's namespace is http: //ecommerce. example. org/schema --> <edi: price xmlns: edi='http: //ecommerce. example. org/schema' units='Euro'>32. 18</edi: price>
![About Schemas n n n XML language for describing and constraining the content of About Schemas n n n XML language for describing and constraining the content of](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-7.jpg)
About Schemas n n n XML language for describing and constraining the content of XML documents A W 3 C Recommendation Used to specify u u n n The allowed structure of an XML document The allowed data types contained in XML documents XML Schema documents are XML documents Schema document: schema element and element, attribute, and type definitions + annotations
![Driving forces I n Universal data access / representation u n Independent of OS, Driving forces I n Universal data access / representation u n Independent of OS,](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-8.jpg)
Driving forces I n Universal data access / representation u n Independent of OS, programming language, network protocol, … Move from human-centric to applicationcentric web u u Applications converse with each other and use machine-related information published on the web Application-areas: package tracking, card verification, shopping bots, single sign-on, calendar, email, . . .
![Driving forces II n Making Web a programming interface u u n Make service Driving forces II n Making Web a programming interface u u n Make service](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-9.jpg)
Driving forces II n Making Web a programming interface u u n Make service composition possible u u n We have had servlets, CGI, CORBA for years Idea is to standardise languages and protocols to have better integration Faster project throughput Cope with heterogeneity Deferred binding u Many levels of deference
![A Basic Web Service XML Computer A Language: C++ OS: W 2000 Independent of A Basic Web Service XML Computer A Language: C++ OS: W 2000 Independent of](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-10.jpg)
A Basic Web Service XML Computer A Language: C++ OS: W 2000 Independent of language, OS, network protocols XML Computer B Language: Java OS: Linux
![Additional properties n A web service should be self-describing u u u n A Additional properties n A web service should be self-describing u u u n A](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-11.jpg)
Additional properties n A web service should be self-describing u u u n A web-service should be discoverable u u n Interface is published with the implementation Minimum interface is human readable description The interface can also be written in a common XML grammar (WSDL) The web service is published Interested parties can find it Not mandatory but desirable properties
![Standardization n W 3 C Web Services u XML Protocol Working Group F u Standardization n W 3 C Web Services u XML Protocol Working Group F u](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-12.jpg)
Standardization n W 3 C Web Services u XML Protocol Working Group F u u u Web Services Addressing Working Group Web Services Choreography Working Group Web Services Description Working Group F n WSDL OASIS u n SOAP E-business standards, UDDI WS-I (Web Service Interoperability Org. ) u Binding profiles, . .
![Web Service Architecture n The three major roles in web services u Service provider Web Service Architecture n The three major roles in web services u Service provider](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-13.jpg)
Web Service Architecture n The three major roles in web services u Service provider F u Service Requestor F u Any consumer / client Service Registry F n Provider of the WS logically centralized directory of services A protocol stack is needed to support these roles
![XML Messaging n Several alternatives for XML messaging u u u XML Remote Procedure XML Messaging n Several alternatives for XML messaging u u u XML Remote Procedure](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-14.jpg)
XML Messaging n Several alternatives for XML messaging u u u XML Remote Procedure calls (XML-RPC) SOAP Regular XML transported over HTTP XML-RPC SOAP HTTP POST/GET
![SOAP Version 1. 2 n n n The definition of the XML-based information for SOAP Version 1. 2 n n n The definition of the XML-based information for](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-15.jpg)
SOAP Version 1. 2 n n n The definition of the XML-based information for exchanging structured and typed information between peers A SOAP message is formally specified as an XML Infosets can have different on-the-wire representations, one common example of which is as an XML 1. 0 document. A stateless, one-way message exchange paradigm Applications can create more complex interaction patterns u request/response, request/multiple responses
![Web Services Protocol Stack n Message Transport u u n XML Messaging u u Web Services Protocol Stack n Message Transport u u n XML Messaging u u](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-16.jpg)
Web Services Protocol Stack n Message Transport u u n XML Messaging u u n Responsible for encoding messages in common XML format XML-RPC, SOAP Service Description u u n Responsible for transporting messages HTTP, BEEP Responsible for describing an interface to a specific web service WSDL Service discovery u u Responsible for service discovery and search UDDI
![WS Protocol Stack Discovery: UDDI Description: WSDL XML Messaging: SOAP, XML-RPC, XML Transport: HTTP, WS Protocol Stack Discovery: UDDI Description: WSDL XML Messaging: SOAP, XML-RPC, XML Transport: HTTP,](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-17.jpg)
WS Protocol Stack Discovery: UDDI Description: WSDL XML Messaging: SOAP, XML-RPC, XML Transport: HTTP, FTP, BEEP, SMTP, JMS
![Main components today n XML data representation u u n SOAP u u n Main components today n XML data representation u u n SOAP u u n](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-18.jpg)
Main components today n XML data representation u u n SOAP u u n Basic transport (XML messaging) Sync / async communication and RPC WSDL u n XML Schema Definitions (xsd) for types XML Namespaces for unambiguity Description of (SOAP) services UDDI u Service registry
![Example WS layering Management services: Admin, UDDI, depl. , auditing Service container J 2 Example WS layering Management services: Admin, UDDI, depl. , auditing Service container J 2](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-19.jpg)
Example WS layering Management services: Admin, UDDI, depl. , auditing Service container J 2 EE integration Serialization / deserialization (java to XML mapping) SOAP processor XML processor Transport: HTTP(S), SMTP, JMS, . .
![How it could work n n n 1. A standard body creates a WSDL How it could work n n n 1. A standard body creates a WSDL](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-20.jpg)
How it could work n n n 1. A standard body creates a WSDL definition 2. A service programmer implements a service according to the WSDL definition 3. A client programmer implements a client according to the WSDL definition 4. A service provider deploys the sevice, and registers it into UDDI 5. A client program pulls WSDL from UDDI, checks conformance, an uses SOAP for access
![2. Creating server application n Pull WSDL definition from somewhere (UDDI) u n n 2. Creating server application n Pull WSDL definition from somewhere (UDDI) u n n](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-21.jpg)
2. Creating server application n Pull WSDL definition from somewhere (UDDI) u n n Only use high-level WSDL, no bindings yet Generate platform specific skeleton code using automated tools Write the actual program code
![3. Creating client application n Pull WSDL definition from somewhere (UDDI) u n n 3. Creating client application n Pull WSDL definition from somewhere (UDDI) u n n](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-22.jpg)
3. Creating client application n Pull WSDL definition from somewhere (UDDI) u n n Use only high-level WSDL, no bindings yet Generate platform specific stub code using automated tools Write the actual program code
![4. Deploying the service UDDI WSDL document WS service SOAP proc. Transport WSDL port. 4. Deploying the service UDDI WSDL document WS service SOAP proc. Transport WSDL port.](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-23.jpg)
4. Deploying the service UDDI WSDL document WS service SOAP proc. Transport WSDL port. Type WSDL binding
![5. Using a service WSDL port. Type WSDL document WS service SOAP proc. Transport 5. Using a service WSDL port. Type WSDL document WS service SOAP proc. Transport](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-24.jpg)
5. Using a service WSDL port. Type WSDL document WS service SOAP proc. Transport WSDL binding UDDI
![About invocation mechanisms n n WS does not define an invocation mechanism Alternatives u About invocation mechanisms n n WS does not define an invocation mechanism Alternatives u](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-25.jpg)
About invocation mechanisms n n WS does not define an invocation mechanism Alternatives u u Microsoft. NET framework Java-based framework F F F JAVA API for WSDL (JWSDL) JAX-RPC Java API for XML registries (JAXR) Apache Axis. . .
![WSDL with Java WS requester Business partner or other system Bind SOAP RQ Services WSDL with Java WS requester Business partner or other system Bind SOAP RQ Services](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-26.jpg)
WSDL with Java WS requester Business partner or other system Bind SOAP RQ Services 2. Look up WS UDDI SOAP RQ 4. Callfirewall WS 1. WSDL is Publish published to UDDI JAXR WSDL document 3. Retrieve WSDL description JAXR=Java API for XML Registries
![What is WSDL? n n WSDL: Web Service Description Language An XML language used What is WSDL? n n WSDL: Web Service Description Language An XML language used](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-27.jpg)
What is WSDL? n n WSDL: Web Service Description Language An XML language used to describe and locate web services u u u n n Commonly used to describe SOAP-based services W 3 C standard (work in progress) u u u n location of web service methods that are available data type information and XML messages Initial input: WSDL 1. 1 as W 3 C Note Current version 2. 0 (last call) Some differences between 1. 1 and 2. 0 WSDL 1. 1 in WS-I Basic Profile 1. 0 and 1. 1.
![WSDL Document Elements (v. 1. 1. ) n n n <types> - data type WSDL Document Elements (v. 1. 1. ) n n n <types> - data type](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-28.jpg)
WSDL Document Elements (v. 1. 1. ) n n n <types> - data type definitions <message> - Abstract definition of the data being transmitted <port. Type> - A set of abstract operations <binding> - Concrete protocol an data format specifications for the operations and messages defined by a particular port. Type <port> - An address for binding <service> - Aggregate a set of related ports
![WSDL Overview <definitions>: ROOT WSDL element <types>: The data types that are used <message>: WSDL Overview <definitions>: ROOT WSDL element <types>: The data types that are used <message>:](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-29.jpg)
WSDL Overview <definitions>: ROOT WSDL element <types>: The data types that are used <message>: What messages are transmitted? <port. Type>: The supported operations <binding>: The binding to concrete protocols <service>: Reference to actual location
![A WSDL Document n n A WSDL document contains two parts Abstract part u A WSDL Document n n A WSDL document contains two parts Abstract part u](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-30.jpg)
A WSDL Document n n A WSDL document contains two parts Abstract part u n Interfaces, types, messages Concrete part u Binding to conrete protocol and encoding
![Mapping SOAP to WSDL 31 Mapping SOAP to WSDL 31](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-31.jpg)
Mapping SOAP to WSDL 31
![Message Styles n n n The WSDL 1. 1 specification defines two SOAP message Message Styles n n n The WSDL 1. 1 specification defines two SOAP message](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-32.jpg)
Message Styles n n n The WSDL 1. 1 specification defines two SOAP message styles Determined in binding Document u u u n <soap: Body> contains one or more child elements called parts There are no SOAP formatting rules for what the <soap: Body> contains preferred, loose coupling, easy validation RPC u u u <soap: Body> contains an element with the name of the method or remote procedure being invoked This element in turn contains an element for each parameter of the procedure less popular today, tighter coupling
![The main structure (v. 1. 1) <definitions namespace = "http: //. . "> <types>XML The main structure (v. 1. 1) <definitions namespace = "http: //. . "> <types>XML](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-33.jpg)
The main structure (v. 1. 1) <definitions namespace = "http: //. . "> <types>XML Schema types</types> <message>. . </message> <port. Type>a set of operations</port. Type> <binding>Communication protocols</binding> <service>A list of binding and ports</service> </definitions>
![Types n n <types> define data types used in message declaration For platform neutrality, Types n n <types> define data types used in message declaration For platform neutrality,](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-34.jpg)
Types n n <types> define data types used in message declaration For platform neutrality, WSDL uses XML Schema syntax to define data u u XML Schema must be supported by any vendor of WSDL conformant products Other kinds of type definitions also possible F u Possible interoperability issues If the service uses only XML Schema built-in simple types, such as strings and integers, the types element is not required
![<types> <schema target. Name. Space="http: //example. com/stockquote. xsd" xmlns: xsd="http: //www. w 3 c. <types> <schema target. Name. Space="http: //example. com/stockquote. xsd" xmlns: xsd="http: //www. w 3 c.](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-35.jpg)
<types> <schema target. Name. Space="http: //example. com/stockquote. xsd" xmlns: xsd="http: //www. w 3 c. org/2000/10/XMLSchema"> <element name="Trader. Price. Request"> <complex. Type> Namespace definitions <all> <element name="ticker. Symbol" type="xsd: string" Specifies that the child elements max. Occur="10"/> canmin. Occur="1" appear in any order. Each child element <element name="payment"> can occur 0 or 1 time <complex. Type> <choice> <element name="account" type="xsd: string"/> <element name="ccard" type="xsd: string"/> </choice> </complex. Type> Only one of the elements is allowed </element </all> </complex. Type> </element> </schema> </types>
![Corresponding XML instance <Trader. Price. Request> <ticker. Symbol>ABC</tickersymbol> <payment> <account>1234</account> </payment> </Trader. Price. Request> Corresponding XML instance <Trader. Price. Request> <ticker. Symbol>ABC</tickersymbol> <payment> <account>1234</account> </payment> </Trader. Price. Request>](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-36.jpg)
Corresponding XML instance <Trader. Price. Request> <ticker. Symbol>ABC</tickersymbol> <payment> <account>1234</account> </payment> </Trader. Price. Request>
![WSDL Messages n The <message> element defines the data elements of an operation u WSDL Messages n The <message> element defines the data elements of an operation u](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-37.jpg)
WSDL Messages n The <message> element defines the data elements of an operation u u n n n the name of the message contains zero or more message part elements The parts can be compared to the parameters of a function call in a traditional programming language All parts are typed by an XML Schema type V. 2. 0 changes: message element is not used, replaced by patterns
![<message name="Get. Last. Trade. Price. Input"> <part name="body" element="Trade. Price. Request"/> </message> <message name="Get. <message name="Get. Last. Trade. Price. Input"> <part name="body" element="Trade. Price. Request"/> </message> <message name="Get.](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-38.jpg)
<message name="Get. Last. Trade. Price. Input"> <part name="body" element="Trade. Price. Request"/> </message> <message name="Get. Last. Trade. Price. Output"> <part name="body" element="Trade. Price"/> </message> <message name=”Example. Interaction"> <part name="index" type="xsd: integer"/> <part name="name" type="xsd: string" /> </message>
![WSDL Ports n n The <port. Type> element is the most important WSDL element WSDL Ports n n The <port. Type> element is the most important WSDL element](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-39.jpg)
WSDL Ports n n The <port. Type> element is the most important WSDL element The operations that can be performed, the messages that are involved A <port> defines the connection point to a web service, an instance of <port. Type> It can be compared to a function library (or a module, or a class) in a programming language
![Example <port. Type name="Stock. Quote. Port. Type"> <operation name="Get. Last. Trade. Price"> <input message="tns: Example <port. Type name="Stock. Quote. Port. Type"> <operation name="Get. Last. Trade. Price"> <input message="tns:](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-40.jpg)
Example <port. Type name="Stock. Quote. Port. Type"> <operation name="Get. Last. Trade. Price"> <input message="tns: Get. Last. Trade. Price. Input"/> <output message="tns: Get. Last. Trade. Price. Output"/> </operation> </port. Type>
![Operation Types (v. 1. 1) n n n One-Way: The operation can receive a Operation Types (v. 1. 1) n n n One-Way: The operation can receive a](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-41.jpg)
Operation Types (v. 1. 1) n n n One-Way: The operation can receive a message but will not return a response Request-Response: The operation can receive a request and will return a response Solicit-Response: The endpoint sends an output message and then receives an input message. Notification: The operation can send a message but will not wait for a response v. 2. 0 changes: abstract message patterns
![One way and Notification Example <port. Type name="Register. Port"> <operation name="register"> <input name="customer. Info" One way and Notification Example <port. Type name="Register. Port"> <operation name="register"> <input name="customer. Info"](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-42.jpg)
One way and Notification Example <port. Type name="Register. Port"> <operation name="register"> <input name="customer. Info" message="Reg. Info"/> </operation> <operation name="register. Response"> <output name="response" message="Response. Info"/> </operation> </port. Type>
![Bindings n The <binding> element defines u u The message format and protocol details Bindings n The <binding> element defines u u The message format and protocol details](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-43.jpg)
Bindings n The <binding> element defines u u The message format and protocol details
![Example RPC or document. RPC has a wrapper <binding for func. name="Stock. Quote. Soap. Example RPC or document. RPC has a wrapper <binding for func. name="Stock. Quote. Soap.](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-44.jpg)
Example RPC or document. RPC has a wrapper <binding for func. name="Stock. Quote. Soap. Binding" Names & params type="tns: Stock. Quote. Port. Type"> <soap: binding style="document" transport="http: //schemas. xmlsoap. org/soap/http"/> Specifies that the SOAPAction HTTP <operation name="Get. Last. Trade. Price"> header be used for identifying the service <soap: operation soap. Action="http: //example. com/Get. Last. Trade. Price"/> <input> Must use for document-style. <soap: body use="literal"/> For RPC style </input> type encoding info <output> is that for is eliminated. Difference <soap: body use="literal"/> RPCliteral params have schemas but </output> the whole body does not. </operation> </binding>
![Service n Real-life address of the service u A URL containing a DNS name Service n Real-life address of the service u A URL containing a DNS name](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-45.jpg)
Service n Real-life address of the service u A URL containing a DNS name <service name="Stock. Quote. Service"> <port name="Stock. Quote. Port" binding="tns: Stock. Quote. Binding"> <soap: address location="http: //example. com/stockquote"/> </port> </service>
![Putting it together Source: http: //msdn. microsoft. com/ Putting it together Source: http: //msdn. microsoft. com/](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-46.jpg)
Putting it together Source: http: //msdn. microsoft. com/
![WSDL 2. 0 n n 3 specifications Part 1: Core u n Part 2: WSDL 2. 0 n n 3 specifications Part 1: Core u n Part 2:](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-47.jpg)
WSDL 2. 0 n n 3 specifications Part 1: Core u n Part 2: Message Exchange Patterns u n Predefined types of interactions Part 3: Bindings u n Abstract interfaces, independent of protocol and encoding SOAP and HTTP/MIME binding Lot’s of changes from 1. 1
![Changes from 1. 1 to 2. 0 n n Adding further semantics to the Changes from 1. 1 to 2. 0 n n Adding further semantics to the](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-48.jpg)
Changes from 1. 1 to 2. 0 n n Adding further semantics to the description language. Removal of message constructs. These are specified using the XML schema type system in the types element. No support for operator overloading. Port. Types renamed to interfaces. Support for interface inheritance is achieved by using the extends attribute in the interface element. n Ports renamed to endpoints. n Abstracted message patterns
![WSDL 2. 0 Conceptual Model Source: http: //webservices. xml. com/pub/a/ws/2004/05/19/wsdl 2. html WSDL 2. 0 Conceptual Model Source: http: //webservices. xml. com/pub/a/ws/2004/05/19/wsdl 2. html](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-49.jpg)
WSDL 2. 0 Conceptual Model Source: http: //webservices. xml. com/pub/a/ws/2004/05/19/wsdl 2. html
![WSDL 2. 0 Component Model Source: https: //www. sdn. sap. com/irj/servlet/prt/portal/prtroot/com. sap. km. cm. WSDL 2. 0 Component Model Source: https: //www. sdn. sap. com/irj/servlet/prt/portal/prtroot/com. sap. km. cm.](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-50.jpg)
WSDL 2. 0 Component Model Source: https: //www. sdn. sap. com/irj/servlet/prt/portal/prtroot/com. sap. km. cm. docs/documents/a 1 -8 -4/ First%20 Look%20 at%20 WSDL%202. 0. article
![Message Exchange Patterns MEP Description Fault in-only Single input message No robust-in-only Single input Message Exchange Patterns MEP Description Fault in-only Single input message No robust-in-only Single input](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-51.jpg)
Message Exchange Patterns MEP Description Fault in-only Single input message No robust-in-only Single input message Trigger In-out Input message + output message Replace out-only Single output message No robust-only-out Single output message Trigger out-in Output followed by input msg Replace out-optional-in Output followed by an opt. Input Trigger in-optional-out Input followed by an opt. Output Trigger
![Implementations n Microsoft. NET u n Java API for XML-based RPC (JAX-RPC) u n Implementations n Microsoft. NET u n Java API for XML-based RPC (JAX-RPC) u n](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-52.jpg)
Implementations n Microsoft. NET u n Java API for XML-based RPC (JAX-RPC) u n n SOAP 1. 1, WSDL 1. 1 Java API for XML Registries (JAXR) Apache Axis u u n SOAP 1. 1, WSDL 1. 1 Tools for automatically creating WSDL to/from Java SOAP 1. 1 and 1. 2, WSDL 1. 1, JAX-RPC 1. 0 IBM Websphere, BEA Web Logic, SAP Net. Weaver, …
![What about semantics? n n In many cases, applications (or agents) need to deduce What about semantics? n n In many cases, applications (or agents) need to deduce](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-53.jpg)
What about semantics? n n In many cases, applications (or agents) need to deduce and infer about information In order to make this possible u n Semantic information is needed Tim Berners Lee, the inventor of the WWW, has proposed the Semantic Web u u Application centric Semantic and logic layers
![Semantic Web layers Trust Rules Data Proof Logic Ontology vocabulary Dig. Sig. Doc RDF Semantic Web layers Trust Rules Data Proof Logic Ontology vocabulary Dig. Sig. Doc RDF](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-54.jpg)
Semantic Web layers Trust Rules Data Proof Logic Ontology vocabulary Dig. Sig. Doc RDF + RDF Schema XML+Namespaces+XML Schema Unicode URI
![Summary n n Deferred binding, using Web, composition Some details and conventions still unclear Summary n n Deferred binding, using Web, composition Some details and conventions still unclear](http://slidetodoc.com/presentation_image_h2/48fcf54d1da129a0d0cc44153f4fa54b/image-55.jpg)
Summary n n Deferred binding, using Web, composition Some details and conventions still unclear u n Possible interoperability issues Parts hard to understand u u Namespaces Schemas Differences between versions Document vs. RPC SOAP style F F Also literal vs. encoded More about this next week
- Slides: 55