380 likes | 515 Views
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:
E N D
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-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)
Why Web Services? Observations • “When do you expect your company to develop a Web Services strategy?” Source: InfoWorld Web Services Survey, July ‘01
www.ws-i.org Why Web Services? Observations • The industry is aligned … • Broad industry initiative for Web services • Over 150 industry leaders • Interoperability across platforms, applications, and languages
Why Web Services? Observations • Technology of the Year (InfoWorld ’02)
Why Web Services? • Interoperable • Easy to use • Reusable • Ubiquitous
1st Generation Web Applications Servers Data, Hosts UI Logic Biz Logic Browsers OS Services Source: Gusmano ‘02
Rich Client UI Logic Biz Logic Tier OS Services 2nd Generation Web Applications Servers Data, Hosts Richer Browsers Source: Gusmano ‘02
Other Services Public Web Services XML XML Biz Tier Logic Foundation Services Smarter Clients XML XML Internal Web Services OSServices XML OS Services HTML XML XML Servers Data, Hosts SmarterDevices Biz Logic & Web Service Next Generation Web Applications Applications Become Programmable Web Services Standard Browsers Open Internet Communications Protocols (HTTP, SMTP, XML, SOAP) Source: Gusmano ‘02
Web Services: Life Cycle Service Registry(e.g., IBM UDDI service) publish service (e.g., stock quote) find service Service Provider (e.g., Brokerage House) Service Requester(e.g., XYZ Financial Software) bind to service Life Cycle of a Web Service Execution (Registry, Lookup, and Consumption)
What is Under the Hood? • XML • 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
The complete SOAP Message Standard Protocol (HTTP, SMTP, etc.) and SOAP Headers <Envelope> encloses payload SOAP Envelope <Header> encloses headers Individual headers <Body> contains SOAP Message Name and Data XML Encoded SOAP Message Name and Data What is a SOAP Message? SOAP Message Protocol Headers SOAP Header Headers SOAP Body Message Name & 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 OKContent-Type: text/xml; charset=utf-8 Content-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>
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.
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 • 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 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.