web services the next dimension of enterprise computing dr. billy b. l. lim school of information...
TRANSCRIPT
Web Services
The Next Dimension of Enterprise Computing
Dr. Billy B. L. LimSchool 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-the-market-2011
Why Web Services? Observations
Projected Revenues 380 millions in 2001 vs. 15.5 billions in 2005 (Source:
ZapThink, Inc. ’02)
IDC estimate: 1.6 billions in 2004 vs. 34 billions in 2007 (Source: South China Morning Post, May 28, ’02)
0
20000
40000
60000
80000
100000
120000
140000
160000
2001 2005
Revenues
Why Web Services? Observations
“When do you expect your company to develop a Web Services strategy?”
Source: InfoWorld Web Services Survey, July ‘01
now / 3mos
4-6 mos
7-12mos
>=12mos
Never
???
Why Web Services? Observations
The industry is aligned … Broad industry initiative for Web services
Over 150 industry leaders Interoperability across platforms, applications,
and languages
www.ws-i.org
Why Web Services? Observations
Why Web Services? Observations
Technology of the Year (InfoWorld ’02)
Why Web Services?
Interoperable Easy to use Reusable Ubiquitous
OS Services
BrowsersBrowsers
ServersData, Hosts
ServersData, HostsUI Logic
Biz Logic
1st Generation Web Applications
Source: Gusmano ‘02
OS Services
Biz LogicTier
Biz LogicTier
Rich Client UI Logic
Rich Client UI Logic
ServersData, Hosts
ServersData, Hosts
Richer Browsers
Richer Browsers
2nd Generation Web Applications
Source: Gusmano ‘02
StandardBrowsers
StandardBrowsers
SmarterClients
SmarterClients
SmarterDevices
SmarterDevices
Open Internet Communications Protocols
(HTTP, SMTP, XML, SOAP)
Applications Become Programmable Web Services
OS Services
BizTier Logic
BizTier LogicBiz Logic & Web Service
OSServices
OSServices
Public WebServices
Foundation Services
InternalWeb Services
XML
XML
XML
ServersData, Hosts
ServersData, Hosts
XML
Other Services XML
XML
XML
HTML
Next Generation Web Applications
Source: Gusmano ‘02
Web Services: Life Cycle
Service Provider (e.g., Brokerage House)
Service Registry (e.g., IBM UDDI service)
Service Requester (e.g., XYZ Financial Software) bind to service
find service publish service (e.g., stock quote)
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
SOAP MessageSOAP Message
SOAP Envelope
SOAP HeaderSOAP Header
SOAP BodySOAP Body
Message Name & Data
Headers
Protocol Headers
XML Encoded SOAP Message Name and Data
<Body> contains SOAP Message Name and Data
Individual headers
<Header> encloses headers
<Envelope> encloses payload
Standard Protocol (HTTP, SMTP, etc.) and SOAP Headers
The complete SOAP Message
What is a SOAP Message?
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 Request (Using HTTP)
HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: nnnn
<?xml version=“1.0” encoding=“utf-8”?>
<SOAP-ENV:Envelopexmlns: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>
Simple SOAP Response (Using HTTP)
WSDL
Web Services Description Language Lets Web Services describe
what they are where they can be found how they should be used
<?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>
Simplified WSDL example
Complete one: 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
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
How useful are Web Services?
Web Services: Who? Who is doing this?
Vendors Microsoft, IBM, Sun, Oracle, HP, BEA, etc. .NET passport, Calendar, Alerts, Amazon Web
Services, etc.
Users/Consumers 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)
Simplified app integration Increased developer productivity
2004 (contained external users) 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.