1 / 22

Web Services

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?.

darci
Download Presentation

Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Services Information Systems Infrastructure II Chris Lauchristopher.lau@utoronto.ca (c) University of Toronto MIE456 2004

  2. Overview • What are they? • Examples of web services • Technologies associated with web services • Misconceptions of web services (c) University of Toronto MIE456 2004

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Web Services Architecture Source: “Java Web Services.” Chappell, D., and Jewel, T (c) University of Toronto MIE456 2004

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

More Related