启用 GCM 服务器以将配置添加到其他 GCM 服务器
有时,具有隔离式 IBM® Engineering Lifecycle Management (ELM) 部署的团队需要跨多个业务线在产品组合件上进行协作。 在这类情况下,可以将全局配置管理 (GCM) 服务器配置为接受来自不同 GCM 服务器的添加项。 将一个 GCM 服务器中的全局配置添加到另一个 GCM 服务器中的全局配置称为外部添加项。
开始之前
这是具有若干约束的高级功能。 在继续之前,请仔细阅读本主题,并确保您了解功能、使用时机、约束以及示例。
- 外部添加项
- 将一个 GCM 服务器中的全局配置添加到另一个 GCM 服务器中的全局配置。
- 主 GCM 服务器
- 特定于域的应用程序将局部配置添加到主 GCM 服务器。
下列应用程序可以将局部配置添加至全局配置中:
- 体系结构管理 (AM)
- 变更和配置管理 (CCM)
- 设计管理 (DM)
- 质量管理 (QM)
- 需求管理 (RM)
特定于域的应用程序只能将局部配置添加到一个 GCM 实例:其主 GCM 服务器。 Jazz ® Team Server 通过下列其中一种方式指示主 GCM 服务器:- 显式:使用全局配置提供者 URL 高级服务器属性中设置的值。
如果向与 GCM不同的 Jazz Team Server 注册了添加应用程序,那么必须为这些应用程序指定 Jazz Team Server 上的主 GCM 服务器。
- 隐式: 通过向该 Jazz Team Server注册的 GCM 实例。
如果向与 GCM相同的 Jazz Team Server 注册了所有添加应用程序,那么该 GCM 实例将自动成为主服务器,因此您不必设置 全局配置提供程序 URL 属性。 不支持向同一 Jazz Team Server 注册多个 GCM 实例。
何时启用 GCM 服务器以将配置添加到其他 GCM 服务器:
- 您无法从单个 GCM 实例获取所需要的可伸缩性或性能,即使该实例在功能强大的机器上运行也是如此。
- 您已准备好安装和维护 Eclipse Amlen。
- 您已准备好配置和维护若干项目区域关联:跨越所有部署与 GCM 实例进行交互的每个当前项目区域和潜在项目区域的项目区域关联。
- 您可以配置至少一个链接索引提供程序 (LDX) 实例,以接受来自部署中所有 ELM 应用程序 (包括其他部署中的其他 GCM 实例) 的订阅源。
- 您可以设置满足约束的外部添加项,如 约束 部分中所述。
如果贵组织需要更多时间来满足这些条件,那么可以考虑在单个 GCM 实例中设置多个项目区域,以对服务器之间的添加项实现类似控制。 如果贵组织已准备好在 GCM 服务器之间启用添加项,请确保您了解本节后面所描述的先决条件。
示例
- 在此示例中,有两个 Jazz Team Server 实例: JTS 1 和 JTS 2。
- JTS 1 有一个 RM 实例(名为 RM 实例 1)和一个 GCM 实例(名为 GCM 实例 1 )(请参阅虚线)。 缺省情况下,这些应用程序是友元,因为它们位于同一 Jazz Team Server上。 只能向 Jazz Team Server注册一个 GCM 实例。
由于 GCM 实例 1 和 RM 实例 1 已向同一 Jazz Team Server注册,因此 GCM 实例 1 是 RM 实例 1 的 主服务器 。 (对于此示例,假定在 " Jazz Team Server 高级属性 " 页面中未指定任何 全局配置提供程序 URL 值。)
因此,RM 实例 1 只能将其局部配置添加到 GCM 实例 1(由绿色实心箭头指示)。 特定于域的应用程序只能将其局部配置添加到一个 GCM 实例。
- JTS 2 具有类似的设置: 名为 RM 实例 2 的 RM 实例和名为 GCM 实例 2 的 GCM 实例。 缺省情况下,这些应用程序是友元。 GCM 实例 2 是 RM 实例 2 的主服务器,因此 RM 实例 2 只能将其局部配置添加到 GCM 实例 2。
- 在较低版本中,GCM 实例无法互相添加配置。 从 V6.0.6 开始,如果 GCM 管理员完成了“过程”部分中的步骤,那么它们可以互相添加配置。
- 在 GCM 实例 2 的配置层次结构中,GCM 实例 1 中的全局配置称为外部添加项(请参阅红色实心箭头)。 在 GCM 项目区域中,全局配置层次结构只能具有任何其他 GCM 实例的一个外部添加项。 有关详细信息和示例,请参阅本主题中稍后的约束 2 。
尽管 GCM 实例可以互相添加全局配置,但是请谨慎选择:配置可以是外部添加项,或者具有外部添加项:但是它不能既是外部添加项,又具有外部添加项。

