内容


配置 IBM Service Federation Management 服务域中的相关产品

在相关产品上配置 IBM 服务连通性管理协议

简介

发布 “WSRR v7 Feature Pack for Service Federation Management” (SFM) 旨在 简化跨多个异构服务域重用业务服务的过程。SFM 控制台提供了一个 web 浏览器 GUI,运行在业务空间中,它使用户能够指定其服务共享 “意图” 并利用服务连通性管理协议(在 v7 WebSphere® Service Registry and Repository、WebSphere® Enterprise Service Bus 和 WebSphere® Message Broker 中实现)来推动底层产品中服务元数据的复制和服务代理的创建。其业务价值在于避免了手动操作的复杂性。

服务连通性管理协议(Service Connectivity Management Protocol,SCMP)提供了一种方式,定义与联合相关的连通性概念。

本文将详细介绍在注册 WSRR 和当前支持的各种连通性提供方(比如 WESB 和 WMB)中启用 SCMP 的配置步骤。本文还将介绍 SFM 控制台的设置以及一个简单的两域场景的配置步骤。也可以配置更为复杂的场景,但是本文将重点介绍配置和设置的原则。

在阅读完本文后,用户将能够:

  • 创建 2 个服务域所需的产品,每个都包含一个 WSRR 实例,充当注册表,同时包含 WESB 或 WMB,作为连通性提供方。
  • 实现在由 WSRR 提供的业务空间环境中运行的 SFM 控制台。

服务连通性管理协议摘要

其他文章将深入介绍 SMCP 的一些更为高级的概念,下面是本文将提到的某些概念的一个摘要以及每个产品在相互关系中发挥的作用。

在 SCMP 中有四个服务器概念:

  • 联合服务器。联合是一个域集合的列表。
  • 域服务器。域由一个注册表和零个或更多连通性提供方组成。可能存在各种域,代表组织中不同的部门或地理位置。每个域都会有自己使用的一组服务(存储在注册表中)。SFM 使这些服务可以与其他域共享和管理。
  • 注册服务器。注册表代表服务注册表,其中将带有服务端点(还有其他一些东西)。每个域都必须包含一个注册表。
  • 连通性提供方服务器。连通性提供方代表一个 ESB,其中代理了很多组服务。

WSRR V7 提供了实现联合、域和注册服务器所需的所有功能。类似地,WESB 和 WMB V7 都可以用作连通性提供方服务器。您可以使用 WESB 和/或 WMB 作为连通性提供方。SFM 控制台通过服务文档 URL 访问信息,与产品通信。

SFM 中使用的每个服务器都必须要映射到产品的实例。这意味着如果有 2 个域,每个域包含一个注册表和一个连通性提供方,则每个域需要一个不同的注册表实例和一个不同的连通性提供方实例。因此,设置 2 个域,每个域带有一个注册表和一个连通性提供方,将需要安装两个 WSRR 实例和安装一个 WESB 和一个 WMB 或者两个 WESB 实例,或者两个 WMB 实例。在本文中,将建立 2 个服务域,第一个包含 WSRR 和 WESB,第二个包含 WSRR 和 WMB。

为 SCMP 配置 WSRR

WSRR 版本 7 可以下载 SFM 功能包。功能包包含启用 SCMP 和运行 SFM 控制台的文件。通过 SCMP 启用时,WSRR 可以充当 SFM 环境的联合、域和注册服务器。用于支持服务共享的服务文档和工件由注册表和连通性提供方管理。

以下步骤将展示如何配置 WSRR。

本节中的示例将关注一个没有启用管理或应用程序安全性的环境。有关启用 WSRR 安全性的步骤,请参见 “配置安全性” 一节。

有关下面未介绍的配置 WSRR 的更多信息,请参阅 WSRR 信息中心

安装 WSRR

