Web Services The Next Dimension of Enterprise Computing Dr. Billy B. L. Lim School of Information Technology Illinois State University.
Download ReportTranscript 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.