Web Services The Next Dimension of Enterprise Computing Dr. Billy B. L. Lim School of Information Technology Illinois State University.

Download Report

Transcript Web Services The Next Dimension of Enterprise Computing Dr. Billy B. L. Lim School of Information Technology Illinois State University.

Web Services
The Next Dimension of
Enterprise Computing
Dr. Billy B. L. Lim
School of Information Technology
Illinois State University
Outline

Web Services






What
Why
How
Who
When
Not
Questions

Assuming that you’re a venture capitalist:


Would you fund a company that proposes to
build xyzBooks.com and compete directly
with the Amazon.com’s of the world?
Assuming that you’re a IT168/177
student:

Would you be able to write an app that
gather user addresses and plot a map that
shows the route from ISU to the closest
address?
E-Commerce Scenarios


Objective: Capitalize on the success of
e-commerce and build a web site to
sell books, CDs, and others
Scenario1


Build BillyBooks.com and compete
directly with the Amazon.com’s of the
world
Any chance of success here?
E-Commerce Scenarios

Scenario2
Source: Atkin, J., “Amazon Everywhere,” PC Magazine, 9/2003.
What are Web Services?

W3C 2003:

“A Web service is a software system designed to
support interoperable machine-to-machine
interaction over a network. It has an interface
described in a machine-processable format
(specifically WSDL). Other systems interact with
the Web service in a manner prescribed by its
description using SOAP-messages, typically
conveyed using HTTP with an XML serialization
in conjunction with other Web-related standards.”
Why Web Services? Observations

“I couldn’t make DCOM work. I tried and failed,
again and again. But I can make a Web service
in a heartbeat.”
-- Jim Gray, Microsoft Distinguished Engineer
(Turing Award (~= Nobel Price for computing) Winner)
Explosive Growth of API
Calls / WS

Reference: http://www.slideshare.net/jmusser/open-apis-state-of-themarket-2011
Why Web Services? Observations

Projected Revenues

380 millions in 2001 vs. 15.5 billions in 2005 (Source:
ZapThink, Inc. ’02)
160000
140000
120000
100000
80000
Revenues
60000
40000
20000
0
2001

2005
IDC estimate: 1.6 billions in 2004 vs. 34 billions in
2007 (Source: South China Morning Post, May 28,
’02)
Why Web Services? Observations

“When do you expect your company to develop a
Web Services strategy?”
now / 3
mos
4-6 mos
7-12
mos
>=12
mos
Never
???
Source: InfoWorld Web Services Survey, July ‘01
Why Web Services? Observations
www.ws-i.org

The industry is aligned …


Broad industry initiative for Web services
 Over 150 industry leaders
Interoperability across platforms, applications,
and languages
Why Web Services? Observations
Why Web Services? Observations

Technology of the Year (InfoWorld ’02)
Why Web Services?




Interoperable
Easy to use
Reusable
Ubiquitous
1st Generation Web Applications
UI Logic
Biz Logic
Browsers
OS
Services
Source: Gusmano ‘02
Servers
Data, Hosts
2nd Generation Web Applications
Rich Client
UI Logic
Richer
Browsers
Biz Logic
Tier
OS
Services
Source: Gusmano ‘02
Servers
Data, Hosts
Next Generation Web Applications
Other
Services
Smarter
Clients
Standard
Browsers
Smarter
Devices
Applications Become
Programmable Web Services
Biz Biz
Logic &
Web
Service
Tier Logic
OS
OS
Services
Open Internet
Communications Protocols
(HTTP, SMTP, XML, SOAP)
Public Web
Services
Foundation
Services
Internal
Web Services
Servers
Data, Hosts
Source: Gusmano ‘02
Web Services: Life Cycle
Service Registry
(e.g., IBM UDDI service)
 publish
service (e.g.,
stock quote)
Service
Provider (e.g.,
Brokerage House)
 find service
 bind to service
