|
Web 服务概念性体系结构(WSCA 1.0 第4部分)广告 Web 服务概念性体系结构(WSCA 1.0 第4 部分)
本文分别从组件、相互作用和应用程序开发模式的角度描述了 Web 服务的体系结构。这个体系结构就是 IBM 对 Web
服务方法实例化的蓝图。这是构建和部署 Web 服务应用程序的框架。 业务流程、工作流和 Web 服务 业务流程是一些表示活动的图,这些活动将完成某种有意义的业务操作。举例来说,购买飞机票、管理仓库库存和为家庭或办公室订购家具都是业务流程。长期运行的事务,如跟单直至完成或支持协作计划、预测和补货(CPFR)也属于业务流程。业务流程从粒度的级别上有所不同,而且它的细节也因公司的差异而有所不同。 工作流是使用如 IBM MQSeries Workflow 之类的工具在 IT 环境中运行的业务流程。工作流工具允许企业将它们的每个业务流程定义为一系列由个人或应用程序完成的活动,并根据来自每个单独行为的输出数据改变系列中活动的执行顺序。 如上所述,Web 服务是工作流中引人注目的组件,因为它们可以动态地组成,或者编入工作流中,而且网络上有大量可用的 Web 服务。这一部分将从 Web 服务的角度描述工作流的基础体系结构,而且要特别地: 说明工作流可以用何种方式组合并转换为 Web 服务。 这一部分主要讨论工作流作为组成和编排跨企业 Web 服务的手段。然而,工作流并不是企业中组成或编排 Web 服务的唯一方法。JavaScript 脚本编写和微流(microflow)也可以用于这个目的。请参阅 IBM Web Services Roadmap,那里有关于这些其它方法的很好的讨论。 一个简单的 Web 服务工作流
在图 11 中,购买者服务(buyer service,它也许是一个简单客户机)从销售者服务(seller service)订购货物。销售者服务是使用 WSDL 定义接口的 Web 服务。购买者服务使用 SOAP 和销售者服务的 WSDL 定义调用销售者服务上的订购方法。购买者服务知道 SOAP 响应消息中可以期望到什么,因为这在销售者服务的 WSDL 定义中有所定义。 图 11 展示了工作流中涉及的每个 Web 服务的收件箱和发件箱。如本文前面所描述,收件箱和发件箱通常用 WSDL 定义。封装创建购买者服务的代码的工具通过分析和转换销售者服务的 WSDL 描述派生销售者服务的发件箱或 API 的格式,并通过分析 WSDL 描述了解将从销售者服务得到什么。图 11 中的收件箱和发件箱是这个分析活动的符号表示。 电子商务服务和启用服务
图 12. 更复杂的工作流 在图 12 中,销售者服务在向购买者发送货物之前使用一个信用验证服务(credit validation service)来确保购买者能够为货物付款。信用验证服务是一个电子商务服务普遍可用的第三方 Web 服务。 在本示例中,购买者服务和销售者服务是进行与企业业务直接相关的活动的电子商务服务。另一方面,信用验证服务是很多电子商务服务可以用来帮助执行业务流程的启用服务。启用服务的其它示例包括满意度跟踪服务、安全服务,以及为没有自己的工作流基础结构完成相关服务的公司托管私有工作流的工作流服务。 组成的工作流、公共工作流和私有工作流 图 13. 组成的工作流 图 13 中的销售者服务实际上是一个封装为单独 Web 服务的完整工作流。销售者服务由信用验证活动、库存管理活动和客户记帐活动组成。销售者服务使用单独的 WSDL 定义向购买者服务体现的是单独的接口,这样就隐藏了它封装的低级别工作流的细节。在图 13 中,为销售者服务提供工作流的企业并不向寻找使用销售者服务的公共应用程序和服务公开此服务的细节。这就是说销售者服务参加公共流,而组成销售者服务的工作流却是私有流。 在工作流之外组成活动或 Web 服务的方法非常有用,它可以应用于多个粒度级别。图 13 说明了三个级别的工作流粒度。 图 14. 工作流的进一步组成 在图 14 中,库存管理服务本身看上去由包括几个步骤的工作流组成。还请注意,在图 14 中,作为用于销售者服务的工作流一部分的信用验证服务实际上在公共因特网上运行,并使用公共信用服务,它可能查找和绑定从注册中心(如 UDDI)检索到的使用信息。 最后,图 14 说明在所有 Web 服务的下面是经过编码的应用程序。在图 14 中,客户记帐服务实际上是一个封装过的 Enterprise JavaBean < =>(EJB),它反过来也是客户应用程序的一部分。 工作流的业务流程层次结构 图 15. 业务流程层次结构 在图 15 中,库存管理服务中的活动被替换(为 EJB),对公共信用服务的访问是通过封装为充当 Web 服务客户机应用程序的 EJB 而实现的。图 15 中还使用了一些支持业务流程层次结构中不同层的 IBM 中间件产品。 MQSeries Workflow 是来自 IBM 的一个中间件产品,它将来可能会支持定义由 Web 服务组成的工作流的 WSFL,并包括来自低级别工作流的 Web 服务。IBM 将与其伙伴合作开发出一种满足这些需求的标准语言。WSFL 是 IBM 对这个标准化过程所作出的贡献。在一种工作流定义语言(如 WSFL)被标准化之后,IBM 和其它公司很可能都会支持这个语言。要了解更多关于 WSFL 的信息,请参阅 Web 服务流语言(Web Services Flow Language,WSFL 1.0) 在图 15 所示的最低级,EJB 直接地或通过连接器访问已有的客户应用程序来完成与工作流相关的实际服务。这些 EJB 在 IBM WebSphere Application Server 提供的容器中运行,可以使用 IBM VisualAge for Java 创建并使用 IBM WebSphere Studio Technology Preview for Web Services(或其它合适的工具)封装到 Web 服务中。 图 15 中说明的私有流可以在 SOAP 和 HTTP 上初始化,也可以在 MQSeries 上运行,MQSeries 也支持 SOAP,而且提供了更好的安全性和有保证的传递。一般而言,网关可以处理使用 HTTP 上的 SOAP 的外部公共流和企业内部可以利用的信息总线(如 MQSeries 和 IBM WebSphere Application Server 提供的 RMI over IIOP 支持)内部流之间的阻抗不匹配。 最后请注意,在图 15 中实现库存管理服务的三个 EJB 实现实际上组成了一个工作流。这个工作流大体上可以用 WSFL 来描述,它的顺序可以作为微流完成。这种类型的工作流涉及到实际代码组件,而且显然与图 15 中说明的其它流级别有关。IBM 计划调整它的 VisualAge 和 Studio 工具,以便于在图 15 中说明的所有不同级别上可视化创建工作流,顺序是从公共工作流到私有工作流再到微流。 层次结构工作流和对等工作流
Web 服务工作流的现状和将来 如本文前面部分所描述,在标准被批准之后,IBM 和其它中间件供应商应该很快地为面向 Web 服务的工作流提供工具和运行时支持。同时,要开始使用已有的 Web 服务技术(如 WebSphere Technology for Developers、MQSeries Workflow、MQSeries Integrator 和 WebSphere Business Integrator)实现工作流,还有很多事情可以做。 参考资料 AXIS http://xml.apache.org/axis
浏览:Web 服务概念性体系结构(WSCA 1.0 第1部分) 如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐 jill.jiang@amt.com.cn | 021-51096826-112 | 在线联系 |
CIO职场,强者生存?在2008年,我们将继续看到CIO向商业运营方向发展。与此同时,我们也会看到商业管理人员将与技术管理人员一起竞争CIO岗位。 IT领导者的就职机会虽有不少,但其难度将会大幅提高。2…… |
|
|