- Functional Description
- Nonfunctional Description
- Aggregation/Orchestration Description
- Stack Summary
Nonfunctional Description
The IDL level description embodied by the functional description layers of the service description stack is very important, but there is more that should be described about a Web service.
What do we mean by the term nonfunctional description? Basically, these layers can be characterized in contrast to the functional layers. Whereas the functional layers describe where to send the message, what the message syntax needs to look like, and how to use the protocols and encoding schemes, the nonfunctional description addresses why a service requestor should invoke the Web servicefor example, what business function the Web service addresses and how it fits into a broader business process. A nonfunctional description also gives more details about who the service provider is. For example, does the service provider provide auditing and ensure privacy?
You can use the Web Services Endpoint Language (WSEL) to describe the environment or endpoint that hosts the Web service. Characteristics of the hosting environment could include the security policy in place at the service provider, what levels of quality of service are available to support Web service invocation, what kind of privacy policy is enforced by the service provider, and so on. At one level, you can think of the nonfunctional description layers as descriptions of the Web service that do not affect the shape of the SOAP message body. Nonfunctional descriptions may have some influence on the syntax of the message, related to orthogonal extensions of the message (for example, parameters related to a required security protocol), but the core shape of the payload of the message is derived from the functional description. At this point, WSEL is not a concrete proposal, but rather a vague notion of requirement expressed within the Web services community.
The UDDI service registry also has impact on the certain nonfunctional aspects of the service description. In particular, the taxonomy scheme supported by UDDI is another mechanism by which a service provider can describe what kind of service is being provided and what business function it supports.