430 likes | 742 Views
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.
E N D
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Structure of a WSDL Document descriptions types message part port type operation binding service port SYSC 5800 Presentation by Vladimir Tosic
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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