16
1 G52IWS: Web Services Chris Greenhalgh

1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

Embed Size (px)

Citation preview

Page 1: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

1

G52IWS: Web Services

Chris Greenhalgh

Page 2: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 3: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

3

The World Wide Web

Web server

User

Web server

GET/POST request

Document(usually HTML)

Browser

communication:HTTP over TCP/IP

Page 4: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 5: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 6: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 7: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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.

Page 8: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 9: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

9

Basic Operational Model of Web Services

Service Broker

Service Provider

Service Requestor

DiscoverService

Invoke service

Register service

Page 10: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 11: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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, ...

Page 12: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 13: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 14: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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

Page 15: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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!

Page 16: 1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards

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