可以在现有版本的 WSRR v7 上启用 SCMP,但是如果需要安装,请按以下步骤操作。当 SFM 控制台在业务空间环境中运行时,还将介绍如何扩展配置文件来启用这个功能。

  1. 根据 WSRR 信息中心 中的说明来安装 WSRR。
  2. 使用 PMT 或者 profileManagement 命令行工具创建服务注册表配置文件。
  3. 启动 WSRR 并登录到 WSRR 管理控制台。可以在下面找到它:
    1. http://<hostName>:<port>/ServiceRegistry
  4. 在 WSRR 中创建配置文件:
    1. 选择 Manage Profiles > Configuration Profiles 选项(如图 1 所示)。
    2. 使用 “Load Configuration Profile” 按钮。导航到 <WAS_HOME>/WSRR/Config' 目录并选择相应的配置文件。在本例中选择 “GovernanceEnablementProfile_v70.zip”。
    3. 用合适的名字将其加载到 WSRR。
    4. 回到 “Manage Profiles” 面板并使用 “Make Active” 按钮激活新配置文件(如图 2 所示)。
图 1. WSRR 中的配置文件选项
WSRR 中的配置文件选项
WSRR 中的配置文件选项
  1. 停止服务器。
图 2. WSRR 控制台中的 Make Active 按钮
WSRR 控制台中的 Make Active 按钮
WSRR 控制台中的 Make Active 按钮

WSRR 现在准备就绪,可以配置 SCMP 了。

安装 SFM 功能包

下一步是将 SFM 功能包内容安装到 WSRR。这是通过分布式系统上的 IBM Installation Manager (IM) 完成的。对于 z/OS 平台,该功能包作为一个包含部署工件的 tar 文件系统,需要解压。

最开始,需要 SFM 功能包 zip 文件的副本。

  1. 在 IM 中,将 SFM 功能包添加为存储库。操作步骤如下:
    • 选择 File > Preferences...
    • 单击 “Add repository”
    • 找到 SFM 功能包 zip 文件并选择它。
    • 单击 “OK” 关闭首选项窗口。图 3 显示了添加的新存储库。
图 3. 添加到 Installation Manager 的存储库
添加到 Installation Manager 的存储库
添加到 Installation Manager 的存储库
  1. 在 IM 中,单击 Install 并按以下步骤操作,
    • 在 “Install Packages” 面板中选择 “IBM WebSphere Service Registry and Repository Version 7.0 Feature Pack for Service Federation Management”。图 4 显示了 SFM 包选项。
    • 选择相应的 WSRR 安装位置。
图 4. Installation Manager 中的 Service Federation Management 选项
Installation Manager 中的 Service Federation Management 选项
Installation Manager 中的 Service Federation Management 选项
  1. 功能包列出了功能包中可用的功能:
    • IBM Service Federation Management 控制台
    • IBM WebSphere Service Registry and Repository Service Connectivity Management enablement

如果要在此 WSRR 实例上安装 SFM 控制台,则选择两者,并且启用 SCMP。如果要在另一个 WSRR 上安装控制台,则只需要 “IBM WebSphere Service Registry and Repository Service Connectivity Management enablement” 选项。对于此例而言,控制台是必需的,所以选择两个选项,如图 5 所示。

图 5. 安装选项
安装选项
安装选项
  1. 单击 “Install”,然后单击 “Finish”。如图 6 所示。
图 6. 完成的 SFM 安装
完成的 SFM 安装
完成的 SFM 安装

有关安装过程的详细信息,请参阅 WSRR 信息中心的文章: http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/tsfm_installing_fp.html

至此,SFM 功能包文件应该已经添加到了目录中的文件系统:

<WAS_HOME>\feature_packs\WSRR-SFM

启用 WSRR 上的 SCMP

SCMP 启用和配置涉及将 SFM 功能包中提供的一些文件加载到 WSRR 中并配置 WAS 设置。

完整说明(包括通过脚本加载文件和集群的详细信息)可以在 WSRR 信息中心(http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/tsfm_configuringenablement.html)找到,通过 WSRR 管理控制台配置单个服务器 WSRR 的步骤如下:

  1. 启动 WSRR 服务器并登录到管理控制台:http://<hostName>:<port>/ServiceRegistry(即 http://myHost:9080/ServiceRegistry)
  2. 确保选中了 “Configuration” 视图,如图 7 所示。
