Date post: | 04-Jan-2016 |
Category: |
Documents |
Upload: | randell-joseph |
View: | 213 times |
Download: | 0 times |
Web Services Overview
MIS3502: Application Integration and Evaluation
Paul Weinberg
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