以不同团队设计一辆汽车的不同部件的方案为例。 团队 1 设计 JTS 1 上的变速器,团队 2 设计 JTS 2 上的引擎。
在开发过程中,团队 2 的配置负责人将在 GCM 实例 2 中创建 Car 全局配置。 团队 1 现在需要将其全局配置添加到 Car 全局配置。
作为管理员,您必须配置 ELM 安装,以便团队 1 可以向 GCM 实例 2 中的项目区域中的配置添加内容。
先决条件
- 全局配置提供程序 URL: 如果 Jazz Team Server 未向其注册 GCM 应用程序,并且向该 Jazz Team Server 注册的应用程序想要使用全局配置,那么这些应用程序必须在 " Jazz Team Server 高级属性 " 页面上定义 全局配置提供程序 URL 值。
- 您的部署必须包括“消息队列遥测传输 (MQTT)”代理。 请确保该代理正在运行并且可用。 现在,仅支持 Eclipse Amlen ,这仅适用于 Linux 服务器。
如果已安装 Eclipse Amlen 以支持 IBM Engineering Workflow Management (EWM) 集群,那么可以使用同一 Eclipse Amlen 实例,或者在其他主机上安装另一个实例以防止单点故障。
Eclipse Amlen 不是 ELM 安装的一部分。 您必须获取并单独安装它。 有关详细信息,请参阅交互式安装指南的相关链接:当您回答该指南中的问题时,在支持应用程序部分,选择全局配置管理,然后对该部分中的至少一个问题单击是。 在生成的指示信息中,单击指向有关安装 Eclipse Amlen的部分的链接。
- 好友:标识您必须在每个服务器上配置的好友连接。
缺省情况下,向与主 GCM 服务器相同的 Jazz Team Server 注册的应用程序是友元。 询问配置负责人哪些应用程序添加到全局配置,但未向主服务器的 Jazz Team Server注册。
Jazz Team Server 与添加应用程序之间需要友元关系,如下图中的箭头所示:


