Web Services Overview MIS3502: Application Integration and Evaluation Paul Weinberg...

Preview:

Citation preview

Web Services Overview

MIS3502: Application Integration and Evaluation

Paul Weinberg

weinberg@temple.edu

Presentation by David Schuff

Standard messaging

Scenario: The supply chainA large retailer (Wal-Mart) wants to

• Maintain optimal inventory levels• Order from multiple vendors• Dynamically adjust product mix

A vendor (Proctor and Gamble) wants to• Service multiple suppliers• Maintain service level

Why we like standard messages (web services or not)…

Old n’ busted...(nonstandard)

New hotness...(standard)

“I have know four different languages!”

“Now I only have to know two languages – my own and the common language”

Consider a situation where we want to communicate across languages…

English

French

German

Italian

Spanish

English

French

German

Italian

Spanish

Esperanto

Why we like standard messages (web services or not)…

Old n’ busted...(nonstandard)

New hotness...(standard)

“I have to know the message formats of six banks!”

“I only need to know the common format for all banks!”

Consider a point of sale system that debits directly from a particular bank account…

Standardmessage

format

What if all don’t use the standard message?

Then they don’t! Adhering to the standard is a business

issue, not a technology issueBusinesses can still choose to send and

receive nonstandard messages But if no one follows it, the standard is

pointless!

Web Services – An Emerging Standard

o Promises a new level of interoperability

o A Web service is a software application identified by a URL, whose interfaces and bindings are capable of being defined, described, and discovered as XML artifacts. A Web service supports direct interactions with other software agents using XML based messages exchanged via internet-based protocols.

Source: World Wide Web Consortiumhttp://www.w3.org/TR/wsa-reqs

What’s a Web Service?

“Wrapping up” application functionality (as an object) and running it on a server

Allowing people to access that object by Sending information (inputs) Receiving information (outputs)

Big Idea: Anyone can write an application to communicate directly with a web service No intermediate application (i.e., web page) is

necessary

What’s different about Web Services?

Everything is based on open standards

Instead of sending proprietary messages between clients and servers, it sends messages in a standard format for example, HTTP is an agreed-upon standard for

the transportation of data different EDI systems may transport data differently

Messages sent in plain (but encrypted) text, making them easy to send and receive

Review: A Web Service is not a Web Site

UserGoogle.com

(the site)

Google Search Engine

(the service)

ApplicationGoogle Search

(the service)

Using a web site

Using a web service

inter

acts

with

inter

acts

with

interacts directly with

without human intervention

Web Services Technologies

HTTP (Hypertext Transfer Protocol)

Handle the transportation of data XML (Extensible Markup Language)

Formatting of messages SOAP (Simple Object Access Protocol)

Handle the sending and receiving of messages between objects

UDDI (Universal Description, Discovery, and Integration)

Registration of services for discovery by other components

http://www.internetworld.com/dotnet.php?inc=in_focus/031501/03.15.01dotnetintro1.html

Web services example:PriceGrabber.com

What they do Aggregates prices

from vendors Presents them in one

place for comparison Provides customer

ratings of vendors

The problem How do you easily

interact with multiple vendors?

Without web services

Custom software to communicate

with J&R

PriceGrabber’s computer system

J&R’s computer system w/ price information

Best Buy’s computer system w/ price information

MacMall’s computer system w/ price information

TigerDirect’s computer system w/ price information

Custom software to communicate

with Best Buy

Custom software to communicate

with MacMall

Custom software to communicate with TigerDirect

“computer-to-computer”(no human intervention)

“browser-to-computer”

(human intervention)

Without standard messages

PriceGrabber’s computer system

J&R’s computer system w/ price information

Best Buy’s computer system w/ price information

MacMall’s computer system w/ price information

TigerDirect’s computer system w/ price information

Price: $120Quantity: 100Shipping: $4.00

Price: $120Quantity: 100Shipping: $4.00

Price: 150In-stock: YesShipping: 12

Price: 150In-stock: YesShipping: 12

Shipping: 5% Cost: $143Qty: 200

Shipping: 5% Cost: $143Qty: 200

$125, 200, $5$125, 200, $5

PriceGrabber’s required information from vendors:

Price: Quantity: Shipping cost:

PriceGrabber’s required information from vendors:

Price: Quantity: Shipping cost:

Software to translate data

from J&R

Software to translate data from Best Buy

Software to translate data from MacMall

Software to translate data

from TigerDirect

“computer-to-computer”(no human intervention)

“browser-to-computer”

(human intervention)

With standard messages

PriceGrabber’s computer system

J&R’s computer system w/ price information

Best Buy’s computer system w/ price information

MacMall’s computer system w/ price information

TigerDirect’s computer system w/ price information

<Price>120</Price><Qty>100</Qty><Ship>4</Ship>

<Price>120</Price><Qty>100</Qty><Ship>4</Ship>

PriceGrabber’s required information from vendors:

PriceQuantityShipping cost

PriceGrabber’s required information from vendors:

PriceQuantityShipping cost

<Price>150</Price><Qty>75</Qty><Ship>12</Ship>

<Price>150</Price><Qty>75</Qty><Ship>12</Ship>

<Qty>200</Qty><Price>143</Price><Ship>7.15</Ship>

<Qty>200</Qty><Price>143</Price><Ship>7.15</Ship>

<Ship>5</Ship> <Qty>200</Qty><Price>125</Price>

<Ship>5</Ship> <Qty>200</Qty><Price>125</Price>

Software which can “decode” XML and interacts with ANY web service

“computer-to-computer”(no human intervention)

“browser-to-computer”

(human intervention)

Web service

Web service

Web service

Web service

Summary of Web Services

Web services use web-based standards (XML, HTTP)

These standards make it easier to develop standard formats for business messagesXML is an easy, standard way to define dataHTTP is an easy, standard way to exchange

data