1 / 42

An Informal Introduction to Web Services

An Informal Introduction to Web Services. Vladimir Tosic Network Management & Artificial Intelligence Lab Department of Systems & Computer Engineering Carleton University, Ottawa, Canada vladimir@sce.carleton.ca www.sce.carleton.ca/~vladimir/WSwebliography.html. Outline.

pillan
Download Presentation

An Informal Introduction to 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. An Informal Introduction to Web Services Vladimir Tosic Network Management & Artificial Intelligence Lab Department of Systems & Computer Engineering Carleton University, Ottawa, Canada vladimir@sce.carleton.ca www.sce.carleton.ca/~vladimir/WSwebliography.html SYSC 5800 Presentation by Vladimir Tosic

  2. Outline • What are Web Services? • Web Service technologies • Details and examples • Web Service tools • Web Service resources (WWW pages, …) • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  3. How Do Web Services Relate to Your Course? • Relatively novel XML-based distributed/network computing paradigm • Supported by all major computing companies (Microsoft, IBM, Sun, Oracle, HP, …) • Technical concepts are similar to other paradigms already discussed in the course • The main difference is in “business issues” SYSC 5800 Presentation by Vladimir Tosic

  4. Let’s Start! • What are Web Services? • Web Service technologies • Examples • Web Service tools • Web Service resources • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  5. What are Web Services? • Service-based software systems • The “Publish-Find-Bind” interaction model • Definition of a Web service • Some goals of the work on Web services • Web services vs. distributed objects • Who is working in this area? SYSC 5800 Presentation by Vladimir Tosic

  6. Service-Based Software Systems • “Software is a service” business model • Software is not a product any more, but a service available over the network • Application Service Providers (ASPs) • Service-Oriented Architecture (SOA) • Applications decomposed into distributed services • On-line access to libraries of composable components • CORBA, Jini, Component Service Providers (CSPs) SYSC 5800 Presentation by Vladimir Tosic

  7. 1. Publish Service Provider (Supplier) Service Broker (Registry) 2. Find 3. Bind Service Requester (Consumer) The “Publish-Find-Bind” Interaction Model SYSC 5800 Presentation by Vladimir Tosic

  8. W3C Definition of a Web Service • A software application that: • has a unique Uniform Resource Identifier (URI), • can be defined, described, and discovered using XML (Extensible Markup Language), • supports exchange of XML messages via Internet-based protocols. SYSC 5800 Presentation by Vladimir Tosic

  9. Microsoft .NETDefinition of a Web Service • A black-box programmable application logic that can be reused without worrying about how the service is implemented • Defined strictly in terms of the messages the Web Service accepts and generates • Simply and easily composed over the network, across domain boundaries • Accessible using standard and ubiquitous Internet protocols and data formats (XML) SYSC 5800 Presentation by Vladimir Tosic

  10. Some Goals of the Work on Web Services • Faster development and deployment of IT (Information Technology) systems • Dynamic and ad hoc A2A (Application-to-Application) and B2B (Business-to-Business) integration • Interoperability across programming languages and operation platforms • Leveraging and compatibility with existing Internet/Web infrastructure SYSC 5800 Presentation by Vladimir Tosic

  11. Web Services vs. Distributed Objects • Ad hoc & temporary vs. planned & stable integration • “Loose coupling” vs. “tight coupling” • Synchronous or asynchronous vs. synchronous communication • RPC (Remote Procedure Call) or document-based vs. RPC interactions • B2B or inter-enterprise vs. inter-enterprise integration SYSC 5800 Presentation by Vladimir Tosic

  12. Who Is Working in This Area? • All major computing companies • Microsoft .NET, IBM Dynamic e-business, Sun ONE (Open Net Environment), Oracle, HP, … • Several industrial “standardization” bodies • W3C (World Wide Web Consortium) • OASIS (Organization for the Advancement of Structured Information Standards) • WS-I (Web Services - Interoperability) • … SYSC 5800 Presentation by Vladimir Tosic

  13. Overview of Technologies • What are Web Services? • Web Service technologies • Details and examples • Web Service tools • Web Service resources • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  14. Basic Technologies • XML (Extensible Markup Language) - For data representations • SOAP [a.k.a. Simple Object Access Protocol, XML Protocol] - An XML packaging protocol, defines message formats and encoding rules • WSDL (Web Services Description Language) - An XML service description language SYSC 5800 Presentation by Vladimir Tosic

  15. Some Popular Technologies • UDDI (Universal Description, Discovery, and Integration) - For discovering service providers if you do not know their URLs • WS-Inspection - For discovering services located on a particular Web site (you need to know its URL) • BPEL4WS (Business Process Execution Language for Web Services) - For describing Web Service compositions (orchestrations) SYSC 5800 Presentation by Vladimir Tosic

  16. And Many Other Technologies … • WS-Policy - For specifying policies (e.g., security) • WSLA (Web Service Level Agreements) - A way to to specify quality of service (QoS) guarantees and service level agreements • Many WS-??? and WS?L technologies … SYSC 5800 Presentation by Vladimir Tosic

  17. And Now: “Something Concrete” • What are Web Services? • Web Service technologies • Details and examples • Web Service tools • Web Service resources • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  18. Details and Examples • Features of the SOAP packaging protocol • Structure of a SOAP message • XML elements of WSDL documents • Structure of a WSDL document • Types of operations in WSDL • Examples SYSC 5800 Presentation by Vladimir Tosic

  19. The SOAP Packaging Protocol • Defines the structure of XML messages and XML encoding rules for various data types • Supports both RPC-style and document-style interactions • XML encoding rules used only for RPC-style • Can be used with various transport protocols • Most often used with HTTP (HyperText Transport Protocol) SYSC 5800 Presentation by Vladimir Tosic

  20. SOAP Envelope SOAP Header (optional) - various management information SOAP Body (mandatory) - the transferred information in XML Structure of a SOAP Message SYSC 5800 Presentation by Vladimir Tosic

  21. Elements of WSDL Documents (1/3) • Used for XML description of Web Services • WSDL can be used with various XML packaging and transport protocols • The main XML elements in WSDL documents: • definitions - defines namespaces and contains other WSDL elements • types - defines data types used SYSC 5800 Presentation by Vladimir Tosic

  22. Structure of a WSDL Document descriptions types message part port type operation binding service port SYSC 5800 Presentation by Vladimir Tosic

  23. Elements of WSDL Documents (2/3) • message - defines name and parameters of one message (a portion of an operation) • part - defines name and data type of a message parameter • port type - contains one or more operations (= interface) • operation - groups input, output, and/or fault messages SYSC 5800 Presentation by Vladimir Tosic

  24. Types of Operations in WSDL • One-way (input only) • Request-response (input, output, and optional fault message) • Solicit-response (output, input, and optional fault message) • Notification (output only) SYSC 5800 Presentation by Vladimir Tosic

  25. Elements of WSDL Documents (3/3) • binding - defines the message packaging protocol and transport protocol used for a port type • service - groups related ports and defines the name of the Web Service • port (= endpoint) - associates a binding with a network address • Other WSDL elements (e.g., description) SYSC 5800 Presentation by Vladimir Tosic

  26. Examples - Simple Stock Web Services • SOAP: www.w3schools.com/soap/soap_example.asp • WSDL: www.brics.dk/~amoeller/WWW/webservices/wsdlexample.html • UDDI: www.brics.dk/~amoeller/WWW/webservices/uddiexamples.html SYSC 5800 Presentation by Vladimir Tosic

  27. Tools Make Life Easier … • What are Web Services? • Web Service technologies • Details and examples • Web Service tools • Web Service resources • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  28. Some Popular Web Service Tools • XML and WSDL writing tools • Altova XMLSpy, … • SOAP engines: • facilitate development of SOAP applications • process SOAP messages • have tools for WSDL <-> Java generation • UDDI registries and tools • IBM public UDDI registry and IBM UDDI4J, … SYSC 5800 Presentation by Vladimir Tosic

  29. Some Popular SOAP Engines • Apache Axis • IBM WSTK (Web Services Toolkit) • IBM WebSphere • BEA WebLogic • Systinet WASP • The Mind Electric GLUE • … SYSC 5800 Presentation by Vladimir Tosic

  30. Provider HTTP Web and/or app server SOAP SOAP engine Implementation prog. lang. call Consumer A Typical Provider Web Service SYSC 5800 Presentation by Vladimir Tosic

  31. SOAP Engine prog. lang. specific prog. lang. specific oper. call SOAP Unpacking Other processing modules Dispatching Packing A Typical SOAP Engine SYSC 5800 Presentation by Vladimir Tosic

  32. To Probe Further … • What are Web Services? • Web Service technologies • Details and examples • Web Service tools • Web Service resources • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  33. Web Service Resources • Books (by O’Reilly, SAMS, …) • Magazines (e.g., Web Services Journal) • On-line communities and portals • Company Web Sites • Web sites of university research groups • Conference proceedings • … => www.sce.carleton.ca/~vladimir/ WSwebliography.html SYSC 5800 Presentation by Vladimir Tosic

  34. What are the Issues? • What are Web Services? • Web Service technologies • Details and examples • Web Service tools • Web Service resources • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  35. Discussion Points • Some potential advantages of Web Services • Some potential disadvantages • Your thoughts and questions • Summary of research in our group SYSC 5800 Presentation by Vladimir Tosic

  36. Some Potential Advantages • Flexibility • Wide industry support • “Bottom-up” approach to standards • Low entry barrier • Accommodating legacy systems • Leveraging widely used technologies (Internet, HTTP, XML) • Basis for the Semantic Web, Grid computing SYSC 5800 Presentation by Vladimir Tosic

  37. Some Potential Disadvantages • A lot of hype and marketing • Not exactly “software revolution”, “Reinventing the wheel” • Overall infrastructure complexity hidden • Actual degree of “loose coupling” • Performance • … • Many puzzle pieces are “still in progress” SYSC 5800 Presentation by Vladimir Tosic

  38. Your Thoughts and Questions • What do you think? • What do you want me to clarify or explain in more detail? SYSC 5800 Presentation by Vladimir Tosic

  39. Summary of Research in Our Group • Web Service Offerings Language (WSOL) • Classes of service for Web Services • Constraints (functional, QoS, access rights) • Management statements (prices/penalties, management responsibility) • Reusability constructs (templates, inheritance, …) • WSOL Provider Infrastructure (WSOSI) • Monitoring and enforcement of WSOL • Dynamic manipulation of service offerings SYSC 5800 Presentation by Vladimir Tosic

  40. Things to Remember! • What are Web Services? • Web Service technologies • Details and examples • Web Service tools • Web Service resources • Discussion • Conclusions SYSC 5800 Presentation by Vladimir Tosic

  41. Conclusions • Web Services have URIs and use XML for description, discovery, and data transfer • The main technologies are XML, SOAP, WSDL • There are many other technologies • Key technical concepts are not revolutionary • There are very powerful “political games” around Web Services • Many open research issues SYSC 5800 Presentation by Vladimir Tosic

  42. Thank You! Vladimir Tosic Network Management & Artificial Intelligence Lab Department of Systems & Computer Engineering Carleton University, Ottawa, Canada vladimir@sce.carleton.ca www.sce.carleton.ca/~vladimir/WSwebliography.html SYSC 5800 Presentation by Vladimir Tosic

More Related