- LQE 和 LDX: 确保您有一个 Lifecycle Query Engine (LQE) 实例和一个 LDX 实例。
- 确保将每个 GCM 实例添加为 LQE 和 LDX 中的数据源。
- 确保 LQE 和 LDX 具有相同的数据源列表。
可以位于一个 GCM 层次结构中的所有全局配置和局部配置 (无论来自多少个 GCM 或 ELM 应用程序实例) 都必须由相同的 LQE 和 LDX 服务器建立索引。
这些应用程序将为不同用途生成索引。 LQE 对工件建立索引,以便团队成员可以报告具有外部添加项的全局配置中的相关工件。 LDX 对工件建立索引,以便团队成员可以查看不同类型的工件之间(例如,测试用例与需求之间)的链接。
通常,在多个 Jazz Team Server 实例中只需要一个 LDX 实例。 所有作为好友的应用程序(GCM、RM 和 QM 等等)必须使用同一 LDX 实例,以便团队成员可以在使用不同主 GCM 服务器的应用程序中查看入局链接。 例如,使用全局配置上下文的团队成员在处理 RM 需求时,可以查看指向 QM 测试工件的链接。
如果您的部署使用多个 LDX 服务器,请考虑合并这些 LDX 服务器。 您可以将 LDX 实例保留在注册应用程序最多的 Jazz Team Server 上。 一个 Jazz Team Server 实例将向其注册 LDX ,而其他实例将不向其注册 LDX。 如果您选择维护多个 LDX 实例,那么必须确保它们所列示的数据源相同,以便对每个 LDX 实例完成索引。 稍后,在步骤 4中,您将合并 LDX 服务器。
- 项目区域关联:标识哪些项目区域向项目区域中的全局配置提供或者将提供配置(全局配置和局部配置),以便您可以定义项目区域之间的项目区域关联。
- 要标识当前提供配置的项目区域,请使用 Global Configuration Management -项目区域关联 Wiki 上提供的样本 SPARQL 查询。
- 要标识将来可能添加配置的项目区域,请询问每个项目区域的配置负责人。
- SSO:所有添加局部配置或全局配置的应用程序都应该使用单点登录 (SSO) 认证。 有关详细信息,请参阅 ELM中有关单点登录认证的相关链接。
如果您未配置 SSO,那么用户可能会接收到多次登录提示,在系统提示他们登录之后,他们可能需要再次尝试执行任务。
重要信息: 如果您的部署使用轻量级第三方认证 (LTPA) SSO 认证 (其中除了已注册的应用程序外还有友元连接) ,那么必须将根 URL (
https://hostname: port) 添加到 " Jazz Team Server 高级属性 " 页面 (https://hostname: portjts/admin) 上的 Jazz Authentication Proxy SSO Allowlist 属性。 不需要将 URL 添加到 GCM 应用程序中的同一属性。
约束
- 特定于域的应用程序(AM、CCM、DM、QM 和 RM)只能将局部配置添加到一个 GCM 实例。 要强制实施此约束,您必须添加必需的项目区域关联。
缺省情况下,此实例是作为特定于域的应用程序向同一 Jazz Team Server 注册的实例。
示例
在此高级示例中,GCM 1 是主 GCM 服务器,RM 1 是 RM 应用程序的实例。 如带有复选标记的示例中所示, RM 1 只能将其局部配置添加到一个 GCM 实例 GCM 1。 通常, RM 1 和 GCM 1 将向同一 Jazz Team Server注册。 RM 1 无法将其局部配置同时添加到 GCM 1 和 GCM 2,如该示例中的 X 所示。
重要信息: 如果不强制实施此约束,那么可能会发生意外结果。 要强制实施此约束,您必须设置项目区域关联,以便仅向一个 GCM 实例(通常为主 GCM 服务器)的项目区域提供一个应用程序中的任何项目区域的配置。 有关详细信息,请参阅步骤 2。可以在 GCM 项目区域管理页面或者其他应用程序的项目区域管理页面上创建关联,但是请确保您了解使用 - 配置与提供 - 配置关联之间的差别,以便选择正确的关联。 GCM 项目区域使用由其他应用程序提供的配置。
示例
继续以前面的示例为例,RM 实例 RM1 具有两个项目区域:- RMA,它包含一个名为 RM_A 的局部配置
- RMB,它包含一个名为 RM_B 的局部配置

- 对于任意数目的其他 GCM 实例中的每个实例,全局配置层次结构只能有一个来自该实例的外部添加项。 GCM 应用程序将强制实施此约束。
要添加来自 GCM 实例的多个外部添加项,配置负责人可以将该实例中的配置分组,然后将该组配置添加至主服务器上的层次结构。
下图中的约定:- 绿色框表示主 GCM 服务器上的全局配置。
- 黄色框表示来自另一个 GCM 实例的外部添加项。

在主 GCM 服务器上,只能添加一个来自任何 GCM 实例的全局添加项。 假定配置负责人需要将 GC B1 和 GC B2 添加至 GC A1 配置。 因为您只能添加来自另一个 GCM 实例的一个添加项,所以配置负责人必须创建一个包含 GC B1 和 GC B2 配置的组配置 (GC B3),然后将 GC B3 添加到主服务器上的 GC A1。
可以将来自同一实例的多个添加项添加至主服务器上的配置,如第二个示例和第三个示例中所示。
- 配置可以是外部添加项,或者具有外部添加项:但是它不能既是外部添加项,又具有外部添加项。 GCM 应用程序强制实施此约束,这将防止循环添加,有助于缓解 GCM 拓扑中具有太多层次所导致的性能问题。下图中的约定:
- 绿色框表示主 GCM 服务器上的全局配置。
- 黄色框表示来自第二个 GCM 实例的外部添加项。
- 蓝色框表示来自第三个 GCM 实例的外部添加项。
GCM 应用程序会阻止您在下图中创建第二个示例和第三个示例:
- 在第二个示例中,GC B1 不能是 GC A1 的直接添加项,并且它具有直接外部添加项 (GC C1)。
- 在第三个示例中:
- GC B1 无法添加至 GC A1,并且它具有外部添加项 (GC B2)
- GC B2 无法直接添加至 GC B1,也无法间接添加至 GC A1,并且它具有外部添加项 (GC C1)。

过程
结果
现在,配置负责人可以构建其中包含其他 GCM 实例的相关联项目区域中的全局配置的配置层次结构。 已对配置进行过滤,因此他们只能从相关联的项目区域查看配置,这可以帮助防止产生版本偏差。
GCM 应用程序还会检测来自 EWM 源代码控制管理 (SCM) 和 IBM Engineering Systems Design Rhapsody® - Model Manager (RMM) 的嵌套配置中的组件偏差。 此类型的组件偏差称为深度组件偏差。 有关深度组件偏差的示例,请参阅 检测组件偏差 (检查组件的不同配置)。
下一步操作
可以查询具有外部添加项或局部配置的全局配置,以监视组件的复用情况。 有关更多信息,请参阅 查找具有外部添加项或局部配置的全局配置。
