应用基于资产的开发到 SOA 的服务中1
SOA 的主要原则之一是在整个 SOA 生命周期中将服务视为可重用资产。因此,务必在 SOA 中对服务应用正式的资产开发流程和指南。本文可帮助 IT 架构师、项目经理和 SOA 管理员全面了解一些主要 IBM 产品如何协作来帮助有效地在 SOA 中将服务作为可重用资产进行创建、使用和管理。
IBM 提供了各种用于 SOA 和基于资产的开发工具。各个产品和技术均提供了大量的文档,但没有任何一篇文章总结如何将来自基于资产的开发领域和 SOA 实现领域的这些产品结合使用,以帮助处理 SOA 实现中的服务重用难题。本系列文章将通过两个部分对此问题进行讨论。
SOA 是一种创建企业 IT 体系结构的体系结构风格,其中将业务作为一组相关联的服务集成到一起,以实现业务和支持业务的信息系统之间较为紧密的关系。SOA 中的服务作为可重用资产。通过维护可重用服务的存储库,组织可以快速构建新流程作为现有服务的编排集,也可以更改现有编排。
基于资产的开发讨论的是通过使用(重用)具有内聚性且有恰当记录的软件构件开发软件解决方案。它讨论的是对软件开发进行恰当的组织,以便利用之前的投资,并影响将来投资的性质。这样可通过重用资产和构件来解决重复出现的问题,从而帮助提高开发速度和减少成本和风险。
服务是 SOA 中的主要可重用资产之一,基于资产的开发原则可以应用于 SOA 实现中,以有效地创建、使用和管理服务。本文将说明如何利用供基于资产的开发和 SOA 实现使用的 IBM 工具实现此目标。请注意,除了服务之外,SOA 可能还有其他可重用资产,如业务流程模型、参考体系结构和设计模式。不过本文的重点是服务资产。
|
IBM 提供了各种用于资产开发和 SOA 实现的工具。图 1 显示了其中一些主要工具的概述,并给出了通常使用这些工具的不同角色。(查看图 1 的放大图。)
最有用的资产开发工具包括 Asset-Based Development V3.0 and Asset Governance Plug-in V1.0 for Rational Method Composer、IBM Rational Asset Manager 以及大量 IBM Rational Software Delivery Platform 的其他开发与测试工具(有关这些产品的更多信息,请参见本文最后的参考资料部分。)
Asset-Based Development V3.0 and Asset Governance Plug-in V1.0 for Rational Method Composer 提供在进行基于资产的开发过程中可能会涉及的活动、人物、角色和交付内容。此插件设计为提供可用指南,以便确保作出正确的业务决策、投资集中在正确的项目上而且根据基于资产的开发定义和捕获了恰当的指标。本文剩下的部分将此插件用于基于资产的开发和资产治理部分分别称为 基于资产的开发插件 (Asset-Based Development Plug-in) 和 资产治理插件 (Asset Governance Plug-in)。
Rational Asset Manager 是协作型软件开发资产管理解决方案,可帮助组织创建、修改、治理、查找和重用任何类型的开发资产,将服务作为 SOA 活动和系统开发资产一部分包括了进来。经过测试的资产存储在 Rational Asset Manager,以供开发团队重用。
其他 IBM 的 SOA 工具系列中的产品包括:
- IBM Rational Software Delivery Platform
- IBM Rational Unified Process for Service-Oriented Modeling and Architecture Plug-in V2.4 for Rational Method Composer
- IBM WebSphere® Integration Developer
- IBM WebSphere Process Server
- IBM WebSphere Business Modeler
- IBM WebSphere Business Monitor
- IBM WebSphere Business Services Fabric
- IBM WebSphere Service Registry and Repository
请注意,此列表仅仅给出了在基于资产的开发和 SOA 实现的常见操作中使用的主要产品。其中一些工具也可以用于其他用途,如传统的 Java™ 2 Platform Enterprise Edition (J2EE) 应用程序开发或业务流程建模。(有关这些产品的相关资料,请参见参考资料部分提供的链接。)
可以从各种角度分析这些工具,包括工具的范围和功能或使用工具的角色。无论您的角度如何,都务必注意这些工具并不是独立存在和使用的(即使支持各种角色)。
一方面,SOA 实现可能会使用上面提到的 SOA 产品来建模、组装、部署和管理服务,而另一方面却使用 Asset-Based Development and Asset Governance Plug-in for Rational Method Composer 的流程和指南,以确保 SOA 中的服务确实是可重用资产。
|
图 2 显示了分别在 IBM SOA Foundation 白皮书和基于资产的开发插件中描述的 SOA 和资产生命周期(请参见参考资料部分提供的这些条目的链接)。此图表明,SOA 实现经历建模、组装、部署和管理阶段的过程中,可以在每个不同的阶段创建、使用和管理可重用资产。
在建模阶段,可以在 WebSphere Business Modeler 中重用业务流程模型来建模新流程或分析现有流程模型。RUP® for Service-Oriented Modeling and Architecture Plug-in for Rational Method Composer(以下称为 RUP for SOMA 插件)提供 SOA 建模的指南。基于资产的开发插件和 RUP for SOMA 插件可以在 SOA 实现中同时使用,以在建模 SOA 时获得基于资产的开发好处。用于基于资产的开发和 RUP for SOMA 的 Rational Method Composer 插件部分提供了关于此主题的更多信息。
在组装和部署阶段,可以在 WebSphere Integration Developer 中使用现有服务来编排新业务流程。组合业务服务可以通过对现有业务服务进行组装得到。作为 IBM WebSphere Business Services Fabric Industry Content Packs 中的可重用资产提供的行业特定业务服务也可以用于组装组合业务服务。此类组合业务服务利用 WebSphere Business Services Fabric 平台的功能来将业务级别的元数据外部化,从而增强其在不同的业务生态系统中的重用性。可以通过在 WebSphere Service Registry and Repository 中查找已部署的服务来实现服务的运行时重用。(本文并不提供关于使用上述产品组装和部署服务资产的详细信息。有关相关文章,请参见本文参考资料部分提供的链接。)
在 SOA 的管理阶段,可以从资产的角度监视服务,以评估服务资产的重用。这样可帮助从重用的角度评估 SOA 实现所带来的业务价值。可以将服务发布到资产与服务存储库,以方便管理。而且,影响管理活动的 SOA 治理与资产治理密切相关。本文剩下的部分将说明如何结合使用不同的 IBM 工具来帮助在 SOA 实现中将服务作为资产加以管理和治理。
|
IBM 的面向服务的建模与体系结构(Service-Oriented Modeling and Architecture,SOMA)提供了用于建模 SOA 的方法和流程。RUP for SOMA 插件中提供了关于在 SOA 中使用建模的指南。要了解用于基于资产的开发和 RUP for SOMA 的插件之间的关系,请参见图 3,其中显示了基于资产的开发插件中描述的资产生命周期功能模式。
作为资产,SOA 中的服务遵循资产生命周期。RUP for SOMA 插件提供的指南用于建模服务。由于建模服务的工作是服务创建的早期阶段,因此 RUP for SOMA 插件对应于基于资产的开发插件中指定的资产生命周期的创建阶段。如图 3 中所示,在服务资产创建阶段,可以使用 RUP for SOMA 提供的支持指南建模服务。
图 3 显示了 RUP for SOMA 流程如何对应到基于资产的开发生命周期中。图 4 显示了此视图的另一个方面,即基于资产的开发如何对应于 RUP for SOMA 指定的服务建模阶段。在 RUP for SOMA 的每个阶段,都可以应用 RUP for Asset-Based Development 插件中提供的原则。例如,在 SOMA 标识阶段,可以搜索和标识现有资产,以便通过基于资产的开发的使用方面的机制从现有资产存储库中对其进行重用。在 RUP for SOMA 流程中建立的流程模型可以使用基于资产的开发生命周期的创建阶段的指南发布到资产存储库。请注意,这是抽象视图。创建自定义流程的具体细节不在本文的讨论范围内。
|
治理通常处理如何定义存储库、策略、机制和测定链,以在上下文中建立管理任务。IT 治理处理与 IT 关联的决策权限。另外还涉及用于控制和衡量 IT 决策和执行方法的策略和机制。
资产治理对 IT 治理进行了扩展,以资产生命周期为重点,以确保基于资产的开发的业务价值。它是改进 IT 治理的催化剂。
类似地,SOA 治理是 IT 治理的扩展,以组织的 SOA 中的服务、元数据和组合应用程序的生命周期为重点。
IBM 提供用于资产和 SOA 治理的 Rational Method Composer 插件,以帮助组织定义和实现其治理活动。这两个插件定义了一个包含四个阶段的流程:规划、定义、实现和衡量各自的治理领域。
由于 SOA 实现将服务作为可重用资产对待,因此可能会需要 SOA 治理和资产治理方面的指南。例如,在 SOA 治理的定义阶段,还可以为服务资产定义资产存储库。可以定义将服务发布到存储库的工作流。可以为服务重用定义策略。您可以从资产治理插件获得关于此类活动的指南。IBM Rational Method for SOA Governance Plug-in V 1.0 for Rational Method Composer(以下称为 SOA 治理插件)可以作为实现 SOA 治理过程中涉及的角色、流程和职责的总体指南。
图 5 显示了在更为通用的 IT 和业务治理上下文中资产和 SOA 治理的细节之间的关系。
SOA 和资产治理之间之所以存在重叠部分,是因为 SOA 中的服务是需要资产治理所定义的治理机制的可重用资产。SOA 治理的非重叠部分包含更多活动,如在对 SOA 进行治理过程中涉及的组合服务的部署和服务安全性。另一方面,资产治理可能包括除服务资产以外的更多资产(如用户界面组件和流程模型)相关的活动。除了 SOA 实现外还涉及基于资产的开发的组织可以使用资产治理插件提供的指南来对其非 SOA 资产进行治理。这就解释了为何图 5 中存在资产治理非重叠部分。
根据组织的 IT 治理政策,可能有成员同时属于 SOA 治理委员会和资产治理委员会,以保持两个治理组织活动的一致性。