内容


应用基于资产的开发到 SOA 的服务中,第 2 部分

管理和监视服务资产与元数据

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 应用基于资产的开发到 SOA 的服务中,第 2 部分

敬请期待该系列的后续内容。

此内容是该系列的一部分:应用基于资产的开发到 SOA 的服务中,第 2 部分

敬请期待该系列的后续内容。

引言

本系列的第 1 部分重点讨论了一些主要的可以用于进行基于资产的开发和 SOA 实现的 IBM 工具。其中通过将 IBM Rational® Method Composer Plug-in 产品中描述的 SOA 生命周期与治理流程映射到其基于资产的开发对等项,说明了如何从基于资产的开发的角度处理 SOA 中的服务。

作为资产,要求 SOA 中的服务在开发 SOA 应用程序时可被重用。由于服务也是可执行单元,因此需要提供服务元数据,以便所部署的应用程序发现和执行服务。IBM 提供了若干用于管理、监视和治理服务资产和元数据的工具。本文剩下的部分将说明如何利用其中一些工具的功能来建立管理任务,如从开发到运行时活动中跟踪服务构件并监视服务使用情况来评估服务在 SOA 中的可重用性。

资产与服务存储库

在 SOA 中服务的生命周期中,服务存储在不同的存储库中,用于各种不同的目的。为了确保服务资产的有效重用和易管理性,务必了解在服务生命周期可能使用的每个存储库及其用途。

本文将介绍下面四个主要的存储库:

  • IBM Rational Asset Manager
  • IBM WebSphere® Service Registry and Repository
  • IBM Business Services Repository(属于 IBM WebSphere Business Services Fabric)
  • IBM Rational ClearCase®

注意:这里并没有列出 SOA 中使用的所有存储库。涉及可重用资产管理、服务元数据管理(针对服务,包括组合业务服务)和配置管理的 SOA 实现都可能会使用这些存储库。本文不会提供 SOA 中可能使用的所有存储库,因为这超出了本文的范围。

这些存储库的用途是什么?

Rational Asset Manager 是开发时资产存储库。在解决方案或 Rational Asset Manager 中的其他资产的开发期间,可以使用其确定重用资产。该工具提供基于 Web 的界面和 Eclipse 插件,用于发布、搜索和下载资产。

WebSphere Service Registry and Repository 主要用于存储 SOA 实现中的服务元数据,供需要在运行时访问这些信息的应用程序使用。该工具还提供了针对其中存储的服务的影响分析和生命周期维护功能。您可以将 WebSphere Service Registry and Repository 作为 SOA 中所有服务相关的元数据的中央存储库使用。通过这样,不仅能够简化 SOA 治理策略的实现,还使得需要在运行时访问服务元数据的应用程序知道在何处查找这些信息。您可以从 Rational Asset Manager 将服务元数据发布到 WebSphere Service Registry and Repository。WebSphere Service Registry and Repository 内的服务元数据可以与 Rational Asset Manager 进行同步,以便 Rational Asset Manager 用户查看已部署在 SOA 中的服务。用户还可以通过 Rational Asset Manager 下载 WebSphere Service Registry and Repository 中的元数据构件。

您可以使用 WebSphere Service Registry and Repository 来存储技术服务元数据,例如 Web 服务描述语言(Web Services Description Language,WSDL)和 XML 模式定义(XML Schema Definition,XSD)文件,而使用 WebSphere Business Services Fabric 产品中的 Business Services Repository 来存储通常与组合业务服务关联的业务级别服务元数据。此类元数据可能包括哪些角色能够通过哪些渠道访问特定的业务服务。与业务服务关联的业务级别的策略也属于 Business Services Repository 的一部分。

Rational ClearCase 是管理各个构件或文件的版本的软件配置管理工具。您可以在开发期间使用 Rational ClearCase,该工具可以帮助开发团队进行协作。稍后会将这些 Rational ClearCase 构件分组为带有其他元数据信息的资产,并作为特定的资产版本提交给 Rational Asset Manager。

这些存储库如何在 SOA 中用于有效的服务资产重用?

