(1)构成编程式Web Service的复合服务:这些Web Service的客户可将它们装配为复合服务。具有编程式行为的简单服务的典型例子是库存检查服务,该服务是构成库存管理流程的一部分。
(2)构成交互式Web Service的复合服务:这些服务暴露了Web应用的表示(浏览器)层的功能。它们通常暴露多步骤应用的行为,Web服务器、应用服务器和底层的数据库系统相互协作,并将应用直接提交给浏览器,并最终与人进行交互。这些Web Service的客户可以将交互的业务流程合并到他们的Web应用中,将外部的Web Service集成到应用中。显然,编程式服务可与交互式服务相互集成,从而实现通常既包含业务逻辑的功能又具有浏览器交互性的业务流程。
复合服务的功能是粗粒度的,并且复合服务是有状态的。有状态的Web Service保持在不同的操作调用之间的一些状态,并且这些不同的操作调用既可以由相同的Web Service客户发出,也可以由不同的Web Service客户发出(参见1.4.3节)。
复合Web Service的标准仍然还在不断修订,并集中在通信协议(简单对象访问协议)、WS-DL、统一描述发现和集成基础架构、WS-MetaDataExchange(WS-MetaDataExchange允许服务端点向请求者提供元数据信息,并支持Web Service交互的自启动)以及Web Service业务流程执行语言(简称BPEL)。
1.4.2功能属性和非功能属性
可使用描述语言对服务进行描述。服务描述有两个主要的相互关联的组件:功能特性和非功能特性。功能性描述详述了操作特性。操作特性定义了服务的整个行为,例如定义了如何调用服务、在何处调用服务等细节。功能性描述主要关于消息的语法规则,以及如何配置发送消息的网络协议。非功能性描述则主要关于服务质量属性,诸如服务计量和代价、性能度量,例如响应时间或精度、安全性属性、授权、认证、(事务的)完整性、可靠性、可伸缩性和可用性。非功能性描述主要关于服务请求者的运行环境,诸如包括指定非功能性需求的SOAP头,而非功能性需求则可能影响服务请求者可能会选择哪一个服务提供者。安全策略声明(有关服务安全性策略的细节参见第12章)可能就是这样的例子。
展开
——《企业服务总线》作者Dave Chappell
“本书由Web Service领域最著名的专家所著,对学术界人士和实际工作者都极具价值。该书结构合理,可以作为Web Service技术领域的一本权威指南。”
——IBM T. J. Watson研究中心组件系统部经理Francisco Curbera