Web services terminology

A Web service is a self-contained, self-describing, modular application, based on XML, that can be published to and invoked from the Web. Domino Web services are based on the following W3C standards:

  • WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented messages.
  • SOAP defines XML-based information used for exchanging structured and typed information between peers in a decentralized, distributed environment. A SOAP message is fundamentally a one-way transmission from a SOAP sender to a SOAP receiver, but SOAP messages are expected to be combined by applications to implement more complex interaction patterns.

A WSDL document defines a Web service and incorporates the following elements:

  • Service -- The Web service as a whole. In a WSDL document, the service is described by a <definitions> element at the root. Children are <types>, <message>, <portType>, <binding>, and <service>. The <service> element has a "name" attribute that names the service.
  • Types -- The data types used by the service. In a WSDL document, the data types are described in a <types> element containing an <xsd:schema> element. See http://www.w3.org/TR/xmlschema-2 for descriptions of the data types.
  • Message -- An abstract definition of data being communicated to or from the service. There may be any number of messages. In a WSDL document, each message is described by a <message> element. Each <message> element contains one or more <part> elements to define the data by name and type.
  • Port type -- An abstract set of operations supported by the service. In a WSDL document, a port type is described by a <portType> element. Each <portType> element contains one or more <operation> elements.
  • Operation -- An abstract description of an action supported by the service. In a WSDL document, an operation is described by an <operation> element. Each <operation> element contains <input> and <output> elements that specify associated messages.
  • Binding -- A concrete protocol and data format specification for a port type. In a WSDL document, a binding is described by a <binding> element. A <binding> element has a "type" attribute that specifies the name of the port type. For SOAP encoding, a <binding> element contains a <soap:binding> element with "style" ("rpc" or "document") and "transport" ("http://schemas.xmlsoap.org/soap/http") attributes. A <binding> element contains <operation> elements that describe the data format for each operation.
  • Port -- A single endpoint defined as a combination of a binding and a network address. In a WSDL document, a port is defined by a <port> element under the <service> element. The <port> element has a "binding" attribute to name the binding and an "address location" attribute to name the network endpoint to be associated with the binding.