web based applicationspallab/web-services/web-service.pdf · soap • simple object access protocol...
TRANSCRIPT
Web Based Applications
Basic Building Blocks
• HTTP/HTTPS • XML
– EXtensible Markup Language – Designed to carry data – User-defined tags
<?xml version="1.0" encoding="ISO-8859-1"?> <note id="501" >
<to>ABC</to> <from>XYZ</from> <heading>Reminder</heading>
<body>Call 123</body>
</note>
XML Namespace <root> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>
XML Schema <?xml version="1.0"?> <note xmlns=“http://www.w3schools.com” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation="http://www.w3schools.com note.xsd"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
XML Schema <?xml version="1.0"?> <xs:schema xmlns:xs=“http://www.w3.org/2001/XMLSchema” targetNamespace=“http://www.w3schools.com” xmlns=“http://www.w3schools.com” elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> ….. </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Web Services • Defined as “a software
system designed to support interoperable Machine to Machine interaction over a network “
• Components are – SOAP – WSDL – UDDI
SOAP • Simple Object Access Protocol • A protocol for exchanging XML-based
messages over computer networks • Works on top of HTTP/HTTPS • Advantage
– Work over http proxies • Disadvantage
– Slower
SOAP Message
A SOAP message contains: – Envelope element – Header element (optional) – Body element – Fault element (optional)
SOAP Message Example
<?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:header> ... ... </soap:header> <soap:Body> ... ... <soap:fault> ... ... </soap:fault> </soap:Body> </soap:Envelope>
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> </soap:Envelope>
Response
<?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:GetPriceResponse xmlns:m="http://www.w3schools.com/prices"> <m:Price>1.90</m:Price> </m:GetPriceResponse> </soap:Body> </soap:Envelope>
WSDL
• Web Service Description Language • Provides a model for describing Web
Services • Defines services as collections of network
endpoints, or ports • Client program parses the WSDL
description of the services offered by the server
Document Structure <definitions> <types>…………definition of types........……</types> <message>.……definition of a message......</message> <portType>.……definition of a port...............</portType> <binding>………definition of a binding……..</binding> </definitions>
WSDL Example <message name="getTermRequest"> <part name="term" type="xs:string"/> </message> <message name="getTermResponse"> <part name="value" type="xs:string"/> </message> <portType name="glossaryTerms"> <operation name="getTerm"> <input message="getTermRequest"/> <output message="getTermResponse"/> </operation> </portType>
Example contd. <binding type="glossaryTerms" name="b1"> <soap:binding style="document“ transport="http://schemas.xmlsoap.org/soap/http" /> <operation> <soap:operation soapAction="http://example.com/getTerm"/> <input> ……<soap:body use="literal"/> …….</input> <output>…..<soap:body use="literal"/>………</output>
</operation>
</binding>
UDDI • Universal Description, Discovery and Integration • A platform-independent, XML-based registry for
businesses worldwide to list themselves on the Internet • Open industry initiative, sponsored by OASIS • Consists of the following components
– White Pages • Information about WS providers
– Yellow Pages • Available Web services
– Green Pages • Technical interfaces for to access and manage WS
Models of Web Services
• RPC • Message Oriented • Service Oriented • Resource Oriented • Policy Based
BPEL4WS
• Used for defining a new Web service by composing a set of existing services
• Primitive activities – Invoke, Receive, Reply, Wait, Assign, Throw,
Terminate. • Structure activities
– Sequence, Switch, While, Pick, Flow • Partners
Example
Semantic Web • Goal is to express the web content in such a
format, which can be read and used by software • Uses the following standards
– XML – XML Schema – RDF – RDF Schema – OWL – SPARQL
Semantic Web Contd.
• RDF – a general method of modeling information,
through a variety of syntax formats – Expresses knowledge about resources in the
form of subject-predicate-object expressions – Resource is named by Uniform Resource
Identifier (URI).
Semantic Web contd.
• XML Schema – expresses a schema: a set of rules to which an
XML document must conform in order to be considered 'valid' according to that schema
• RDF Schema – Knowledge representation language – Describes predominantly in terms class,
subclass, domain and range
Semantic Web contd.
• OWL – Web Ontology Language – adds more vocabulary for describing properties
and classes than RDF Schema • SPARQL
– protocol and query language for semantic web data sources