图 7. 在 WSRR 中选择配置视图
在 WSRR 中选择配置视图
在 WSRR 中选择配置视图
  1. 加载 SCMP 业务模型对象:
    • 导航到 Active Profile > Business Model Systems > Load Business Model System
    • 找到 <WAS_HOME>\feature_packs\WSRR-SFM\owl
    • 加载文件:
      • scmpfdBusinessModel.owl
      • scmpsdBusinessModel.owl
      • scmpsrBusinessModel.owl
图 8. 安装的 SFM 业务模型文件
安装的 SFM 业务模型文件
安装的 SFM 业务模型文件
  1. 加载 SCMP 插件 jar:
    • 导航到 Active Profile > Plug-in JARs > Load JAR Plug-in
    • 找到 <WAS_HOME>\feature_packs\WSRR-SFM\pluginJar
    • 加载文件 SCMPEnablement-1.0.0.jar
    • 为插件 jar 提供一个适当的名字
图 9. 安装的插件 jar
安装的插件 jar
安装的插件 jar
  1. 加载 atom feed:
    • 导航到 Active Profile > Atom Feed Application > Load Atom Feed Application Configuration
    • 找到 <WAS_HOME>\feature_packs\WSRR-SFM\feedApp
    • 加载文件 SCMPFeedsApp.xml
    • 为 Atom feed 配置提供一个适当的名字。
图 10. 加载的 Atom feed
加载的 Atom feed
加载的 Atom feed
  1. 使 WSRR 充当注册服务器。通过创建 ServiceRegistry 对象的实例完成此操作。
    • 切换到 Administrator 视图。
    • 在主页上,在 Business Objects 下面应该可以看到一个名称列表。
    • 选择 “ServiceRegistry”,如图 11 所示。
    • 在下一页单击 “New”。
    • 输入名字(比如 “My Service Registry”)和其他说明信息,即联系人和组织。
    • 单击 “Finish”。
图 11. ServiceRegistry 业务对象
ServiceRegistry 业务对象
ServiceRegistry 业务对象

WSRR 提供了一个 WAS 环境变量,可以用于指定主机名和端口,它们用作 Service Connectivity Management (SCM) enablement 中的 URL 前缀。必须定义此环境变量。这需要在 WAS 管理控制台完成。需要创建名为 WSRR_ENDPOINT_URL_PREFIX 的新 WAS 变量,该变量指向此 WSRR 实例:

  1. 登录到 WAS 管理控制台: http://<hostName>:<port>/ibm/console
  2. 导航到 Environment > WebSphere variables
  3. 选择相应作用域,在本例中可以使用服务器作用域。
  4. 创建一个新变量 WSRR_ENDPOINT_URL_PREFIX,值为 "http://hostname:port" 或者 "https://hostname:port",其中主机名和端口指向安装 WSRR 的位置,如图 12 所示。
  5. 保持更改。
  6. 重启 WebSphere Application Server。
图 12. _ENDPOINT_URL_PREFIX WebSphere 变量
_ENDPOINT_URL_PREFIX WebSphere 变量
_ENDPOINT_URL_PREFIX WebSphere 变量

至此,WSRR 应该配置好了,可以运行 SCMP 代码了。如前所述,WSRR 将充当 SCMP 模型中的联合、域和注册服务器。注册表将通过服务文档 url 向 SFM 公开,其形式为:<host>:<port>/ServiceRegistryFeeds/servicedocument

http://myHost:9080/ServiceRegistryFeeds/servicedocument

使用 SFM 控制台时,需要此 url。如前所述,每个注册表一次只能用在一个域中。因此,要创建两个服务域,需要两个 WSRR 实例,每个都通过上述步骤启用。

为 SCMP 配置 WESB

WebSphere Enterprise Server Bus (WESB) V7 已经包含了 SCMP 启用代码,但是需要一些配置步骤才能使其用作连通性提供方。

