IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  WebSphere | SOA and Web services  >

评论专栏: Bobby Woolf:WebSphere Business Process Management 简介

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Bobby Woolf, ISSW WebSphere J2EE Consultant, IBM

2006 年 4 月 13 日

本文介绍了 WebSphere Business Process Management,这是 IBM® 为建模、组装、部署和管理具有面向服务体系结构的应用程序而专门设计的一个新的解决方案。

摘自 IBM WebSphere 开发者技术期刊

引言

IBM WebSphere Business Process Management 是一个用于建模、组装、部署和管理具有面向服务的体系结构 (service-oriented architecture, SOA) 并使用企业服务总线 (enterprise service bus, ESB) 进行集成的应用程序的解决方案。该解决方案中的核心产品包括:

该解决方案的其他产品包括:

除了 WebSphere Enterprise Service Bus 外,有助于构建 ESB 的其他 IBM 产品包括:

让我们来看一下这些产品如何共同协助实现 SOA 应用程序。





回页首


什么是 SOA?

面向服务的体系结构是一种企业级的 IT 体系结构样式,它将 IT 资源作为与业务保持一致的服务进行开发以满足业务需要。SOA 支持面向服务,这种方式会将您的业务作为链接服务与其产生的结果集成。面向服务使得应用程序能够将各自的行为当作服务来相互调用,也就是说,可重复的业务任务是自描述且可发现的,满足指定的服务质量要求,并且可以通过控制来管理。虽然组件是一个可以通过执行来提供功能的代码单元,但是服务却是一个实际上正在运行的组件,它通常位于自己的进程中,其进程与调用它的应用程序是独立托管的。的确,应用程序本身可以分解成几个部分,每个部分在自己的进程中运行并通过服务相互调用。这是一个组合应用程序,它是一组相关和集成的服务,支持在 SOA 的基础上构建的业务流程。

与此相关的一个概念是企业服务总线,它使运行于不同平台上的软件应用程序(用不同的编程语言编写的,并使用不同的编程模型)能够相互通信,而不需要高成本且耗时的重建。ESB 使得在传输过程中能够对消息应用路由和转换。它是基于标准的,有助于为集成不同供应商的产品提供便利并避免 SOA 需要供应商参与。

ESB 执行的主要工作之一是将服务使用者(它们调用服务)与服务提供者(它们提供服务)连接起来。ESB 使得使用者可以调用服务并将此调用与执行该服务的提供者相匹配。通过这种方式,使用者和提供者不需要知道彼此,它们只需要都连接到 ESB 即可。

SOA 和 ESB 并不是新的概念,而是从封装和集成应用程序功能的实践发展而来的最新版本。其发展历程如图 1 所示。


图 1. 可以满足客户需求的 IBM 技术
图 1. 可以满足客户需求的 IBM 技术

SOA 的另一个重要方面是业务服务编排,它使业务流程逻辑(它是集中控制的,并位于应用程序逻辑外)能够开发和执行。服务编排使得多个服务能够以一种同等的业务流程实现方式顺序运行。业务流程本身就是一个服务,它将多个较为简单的服务组合成一个长时间运行的服务流。





回页首


SOA 应用程序看起来像什么?

IBM 开发了一个 SOA 参考体系结构,它显示可作为 SOA 的一部分的服务和其他功能的类型以及它们之间如何互相适应。任何给定的 SOA 应用程序都不需要用到所有这些功能;不同的应用程序将使用不同的功能。该体系结构是一种与供应商无关的查看和计划构建 SOA 所需要的服务集的方式。它并不一定需要任何 IBM 产品,虽然 WebSphere Business Process Management 解决方案提供了构建此体系结构所需要的一切。一个单一的体系结构可以包含来自多个供应商的产品,它们能够成功地集成,因为它们都遵循工业标准。图 2 显示了 IBM 的 SOA 参考体系结构。


图 2. SOA 参考体系结构
图 2. SOA 参考体系结构

