Download presentation
Presentation is loading. Please wait.
Published byLambert Kennedy Modified over 9 years ago
1
CP3024 Lecture 10 Web Services
2
What are Web Services? “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink Research
3
Web Services Encapsulated –Web Service implementation is invisible to entities outside the service –Exposes an interface but hides details Loosely Coupled –Service and consumer software can be redesigned independently
4
Web Services Contracted –Description of service is available to consumer Standard Protocols –TCP/IP –HTTP –XML –SOAP –WSDL –UDDI
5
Self-describing Every web service has a published public interface –Minimum of human readable documentation –SOAP services should have interfaces written in XML
6
Discoverable Simple mechanism for publishing details about a web service Simple mechanism for finding a service and its interface Mechanism could be completely decentralised or centralised registry
7
A Web Service.. Is available over network Uses standardised XML messaging Is independent of any given OS or language Is self describing via XML Is easily discoverable
8
Web Usage Shift Human-centric Web –Majority of web transactions initiated by a human Application-centric Web –Inter-application interchanges –E.g. credit card approval
9
A Web Service In Action XML
10
Possible Protocols HTTP POST/GET XML-RPC SOAP –Simple Object Access Protocol
11
Example Service Return a set of keys given a set of functional dependencies Service called keyservice Method called getCandidateKeys String argument fdSet Argument sent “{{a}->{b}}”
12
XML-RPC Service Invocation keyservice.getCandidateKeys {{a}->{b}}
13
XML-RPC Response {{a}}
14
SOAP SOAP envelope specification –Rules for encapsulating the data being transferred Data encoding rules –Rules for encoding data types RPC conventions –Rules for invoking remote methods
15
Example Service Request <SOAP-ENV:Envelope xmlns:SOAP-ENV= http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ns1:getCandidateKeys xmlns:ns1="urn:examples:keyservice" SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/"> {{a}->{b}}
16
Example Service Reply <SOAP-ENV:Envelope xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ns1:getCandidateKeysResponse xmlns:ns1="urn:examples:keyservice" SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/"> {{a}}
17
Soap Message Structure of SOAP Messages Envelope (required) Header (optional) Body (required) Fault (optional)
18
Fault Response <SOAP-ENV:Envelope xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> SOAP-ENV:Server Exception from service object: FD: Unexpected end of input /soap/servlet/rpcrouter
19
Web Services Definition Language (WSDL) Uses XML to describe a web service –Describes the interface of available functions –Specifies data type information for all requests and responses –Holds binding information about the transport protocol –Contains address information to locate the service
20
Major Elements definitions –types –message –portType –binding –ports –service
21
WSDL definitions <definitions name="KeyService" targetNamespace= "http://localhost:8080/wsdl/Lucchesi.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap= "http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns= "http://localhost:8080/wsdl/Lucchesi.wsdl" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
22
WSDL types Optional element Defines complex types e.g. arrays and structures Not used in the example
23
WSDL message
24
WSDL portType <output message="tns:getKeys“ name="Response"/>
25
WSDL binding <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <soap:body encodingStyle= http://schemas.xmlsoap.org/soap/encoding/ namespace="urn:examples:keyservice" use="encoded"/>
26
WSDL Binding <soap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:examples:keyservice" use="encoded"/>
27
WSDL Service WSDL File for KeyService <soap:address location= “http://localhost:8080/soap/servlet/rpcrouter” />
28
WSDL In Action Can use WSDL description to generate client code Can use WSDL description to automatically invoke a service Can generate WSDL from server code
29
Available WSDL Services
30
Generic Soap Client
31
UDDI Universal Description, Discovery and Integration Specification for distributed directory of businesses –Data stored in an XML format UDDI business registry –Launched May 2001 by IBM and Microsoft
32
UDDI Development Developed by IBM, Microsoft and Ariba –Ariba/IBM collaboration on B2B –IBM/Microsoft collaboration on SOAP –Microsoft/Ariba collaboration on BizTalk and cXML Three revisions and then transfer to standards body Launched September 2000
33
UDDI Development Version 2.0 announced July 2001 –Internationalisation –Complex organisations –Better searching mechanisms Version 3.0 announced July 2002 –Increased security –Improved WSDL support –Multi-registry topologies –Proactive notifications
34
UDDI Technical Architecture UDDI data model –XML schema describing businesses and web services UDDI API –SOAP based API for publishing and searching UDDI data UDDI cloud services –Sites implementing UDDI which synchronise regularly
35
UDDI Data Model businessEntity –Information about a business businessService –Information about a web service bindingTemplate –Information about accessing a service tModel –Pointer to external technical specification
36
businessService Relationships businessEntitybindingTemplatetModel
37
UDDI Inquiry API find_binding find_business find_service find_tModel get_bindingDetail get_businessDetail get_serviceDetail get_tModelDetail
38
UDDI Publishing API get_authToken discard_authToken save_binding save_business save_service save_tModel delete_binding delete_business delete_service delete_tModel
39
Use Of UDDI Publishing –Advertise services –Allow discovery of standards in use Searching –Locate details about electronic services of business partners –Search for suppliers
40
Summary Web Services –Mechanism for electronic business on the Web Based on XML SOAP WSDL UDDI
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.