Web服务是一套开放标准,它将成为新一代面向服务开发的基础。对于每一种服务,都有一个良定的(well-defined)、正是的接口,称作服务契约(service contract)。在服务契约中,明确定义了服务的功能,并且实现了服务的外部访问接口与服务的技术实现的明确分离,服务契约关注的是服务层的抽象。
服务契约中的组成元素应该是机器可读的,以便利用工具实现开发、运行时和管理活动自动化。
某些服务契约的元素应用于整个服务,而另一些则仅应用于构成服务的一些操作。
每个服务都有一个服务契约,无论你有没有正式定义它。可以用WSDL、XML Schema和WS-Policy框架来定义现实的、良定的服务契约,也可以根据服务接受的输入消息、响应的输出消息以及所实现的业务活动来定义隐式的服务契约。
对于基于Web服务的SOA的实现可以用WSDL定义服务契约的主要元素,而其他一些不能用WSDL定义的元素,可以用WS-Policy框架定义,或者记录在Microsoft Word或Microsoft Excel中。
WSDL是一种理想的服务定义语言,因为它是基于标准的、可扩展的、基于XML Schema的,并且明确分离了逻辑契约和物理契约。逻辑契约定义了独立于传输协议、传输数据格式以及编程语言的公共接口;物理契约定义了对传输协议和传输数据格式的绑定,而且可以为同一逻辑契约定义多个不同的物理契约。当前,最流行的绑定(binding)技术是使用简单对象访问协议(SOAP)。
服务契约中的组成元素应该是机器可读的,以便利用工具实现开发、运行时和管理活动自动化。
某些服务契约的元素应用于整个服务,而另一些则仅应用于构成服务的一些操作。
每个服务都有一个服务契约,无论你有没有正式定义它。可以用WSDL、XML Schema和WS-Policy框架来定义现实的、良定的服务契约,也可以根据服务接受的输入消息、响应的输出消息以及所实现的业务活动来定义隐式的服务契约。
对于基于Web服务的SOA的实现可以用WSDL定义服务契约的主要元素,而其他一些不能用WSDL定义的元素,可以用WS-Policy框架定义,或者记录在Microsoft Word或Microsoft Excel中。
WSDL是一种理想的服务定义语言,因为它是基于标准的、可扩展的、基于XML Schema的,并且明确分离了逻辑契约和物理契约。逻辑契约定义了独立于传输协议、传输数据格式以及编程语言的公共接口;物理契约定义了对传输协议和传输数据格式的绑定,而且可以为同一逻辑契约定义多个不同的物理契约。当前,最流行的绑定(binding)技术是使用简单对象访问协议(SOAP)。