本文将着重介绍如何为大型企业创建 OpenPages 集群环境,帮助他们扩展应用规模,实现负载均衡,提高风险管理,增强安全控制。
2001 年:OpenPages 公司开始开发帮助企业管理复杂风险和合规管理措施的平台。 2002 年:依据萨班斯 - 奥克斯利法案,着重开发财务控制管理功能。 2006 年:拓展风险和合规管理的其它新领域,包括操作风险管理、政策和合规管理、资讯科技管治、内部审计管理。 2010 年:IBM 完成对 OpenPages 公司的收购。IBM 与 OpenPages 的结合提供了一个全面一致的风险管理方法,帮助企业把风险管理和合规管理结合在一起,推动更好的企业决策。
IBM OpenPages 解决方案被 Gartner 和 Forrester 公认为企业治理、风险与合规性 (GRC, Governance、Risk Management、Compliance) 管理的领先平台,使金融服务、能源和公用事业、医疗保健和制造等行业中全球最大的企业可以识别和管理企业内的关键业务风险,从而提高业务性能。
OpenPages 产品架构
OpenPages 应用服务器
OpenPages 6.1 及之前版本的应用服务器在 Windows 系统中部署在 Weblogic 上,而 AIX 系统中则部署在 Websphere 上。而 6.2 及以后版本的应用服务器在 Windows 和 AIX 系统中均可部署在 Weblogic 或 Websphere 上。OpenPages 应用服务器负责定义和管理商业元数据、界面视图、用户配置信息以及用户授权权限,并允许终端用户创建、更新、浏览和过滤元数据。除此外,应用服务器也提供应用模块的运行时执行。
Cognos 报表服务器 ( OpenPages CommandCenter )
OpenPages 主要通过 Cognos 报表、仪表盘和分析提供商业智能服务 , 也可通过 Cognos Mashup 服务在 OpenPages 界面中渲染、展现报表。其中 CommandCenter 为 OpenPages 和 Cognos 之间的交互提供了桥梁。
工作流服务器(Workflow)
OpenPages 集成了 Interstage BPM。终端用户可使用 Interstage BPM studio 创建、修改工作流,定义工作流任务和逻辑,并发布到 OpenPages 应用服务器中。然后在 OpenPages 应用服务器中提交并执行这些工作流。
OpenPages 数据库层
OpenPages 数据持久层管理、维护所有的数据:元数据、所有版本的应用数据 ( 记录每一次操作数据的行为 )、报表数据、用户 / 组以及其对应的访问权限。
图 1. OpenPages 产品架构图
单机版 OpenPages 的优缺点
单机版 OpenPages 的优点
OpenPages 提供了综合的治理、风险与合规性(GRC)解决方案,通过降低风险、以更低的成本管理风险计划和更合理地分配资源,改善业务绩效。综合的 GRC 解决方案综合了跨多个不同风险领域运行风险管理计划的功能,这些风险领域包括运营风险、财务控制管理、IT 治理、策略和法规遵从性管理、内部审计管理。这一切功能都整合在一个单一平台上。这样一个综合解决方案为高级管理人员提供了一个综合视图,显示跨不同风险管理领域的风险,使他们能够获得整个组织内风险的全面视图,并且使他们能够制定更好的业务决策。
IBM OpenPages GRC 平台使企业能够:
针对多重法规(其中包括财务报告法规、隐私法规和行业法规等)管理风险及合规性。 了解跨部门、业务单元与地理位置共享的流程、风险和控制手段之间的依赖关系。 实施一个统一且简化的方法来管理企业风险,以减少冗余,最大限度地降低复杂性,并最大限度地提高效率。 为生产线管理人员提供正确的信息,以优化风险与合规性流程。 使业务管理人员能够以特定方式探究风险数据,并根据最佳风险调整回报率来对这些机遇分配资金。
同时,IBM OpenPages GRC 平台是一个高度配置的解决方案,无需编写定制代码就能支持特定的风险管理方法,因此,它还可以带来更多优势:
没有改变您的方法——其他大多数公司要么迫使您改变风险管理流程,要么对他们的软件进行定制扩展。由于不灵活的技术解决方案而引起的方法变更将影响您把风险管理融入业务运营的能力。 降
低成本——对初步实施而言,开发定制代码花费颇多,并且随着时间的推移,维护和扩展定制代码将会更加昂贵,而 OpenPage 完全可以规避这一巨大成本。 缩短部署时间—— OpenPages 专利元数据驱动型应用程序框架提供了无与伦比的配置,支持在极短时间内快速实施定制的开发方法。 面向未来—— OpenPages 独特的配置功能使您可以快速适应您的风险框架,以满足不断变化的需求,同时最大限度地减少对业务的影响。 专为集成而设计——作为一个充分集成的解决方案,OpenPages 支持跨风险管理域的常见流程,所以您最终不会遇到报告和问题孤岛。
单机版 OpenPages 的缺点
尽管我们看到了 OpenPages 的诸多优点。但是随着用户业务需求的增加和大数据时代的到来,很多大型企业在实际应用中遇到一系列业务瓶颈。
对于轻量级负载用户来说,部署一个简单的 OpenPages 环境既可满足他们的需求。比如:
图 2. 轻量或中量级用户负载部署方案
我们知道 OpenPages 为企业提供应用解决方案,这些解决方案以模块的形式存在于 GRC 平台。这些模块拥有自己的工作流、元数据、报表展示功能。当不同权限的用户同时对自己相关的业务进行操作时,OpenPages 服务器的响应可能会产生延迟甚至中断。这种情况就属于服务器重负载运行。如果这种情况不能得到解决,我们 OpenPages 的产品优势将会被削弱。
为了应对这种多用户并行操作或大数据流传输时产生的应用瓶颈,OpenPages 集群环境将为企业用户带来精准应用解决方案和快速处理响应双重感受。
OpenPages 集群环境架构
为了解决重量级用户负载,我们可以通过配置扩展节点到 OpenPages 应用服务器。通过配置附加节点,来解决多用户并行操作和大数据流传输产生的瓶颈问题。OpenPages 集群环境,包括水平集群环境和垂直集群环境。无论水平或者垂直配置,都需要一个负载均衡器。负载均衡器负责分发到来的客户请求到各个不同的节点。
OpenPages 集群环境概述
OpenPages 集群环境,主要是通过水平或者垂直添加扩展节点到 OpenPages 环境中,从而提高用户并行操作时的响应时间。每个节点包括 OpenPages 应用服务器的实例和相应的 workflow 服务器的实例,每个节点都运行在不同的端口。
水平集群环境,通过添加额外的计算机到集群主机来增加服务器实例。
垂直集群环境,通过在一个现有的计算机集群环境中添加节点来增加服务器实例。
下图为使用一个 Web 服务器作为负载均衡器,Web 服务器分发所有到来的客户请求到水平集群环境的示意图。
图 3. 重量级用户负载部署方案
OpenPages 集群环境架构
在 OpenPages GRC 安装完成后,可以根据实际软硬件配置情况,合理部署集群环境。下面主要介绍负载均衡器为 WebSphere、OpenPages 垂直集群环境和水平集群环境的部署。
WebSphere垂直集群环境部署 - OP & IBPM
图 4. 垂直集群环境
垂直集群环境部署,添加一个新的节点到现有的 WebSphere 环境中。上图则为添加新节点 Aix1-OPNode1Server2 到一个现有的 OpenPages 环境中,则此节点 OpenPages 实例端口为 10128,IBPM 实例端口为 20128。经过垂直部署,用户则可以通过 http://Aix1:10128/openpages 访问 OpenPages 应用服务器,这样有效的缓减了重量型用户负载。
WebSphere 水平集群环境部署 - OP & IBPM
图 5. 水平集群环境
水平集群环境部署,添加额外节点为现有 OpenPages 环境集群成员。上图为添加节点 Aix2 到 Aix1-OpenPages 环境中,此 OpenPages 实例端口仍为 10108,IBPM 实例端口仍为 20108。经过水平部署,则用户可以通过 “http://Aix2:10108/openpages” 访问 OpenPages 应用服务器,同样有效的缓减了重量型用户负载。
如何创建企业级 OpenPages 集群环境
如果用户希望在一台服务器上部署 OpenPages 集群环境,可以选择垂直集群环境。如果用户希望在多台服务器上部署 OpenPages 集群环境,则可以选择水平集群环境。当然,用户也可以将两种集群环境混合使用。下面我们就分别针对这两种部署方案进行介绍。
部署垂直集群环境
部署垂直集群环境与部署单个 OpenPages 应用服务器,操作基本相似,不同之处在于垂直集群环境在部署时需根据需求指定节点个数,而单节点 OpenPages 应用服务器在部署时节点个数总为 1。下图为AIX 上部署垂直集群环境的差异界面。
图 6. AIX 部署垂直集群环境的界面
需要注意的是,Windows 上OpenPages 的 http 协议默认起始端口为 7009,https 协议默认起始端口为 7010,而其它 OpenPages 节点所对应端口每次累加 2。也就是说,如果有 3 个节点,那么 http 协议端口分别为 7009、7011、7013。Https 协议端口分别为 7010、7012、7014。AIX 上 OpenPages 的 http 协议默认起始端口为 10108,https 协议默认起始端口为 10111,而其它 OpenPages 节点所对应端口每次累加 20。也就是说,如果有 3 个节点,那么 http 协议端口分别为 10108、10128、10148。Https 协议端口分别为 10111、10121、10141。
部署水平集群环境
水平集群环境中,在不同的服务器上安装单个 OpenPages 节点。但仅有一个是集群的 admin 服务器,其它都属于 managed 服务器。
需要注意的是,在 Windows 上部署水平集群环境,所有节点的 http 端口均为 7009,https 端口均为 7010。在 AIX 上部署水平集群环境,admin 服务器的 http 端口为 10108,https 端口为 10111,而其它服务器的端口号依次累加 20。
共享 OpenPages 存储目录
在集群环境中,所有的 OpenPages 应用节点共同使用一个目录存储 / 读取系统和用户上传的各种文件。因此,在安装完所有的 OpenPages 节点后,需要手动配置OpenPages 共享存储目录。下面假定所有的 OpenPages 应用节点都部署在 AIX 操作系统上,介绍如何将 Admin server 上的 OpenPages 存储目录共享给所有的 Managed server。
1. 以 root 用户登陆到 Admin server,创建 /etc/exports 文件,并将 OpenPages 存储目录的路径添加到 exports 文件中 ( 默认OpenPages 存储目录的路径为 /opt/OpenPages/openpages-storag)。
2. 修改 exports 文件的访问权限,使用如下命令:
chmod 755 /etc/exports
3. 执行如下命令发布 OpenPages 存储目录的路径,以便 Managed server 能够获得此路径信息并挂载在本地。
exportfs -a stopsrc -g nfs startsrc -g nfs
4. 在多有的 Managed server 上执行步骤 1、2。
5. 在多有的 Managed server,以 root 用户执行如下命令挂载 OpenPages 共享存储目录到本地
mount <admin server hostname>:/opt/OpenPages/openpages-storage /opt/OpenPages/openpages-storage
6. 从安装光盘拷贝 OP_6.2_Configuration/Database/ORACLE/INSTALL_SCRIPTS 到本地,并切换至 INSTALL_SCRIPTS 目录,执行如下命令更新数据库。
sqlplus /nolog @sql-wrapper.sql update-storage <log_file> <TNS_alias_name> <openpages_schema_owner> <openpages_schema_owner_password> LFS <storage_server_hostname> <admin_hostname> UNIX <share_folder>
表 1. 参数描述
参数 描述 log_file 记录 sql 脚本执行过程 TNS_alias_name 数据库实例名,默认为 OP openpages_schema_owner OpenPages 表空间的所有者,默认为 openpages openpages_schema_owner_password OpenPages 表空间的所有者的密码 storage_server_hostname 存储目录所在的主机名 admin_hostname Admin server 的主机名 share_folder 存储目录所在的路径
至此,OpenPages 共享存储目录已经配置完成。现在用户访问任何一台 OpenPages server 都能查看到所有信息,并且在一台 server 上所做的修改,其它 server 也能看到。
至于如何配置 Windows 的共享存储目录,请参照本文和 OpenPages 安装向导,本文不做具体描述。
配置负载均衡
为了避免集群环境中某台 OpenPages 服务器负载过重,我们建议配置负载均衡。通常的方法是在集群环境的前端添加一个负载均衡器(针对 AIX + OpenPages cluster + WAS 的环境,我们通常使用的是 IBM HTTP server + plugin。针对 Windows + OpenPages cluster + WLG 的环境, 我们通常使用的是 Apache web server。 当然也可以使用其它软件或者硬件的负载均衡器)。负载均衡请根据实际网络拓扑,查阅相关软件或者硬件负载均衡器的指导文档 [2],在此不做详细说明。
结束语
本文由浅入深,从 OpenPages 产品的诞生、架构、发展以及单机版 OpenPages 的优缺点深入到如何构建 OpenPages 集群环境。通过对 OpenPages 集群环境进行架构和部署的描述,让读者对 OpenPages 产品有了更进一步的认识。OpenPages 产品不仅能为企业提供风险管理解决方案,而且能为企业解决多用户并行操作和大数据流传输产生的瓶颈问题。