通过使用这些不同的存储库的集成功能,并在服务的生命周期中将正确的存储库用于正确的用途,就可以在 SOA 中实现服务资产的有效重用。图 1 显示了这些不同的存储库间的集成,以及存储在其中的构件(相对于服务资产)。

图 1. 服务生命周期中的存储库
服务生命周期中的存储库
服务生命周期中的存储库

存储库间的集成

Rational Asset Manager 可与 Rational ClearCase 集成,以存储资产构件和引用属于资产的构件。Rational Asset Manager 与 Rational ClearCase 具有两个不同的集成,而这二者彼此完全独立。下面将对此进行详细介绍:

  • 服务器集成:Rational Asset Manager 可以使用 Rational ClearCase 存储库替代自己的文件系统来存储资产。这是一个服务器管理配置选项,而且这对 Rational Asset Manager 用户是完全透明的。
  • 客户机配置:当 Rational Asset Manager 使用 Eclipse 和 Rational ClearCase 开发和存储资产时,将这些资产提交到 Rational Asset Manager 服务器控制台后,Rational Asset Manager 会辩认出所提交的资产来自版本控制工具,将创建对其源的引用,并将此信息与资产存储在一起。即使 Rational Asset Manager 服务器未配置为使用 Rational ClearCase 存储所提交的资产,此集成也有用。

Rational Asset Manager 还能与 WebSphere Service Registry and Repository 集成,以向资产管理器用户提供 SOA 中已部署服务的可见性。另外,其中还提供了将服务元数据发布到 WebSphere Service Registry and Repository 的机制。

WebSphere Business Services Fabric 可与 WebSphere Service Registry and Repository 集成,以获得技术服务元数据,然后可以使用业务级别服务元数据对其进行限定并存储在 Business Services Repository 中。

管理服务构件和元数据:示例

假定这些产品已经配置为彼此集成,此部分将说明如何使用这些存储库在 SOA 中有效地管理和重用服务。以信用检查服务为例,此部分将说明如何使用不同的存储库管理此服务的构件和元数据,如图 1 中所示。

在 IBM Rational Software Architect 之类的环境中开发服务时,Rational ClearCase 将维护服务构件。

假定 Rational Asset Manager 已配置为使用 Rational ClearCase 客户机集成,则可以使用 Rational Asset Manager Eclipse 插件将所测试的服务发布到 Rational Asset Manager。存储在 Rational ClearCase 中的 WSDL 和 XSD 实现文件之类的资产构件将由 Rational Asset Manager 内的资产引用。Rational Asset Manager 将出于缓存目的复制常用构件。与服务相关的其他元数据(如资产名称、描述类别等)存储在 Rational Asset Manager 中。现在服务资产已经准备好供被重用了。

Rational Asset Manager 用户可以通过 Rational Asset Manager Eclipse 插件搜索信用检查服务,并下载供重用的资产。在下载期间,Rational Asset Manager 会提供相应的选项,可以选择将资产附加到 ClearCase 中的版本或将资产的独立于版本控制的版本下载到工作区。

部署信用检查服务供在 SOA 应用程序中使用时,最佳实践要求在 WebSphere Service Registry and Repository 中提供其元数据,因为 WebSphere Service Registry and Repository 是所有已部署的服务的中央存储库。可以通过将相关服务元数据从 Rational Asset Manager 发布到 WebSphere Service Registry and Repository 来进行此工作。服务构件(如实现文件)始终保留在 Rational Asset Manager 中。只有元数据被发布到 WebSphere Service Registry and Repository。

将信用检查服务元数据文件以及 CreditCheck.wsdl 和 XSD 文件从 Rational Asset Manager 发布到 WebSphere Service Registry and Repository,将导致在两个存储库中创建指向 CreditCheck 服务的链接。WebSphere Service Registry and Repository 的用户可以跟踪 Rational Asset Manager 中的服务构件。类似地,Rational Asset Manager 的用户可以跟踪 WebSphere Service Registry and Repository 中已部署的构件。注意:因为发布到 WebSphere Service Registry and Repository 的元数据可能会在 WebSphere Service Registry and Repository 中发生更改,因此用户可以通过从 Rational Asset Manager 到 WebSphere Service Registry and Repository 的链接访问与服务的已部署版本对应的服务元数据。

