Title: Introduction to Web Services
1Introduction to Web Services
- Vladimir Tosic
- NSERC Post-Doctoral Fellow
- Department of Computer Science
- University of Western Ontario, London, Canada
- http//elab.njit.edu/vladimir
2How 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, ) - Evolution of older distributed computing
technologies (e.g., RPC, CORBA) - Many technical similarities
- The main difference is in business issues
3Lecture Outline
- What are Web Services?
- Web Service technologies
- Examples
- Web Service tools
- Web Service resources
- Discussion
- Conclusions
4What are Web Services? - Outline
- 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?
5Service-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)
6The Publish-Find-Bind Interaction Model
7W3C 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.
8Microsoft .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)
9Some 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
10Web Services (WS) vs. Distributed Objects (DO)
- (WS) Ad hoc temporary vs.
- (DO) planned stable integration
- (WS) loose vs. (DO) tight coupling
- (WS) Synchronous or asynchronous vs.
- (DO) only synchronous communication
- (WS) RPC or document-based vs.
- (DO) only RPC interactions
- (WS) B2B or intra-enterprise vs.
- (DO) only intra-enterprise integration
11Who 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)
-
12Overview of Technologies
- What are Web Services?
- Web Service technologies
- Details and examples
- Web Service tools
- Web Service resources
- Discussion
- Conclusions
13Basic 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
14Some Popular Technologies
- UDDI (Universal Description, Discovery, and
Integration) - For discovering service providers
if you do not know their URLs - BPEL4WS (Business Process Execution Language for
Web Services) - For describing Web Service
compositions (orchestrations)
15And Many Other Technologies
- 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
16And Now Something Concrete
- What are Web Services?
- Web Service technologies
- Details and examples
- Web Service tools
- Web Service resources
- Discussion
- Conclusions
17Details and Examples - Outline
- A brief summary of XML
- Features of the SOAP packaging protocol
- Structure of a SOAP message
- XML elements of WSDL documents
- Structure of a WSDL document
- Examples
18A Brief Summary of XML
- A textual, platform-independent format for
structured data representation - Looks like HTML (HyperText Markup Language), but
you can define your own tags - Markup contains information about data
- Elements and attributes
- Structure defined using XML Schema
- Parsers check well-formedness and validity
19The 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)
20Structure of a SOAP Message
21Elements of WSDL Documents (1/3)
- Used for XML description of Web Services
- Can be used with various XML packaging and
transport protocols - The main XML elements in WSDL 1.1 documents
- (new WSDL 2.0 not yet widely used)
- definitions - defines namespaces and contains
other WSDL elements - types - defines data types used
22Structure of a WSDL Document
- descriptions
- types
- message
- part
- port type
- operation
- binding
- service
- port
23Elements 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
24Types of Operations in WSDL 1.1
- One-way (input only)
- Request-response (input, output, and optional
fault message) - Solicit-response (output, input, and optional
fault message) - Notification (output only)
25Elements 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)
26Examples - Simple Stock Web Services
- SOAP www.w3schools.com/soap/soap_example.asp
- WSDL www.brics.dk/amoeller/WWW/webservices/wsdle
xample.html - UDDI www.brics.dk/amoeller/WWW/webservices/uddie
xamples.html
27Tools Make Life Easier
- What are Web Services?
- Web Service technologies
- Details and examples
- Web Service tools
- Web Service resources
- Discussion
- Conclusions
28Some 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 lt-gt Java generation
- UDDI registries and tools
- IBM public UDDI registry and IBM UDDI4J,
29Some Popular SOAP Engines
- Apache Axis
- IBM WSTK (Web Services Toolkit)
- IBM WebSphere
- BEA WebLogic
- Systinet WASP
- The Mind Electric GLUE
-
30A Typical Provider Web Service
31A Typical SOAP Engine
32To Probe Further
- What are Web Services?
- Web Service technologies
- Details and examples
- Web Service tools
- Web Service resources
- Discussion
- Conclusions
33Web Service Resources
- Books (by OReilly, SAMS, )
- Magazines (e.g., Web Services Journal)
- Conference proceedings (ICWS, SCC, )
- On-line communities and portals
- Company Web Sites
- Web sites of university research groups
- gt http//elab.njit.edu/vladimir/
WSwebliography.html
34What are the Issues?
- What are Web Services?
- Web Service technologies
- Details and examples
- Web Service tools
- Web Service resources
- Discussion
- Conclusions
35Discussion Points - Outline
- Some potential advantages of Web Services
- Some potential disadvantages
- Your thoughts and questions
- Summary of my research
36Some 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
37Some 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
38Your Thoughts and Questions
- What do you think?
- What do you want me to clarify or explain in more
detail?
39Summary of My Research
- Management of Web Services
- New stream mobile/embedded environments
- Web Service Offerings Language (WSOL)
- Specification of management information (service
offerings classes of service, constraints,
prices/ penalties, management statements, ) - Web Service Offerings Infrastructure (WSOI)
- Monitoring enforcement of WSOL descriptions
- Dynamic manipulation of service offerings
40Things to Remember!
- What are Web Services?
- Web Service technologies
- Details and examples
- Web Service tools
- Web Service resources
- Discussion
- Conclusions
41Conclusions
- 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
42Thank You!
- Vladimir Tosic
- NSERC Post-Doctoral Fellow
- Department of Computer Science
- University of Western Ontario, London, Canada
- http//elab.njit.edu/vladimir