220 likes | 630 Views
Web Services. Information Systems Infrastructure II. Chris Lau christopher.lau@utoronto.ca. Overview. What are they? Examples of web services Technologies associated with web services Misconceptions of web services. What are Web Services?.
E N D
Web Services Information Systems Infrastructure II Chris Lauchristopher.lau@utoronto.ca (c) University of Toronto MIE456 2004
Overview • What are they? • Examples of web services • Technologies associated with web services • Misconceptions of web services (c) University of Toronto MIE456 2004
What are Web Services? • A collection of functions packaged together as a single entity that is published onto network for use by other programs* • What it is NOT: • win32 technologies, J2EE, CORBA, CGI scripting • all the above are based on different standards • Web services based on XML (eXtensible Markup Language) • standard way of representing data (c) University of Toronto MIE456 2004
Examples of Web Services • Microsoft Passport authentication service • Dentist appointment booking service that returns dentist availability when given a date and time • Procurement service where supplies can be purchased when provided with an item code and quantity • Translation service converting English to French • Numerous other examples (c) University of Toronto MIE456 2004
Major Web Services Technologies • 3 main technologies: • Simple Object Access Protocol (SOAP) • standard packaging structure for XML documents over variety of Internet protocols (e.g. SMTP, HTTP, FTP) • Web Service Description Language (WSDL) • XML technology describing interface of web service in a standard way • Universal Description, Discover, and Integration (UDDI) • worldwide registry of web services (c) University of Toronto MIE456 2004
Major Web Services Technologies (cont’d) • Functionality as a whole greater than the sum of its parts • Relationship between the three technologies: Source: “Java Web Services.” Chappell, D., and Jewel, T (c) University of Toronto MIE456 2004
Web Services Architecture • Web services can contain other web services • e.g. www.toronto.com portal may have a restaurant finder as a web service • May access Mapquest as a web service to retrieve directions and map (c) University of Toronto MIE456 2004
Web Services Architecture Source: “Java Web Services.” Chappell, D., and Jewel, T (c) University of Toronto MIE456 2004
Web Services in a Broad Perspective Source: “Performance Considerations for Mobile Web Services.” M. Tian, T. Voight, T. Naumowicz, H. Ritter, J. Schiller (c) University of Toronto MIE456 2004
Web Service Cost-Benefit Example • Dollar Rent A Car integration with Southwest Airlines Co. • both companies operate different servers • Southwest customers can book flights AND rent cars from Dollar Rent-A-Car without leaving their site • only cost ~$1 / transaction, compared with $5 / transaction through travel agent network • savings in the millions ($$)!!! (c) University of Toronto MIE456 2004
Benefits • Interoperability • all three technologies supported by major vendors • Ubiquity • communicate through various protocols • Low barrier to entry • concept easy to understand, free toolkits to implement web services • Industry support • e.g. allow Microsoft .NET web service communicate with IBM VisualAge service (c) University of Toronto MIE456 2004
Basic Web Service Model • 3 main components • processing of data into well-defined XML documents • XML document the cornerstone of Web Services • contains all information sent to service for processing • documents a web service can process defined via an XML schema • two entities in communication must have access to same description • usually described using WSDL • address (aka port reference) where is the service? • additional component is the envelope • a protocol used for message encapsulation • ensures XML document separated from other communication processes (c) University of Toronto MIE456 2004
Basic Web Service Model • Almost all web services use SOAP protocol • Two elements: • header contains all system info • body contains XML document to be processed Source: “Web Services and the Sun ONE Developer Platform.” Ort, E. (c) University of Toronto MIE456 2004
Misconceptions of Web Services • Web services often hyped as the latest distributed object technology • misconception lead to limited acceptance • Disagreements among standards bodies, vendors greatest threat to large-scale success of web services (c) University of Toronto MIE456 2004
Misconception: Web services are just like distributed objects • FACT: not reliable and transaction processing not up-to-par with distributed systems • no distributed object characteristics (e.g. CORBA): • e.g. objects, object references, life cycle (instantiate to release), serialization, method interfaces, garbage collection, etc. • do not define relationships or states between service invocations, but rather identifies ongoing conversations (c) University of Toronto MIE456 2004
Misconception: Web Services are the Internet’s RPC • RPC identifies remote procedures, deciding which states should be provided at invocation, includes extensive error handling mechanisms • FACT: web service only provide abstraction for transferring XML documents and for a remote service entity to process them (c) University of Toronto MIE456 2004
Misconception: Web Services only use HTTP • FACT: web services “transport agnostic” i.e. through any protocol • e.g. HTTP, TCP, UDP, SMTP, MQ-series, JMS, etc. • most run on HTTP, since existing infrastructure already using HTTP high ROI Web services can be transported across many protocols Source:Vogels, W. “Web Services Are Not Distributed Objects”, IEEE Internet Computing. (c) University of Toronto MIE456 2004
Misconception: Web Services need web servers • FACT: do not require • several toolkits allow web-server-independent deployment (i.e. WASP, WSE, Artix, DocSOAP) • early web services exploited web server application server functionality (c) University of Toronto MIE456 2004
Misconception: Web Services are reliable since they use TCP • FACT: in some instances, no error notification if deliver to remote peer • web services routing may go through many intermediaries not using TCP • web services require end-to-end reliability: remains to be seen • messages must be processed in order they were sent (c) University of Toronto MIE456 2004
Misconception: It’s Impossible to debug web services • perceived since developer does not “own” both ends • cross-vendor interoperability, WSDL versions also issues • emerging diagnostic tools to mitigate this • SOAPscope program to log traffic, perform what if scenarios, analysis features (c) University of Toronto MIE456 2004
Summary • Web services based on XML, and 3 technologies: WSDL, SOAP, UDDI • Web services do NOT follow the object model as CORBA or RMI • Web services are still unreliable, compared to distributed systems • Web services can use large variety of protocols (c) University of Toronto MIE456 2004
References • Chappell, D., and Jewel, T. (2002), “Chapter 1: Welcome to Web Services”, Java Web Services, O’Reilly Publishing. • Glass, G. “The Web Services (r)evolution.” http://www-4.ibm.com/software/developer/library/ws_peer1.html • Vogels, W. “Web Services Are Not Distributed Objects”, IEEE Internet Computing. http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html (c) University of Toronto MIE456 2004