现在通过 WebSphere Service Registry and Repository 提供服务元数据,因此其他应用程序可以将此数据用于不同目的。组合业务服务组装人员可以使用 WebSphere Business Services Fabric 提供的工具支持将技术服务元数据(如 WSDL 和 XSD 文件)从 WebSphere Service Registry and Repository 提供给 Business Services Repository。例如,CreditCheck.wsdl 和 Account.xsd 文件可以从 WebSphere Service Registry and Repository 获取,并使用业务级别的元数据对其进行限制。此类元数据可能会将 CreditCheck 限定为可通过 Web 门户使用者进行访问。而且,可以将允许对低风险使用者进行快速预批准的业务策略作为元数据的一部分应用到服务。组合业务服务组装人员将此类业务级别的元数据添加到服务中,并将其存储在 Business Services Repository 中。

通过这样,资产管理领域和 SOA 领域的不同存储库可以彼此集成,以有效地对服务进行管理和治理,并用于与服务生命周期的不同阶段相关的不同用途。

评估服务重用

SOA 中服务管理的一个重要方面是能够监视和报告服务资产的重用情况。这对于测定从基于资产的开发获得的业务价值并据此进行调整治理策略非常重要。此部分将说明如何通过使用 SOA 管理领域的一些主要产品报告服务重用情况。

此部分首先将说明如何将 WebSphere Service Registry and Repository 与 IBM Tivoli® Composite Application Manager 结合使用来评估服务重用。然后我们将说明如何使用 WebSphere Business Services Fabric Performance Manager 评估组合业务服务的重用。

使用 WebSphere Service Registry and Repository 评估服务重用

WebSphere Service Registry and Repository 通过与 Tivoli Composite Application Manager(以下称为 Composite Application Manager)结合,可向后者提供关于已注册服务的信息,并获得关于已部署服务的操作信息。操作信息用于在 WebSphere Service Registry and Repository 中对与服务关联的元数据进行充实。WebSphere Service Registry and Repository 与监视和管理基础设施(通常使用 Tivoli 产品)之间的这两种主要交互如图 2 中所示。

图 2. 使用 WebSphere Service Registry and Repository 和 Composite Application Manager 评估服务重用
使用 WebSphere Service Registry and Repository 和 Composite Application Manager 评估服务重用
使用 WebSphere Service Registry and Repository 和 Composite Application Manager 评估服务重用

Composite Application Manager 通过使用适配器发现与 SOA 管理相关的服务数据。通过使用这些适配器,可以确保以下事项:

  • 通过使用 Composite Application Manager 用于 SOA 的发现库适配器从监视操作应用程序和服务的运行代理发现所观察到的服务。
  • 使用 WebSphere Service Registry and Repository Discovery Library Adapter 通过查询 WebSphere Service Registry and Repository 中的已发布服务和相关信息来发现已注册服务。

所观察到的服务和已注册的服务信息的协调可帮助确定关于资产(服务)重用的以下情况:

  • 已观察到但未注册的服务:假定在 WebSphere Service Registry and Repository 中注册一个服务是该服务更广泛重用的先决条件,则此情况可能反映了以下场景之一:
    • 当前所观察到的操作服务不是针对公开和重用提供的服务。这些观察到的服务可能只是测试服务,其实现应该会发生更改。
    • 所观察到的服务可能反映 Rational Asset Manager 中存在但未在 WebSphere Service Registry and Repository 中注册的服务资产。
    • 所观察到的服务可能反映在组织中存在但尚未在存储库中发布和/或注册的可重用资产。

    了解关于资产的这些事实可以帮助对其执行治理策略,从而支持进行更好的重用。

  • 已注册但未观察到的服务:这种情况可能表明:
    • 在 WebSphere Service Registry and Repository 中注册且具有高重用潜力的常见服务缺少监视功能。
    • 使用者可能没有使用某些已注册的服务,其原因可能是由于服务存在缺陷,如性能问题等。关于资产的此类信息可以帮助确定服务缺陷,从而帮助提高其质量。
  • 已注册并观察到的服务:此情况可以为支持和了解常见服务重用打下坚实的基础。

