Service Interface Layer

Retired Content

The Web Service Software Factory is now maintained by the community and can be found on the Service Factory site.

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies.
This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Retired: November 2011

The service interface layer has two main responsibilities:

  • Define and implement service contracts.
  • Implement service adapters.

The next sections describe each of these responsibilities.

Service Contract

The service contract, which is defined in the service interface layer, describes the behavior of a service and the messages required as the basis for interaction.

The contract's responsibilities include the following:

  • Describe the operations that your service provides that a client application can use.
  • Describe the format for information being passed to and from operations—usually described in terms of messages created from reusable data types.
  • Describe the message exchange patterns that the service implements (for example, request/response or one-way).

A service contract is commonly described using WSDL. For more information about how service contracts are used, see Message Design in Service-Oriented Applications.

Service Adapter

The service adapter is used to implement the service contract and to expose this functionality on a certain endpoint.

The service adapter's responsibilities include the following:

  • Implement the service contract defined in the service interface layer.
  • Invoke business components and translate from message/data types to data types required by the business component.

Logical View

The elements that comprise the service interface level vary according to the technology on which the service interface level is implemented. Figure 1 illustrates the relationships between WCF, ASMX, and the XML elements in a WSDL document.


Figure 1
Relationship between WCF, ASMX, and WSDL elements

There are several differences between the nomenclature used in ASMX and WCF. The naming is not exactly the same across the two technologies, but the Service Factory is consistent with WCF concepts. For more information, see Planning for and Migrating to WCF.

For information about the logical entities that comprise the service interface layer, see Figure 2 in Architecture.


The service interface layer uses the following patterns: