Upload
cecil-marshall
View
213
Download
0
Embed Size (px)
Citation preview
1
G52IWS: Web Services
Chris Greenhalgh
2
Contents
The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards Challenges Summary
See “Developing Java Web Services”, chapter 2
3
The World Wide Web
Web server
User
Web server
GET/POST request
Document(usually HTML)
Browser
communication:HTTP over TCP/IP
4
Example Web Service scenario:arranging a business trip
Service requestor
Travelservicesregistry
Travelreservation
servicesprovider
Airlinereservation
System
HotelReservation
system
Credit cardpaymentsystem
Find services
Invoke services
Register services
Wireless device
Desktop
After “Developing Java Web Services” Figure 2.1
5
Scenario notes
Travel reservation service provider exposes travel services via web service interfaces
These are registered with (described in) the travel services registry
A customer discovers the service(s) from the registry (or other search engine)
They then directly request things (“services”, e.g. a reservation) from those web services
6
Definitions
“Web services are loosely coupled software components delivered over Internet standard technologies” Gartner research, June 15 2001
Informally: web services are like web sites but... Providing access to all kinds of services, not just
documents For computers rather than people to use
7
Motivations
Based on XML messaging Loosely coupled – abstracted service interfaces Use any common programming language Industry standard protocols (HTTP)
Familiar and simple Internet scope Firewall compatibility Established mechanisms for scalability, robustness,
etc.
8
Motivations cont.
Usable by many types of client Support a range of levels of functionality from
trivial to profound Supported by other middleware/platforms
e.g. J2EE, CORBA, Microsoft .NET Support dynamically locatable and invocable
services Support cross-platform integration of business
applications over the internet
9
Basic Operational Model of Web Services
Service Broker
Service Provider
Service Requestor
DiscoverService
Invoke service
Register service
10
Core Web Service Standards
Extensible Markup Language (XML) How to encode arbitrary information in document
form Simple [Standard] Object Access Protocol
(SOAP) How to express web service requests and
responses in XML Web Services Definition Language (WSDL)
Defines the operations, data types and faults that characterise a web service
11
Core Web Service Standards (cont.)
Universal Description, Discovery and Integration (UDDI) How to describe, publish, store and retrieve
information about web services in registries WS-Security
Various security-related facilities & definitions, including XML Encryption, XML Key Management System, XML Signature, ...
12
Supporting standards
TCP/IP The Internet Protocol suite for reliable global
communication DNS – the Domain Name System
The standard Internet naming protocol HyperText Transfer Protocol (HTTP)
A common “binding” for SOAP – to carry SOAP requests and responses
13
Basic Operational Model of Web Services w. standards
Service Broker
Service Provider
Service Requestor
DiscoverService
Invoke service
Register service
Communication:typically SOAP (XML) over HTTP over TCP/IP
Optionally secured using WS-Security
Interface definition:WSDL (esp. for dynamic invocation)
Registry:UDDI & WSDL
14
Other related standards
ebXML Complementary standards specific to e-business
Web Services Choreography Interface Standard(s) for defining more complex patterns of
interaction between web services Business Transaction Protocol
Support for web service distributed transactions
15
Challenges for web services
Distributed transactions Coordinated success, failure and recovery
Quality of Server (QoS) Reliability and dependability. Service-level agreements
Security Publicly exposed core business services and
operations!
16
Summary
Like a WWW for computers Publishing “services” rather than documents In XML (for machines) rather than HTML (for
people) Using standard technologies (XML, HTTP, ...)
Especially for Business-to-business integration and
interoperability Other loosely-coupled distributed applications
e.g. bioinformatics