该参考体系结构的组成部分为:

  • 交互服务——使得人们能够利用服务的用户界面。
  • 流程服务——允许执行业务流程。
  • 信息服务——允许访问企业数据源。
  • 合作伙伴服务——允许连接到外部合作伙伴和供应商。
  • 业务应用程序服务——允许执行新的应用程序组件。
  • 访问服务——允许连接到现有的企业应用程序。
  • 企业服务总线——允许服务之间互连。
  • 基础设施服务——允许执行具有规定服务质量的服务。
  • IT 服务管理——提供服务质量增强,如可伸缩性和安全性。
  • 业务创新和优化服务——监视功能以确保功能正常工作并对执行进行测量。
  • 开发服务——实现和集成服务的编程工具。

该参考体系结构显示了要完全实现 SOA 承诺所需要的部分。IBM WebSphere Business Process Management 解决方案为实现此体系结构提供了完整和一致的产品集。





回页首


SOA 应用程序是在什么环境中运行的?

IBM WebSphere Process Server 是 WebSphere Business Process Management 解决方案中的一个旗舰产品。它是用于执行 SOA 应用程序的运行时服务器平台;虽然执行 SOA 应用程序并不需要 WebSphere Process Server,但它非常有用。WebSphere Process Server 通过提供在 SOA 参考体系结构中定义的许多功能来支持 SOA 应用程序。通过提供这些功能,应用程序并不需要实现功能本身;应用程序只需要实现使用这些功能的自定义业务功能和服务。通过这种方式,WebSphere Process Server 就像是 SOA 应用程序的一个操作系统。

WebSphere Process Server 是在 IBM WebSphere Application Server Network Deployment 上实现的,它是 IBM 的旗舰应用服务器产品,实现了 Java™ 2 Enterprise Edition (J2EE™) 规范。WebSphere Application Server 是一个已证明能够成功执行企业应用程序的成熟产品。WebSphere Process Server 也包含 WebSphere Enterprise Service Bus,它提供连接服务使用者和提供者的功能,但不提供执行服务编排的功能。图 3 显示了三者的关系:WebSphere Process Server 是在 WebSphere Enterprise Service Bus 上构建的,而后者又是在 WebSphere Application Server 上构建的。


图 3. WebSphere Application Server、ESB 和 Process Server
图 3. WebSphere Application Server、ESB 和 Process Server

图 4 显示了包含 WebSphere Process Server 主要功能的组件。


图 4. WebSphere 集成产品系列
图 4. WebSphere 集成产品系列

这些组件包括:

  • WebSphere Application Server Network Deployment——J2EE 的实现。
  • Service Component Architecture——SOA 的服务创新和组件化模型(将在下面进行讨论)。
  • 业务对象——服务组件之间的数据交换格式,它基于服务数据对象(将在下面进行讨论)。
  • 公共事件基础设施——监视 SOA 应用程序的基础;它捕获各种活动,如公共业务事件。
  • 中介流——执行通过 ESB 的消息流上的逻辑。
  • 接口映射——使一种服务语法适合于另一种服务语法。
  • 业务对象映射——使一种服务数据格式适合于另一种服务数据格式。
  • 关系 ——将一种数据存储的密钥转换成另一种的密钥。
  • 动态服务选择——选择调用多个具有相同接口的组件中的哪一个。
  • 业务流程——为服务编排执行 BPEL 业务流程。
  • 人工任务——允许人们执行业务流程活动。
  • 业务状态机——将业务流程建模为有限的状态和事件转移集。
  • 业务规则——用于进行简单决策的规则集和决策表。

WebSphere Enterprise Service Bus 包括底层的组件:SOA 核和中介流。WebSphere Process Server 添加上面的两个组件层:服务组件和其余的支持服务。WebSphere Process Server 提供运行 SOA 应用程序所需要的全部基本功能。





回页首


以什么为基础构建 SOA 应用程序?

Service Component Architecture (SCA) 是专门为实现 SOA 应用程序而设计的新的且唯一的编程模型。它是与供应商和技术无关的开放规范,由 IBM 创建,并得到其他主要 IT 供应商的认可。WebSphere Process Server 使用 Java 技术来实现该规范。

