扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
引言
面向服务的体系结构(Service-oriented architecture,SOA)通过重用、松散耦合、灵活性、互操作性、集成和治理,提供了对业务敏捷性和弹性的承诺。这些是通过将服务描述与其实现分离并在整个服务生命周期中使用该描述性元数据来实现的。基于标准的服务元数据构件(如 Web 服务定义语言 (WSDL)、XML 模式、策略或服务组件体系结构 (SCA) 文档)捕获有关服务能够做什么、如何调用它或它希望其他服务做什么的详细信息。可以将语义注释和其他元数据与这些构件相关联,以提供对潜在服务用户的相关认识,了解如何和何时可以使用它以及它服务于什么目的。
分析人员、架构师和开发人员在 SOA 生命周期的建模 和组装 阶段使用服务元数据来定位服务,以进行重用和评估服务配置变更所带来的影响。部署人员和管理员以及 SOA Foundation 运行时在 SOA 生命周期的部署 和运行 阶段使用服务元数据来进行服务端点的动态选择和 SOA 结构的配置。它在该生命周期的管理阶段 用于支持服务级别协议 (SLA) 所要求的策略强制,并提供所管理服务环境的更全面视图。有关 IBM 的 SOA Foundation、SOA 生命周期和参考体系结构的详细描述,请参见本文参考资料部分中的 IBM's SOA Foundation: An architectural introduction and overview。
本文讨论了 IBM® WebSphere® Service Registry and Repository 在 SOA 生命周期中的功能,并描述各种用户如何能够在 SOA 生命周期的每个阶段中使用它。本文还提供了各种资源,您可以通过它们来开始使用 WebSphere Service Registry and Repository。
|
什么是 WebSphere Service Registry and Repository?
WebSphere Service Registry and Repository 是用于服务交互端点描述的主元数据存储库。此处适用“服务”的广泛定义。这包括使用 SOAP/HTTP 绑定来实现 WSDL 接口的传统 Web 服务,以及广泛的 SOA 服务,这些 SOA 服务可以使用 WSDL、XSD 和策略增强来进行描述,但是可能使用一系列协议并按照各种各样的编程模型来实现。有关更多信息,请参见本文参考资料部分中的 Introduction to the IBM SOA programming model。
作为服务元数据的集成点,WebSphere Service Registry and Repository 建立了一个中心位置,用于查找和管理从多种来源获取的服务元数据,包括服务应用程序部署和其他服务元数据以及端点注册中心和存储库,如统一描述、发现和集成(Universal Description, Discovery, and Integration,UDDI)。它是将分散在整个企业中的服务元数据聚集在一起以提供单个全面服务描述的地方。一旦建立了这个中心位置、可见性得到了控制、版本得到了管理、建议的变更得到了分析和传达、使用情况得到了监视,SOA Foundation 的其他部分就可以访问服务元数据,并自信它们已发现了记录的副本。
WebSphere Service Registry and Repository 并不管理所有服务元数据,并且它也不是在整个 SOA 生命周期中都管理服务元数据。它集中于管理一个描述已部署服务端点的功能、要求和语义的元数据最小集。它与在管理整体服务生命周期方面发挥作用的其他元数据存储区交互和联合。
|
理解业务服务、WebSphere Service Registry and Repository 和 SOA 生命周期阶段
为了说明如何在整个 SOA 生命周期阶段中使用 WebSphere Service Registry and Repository,让我们研究一下某个业务服务生命中的一天——从它在 SOA 生命周期的建模 阶段中被发明,到它在组装 阶段中被转换为可执行的组合应用程序,到它在部署和应用 阶段中被转换为 SOA 运行时环境,再到该生命周期的管理 阶段中接受观察和控制,如图 1 所示。
图 1. WebSphere Service Registry and Respository SOA 任务
在建模和组装阶段使用 WebSphere Service Registry and Repository
在业务服务生命周期的开发阶段,WebSphere Service Registry and Repository 用于定位候选服务交互端点或中介以及控制交互的策略的记录副本。
与在其他 SOA 生命周期阶段中一样,WebSphere Service Registry and Repository 由专门在该生命周期的开发阶段管理 SOA 构件的存储库来进行补充。例如,诸如 Rational® Clearcase 之类的开发构件管理系统负责管理服务和组合应用程序构件,如源代码、服务接口声明、软件体系结构模型或正在构造中的业务流程模型。可重用资产管理器 (Reusable Assets Manager) 和资产存储库 (Asset Repository) 按照可重用资产规范(Reusable Asset Specification,RAS)标准对描述资产的构件包进行管理。它实现了控制构件到资产的升级的治理流程和与之关联的批准流程。有关更多信息,请参见本文参考资料部分中的 Object Management Group 网站。
WebSphere Service Registry and Repository 补充那些存储库并联合它们所管理的数据;例如,对于某个给定的 WSDL 服务声明,它可以有一个对某个可重用资产声明的引用,WebSphere Service Registry and Repository 用户可以通过该引用查找有关该服务的预期用法和功能的更多信息,或者可重用资产管理器可以使用该引用来分析资产的使用情况(例如,有多少已部署的服务基于该项资产)。
业务分析人员、解决方案架构师和开发人员创建服务元数据,并在执行其特定任务时利用现有的服务元数据。他们使用开发构件管理系统来管理中间工作产品,并对由 RAS 管理器承载的可重用资产的定义作出贡献。业务分析人员、解决方案架构师和开发人员使用 WebSphere Service Registry and Repository,来探索如何将已经部署的服务集作为正在构建的新服务的构件,并在基础服务完成开发并进入已部署状态(测试、分段和生产)后,最终在 WebSphere Service Registry and Repository 中产生服务元数据。他们对 WebSphere Service Registry and Repository 内容的兴趣和贡献随他们的特定任务而异。
下面是简要的总结:
分析人员对新的业务流程建模并浏览 WebSphere Service Registry and Repository 以更好地了解现有环境。作为分析人员,您对诸如服务的 WSDL 接口等 IT 级别的技术详细信息不太感兴趣,而是对 WebSphere Service Registry and Repository 通过基础 IT 级别的构件来建立的服务功能的业务视图更感兴趣。分析人员可以使用资产管理器来定义和应用用于描述服务的业务语义的分类系统。
解决方案架构师使用 Service Registry and Repository 来查找现有服务,您可以将这些服务用作组装新的组合服务的构件。作为解决方案架构师,您还可以使用在 WebSphere Service Registry and Repository 中找到的服务描述,来填充分析人员在对新业务流程建模、将 IT 细节抽象到流程建模构件中时所使用的构件集。
组件开发人员构建新的服务组件,并且可以在 WebSphere Service Registry and Repository 中浏览,以查找可作为您的实现的一部分来调用的服务,或对您可能希望用作服务实现的一部分的针对 WebSphere Service Registry and Repository 的查询界定范围。组件开发人员可以使用 WebSphere Service Registry and Repository 来分析预想的服务变更可能对其他服务产生的影响。
集成开发人员 从新的或现有的组件组装解决方案。作为集成开发人员,您使用 WebSphere Service Registry and Repository 来查找相关构件,然后可以在组合应用程序中将引用绑定到这些构件。集成开发人员对促进服务交互端点间交互所必需的中介进行建模,例如,使用 WebSphere Service Registry and Repository 查找来选择要在动态路由场景中使用的服务端点。与资产管理器角色配合,集成开发人员还可以发现现有的服务端点,并在 WebSphere Service Registry and Repository 中发布它们。
有关本文讨论的用户角色的更多信息,请参见本文参考资料部分中的 An SOA programming model for implementing Web services, Part 10: SOA user roles。
在部署和运行阶段使用 WebSphere Service Registry and Repository
WebSphere Service Registry and Repository 为描述服务交互端点的元数据提供了记录系统。它使用作为 SOA 解决方案部署一部分或通过发现现有端点所获得的元数据来填充,并在需要有关服务端点的详细信息来驱动已部署组合应用程序的操作时,由 SOA 运行时以及部署人员和管理员角色所使用。
一旦开发团队结束他们的工作并完成测试,部署人员就可以进一步扩充服务元数据,为组合应用程序中使用的服务端点提供绑定信息,并作为服务部署过程一部分,管理从开发环境到分段或生产 Service Registry and Repository 的元数据部署。在将元数据从测试升级到分段再升级到生产环境(这些环境可能具有单独的 WebSphere Service Registry and Repository 安装)时,将对服务元数据进行治理。在生产环境中,更广泛的用户可以使用和共享 Service Registry and Repository。它对运行时系统和负责 IT 系统管理的那些用户角色可用。
同样,可以在 WebSphere Service Registry and Repository 中已发布的其他服务端点注册中心和存储库中发现新的服务元数据(或更多情况下是对现有服务元数据的更改),并且可将其用作由部署人员和解决方案管理员执行的应用程序配置和绑定任务的输入。所发现的服务元数据通常不完整,还不适合更广泛的可见性和使用。部署人员使用资产管理器来确保使用必要的语义、权限和范围约束来填充该元数据。
服务应用程序部署期间的服务元数据发布自动化以最佳的方式将服务元数据管理与总体 SOA 管理和治理流程集成在一起。
组件开发人员和集成开发人员。与 Service Registry and Repository 的执行时交互可由组件开发人员或代表服务请求者或提供者执行操作的中介在服务端点中实现,并由集成开发人员进行配置。动态端点选择是一个重要用例,其中涉及到查询 Service Registry and Repository 以获得服务提供者或一组候选服务提供者并绑定到最佳选择的端点。端点选择规则可以编码在 ESB 管理的中介中。有关更多详细信息,请参见本文参考资料部分中的 An introduction to the IBM Enterprise Service Bus。
另一个用例是策略的动态检索和强制,这些策略对日志记录、过滤、数据转换或路由方面的交互有效。WebSphere Service Registry and Repository 存储策略定义以及有关它们适用于哪些服务交互端点的信息;策略强制点可以使用该信息来进行配置,并在 WebSphere Service Registry and Repository 管理的元数据发生变更时对其进行更新。
SOA 运行时元素通常会维护 WebSphere Service Registry and Repository 所管理的服务元数据最小集以外的更多配置信息;它们将缓存 WebSphere Service Registry and Repository 管理的元数据,并将其与它们维护的附加配置信息关联起来。
解决方案管理员使用 WebSphere Service Registry and Repository 内容来更好地了解他们所管理的解决方案构件,并且可能在将来能够通过更新 WebSphere Service Registry and Repository 内容(例如,替换描述端点选择规则或适用策略的文档),从而动态影响已部署应用程序的配置变更。显然,此类管理员驱动的更新必须受到控制,这是使用 WebSphere Service Registry and Repository 对当前构件的治理支持来实现的,该治理控制了构件的可见性以及谁可以对特定的受治理实体执行哪些操作。
在管理阶段使用 WebSphere Service Registry and Repository
通过与操作数据存储区共享 Service Registry and Repository 中存在的服务元数据,使管理和监视仪表板可以提供所管理服务环境的更全面视图,从而增强了 SOA 中的操作管理和弹性。有关服务性能的摘要信息可反馈到 WebSphere Service Registry and Repository 中,并由执行环境用于影响对最适合提供者的选择。
与在其他生命周期阶段中一样,WebSphere Service Registry and Repository 只管理服务元数据的最小集,并与专门在此生命周期阶段中管理有关服务信息的存储库联合。例如,诸如 ITSM Change and Configuration Management Database 之类的配置管理数据库(Configuration Management Database,CMDB)将获取和管理有关在其中执行服务端点的环境和拓扑的详细信息。诸如 IBM 的 ITSM 套件等服务管理产品将使用和更新该信息,并推动对底层基础设施进行预置和配置的流程治理。
WebSphere Service Registry and Repository 和 CMDB 联合使得 WebSphere Service Registry and Repository 用户能够深入到有关服务环境和运行时状态的信息,而 CMDB 使用者则能从 WebSphere Service Registry and Repository 获得服务端点状态和语义的详细描述。诸如 ITCAM for SOA 等服务监视和管理产品提供了对服务交互的检测,从而允许监视服务交互和服务端点的行为。可以将有关服务行为的摘要信息推送到 WebSphere Service Registry and Repository 中,以便用执行统计信息来扩充服务端点元数据。将来,服务管理产品可以使用 WebSphere Service Registry and Repository 管理的策略信息来配置策略强制点,用以实现用户想要在服务交互中强制的 SLA。
事件分析人员和业务操作管理人员。在操作员用户角色类别中,事件分析人员调查 IT 系统中发生的意外事件并管理服务端点。您可以参考在 Service Registry and Repository 中发现的元数据和有关服务端点的摘要统计信息,从而了解 IT 系统的行为并评估底层故障所产生的影响。业务操作管理人员从业务价值的角度分析 SOA 应用程序的性能,并使用 WebSphere Service Registry and Repository 中提供的元数据来了解应用程序语义,以及对那些应用程序的预期行为与实际行为进行比较。
|
结束语
本文介绍了 WebSphere Service Registry and Repository 的主要概念和功能及其在 SOA 生命周期中的位置。其中描述了每个生命周期阶段的 WebSphere Service Registry and Repository 透视图,并介绍了用户角色和 WebSphere Service Registry and Repository 交互。文中还提供了帮助您开始使用 WebSphere Service Registry and Repository 的其他资源。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者