Information System Infrastructure II

Download Report

Transcript Information System Infrastructure II

Web Services
Information Systems Infrastructure II
Chris Lau
[email protected]
(c) University of Toronto MIE456 2004
1
Overview
What are they?
 Examples of web services
 Technologies associated with web
services
 Misconceptions of web services

(c) University of Toronto MIE456 2004
2
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:
 win32
technologies, J2EE, CORBA, CGI scripting
 all the above are based on different standards

Web services based on XML (eXtensible
Markup Language)
 standard
* Glass, G. “The Web
Services (r)evolution.”
way of representing data
(c) University of Toronto MIE456 2004
3
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
4
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
5
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
6
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
7
Web Services Architecture
Source: “Java Web Services.” Chappell, D., and Jewel, T
(c) University of Toronto MIE456 2004
8
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
9
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
10
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
11
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
12
Basic Web Service Model


Almost all web
services use SOAP
protocol
Two elements:
 contains all
system info
 body  contains XML
document to be
processed
 header
Source: “Web Services and the Sun ONE
Developer Platform.” Ort, E.
(c) University of Toronto MIE456 2004
13
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
14
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
15
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 MIE456 2004
16
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
17
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
18
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
19
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
 program to log traffic, perform
what if scenarios, analysis features
 SOAPscope
(c) University of Toronto MIE456 2004
20
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
21
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://www4.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
(c) University of Toronto MIE456 2004
22