100% found this document useful (1 vote)
86 views

Definition of Web Services: COM3510 - Enterprise Computing

This document defines and describes key concepts related to web services, including: 1) Web services allow software applications to communicate over the web through programmatic interfaces and use XML, SOAP, WSDL and UDDI standards. 2) SOAP defines a message format and conventions for RPC interactions over HTTP/SMTP. WSDL describes available services. 3) The document outlines the web services architecture and technology stack including XML, SOAP, WSDL and UDDI, providing examples of SOAP messages and the role of WSDL.

Uploaded by

Ajeet
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
86 views

Definition of Web Services: COM3510 - Enterprise Computing

This document defines and describes key concepts related to web services, including: 1) Web services allow software applications to communicate over the web through programmatic interfaces and use XML, SOAP, WSDL and UDDI standards. 2) SOAP defines a message format and conventions for RPC interactions over HTTP/SMTP. WSDL describes available services. 3) The document outlines the web services architecture and technology stack including XML, SOAP, WSDL and UDDI, providing examples of SOAP messages and the role of WSDL.

Uploaded by

Ajeet
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Definition of Web Services

Definition by W3C:
COM3510 - Enterprise Computing
“A Web service is a software application identified by a
Topic 6: SOA & Web Services URI, whose interfaces and bindings are capable of being
defined, described, and discovered as XML artifacts. A
Yuping Yang Web service supports direct interactions with other
2006
software agents using XML-based messages exchanged via
Internet-based protocols”.
University of Exeter

1/21

COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Characteristics of Web Services Web Services Architecture


Company D (client)
Company A (provider)
• A message is a unit of communication with a Web service
Web service client
• Do not provide users with a GUI Web service interface
• Share business logic, data and processes through a Access to internal systems
Web
programmatic interface across a network service
External
• Not tied to any operating system or programming Web
Architecture
service
language Internal Web
Architecture service
• Web services do not require the use of browsers or
HTML Company C
(provider)
middleware Web Web
service service
internal internal
service service Company B (provider)

2/21 3/21
COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Basic Web Services Technology XML in Web Services

The core of Web services: • Provides a common syntax for all specifications.
• XML (eXtensible Markup Language) - fundamental: both SOAP and WSDL dependent on XML
- used to tag the data • In Web services all standards revolve around XML, with data
structures and formats described as XML documents.
• SOAP (Simple Object Access Protocol)
• Provides the extensibility and vendor, platform and language
- used to transfer the data (a way to communicate)
neutrality
• WSDL (Web Services Description Language)
- the key to loosely-coupled, standards-based interoperability
- used for describing the services
- the essence of the Web services value proposition
• UDDI (Universal Description, Discovery, and Integration)
- used for listing what services are available (a name and
directory server)

4/21 5/21

COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Simple Object Access Protocol (SOAP) Exchanging SOAP Messages

• Defines how to organize information using XML in a


structured and typed manner service requestor service provider

• SOAP specifies: application object SOAP messages application object


(client) exchanged on top (service provider)
- a message format for one-way communication
of, HTTP, SMTP,
- a set of conventions for using SOAP messages to or other transport
SOAP-based SOAP-based
implement the RPC interaction pattern middleware middleware
- set of rules that any entity that processes a SOAP
message must follow
- a description of how a SOAP message should be converts procedure calls to/from XML
transported on top of HTTP and SMTP message sent through HTTP or other
protocols
• Interactions of Web services are based on SOAP

6/21 7/21
COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Web Service Description Language


An Example of a SOAP Message
(WSDL)
envelope
• WSDL is an XML-based interface definition language
<soap:Envelop exmlns:soap=http://schemas.xmlsoap.org/soap/envelope/
soap:encodingStyle="http://schemas.xmlsoap.org/soap encoding/">
- plays the same role as IDL in conventional middleware
- introduces a few extensions: access mechanisms
header
<soap:Header> • Used for a designer to specify the programming interface of a
<h:from xmlns:h="http://www.wrox.com/Header">[email protected]</h:from> Web service
</soap:Header>
• A WSDL file describing an interface can be compiled to
<soap:Body> blocks generate the stubs and intermediate layers that make calls to
<w:GetSecretIdentity xmlns:w="http://www.wrox.com/heroes/"> the Web services transparent
<w:codename>XSLT-Man</w:codename>
</w:GetSecretIdentity> - hide a Web service behind some interface
</soap:Body> body - clients can invoke a method using the programming language
of their choice: need to specify the URI of the service and the
</soap:Envelope> transport protocol (e.g., HTTP) to use

8/21 9/21

COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Generating Stubs and Skeletons from


