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 的一个示例如下:不同公司之间相互关联以一起进行特定产品的生产、组装、批发以及零售。
服务角色和交互作用Web service 体系结构中的网络组件可以充当一个或多个基本角色:服务提供者、服务代理程序和服务客户机。
服务提供者创建并部署它们的 Web service,并且可以通过服务注册中心(例如,“UDDI 业务注册中心”)来发布 WSDL 描述的服务的可用性。
服务代理程序注册发布的服务并将发布的服务分类,还提供搜索服务。例如,UDDI 充当 WSDL 描述的 Web service 的服务代理程序。
服务客户机使用代理程序服务(例如,UDDI 业务注册中心)来发现所需 WSDL 描述的服务,然后绑定至服务提供者并调用它。
绑定涉及建立成功完成服务所必需的所有环境先决条件。环境先决条件的示例包括安全性、事务监视和
HTTP 可用性。图 1 描述了这些角色之间的关系。
图 1. 服务角色和交互作用。
有关 Web service 的更多信息,请参阅 www.ibm.com/developerworks/webservices