SCA 允许集成开发人员将 SOA 应用程序实现为服务组件集。可以通过用于实现和连接服务组件的集成开发环境 WebSphere Integration Developer 来创建 SCA 。服务组件的一般结构如图 5 所示。


图 5. 服务组件体系结构概览
图 5. 服务组件体系结构概览

服务组件是一个服务提供者,它定义了向客户公开的服务接口以及它使用的来自其他提供者的零个或多个服务引用。接口和引用可以定义为 Web 服务描述语言 (WSDL) 端口类型或 Java 接口。引用使得组件可以使用其他服务来实现其服务,这些服务本身可能是其他 SCA 组件,也可能只是非 SCA 的 WSDL 服务和 Java 对象。

数据作为业务对象(服务数据对象 (SDO) 的扩展,它是另一个开放规范)在组件之间流动。与 SCA 一样,SDO 是一种与供应商和技术无关的格式,用于在服务之间交换数据。两种主要的 SDO 传输格式是由 XML 模式描述的 XML 数据和序列化的 Java 对象。WSDL 服务接口使用 XML 数据;Java 服务接口通常使用序列化的 Java 对象,虽然可以将它们设计为使用也是 XML 数据的字符串。

组件的接口和引用没有指定组件如何实现其服务。相反,服务使用以下几种可用技术之一来实现:

  • Java
  • BPEL 业务流程
  • 状态机
  • 业务规则
  • 人工任务

另外,如果另一个组件已经实现了该服务,则此组件可以通过两种不同的手段简单地连接到另一个组件上:

  • 选择器
  • 接口映射

请注意,实现服务组件的这些技术与 WebSphere Process Server 提供的功能是相对应的。这不是巧合。服务组件是使用 WebSphere Process Server 的功能实现的,这就是为什么它们必须在运行时在 WebSphere Process Server 中执行的原因。WebSphere Integration Developer 使用这些运行时功能来提供实现组件的工具。

因此,SOA 应用程序可以在 SCA 组件外构建;SCA 为开发 SOA 应用程序提供了一个编程模型。





回页首


结束语

SOA 和 ESB 组合是目前开发企业应用程序最流行的方法,它使 IT 功能能够更好地与业务需求保持一致,而 WebSphere Business Process Management 是实现这一点的最全面的产品集。

在这篇文章中,我们简单介绍了用于建模、组装、部署和管理 SOA 应用程序的 IBM 解决方案 WebSphere Business Process Management 的一些优点,包括:

  • WebSphere Business Process Management 产品和相关产品共同协作实现 SOA 参考体系结构。该体系结构也支持组合在来自多个供应商的符合标准的产品上运行的应用程序。
  • WebSphere Process Server(它是主要的 WebSphere Business Process Management 产品)包含 WebSphere Enterprise Service Bus,而后者又包含 WebSphere Application Server。
  • WebSphere Process Server 的组件提供了 SOA 应用程序需要执行的大部分功能,而其他 WebSphere Business Process Management 产品则提供其他可选功能。这样,完整的产品集就提供了 SOA 参考体系结构中的所有功能。
  • WebSphere Process Server 将组合的 SOA 应用程序作为一组遵循 SCA 的服务组件进行建模。WebSphere Integration Developer 是用于实现服务组件的 IDE。


参考资料

学习

获得产品和技术


关于作者

Bobby Woolf

Bobby Woolf IBM Software Services for WebSphere 的 WebSphere J2EE 顾问。Bobby 帮助客户了解如何使用 IBM Rational Application Developer 开发用于 IBM WebSphere Application Server 的应用程序以及如何最好地使用 IBM SOA 产品(如 WebSphere Process Server 和 WebSphere Integration Developer)。他与人合著了 Enterprise Integration PatternsThe Design Patterns Smalltalk Companion。他还建立了一个 IBM developerWorks 博客 J2EE in Practice。Bobby 也经常在各种会议上发表演讲。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款