启用 SCMP 时,WESB 可以充当服务域中的连通性提供方,这意味着 SFM 可以在其上创建代理,代表共享的服务组。

本节中的示例将关注一个没有启用管理或应用程序安全性的环境。有关启用 WESB 安全性的步骤,请参见 “配置安全性” 一节。

安装 WebSphere Enterprise Server Bus

  1. 如 WESB 信息中心文章(http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wesb.doc/doc/welcome_wps_ins.html)所述安装 WESB。
  2. 使用 PMT 或者 manageprofiles 命令行工具创建 WESB 的 default.esbserver 配置文件(即单独服务器)。有关如何配置集群环境的详细信息,请参阅信息中心文章(http://publib.boulder.ibm.com/infocenter/dmndhelp/v7r0mx/index.jsp?topic=/com.ibm.websphere.wesb.doc/info/welcome.html),但是本文将重点介绍设置单独服务器环境。

启用 WESB 上的 SCMP

以下步骤将配置 WESB 使其能作为连通性提供方服务器与 SFM 一起工作。

  1. 启动并登录 WESB 域控制台:http:// <hostName>:<port>/ibm/console(即 http://myHost:9060/ibm/console
  2. 导航到 Services > REST Services > Rest service providers > REST Service Gateway,如图 13 所示。
    • 确保主机名中指定的值是完全限定的并且是小写的(即使用 myhost.ibm.com 而不只是 myHost)。
    • 确保协议和端口的值匹配预期的安全性级别(即如果 protocol = https,则端口应该是 9443 之类的东西,如果 protocol = http,则端口应该是 9080 之类的东西)。端口应该是 WC_defaulthost 和 WC_defaulthost_secure(取决于安全性级别)中找到的内容。可以在 Servers > Server Types > server1 > ports 下找到端口信息,如图 14 所示。
图 13. Rest Service Gateway 属性
Rest Service Gateway 属性
Rest Service Gateway 属性
图 14. WAS 管理控制台中的服务器端口
WAS 管理控制台中的服务器端口
WAS 管理控制台中的服务器端口
  1. 创建一个新的 SCM 连通性提供方。
    • 导航到 Service Integration > SCM Connectivity Provider。
    • 添加新的连通性提供方。
    • 填写详细信息,记住,主机值应该是完全限定主机名,端口值应该是在 WC_defaulthost 和 WC_defaulthost_secure 中找到的值。如图 15 所示。
    • 保存更改。
图 15. 创建 SCM 连通性提供方
创建 SCM 连通性提供方
创建 SCM 连通性提供方

有关启用了安全性运行 WESB 的更多信息,请参见安全性一节。此连通性提供方服务器的服务文档 url 现在的形式是:<hostName>:<port>/rest/scmp/servicedocument。

http://myHost:9080/rest/scmp/servicedocument。在使用 SFM 控制台时需要此 url。

为 SCMP 配置 WMB

WebSphere Message Broker (WMB) V7 已经包含了 SCMP 启用代码,但是需要一些配置步骤才能使其用作连通性提供方。

启用 SCMP 时,WMB 可以充当服务域中的连通性提供方,这意味着 SFM 可以在其上创建代理,代表共享的服务组。

本节中的示例将关注一个没有启用管理或应用程序安全性的环境。有关启用 WMB 安全性的步骤,请参见 “配置安全性” 一节。

有关在 WMB 上设置 SCMP 的更多信息,请参阅 WMB 信息中心(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/bn19100_.htm)。

配置产品

本文假设已经安装了 WMB 和相关组件,比如 WebSphere® MQ。有关如何获取和安装 WMB 的更多信息,请参阅信息中心(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/topic/com.ibm.etools.mft.doc/ax01445_.htm)。

  1. 启动 MQ 和 MB explorer。
  2. 创建代理。在本例中,默认代理配置就足够了。在 MB explorer 中单击 “Create the default configuration” 按钮。

现在已经安装了 WMB 并且创建了代理,我们可以使代理用作 SFM 的连通性提供方了。

在 WMB 上启用 SCMP

此示例采用默认端口。有关代理端口的更多信息,请参阅 WMB 信息中心(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/bn19020_.htm)。

  1. 打开消息代理命令提示以执行以下步骤。
  2. 运行以下 mqsichangeproperties 命令,通过 HTTP:
    mqsichangeproperties brokerName -b servicefederation -o scmp -n enabled,enableSSL -v true,false 在代理中启用 SFM
  3. 设置服务文档 URL 的主机名和上下文根,在向 SFM 控制台添加代理时需要它们。应该使用完全限定的主机名以确保可靠的寻址:
    mqsichangeproperties broker name -b servicefederation -o scmp -n hostname,contextRoot -v <fully_qualified_hostname>,/scmp
  4. 运行 mqsichangeproperties 命令来配置与要使用的 HTTP 端口有关的属性:
    mqsichangeproperties brokerName –b servicefederation –o HTTPConnector –n port –v 8085
  5. 配置与执行组的 SFM 伸缩性有关的属性。指定的主机名需要是完全限定的。本例将采用默认端口,如果需要采用其他端口,有关详细信息,请参阅 WMB 信息中心:
    mqsichangeproperties TEST -e exgroup1 -o ServiceFederationManager -n proxyURLHostName -v <fully_qualified_hostname>
  6. 停止代理。
  7. 启动代理并检查系统日志以确保它报告了服务联合侦听器已成功启动。此消息 BIP3769 还确认必须将服务文档 URL 值配置到 SFM 控制台。
    Service Federation SCMP listener initialized. Additional information : "SCMP Service Document URL" "http://myHost.ibm.com:8085/scmp/servicedocument"

有关启用安全性运行 WMB 的更多信息,请参见安全性一节。

代理现在已经启用了 SCMP。代理启用 SCMP 之后,代理中的执行组也支持 SCMP 了;现在它们可以创建并容纳代理实例来提供服务可用性。

此 WMB 的服务文档 URL 的形式是:<host>:<port>/scmp/servicedocument. e.g. http://myHost:8085/scmp/servicedocument。这个 url 将在使用 SFM 控制台时用到。

在业务空间上安装 SFM 控制台

至此,所有产品都已启用了 SCMP。下一步是安装 SFM 控制台。

SFM 控制台分为两部分:

  • 要在 WAS 上安装的一个应用程序包含 SFM 协调器,名为 SFM-Coordinator-xxx.ear
  • 一个 SFM 控制台业务空间 widget,名为 SFM-Widgets-xxx.zip

创建数据库

SFM 控制台需要一个数据库来存储一些信息。下载的功能包中包含设置数据库所需的 ddl 文件。这些文件可以在 <WAS_HOME>\feature_packs\WSRR-SFM\ddl\ 中找到。有关在 z/OS 上创建数据库的详细信息,请参阅信息中心。本文将采用分布式环境。关于所支持数据库的详细信息,可以在信息中心找到:http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/tsfm_configuringconsole.html

  1. 为所选数据库运行 ddl(在 <WAS_HOME>\feature_packs\WSRR-SFM\ddl\ 中找到),创建 SFM 表。

示例:使用 derby 创建所需数据库表,按以下步骤操作:

  1. 导航到 <WSRR_HOME>\derby\bin\embedded
  2. 运行 ij.bat/.sh
  3. 运行以下命令:
    Connect
    'jdbc:derby:consoleDB;user=<username>;password=<password>;create=true';
    run '<WSRR_HOME>\feature_packs\WSRR-SFM\ddl\derby\SFMConsole.ddl';
    commit;
    quit;

创建数据库后,要使 SFM 控制台能够使用数据库,我们现在要在 WAS 管理控制台中配置数据源。

  1. 登录到 WAS 管理控制台 http://<hostName>:<port>/ibm/console
  2. 创建与创建数据库时使用的用户名和密码匹配的身份验证别名。
    • 导航到 Security > Global Security。
    • 在右侧的身份验证部分,展开 Java™ Authentication and Authorization Service 部分并单击 J2C authentication data 链接,如图 16 所示。
    • 创建新的身份验证别名,将别名命名为 sfmAlias,使用创建数据库时使用的用户名和密码。
图 16. WAS 管理控制台 Global security 面板上的 J2C authentication 链接
WAS 管理控制台 Global security 面板上的 J2C authentication 链接
WAS 管理控制台 Global security 面板上的 J2C authentication 链接
  1. 为前面创建的数据库创建 JDBC 提供方。
    • 导航到 Resources > JDBC > JDBC Providers。
    • 选择节点作用域。
    • 单击 "New" 创建新的 JDBC 提供方。
    • 选择与之前创建数据库匹配的数据库类型。图 17 显示 derby 设置过程中的一个例子。
    • 为提供方提供有意义的值,完成其余步骤。
图 17. derby 数据库配置步骤
derby 数据库配置步骤
derby 数据库配置步骤
  1. 保持更改。
  2. 创建 SFM 数据库的数据源。
    • 选择步骤 3 中创建的 JDBC 提供方。
    • 在 “Additional properties” 下选择 “Data sources”,如图 18 所示。
图 18. JDBC 提供方下面的数据源链接
JDBC 提供方下面的数据源链接
JDBC 提供方下面的数据源链接
  • 创建新数据源。
  • 为其提供一个适当的名字,jndi 名称为 jndi/SFMDB,如图 19 所示。
图 19. 创建数据源
创建数据源
创建数据源
  • 在上例中,所需的数据库名是 “consoleDB”,如图 20 所示。
图 20. 在数据源上设置数据库名
在数据源上设置数据库名
在数据源上设置数据库名
  • 设置 sfmAlias 作为身份验证别名,如图 21 所示。
图 21. 在数据源上进行身份验证设置
在数据源上进行身份验证设置
在数据源上进行身份验证设置
  • 完成向导步骤后,保存更改。
  • 选择新建的数据源并使用 “Test connection” 按钮检查是否可以正确连接到数据库,如图 22 所示。
图 22. 数据源上成功的连接测试
数据源上成功的连接测试
数据源上成功的连接测试

安装 SFM 协调器应用

下面的步骤将展示如何将 SFM 协调器应用程序安装到 WAS。注意 SFM 协调器应用程序必须安装在将要安装 SFM 业务空间 widget 的服务器上。

  1. 登录到 WAS 管理控制台 http://<hostName>:<port>/ibm/console,比如 http://myHost:9060/ibm/console
  2. 加载 SFM 协调器 ear 文件。
    • 导航到 Applications > Enterprise application > New enterprise application。
    • 找到 <WAS_HOME>\feature_packs\WSRR-SFM\installableApps。
    • 选择 SFM-Coordinator-xxxx.ear。
    • 单击 “Next”。
    • 单击 “Detailed”。
    • 单击 “Next”。
    • 选择名为 “Map resource references to resources” 的步骤并找到上一节创建的数据源(在上例中 jndi 名称为 “jndi/SFMDB”),如图 23 所示。
    • 完成向导。
图 23. 设置数据源 jndi 名称,同时安装 SFM 协调器
设置数据源 jndi 名称,同时安装 SFM 协调器
设置数据源 jndi 名称,同时安装 SFM 协调器
  1. 保存更改。
  2. 重启服务器。

安装 SFM 业务空间 widget

如上一步中所述,必须在同一个服务器上安装 SFM 业务空间 widget 和 SFM 协调器应用程序。WSRR 提供的业务空间版本上支持 SFM 控制台。

要查看是否已经安装了业务空间,可以通过 url:http://<hostName>:<port>/mum/enabler 访问业务空间控制台。如果可以看到业务空间控制台(如图 24 所示),则说明已经安装了业务空间。

图 24. 工作中的业务空间控制台
图 24. 工作中的业务空间控制台
图 24. 工作中的业务空间控制台

如果没有安装业务空间,则按以下步骤安装它。

  1. 业务空间的安装机制就是 WAS 扩展。此扩展不能通过 Profile Management Tool (pmt) 完成,必须使用 <WAS install dir>/bin 中的 “manageprofile” 在命令行完成。
  2. 使用以下命令扩展现有 WAS 配置文件:
    manageprofiles -augment -profileName <profilename> -templatePath
    <WAS_HOME>\profileTemplates\BusinessSpace\default.bspace -cellName <cellname> -nodeName <nodename>

安装好业务空间后,下一个步骤是安装 SFM 业务空间 widget,方法如下:

  1. 在命令提示符下键入:
    1. cd <WAS_HOME>/profiles/myProfile/bin
    2. wsadmin.bat -conntype NONE
    3. $AdminTask installBusinessSpaceWidgets {-nodeName myNode01 -serverName server1 -widgets <WSRRHome>\feature_packs\WSRR-SFM\installableApps\SFM-Widgets-xxxx.zip}
    4. $AdminConfig save
    5. exit
  2. 停止 WAS 服务器(如果服务器正在运行)并重启它。
  3. 将 SFM widget 添加到业务空间控制台
图 25. 在业务空间控制台创建空间菜单选项
在业务空间控制台创建空间菜单选项
在业务空间控制台创建空间菜单选项
  • 登录到业务空间:http://<hostName>:<port>/mum/enabler
  • 导航到 Actions > Create Space(如图 25 所示)
  • 为新空间起个名字。
  • 在 “Create a new space using a template” 下拉菜单中选择 “Service Federation Management” 模板,如图 26 所示。
  • 单击 “保存”
图 26. 创建一个 Service Federation Management 模板
创建一个 Service Federation Management 模板
创建一个 Service Federation Management 模板
  1. 在新创建的空间中可以看到 SFM 控制台,如图 27 所示。
图 27. 业务空间中成功安装的 SFM 控制台
业务空间中成功安装的 SFM 控制台
业务空间中成功安装的 SFM 控制台

至此,SFM 控制台已经添加到了业务空间中并且创建两个服务域所需的产品已经配置了 SCMP。

配置安全性

要安全使用 SFM,需要配置所涉及的各种产品以便彼此信任。通常可以通过组合 SSL 和基本身份验证实现这一目的。

这些步骤需要手动完成,因为 SFM 将假定涉及的产品被授权进行彼此通信。有关 SFM 安全性的更多信息,请访问 SFM 信息中心(http://publib.boulder.ibm.com/infocenter/sr/v7r0/index.jsp?topic=/com.ibm.sr.sfm.doc/rsfm_security.html)。

WAS 中的基本身份验证

WAS 中最简单的安全性形式是基本身份验证,它本质上意味着要访问服务器和应用程序就要提供一个用户名和密码。简单起见,本文只介绍实现 WAS(WESB 或 WSRR)服务器上的管理、应用程序和 Java™ 2 级别的安全性。

  1. 登录到 WAS 管理控制台 http://<hostName>:<port>/ibm/console,即 http://myHost:9060/ibm/console
  2. 导航到 Security > Global security
  3. 使用 “Security Configuration Wizard” 按钮为服务器配置管理、应用程序和 Java™ 2 安全性。
  4. 保存更改。
  5. 重启服务器。
  6. 管理控制台 url 现在是 https://<hostName>:<secure_port>/ibm/console,即 https://myHost:9043/ibm/console

有关 WAS 安全性的更多信息,请参见 WAS 信息中心:http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/welcome_nd.html

交换证书(WSRR 和 WESB)

为了使两个基于 WAS 的服务器(例如 WSRR 或 WESB)通过 HTTPS 互相交流,每个服务器都要在它们彼此信任之前交换 SSL 证书。在 SFM 设置中,这通常需要在涉及的每个服务器和安装了 SFM 控制台的服务器之间发生。有很多方式来交换证书。有关详细信息,请查看 WAS 信息中心。对于本例而言,可以通过以下步骤交换证书:

  1. 进入每个服务器的控制台。
  2. 导航到 Security > SSL certificate and key management > Key stores and certificates。
  3. 单击 NodeDefaultTrustStore > Signer Certificates,如图 28 和 29 所示。
图 28. WAS 管理控制台中的 NodeDefaultTrustStore
WAS 管理控制台中的 NodeDefaultTrustStore
WAS 管理控制台中的 NodeDefaultTrustStore
图 29. WAS 管理控制台中的 Signer 证书
WAS 管理控制台中的 Signer 证书
WAS 管理控制台中的 Signer 证书
  1. 单击 “Retrieve from port” 并填写其他配置文件的详细信息。别名就是此证书的名称。
  2. 单击 “Retrieve signer information”(如图 30 所示),然后单击 OK 并保存。
图 30. 获取证书
获取证书
获取证书
  1. 在第二个配置文件中重复同样的步骤。
  2. 停止并重启两个服务器。

WMB 中的安全性

有关在 WMB 中配置安全性的详细信息,请查阅 WMB 信息中心(http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=/com.ibm.etools.mft.doc/bp28220_.htm)。需要一些额外步骤,在 WMB 上配置 SCMP 以使用 HTTPS。

  1. 运行下面的 mqsichangeproperties 命令启用代理中的 SFM:mqsichangeproperties brokerName -b servicefederation -o scmp -n enabled,enableSSL -v true,true
  2. 设置代理的密钥库。
    • 在 MB 的安装目录(比如 /opt/ibm/mqsi/7.0/jre16/bin)中找到 ikeyman 程序
    • 运行 ./ikeyman
    • 选择 'Key Database File' > New。
    • 找到不在 WMB 安装路径中的目录。
    • 在提示时输入新库的密码(稍后命令中需要它)。
    • 单击 “New Self-Signed ...”,然后填写新窗口顶部的第一个字段并输入 “broker”,单击 OK。
    • 现在单击 “Extract Certificate ...” 并将其保存到与保存的密钥库文件相同的地方,接受 cert.arm 的名称和指定的类型。
  3. 在 SFM 控制台运行的 WAS 配置文件中导入 cert.arm。
    • 登录到 WAS 管理控制台 https://<hostName>:<port>/ibm/console。
    • 导航到 Security > SSL certificate and key management > key stores and certificates > NodeDefaultTrustStire > Signer certificates。
    • 单击 Add,输入合理的名称作为别名并给出复制文件的完全路径,然后单击 OK。
  4. 配置代理以使用密钥库:
    • mqsichangeproperties brokerName –b servicefederation –o HTTPSConnector –n port,keystoreFile,keystorePass –v 8086,keys.jks,<password>(其中 8086 是使用的端口,keys.jks 指的是密钥库的位置)
  5. 配置代理的信任库:
    • 应该用步骤 1 mqsichangeproperties brokerName –o BrokerRegistry –n brokerTruststoreFile –v /tmp/key.jks 中使用的目录替换 “/tmp/key.jks”
  6. 设置密码,与信任库一起使用:
    • <password> 是之前为密钥库设置的密码: mqsisetdbparams brokerName –n brokerTruststore::password –u <user> –p <password>
  7. 使用以下命令设置 userid 和密码以便与 SCMP 一起使用(例如 admin/admin):mqsisetdbparams brokerName –n sfm::scmp –u <user> –p <password>
  8. 停止并重启代理。
  9. 设置代理信息:
    • 使用以下命令设置代理以指定主机名、不安全端口和安全端口的值:
      mqsichangeproperties brokerName –e default –o
      ServiceFederationManager –n
      proxyURLHostName,port,securePort –v myHost,8811,8844

结束语

读者现在可以对建立由 SFM 管理的服务域涉及的所有产品进行配置。他们还能设置和访问业务空间中运行的 SFM 控制台,该控制台可用于管理和在服务域间共享服务。


相关主题

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=SOA and web services
ArticleID=626354
ArticleTitle=配置 IBM Service Federation Management 服务域中的相关产品
publish-date=02112011