使用转发的服务信息

服务状态信息使用 Tivoli 管理基础设施提供的境况与事件机制转发到 WebSphere Service Registry and Repository 并供 Tivoli Composite Application Manager for SOA 使用。IBM Tivoli Monitoring 从您环境中计算机上安装的各个监视代理收集数据。关于 Web 服务的信息由 Composite Application Manager for SOA 收集并存储,以供在属性表格中显示。当属性值达到特定的阈值时,将在 Composite Application Manager for SOA 中触发事件。Composite Application Manager for SOA 中的境况是针对阈值测试一组属性的条件。境况按照预先定义的间隔对条件进行评估,并调用相应的自动响应和通知方法。

当 Web 服务导致错误时(如 Web 服务的消息大小或响应时间超过配置的阈值时),将触发特定的预定义境况。可以使用自定义阈值对这些预定义境况进行配置,也可以定义自定义境况来监视服务的特定属性。当检测到境况事件时,将使用操作元数据对 WebSphere Service Registry and Repository 中的服务属性进行更新。

从服务管理的角度而言,可以使用此信息来测定服务资产的使用率并据此对服务迁移和“退休”策略进行规划。SOA 的有效性可以在服务信息中捕获,其中的服务使用情况可以直接反映服务重用策略在所有使用者中的成功程度。通过从 WebSphere Service Registry and Repository 到 Rational Asset Manager 跟踪资产构件并使用 Rational Asset Manager 和 Rational ClearQuest 的集成功能,可以确定服务中的缺陷(例如,基于错误境况事件)并在 IBM Rational ClearQuest® 中列出。

使用 WebSphere Business Services Fabric Performance Manager 评估业务服务重用

IBM Business Services Performance Manager 可提供面向服务的流程和应用程序的业务可见性和监视功能。Performance Manager 提供了多项现成的报告,可提供关于业务服务的操作信息。

可以使用这些报告来提供关于资产重用(特别是业务服务使用情况)和服务性能的反馈。接下来让我们对其进行进一步分析:

业务服务使用情况报告:业务服务使用情况报告提供量方面的度量,说明特定时间内组织调用业务服务的次数。您可以使用此数字判断组织内的资产使用情况。较小的值表示业务服务很少使用。这可能需要在业务和技术级别对资产进行进一步分析,以了解低使用率的原因。此资产可能有技术缺陷,使其在多个组合业务服务中的可重用性降低。另外,还可以通过此认定资产没有解决具有业务价值的问题,因此可能不适合作为可重用资产。

通过业务服务使用情况报告,还可以了解调用业务服务所带来的成本。可以将其作为计算使用业务服务资产的总体成本的参数之一使用。在服务提供者使用组合业务服务的业务模型中,提供者可以将业务服务的成本配置为恰当的值,并针对使用情况报告的成本来对使用者收费。在此类模型中,成本值就变成了通过使用资产获得的回报。

服务性能报告:服务性能报告显示 Web 服务请求与 Web 服务请求总数的比值。可以使用此值来分析服务在运行时的预期可用性需求。低可用性值可能表示相对于非功能需求而言,资产中存在缺陷。

服务性能报告还提供特定服务遇到的事务数量、Web 服务故障数量、服务的平均响应时间。与业务服务使用情况报告中的测定量类似,也可以将此信息作为服务资产运行时重用状况的指示信息使用。

结束语

本系列(包括两个部分)说明了 SOA 中基于资产的开发的重要性。其中重点讨论了支持基于资产的开发的主要 IBM 产品,并说明了如何在 SOA 实现中使用这些工具。

我们了解了 IBM 针对 SOA 实现提供的主要服务和资产存储库。还了解了这些存储库的集成配置如何帮助对 SOA 中的服务进行有效管理和治理。最后,我们了解了如何利用其中一些 IBM 工具的监视功能来评估 SOA 中服务资产重用情况。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services, WebSphere, Rational
ArticleID=290737
ArticleTitle=应用基于资产的开发到 SOA 的服务中,第 2 部分: 管理和监视服务资产与元数据
publish-date=02212008