Service
Requester (e.g., XYZ
Financial Software)
Life Cycle of a Web Service Execution (Registry, Lookup,
and Consumption)
What is Under the Hood?




XML
SOAP
WSDL
UDDI
Web Services: SOAP, WSDL, UDDI
An Overview of SOAP




Simple Object Access Protocol
Lightweight XML-based messaging format
Builds on
 W3C XML standards
 IETF HTTP standard
Works with:



Any operating system
Any programming language
Any platform
What is a SOAP Message?
SOAP Message
The complete SOAP Message
Protocol Headers
Standard Protocol (HTTP, SMTP, etc.)
and SOAP Headers
SOAP Envelope
<Envelope> encloses payload
SOAP Header
Headers
SOAP Body
Message Name & Data
<Header> encloses headers
Individual headers
<Body> contains SOAP
Message Name and Data
XML Encoded SOAP
Message Name and Data
Simple SOAP Request (Using HTTP)
POST /StockQuote HTTP/1.1
Host: www.stockquoteserver.com
Content-Type: text/xml
Content-Length: 323
SOAPAction: “www.stockquoteserver.com/GetLastTradePrice”
<?xml version=“1.0” encoding=“utf-8”?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePrice xmlns:m="Some-Namespace-URI">
<symbol>DIS</symbol>
</m:GetLastTradePrice>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Simple SOAP Response (Using HTTP)
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: nnnn
<?xml version=“1.0” encoding=“utf-8”?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<m:GetLastTradePriceResponse
xmlns:m="Some-Namespace-URI">
<Price>24.5</Price>
</m:GetLastTradePriceResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
WSDL


Web Services Description Language
Lets Web Services describe



what they are
where they can be found
how they should be used
Simplified WSDL example
<?xml version="1.0"?>
<serviceDescription>
<soap >
<service>
<addresses>
<address uri="http://localhost//HelloWorld.asmx"/>
</addresses>
<requestResponse name="HelloWorld" soapAction="http://tempuri.org/HelloWorld">
<request ref="s0:HelloWorld"/>
<response ref="s0:HelloWorldResult"/>
</requestResponse>
</service>
</soap>
</serviceDescription>
Complete one: ISU Hello in Foreign Language Translator
UDDI


Universal Description, Discovery, and
Integration
Lets companies find publicly available
Web Services on the Internet or
corporate Intranets.
UDDI
How useful are Web Services?

Web services: Some possibilities







Financial information (e.g., stock quotes)
Sports information
Weather information
News
Delivery status
Tax and shipping calculations
Any data that is relevant to the client
Web Services: Who?

Who is doing this?

Vendors



Users/Consumers



Microsoft, IBM, Sun, Oracle, HP, BEA, etc.
.NET passport, Calendar, Alerts, Amazon Web
Services, etc.
Nordstrom, General Motors, etc.
List of public Web Services http://www.xmethods.net/
Who should pay attention to this?

All of us!
Web Services: When?
Web Services: When?

Web Services will enter most organizations in three
distinct phases: [Source: IDC]
 2002 (within the firewall)



2004 (contained external users)




Simplified app integration
Increased developer productivity
Simplified business-partner connectivity
Richer app functionality
Subscription-based services
2006 to 2008 (fully dynamic search and use)




Casual / ad-hoc use of services
New business models possible
Commoditization of software
Pervasive use in nontraditional devices
Web Services: The Not?

Challenges/Issues








Reliability / Consistency
Security
Authentication
Privacy
Billing
Reuse
Performance
Incompatible implementations of standards
Web Services: “Lingua Franca”
Source: Clarke ‘02
References



Clarke, N., “.Net & the J2EE: Web Services - Can we live together?,”
JavaOne 2002.
Gosling, J., Next-Generation Web Services Conference, Keynote address,
Jan, 2002.
Gusmano, M., “Build Web Services with VB.NET,” Microsoft Internet
Developer Group, April 2001.