Web Service 是可以在因特网上通过程序调用的一组相关应用程序功能。企业可以动态搭配 Web Service 从而通过最少量的编程来执行复杂事务。Web Service 让全世界的买方和卖方彼此发现对方、动态地进行连接以及实时执行事务而只需极少的人员交互作用。
Web Service 是自包含的自描述模块化应用程序,可以通过 Web 来发布、定位和调用它。
Web Service 是自包含的。在客户机端,不需要附加软件。具有 XML 和 HTTP 客户机支持的编程语言足以让您开始运行。在服务器端,需要 Web 服务器和 servlet 引擎。客户机和服务器可以在不同环境中实现。Web Service 不用编写任何代码就可以启用现有应用程序。
Web Service 是自描述的。客户机和服务器只需要识别请求和响应消息的格式和内容。消息格式的定义随消息一起传送;不需要外部元数据资源库或代码生成工具。
Web Service 是模块化的。通过使用工作流程技术或者从 Web Service 实现中调用较低层 Web Service,可以聚集简单的 Web Service 以形成更复杂的 Web Service。
Web Service 与平台无关。Web Service 基于一组简明的、基于 XML 的开放式标准,用来促进各种计算平台和编程语言中的 Web Service 与客户机之间的互操作性。
Web Service 可以是任何内容,例如,戏剧评论文章、天气预报、信用检查、股票行情、旅游咨询或航空旅行订票过程等。每个这样的自包含企业服务都是一个应用程序,它可以容易地与来自同一公司或不同公司的其它服务集成以创建完整的业务流程。这种互操作性让企业能够通过因特网动态发布、发现和绑定很多 Web Service。
Web Service 可分为三类:
企业信息 企业与使用者或其它企业共享信息。在这种情况下,企业使用 Web Service 来扩充其业务范围。业务信息 Web Service 的示例有新闻流、天气预报或股票行情。
业务集成 企业向其客户提供事务性的“收费”服务。在这种情况下,企业成为可用来进行贸易的全球增值供应商网络的一部分。业务集成 Web Service 的示例包括竞价和拍卖电子市场、订票系统和信用检查。
业务流程外部化 企业通过创建全球价值链使自己不同于竞争者。在这种情况下,企业使用 Web Service 来动态集成其业务流程。业务流程外部化 Web Service 的一个示例如下:不同公司之间相互关联以一起进行特定产品的生产、组装、批发以及零售。
Web Service 体系结构中的网络组件可以充当一个或多个基本角色:服务提供者、服务代理程序和服务客户机。
绑定涉及建立成功完成服务所必需的所有环境先决条件。环境先决条件的示例包括安全性、事务监视和 HTTP 可用性。图 1 描述了这些角色之间的关系。
图 1. 服务角色和交互作用。
因特网标准的其中一个关键属性是它们注重协议而不是注重实现。因特网由通过共享协议成功互操作的不同种类的技术组成。这防止单个供应商在因特网上强行实施某一标准。“开放式源代码”软件开发在保留供应商标准实现的互操作性中起了重要作用。
下列标准在 Web Service 中起到了关键作用:统一描述、发现和集成(UDDI)、Web 服务描述语言(WSDL)、Web 服务检查语言(WSIL)、“简单对象访问协议”(SOAP)和 Web Service 互操作性(WS-I)。图 2 描述了这些标准之间的关系。
UDDI 规范定义开放式的独立于平台的标准,这些标准使各企业能够共享全球企业注册中心中的信息,发现注册中心上的服务,以及定义它们之间如何通过因特网交互作用。要了解有关 UDDI 的更多信息,请参阅 www.uddi.org。
WSIL 是一种基于 XML 的开放式规范。通过指定如何检查 Web 站点以获得可用的 Web Service,WSIL 定义了分布式服务发现方法,该方法提供了对服务提供者服务所在位置处的服务描述的引用。WSIL 文档定义 Web 站点上可以查找 Web Service 描述的位置。由于 WSIL 的重点在于分布式服务发现,因此 WSIL 规范通过使可能在 UDDI 注册中心中尚未列示的 Web 站点上可用的服务更容易发现,从而对 UDDI 进行了补充。此文档的单独主题中讨论了 UDDI 与 WSIL 之间的关系。要了解有关 WSIL 的更多信息,请参阅 www.ibm.com/developerworks/webservices/library/ws-wsilspec.html
WSDL 是一种基于 XML 的开放式规范,它描述了与网络上的 Web Service 的接口以及这些服务的实例。它是可扩展的,因此可描述端点而不必理会用来通信的消息格式或网络协议是什么样的。企业可以通过 UDDI、WSIL 或通过电子邮件或 Web 站点广播它们的 WSDL 的 URL 来提供它们的 Web Service 的 WSDL 文档。在此文档中,将 WSDL 作为单独的主题进行了描述。要了解有关 WSDL 的更多信息,请参阅 www.w3.org/TR/wsdl。
图 2. SOAP、UDDI、WSIL 与 WSDL 之间的关系。
服务提供者主管 Web Service 并使用诸如 SOAP/HTTP 或 SOAP/JMS 之类的协议使得可以访问 Web Service。Web Service 由存储在提供者的服务器上或存储在特殊资源库中的 WSDL 文档描述。WSDL 文档可由 UDDI 企业注册中心和 WSIL 文档引用。这些注册中心和文档包含指向 Web Service 的 WSDL 文件的指针。
WS-I Simple SOAP Binding Profile 和 WS-I Attachments Profile 是 WSDL 和 Web Service 协议(SOAP/HTTP)流量必须符合的需求(以便声明 WS-I 一致性)的概述。Web Service WS-I 验证工具当前支持 WS-I Simple SOAP Binding Profile 1.0 和 Attachment Profile 1.0。要查看这些规范,请参阅 WS-I Web 站点,在 Resources 下面选择 Documentation:http://www.ws-i.org
要了解有关 Web Service 的更多信息,请参阅 www.ibm.com/developerworks/webservices。