Structure of a WSDL Interface
WSDL Specification
WSDL specification Data types for
<operation name=“orderGoods”> Conceptually defining data
<input message=“OrderMsg”/> WSDL of analogous to abstract part structures
</operation> service provider conventional IDL types Each operation
defines a simple
WSDL compiler WSDL compiler messages
exchange of
(client side) (server side) operations messages

port types Interfaces in IDL;


service requestor service provider each port type is a
application object application object Defines protocol logical collection of
(client) (service provider) binding and concrete part related operations
other info bindings
stub skeleton Specifies the
services and ports message encoding
SOAP messages
and protocol
SOAP-based SOAP-based bindings
middleware middleware
Ports: combine binding info with URI
10/21 Services: logical grouping of ports 11/21
COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Universal Description, Discovery and


Information in UDDI Registry
Integration (UDDI)
Categorizing info in terms of what each type of info is used
• Specification a framework for describing and discovering
for (similar to the telephone directory):
Web services.
• White pages
• The core of UDDI revolves around the notion of
business registry - listings of organizations, of contact info, and of the
services theses organizations provide
- a sophisticated naming and directory service
• Yellow pages
• Defines data structures and APIs for publishing service
descriptions in the registry and for querying the registry to - the categories (standardized or user defined) services
look for published descriptions. belong to
• The registry itself can be accessed as a Web service • Green pages
- how a given Web service can be invoked

12/21 13/21

COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

UDDI Data Structures UDDI Registry APIs


• UDDI Inquiry API
Four main entities of the registry - includes operations to find registry entries that satisfy search criteria and
to get overview info about those entries
• businessEntity: describes an organization that provides
• UDDI Publishers API
Web services
- enables service providers to add, modify and delete entries in the registry
• businessService: describes a group of related Web • UDDI Security API
services offered by a businessEntity - allows UDDI users to get and discard authentication tokens
• bindingTemplate: describes the technical info necessary • UDDI Custody and Ownership Transfer API
to use a particular Web service (e.g. address or other - transfer “custody” of info among registries
service properties) - transfer ownership between publishers
• tModel: technical model – a generic container for any • UDDI Subscription API
kind of specification (e.g., a WSDL service interface or - enables the monitoring of changes in a registry by subscribing to track
an interaction protocol) new, modified and deleted entries
• UDDI Replication API
- supports replication of info between registries
14/21 15/21
COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

The Relation between UDDI and WSDL SOA and Web Services
Service Requestor Service Provider
• SOA is an architecture
WSDL of - provides conceptual design patterns for service-based
service provider
distributed systems
SOAP/HTTP SOAP/HTTP
- manages many loosely coupled services developed using
UDDI Inquiry API UDDI Publishers API different technologies
tModel • Web services are a good example of a service of an
Web Service Interface enterprise SOA
UDDI Registry UDDI data structures
businessEntity - provides standards-based technology to implement an
businessService SOA using communication methods available everywhere
Service Descriptions bindingTemplate today

16/21 17/21

COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

How do Web Services Fulfill the Key


SOA and Web Services Contd.
Requirements of an SOA?
• Play a major role in an SOA
- built on top of well-know and platform-independent • A service should be dynamically discoverable and invokeable
protocols, e.g. HTTP, XML, UDDI, WSDL and SOAP - fulfilled by UDDI, WSDL, and SOAP
- a proof of concept that SOAs can finally be implemented • A service have a platform-independent interface contract
- fulfilled by XML
• It is generally accepted that a web service is a SOA with at
least the following additional constraints: • SOA stresses interoperability
- interfaces must be based on Internet protocols such as - fulfilled by HTTP
HTTP, FTP, and SMTP.
- except for binary data attachment, messages must be in
XML.

18/21 19/21
COM3510 Part2 -Topic 6 COM3510 Part2 -Topic 6

Applicability of SOA and Web Services References

SOA and Web services may not be recommended for the following • Gustavo Alonso, Fabio Casati, et al. Web Services: Concepts,
applications:
Architectures and Applications. Springer-Verlag, 2004. ISBN 3-
• Stand-alone, non-distributed applications that do not require 540-44008-9. (Chapter 5 & 6)
component or application integration
- e.g. a word processing application • http://ftpna2.bea.com/pub/downloads/SOA_SAG.pdf
• Limited scope or short-lived applications
- e.g. an application built as an interim solution
• Applications where one-way asynchronous communication is required
- e.g. posting a mail
• A homogeneous application environment
- e.g. J2EE components
• Applications requiring rich, GUI based functionality
- e.g. a map manipulation application with lots of geographical data
manipulation

20/21 21/21

You might also like