web-services

fizzlargeSecurity

Nov 3, 2013 (3 years and 10 months ago)

98 views

(c) University of Toronto MIE456 2004

1

Web Services

Information Systems Infrastructure II

Chris Lau

christopher.lau@utoronto.ca

(c) University of Toronto MIE456 2004

2

Overview


What are they?


Examples of web services


Technologies associated with web
services


Misconceptions of web services


(c) University of Toronto MIE456 2004

3

* Glass, G.

The Web
Services (r)evolution.



What are Web Services?


A collection of functions packaged together as a
single entity that is published onto network for
use by other programs
*


What it is
NOT
:


win
32
technologies, J
2
EE, CORBA, CGI scripting


all the above are based on different standards


Web services based on XML (eXtensible
Markup Language)


standard way of representing data


(c) University of Toronto MIE456 2004

4

Examples of Web Services


Microsoft Passport authentication service


Dentist appointment booking service that returns
dentist availability when given a date and time


Procurement service where supplies can be
purchased when provided with an item code and
quantity


Translation service converting English to French


Numerous other examples

(c) University of Toronto MIE456 2004

5

Major Web Services Technologies


3
main technologies:


Simple Object Access Protocol (SOAP)


standard packaging structure for XML documents over
variety of Internet protocols (e.g. SMTP, HTTP, FTP)


Web Service Description Language (WSDL)


XML technology describing interface of web service in a
standard way


Universal Description, Discover, and Integration
(UDDI)


worldwide registry of web services

(c) University of Toronto MIE456 2004

6

Major Web Services Technologies
(cont’d)


Functionality as a whole greater than the sum
of its parts


Relationship between the three technologies:


Source: “Java Web Services.” Chappell, D., and Jewel, T

(c) University of Toronto MIE456 2004

7

Web Services Architecture


Web services can contain other web
services


e.g.
www.toronto.com

portal may have a
restaurant finder as a web service


May access Mapquest as a web service to
retrieve directions and map

(c) University of Toronto MIE456 2004

8

Web Services Architecture

Source: “Java Web Services.” Chappell, D., and Jewel, T

(c) University of Toronto MIE456 2004

9

Web Services in a Broad
Perspective

Source: “Performance Considerations for Mobile Web Services.” M. Tian, T. Voight, T. Naumowicz, H. Ritter, J. Schiller

(c) University of Toronto MIE456 2004

10

Web Service Cost
-
Benefit Example


Dollar Rent A Car integration with
Southwest Airlines Co.


both companies operate different servers


Southwest customers can book flights AND rent
cars from Dollar Rent
-
A
-
Car without leaving their
site


only cost ~$1 / transaction, compared with $5
/ transaction through travel agent network


savings in the millions ($$)!!!

(c) University of Toronto MIE456 2004

11

Benefits


Interoperability


all three technologies supported by major vendors


Ubiquity


communicate through various protocols


Low barrier to entry


concept easy to understand, free toolkits to
implement web services


Industry support


e.g. allow Microsoft .NET web service communicate
with IBM VisualAge service


(c) University of Toronto MIE456 2004

12

Basic Web Service Model



3 main components


processing of data into well
-
defined XML documents


XML document


the cornerstone of Web Services


contains all information sent to service for processing


documents a web service can process defined via an XML
schema


two entities in communication must have access to same
description


usually described using WSDL


address (aka port reference)


where is the service?


additional component is the
envelope


a protocol used for message encapsulation


ensures XML document separated from other communication
processes

(c) University of Toronto MIE456 2004

13

Basic Web Service Model



Almost all web
services use SOAP
protocol


Two elements:


header


contains all
system info


body


contains XML
document to be
processed

Source: “Web Services and the Sun ONE

Developer Platform.” Ort, E.

(c) University of Toronto MIE456 2004

14

Misconceptions of Web Services


Web services often hyped as the latest
distributed object technology


misconception lead to limited acceptance


Disagreements among standards bodies,
vendors greatest threat to large
-
scale
success of web services


(c) University of Toronto MIE456 2004

15

Misconception: Web services are
just like distributed objects


FACT:
not reliable and transaction processing
not up
-
to
-
par with distributed systems


no distributed object characteristics (e.g.
CORBA):


e.g. objects, object references, life cycle (instantiate
to release), serialization, method interfaces, garbage
collection, etc.


do not define relationships or states between
service invocations, but rather identifies ongoing
conversations

(c) University of Toronto MIE456 2004

16

Misconception: Web Services are
the Internet’s RPC


RPC identifies remote procedures,
deciding which states should be provided
at invocation, includes extensive error
handling mechanisms


FACT:

web service
only

provide
abstraction for transferring XML
documents and for a remote service entity
to process them

(c) University of Toronto MIE
456 2004

17

Misconception: Web Services only
use HTTP


FACT:

web services “transport agnostic”


i.e.
through any protocol


e.g. HTTP, TCP, UDP, SMTP, MQ
-
series, JMS, etc.


most run on HTTP, since existing infrastructure
already using HTTP


high ROI


Web services can be transported across many protocols

Source:

Vogels, W. “Web Services Are Not Distributed Objects”, IEEE Internet Computing.

(c) University of Toronto MIE456 2004

18

Misconception: Web Services need
web servers


FACT:

do not require


several toolkits allow web
-
server
-
independent
deployment (i.e. WASP, WSE, Artix,
DocSOAP)


early web services exploited web server
application server functionality

(c) University of Toronto MIE456 2004

19

Misconception: Web Services are
reliable since they use TCP


FACT:

in some instances, no error notification if
deliver to remote peer


web services routing may go through many
intermediaries not using TCP


web services require end
-
to
-
end reliability:
remains to be seen


messages must be processed in order they were
sent

(c) University of Toronto MIE456 2004

20

Misconception: It’s Impossible to
debug web services


perceived since developer does not “own”
both ends


cross
-
vendor interoperability, WSDL versions
also issues


emerging diagnostic tools to mitigate this


SOAPscope


program to log traffic, perform
what if scenarios, analysis features

(c) University of Toronto MIE456 2004

21

Summary


Web services based on XML, and 3
technologies: WSDL, SOAP, UDDI


Web services do NOT follow the object model as
CORBA or RMI


Web services are still unreliable, compared to
distributed systems


Web services can use large variety of protocols

(c) University of Toronto MIE456 2004

22

References


Chappell, D., and Jewel, T. (2002), “Chapter 1: Welcome to Web
Services”,
Java Web Services
, O’Reilly Publishing.


Glass, G. “The Web Services (r)evolution.”
http://www
-
4.ibm.com/software/developer/library/ws_peer1.html


Vogels, W. “Web Services Are Not Distributed Objects”, IEEE
Internet Computing.
http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.h
tml