Pelco Developer Network (PDN)

Introduction to Web Services

Overview

This is a general introduction of web services. For information on implementation, please refer to use case sections. These are specific to different languages, different frameworks, and different libraries.

The IP camera foundation is strongly tied to existing enterprise standards. One of the key standards that the IP camera is based on is the concept of Web Services. A Web Service is a formal way for applications to communicate with each other over a network.

web_service_diag

At its most basic level, Web Services use the following formula:

Web Services = XML + HTTP

In general, a Web Service involves a requester (client) counterpart and a service provider counterpart. The client makes a request regarding a specific action within a particular service. Depending on the client's request, the service provider responds appropriately.

 

4274request_process

Web Service Description Language (WSDL)

Web Service Description Language (WSDL) provides a way for service providers to describe the basic format of Web Service requests. A WSDL provides the following for network services:

  • Describes the data or parameters that can be passed to the service. The XML Schema Definition (XSD) is the existing standard for sanctioned data definitions maintained by the W3C. For more information, refer to the following website: http://www.w3.org/XML/Schema

  • Describes Web Service provided actions.

  • Describes how data is transferred between the Web Service requester and the Web Service provider, using information such as the protocol and data format.

  • Details the Web Service location.

In short, a WSDL is a standard way of describing a web service using XML.

wsdl_action

The actual protocol for communication is Service Oriented Architecture Protocol (SOAP). SOAP is a protocol for exchanging XML based messages. It defines the method of communication through remote procedure calls (RPCs) using HTTP.

The following illustrates the basic structure of a WSDL.

wsdl_diag

 

Types -- a container for data type definitions using some schema type system (we are using XSD)

Message -- an abstract, typed definition of the data being communicated

Operation -- describes an action supported by the service

Port Type -- a set of operations supported by at least one endpoint

Binding -- a concrete protocol and data format specification for a particular port type

Port -- a single endpoint defined as a combination of a binding and a network address

Service -- a collection of endpoints

For more information, refer to the W3C web site: http://www.w3.org/TR/soap/