WSDL - WSDL 2.0 Features and Properties Model

 

1. Introduction

WSDL 2.0 (Web Services Description Language 2.0) is a standard used to describe web services and explain how applications can communicate with them. It defines the operations provided by a service, the messages exchanged, the communication protocols supported, and the endpoints through which the service can be accessed.

The Features and Properties Model in WSDL 2.0 provides a structured way to describe additional capabilities and characteristics of a web service. It helps define what a service or its binding needs to support and how particular capabilities can be configured.

A feature describes a capability or behavior that a web service uses, while a property represents a specific value or characteristic associated with that feature. Together, they provide a way to express requirements beyond the basic structure of operations and messages.

For example, a web service might need to support message addressing, reliable communication, or a particular security mechanism. These capabilities may involve features and properties that describe the relevant requirements and configuration.

2. What Is a Feature in WSDL 2.0?

A feature represents a particular capability or behavior that can be associated with a web service interface, binding, or other relevant component.

Features help describe what functionality is expected from a service or what additional behavior is available during communication between a client and a service.

Examples of capabilities that web service technologies may describe through features include:

  • Message addressing, which helps identify message destinations and related communication information.

  • Reliable messaging, which supports dependable message delivery.

  • Security mechanisms, which help protect messages and verify identities.

  • Transaction coordination, which supports coordinated operations across multiple services.

These examples illustrate the types of capabilities that may be relevant to web services. They are not all built-in features automatically defined by WSDL 2.0 itself; specific capabilities can be defined by related web service specifications or extensions.

Example

Consider an online shopping application that communicates with a payment service.

The payment service may need to support a security mechanism to protect sensitive transaction information. The security capability is a requirement of the service interaction. A related specification may define the feature and its associated properties to describe how that capability is supported.

Features therefore help communicate service requirements without requiring every detail to be expressed directly in the operation definitions.

3. What Is a Property in WSDL 2.0?

A property represents a particular value or characteristic associated with a feature.

While a feature describes a capability or behavior, a property provides information about an aspect of that capability. Depending on the feature definition, a property may represent a configuration value, a requirement, or another characteristic relevant to the service.

For example, a messaging-related feature might use properties to describe addressing information or other details required by its specification.

Properties are identified and interpreted according to the definitions established by the relevant feature or extension. WSDL 2.0 does not provide one universal set of properties for every possible feature.

Example

Suppose an application communicates with a service using a message-addressing mechanism.

The related feature describes the use of message addressing. Properties defined by the relevant specification can describe particular addressing information, such as a destination or reply address.

The client and service implementation can then use that information according to the rules of the addressing specification.

4. Difference Between Features and Properties

Features and properties are related, but they serve different purposes.

Aspect

Feature

Property

Meaning

Describes a capability or behavior

Describes a value or characteristic associated with a feature

Purpose

Expresses what functionality is involved

Provides information about that functionality

Scope

May apply to a service interface, binding, or related component

Depends on the feature's definition and applicable component

Definition

Defined by WSDL-related standards or extensions

Defined and interpreted according to the relevant feature specification

Example

A message-addressing capability

An addressing value defined by the applicable specification

The important distinction is that a feature describes a capability, whereas a property describes an aspect of that capability.

5. How the Features and Properties Model Works

The model helps describe additional service requirements in a structured way. Its general use can be understood through the following steps.

Step 1: Identify the service requirement

The developer identifies a capability needed by the service interaction.

For example, a service may need reliable communication because messages contain important order or payment information.

Step 2: Identify the relevant feature

The developer determines whether an applicable web service specification defines a feature that represents the required capability.

The feature's definition establishes what behavior it describes and how it should be interpreted.

Step 3: Identify the associated properties

If the feature defines properties, the developer determines which values or characteristics are relevant to the service.

These properties must follow the definitions and constraints of the applicable specification.

Step 4: Associate the requirement with the appropriate service component

The relevant description or extension is associated with the appropriate service interface, binding, or other component, according to the rules of the specification being used.

This association helps communicate the service's requirements and capabilities to developers and supporting tools.

Step 5: Implement and verify the behavior

The service implementation and client software must support the required behavior. Developers then test whether the service operates according to the stated requirements.

Describing a feature in service metadata does not automatically implement it. The actual behavior depends on the software, protocols, and specifications involved.

6. Relationship Between Features, Properties, Interfaces, and Bindings

To understand this model clearly, it is important to distinguish between four related concepts.

Interface: Defines the abstract operations that a web service provides and the messages associated with those operations.

Binding: Describes how the interface is connected to a particular communication protocol and message format.

Feature: Represents an additional capability or behavior relevant to a service interaction.

Property: Represents a value or characteristic associated with a feature.

For example, an interface might define an operation for submitting an order. A binding might specify how the operation is communicated using SOAP over HTTP. An additional messaging capability could define requirements for addressing or reliable delivery, with associated properties specified by the relevant standard.

This separation allows the service's basic functionality to remain distinct from additional communication requirements.

7. Practical Example: An Online Banking Service

Consider an online banking application that allows customers to transfer money between accounts.

The service exposes an operation called TransferFunds. A client application invokes this operation to request a transfer.

The service interface describes the operation and its input and output messages. The binding defines how those messages are exchanged.

Additional capabilities may be required to make the interaction suitable for a banking environment.

For example, a security specification may define mechanisms for protecting messages and establishing trust. A messaging specification may define how messages are addressed or delivered reliably.

The feature and properties model helps describe relevant capabilities and their associated information when the applicable standards support such descriptions.

However, the model alone does not encrypt messages, authenticate customers, guarantee delivery, or execute financial transactions. Those responsibilities belong to the corresponding security, messaging, and application implementations.

8. Advantages of the Features and Properties Model

Clear description of additional requirements

Features provide a structured way to describe capabilities that extend beyond basic operations and messages.

Improved interoperability

When service providers and consumers follow the same feature definitions and specifications, they can better understand the requirements of a service interaction.

Separation of concerns

The model helps keep the abstract service interface separate from additional communication capabilities and their associated details.

Support for extensibility

Additional capabilities can be described through relevant specifications without redesigning every operation in the service interface.

Easier service analysis

Developers and supporting tools can use service metadata to understand relevant requirements, provided the tools recognize the specifications used.

9. Limitations and Important Considerations

Although the features and properties model is useful, it has several limitations.

First, WSDL 2.0 does not automatically define every possible web service capability. Some features and properties depend on separate specifications.

Second, the meaning of a property depends on its definition. A client cannot safely assume that a property has the same meaning across unrelated features.

Third, declaring a requirement does not guarantee that the service implementation supports it. Developers must verify compatibility and test the actual behavior.

Finally, not every WSDL processor supports every extension or related web service standard. Interoperability depends on both sides understanding and implementing the relevant specifications.

10. Conclusion

The Features and Properties Model in WSDL 2.0 provides a structured approach to describing capabilities and characteristics associated with web service interactions. Features represent capabilities or behaviors, while properties represent the specific values or characteristics defined for those features.

The model complements interfaces and bindings by helping describe additional requirements without placing every detail inside the basic operation definitions. When used with compatible specifications and implementations, it can improve clarity, extensibility, and interoperability in web service development.

The key point to remember is that features describe capabilities, properties describe aspects of those capabilities, and the relevant specifications and implementations determine how they are interpreted and used.