IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  WebSphere | SOA and Web services  >

使用 WebSphere Adapter 和 WebSphere Business Monitor 集成实现业务事件监控

监听和分析 SAP 系统业务事件的集成解决方案

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 中级

罗 萍 (luoping@cn.ibm.com), 软件工程师, IBM
程 国强 (chenggq@cn.ibm.com), 软件工程师, IBM
吴 振华 (wuzhenh@cn.ibm.com), 软件工程师, IBM

2009 年 7 月 13 日

当今企业面临着业务需求变化迅速,从而需要在尽可能短的时间内获得足够准确的分析数据来响应这些变化的巨大挑战。此外,企业应用中的潜在问题,如供应商产品质量下降,原有客户大量流失,经常使人措手不及,错过解决问题的最佳时期。

WebSphere Adapters 和 WebSphere Business Monitor 产品的集成为解决上述问题提供了一套完整的解决方案。通过对业务事件的监控和分析,上述问题能够尽早被发现,从而相应的措施在第一时间被制定和实施以减少问题可能带来的损失。本文首先介绍该解决方案的总体架构,以及所涉及到的产品的基本概念,然后分步介绍如何实现这种解决方案,包括开发、部署、运行全过程。

业务需求及解决方案概述

目前,业务需求变化越来越快,如何在尽可能短的时间内获得足够准确的分析数据来响应这些变化,成为业务决策者要面临的巨大挑战。与此同时,企业应用中的潜在问题,如供应商产品质量下降,原有客户大量流失,这些问题如果不能够被及时发现,常常会错过解决问题的最佳时期;同样,如果忽视了业务趋势的分析,很可能错过业务增长的绝佳机会。

WebSphere Adapters 和 WebSphere Business Monitor 产品的集成为解决上述问题提供了一套完整的解决方案。通过使用 WebSphere Business Monitor 对业务事件的监控,业务决策者就能够及时得到感兴趣的业务活动数据,提前捕捉到应用中的潜在问题以及业务趋势,据此制定出相应的对策,将风险降到最低或者第一时间把握机会提升业务价值。

本文将通过一个具体应用场景——网上订票系统,来描述如何实现对外部企业信息系统入站信息的监听、分析和整理,并最终将其展现给业务决策人员。

在这个场景中,当用户提交了一个订票申请之后,相应的订单记录将会在 SAP 系统中被创建。WebSphere Adapter 可以监听到 SAP 系统中的变化,并根据这些变化的数据构建业务事件,然后交给 WebSphere Business Monitor 来进行分析和整理,最终以用户自定义图表的方式显示在 Business Space(业务空间)中。

下图展示了该应用场景的总结架构和应用流程。


图 1. 集成解决方案总体架构图
integration

如图所示,用户通过上层 Jave EE Application 对 SAP 系统进行数据更新的同时,WebSphere Adapters 能够监听 SAP EIS 相应事件更新,负责将来自 SAP 系统的业务对象构建成符合 Common Base Event(CBE) 规范的事件,然后将包含有效业务数据的事件发送到 WebSphere Business Monitor 的 Common Event Infrastructure(CEI) 组件上,CEI 根据内置的转发规则再将该事件转发到对应的监控模型的专属队列上,最终通过 Business Space(业务空间)展现给用户。

整个架构的设计和执行有以下两个重要步骤:

1. 首先,用户需要通过使用 Rational Application Developer(RAD)J2C 工具开发一个 SAP 适配器入站应用,在其中定义自己感兴趣的 SAP 系统中的业务数据,将其作为监听对象。

2. 其次,通过 Monitor Toolkit 创建事件监控模型,定义用户感兴趣的事件类型,KPI(Key Performance Indicator) 模型以及事件数据的分析方法。

下图描绘了 WebSphere 应用服务器中的事件流向,SAP 适配器入站程序监听到 SAP 企业信息系统的入站事件之后,首先将入站事件通过消息驱动 Bean 传送给会话 Bean 进行处理,同时,SAP 适配器入站程序捕获入站事件中的企业元数据,将它转换成 CBE 事件,然后发送到 WebSphere Business Monitor 的 CEI 上,并交由相应的监控模型进行分析和处理。


图 2. 集成解决方案事件流向图
integration




回页首


集成方案的相关产品介绍

WebSphere Business Monitor

WebSphere Business Monitor WBM 是 IBM 为用户提供的一个可以利用度量指标、可视显示和报警提供实时业务监控的工具,它为业务活动监控提供了业务流程的实时检测。同时,WBM 提供了特定的开发工具 Monitor Toolkit。这个工具可以以插件的形式安装到基于 Eclipse 的任何集成开发环境中,包括 RAD。它主要用于开发监控模型应用,在其中定义关键性能指示器 (Key Performance Indicator,KPI)。

下图描述了 WebSphere Business Monitor 的工作流程。


图 3. WebSpherer Business Monitor 工作流程图
integration

WebSphere Business Monitor V6.2 为用户提供了全新友好的界面以及功能,同时还提供了增强的预测功能,允许用户利用市场机遇并预防问题,本文的解决方案主要利用到了 WebSphere Business Monitor 提供的以下功能:

  • 定制监控模型:通过友好的业务用户界面,导入其它业务流程管理应用程序定义的业务对象概要文件,生成相应的监控模型,让客户轻松整合业务活动监控功能与其它业务流程管理应用程序,实现全面的业务流程管理;
  • 定制关键性能指标:根据监控模型以及业务对象中的关键字段,定义相应的分析指标,以此来主动避免潜在问题、利用潜在机遇,从而将业务活动监控提升至更高级别, WebSphere Business Monitor 提供了嵌入式的度量指标库,包含超过 800 种开放标准的关键性能指标 (KPI);
  • 定制业务空间:通过可视化操作,将监控模型以及关键性能指标通过丰富的图形展现给客户;

WebSphere Adapters

WebSphere Adapters (WA ) 是 IBM 为用户提供的一种数据与企业应用程序整合的工具,它包含一系列带有向导功能的“通用技术”和“业务应用程序”适配器,其服务能够快速轻松地支持遗留应用程序、ERP、HR、CRM 与供应链系统。


图 4. WebSphere Adapters 工作流程图
integration

它主要包含两个方向的操作:出站应用以及入站应用。本文的解决方案主要用到了其中的入站应用。进行入站操作时,企业信息系统的数据发生任何改变都会通过触发器生成相应事件,WebSphere Adapters 通过主动 poll 模式或者被动 push 模式发现事件,然后查询相应企业信息系统数据,并将其发送到特定目的端。

Rational Application Developer

Rational Application Developer(RAD) 是 IBM 在 Eclipse 之上建立的一个开发公开的、可扩展的集成开发环境 (IDE),它使你能够快速设计、开发、分析、测试、概要分析和部署 Web、Web 服务、门户、Java 和 Java EE 应用程序。RAD 中提供了专门的 J2C Tooling 向导程序,整合 WebSphere Adapters,帮助用户完成业务元数据发现过程,同时生成应用程序所需要的元数据实体 Bean,消息驱动 Bean,会话状态 Bean 以及用于元数据捕获的程序。下面的章节中,我们会介绍如何使用这个向导来完成 SAP 适配器入站应用的创建过程。另外,正如上文所提,Monitor Toolkit 也可以安装在 RAD 中使用。稍后我们也会简单介绍如何利用 RAD 来完成监控模型应用的开发。





回页首


安装集成开发环境

在上一节中,我们已经对本文所述的应用场景中涉及到的产品进行了简单介绍。下面列出了在这个场景中,所需产品的具体版本信息:

  • Rational Application Developer 7.5.2
  • WebSphere Adapters 6.2.0.1
  • WebSphere Business Monitor 6.2.0.1 with EJB 3 feature pack

这些所需的软件都可以通过 IBM 提供的 Installation Manger(IM) 来安装。本文仅列出安装过程中的一些重要步骤以及在安装过程中需要注意的地方。各个产品的详细安装步骤请参考各自产品信息中心上的帮助文档(参见参考资源)。

为了搭建开发和运行时环境,首先需要安装 Installation Manager,然后依次完成下面的步骤:

  1. 安装 WebSphere Adapters 6.2.0.1 以及 RAD 7.5.2 的开发环境
    选择安装组件“Java EE Connector(J2C) tools”、“WebSphere Adapters”和“Tools for WebSphere Application Server V6.1”。
  2. 安装 RAD 7.5.2 的测试环境
    选择相应版本 WebSphere Application Server V6.1.0.23。
  3. 安装 WBM 6.2.0.1 的开发及测试环境
    选择安装“Monitor model editor”以及“Monitor 测试环境”,选择在 WebSphere 应用服务器上新建一个 Monitor Profile。
  4. 安装 EJB 3.0 功能包

由于 Apapter 针对企业信息系统业务事件的监听需要 EJB3.0 的支持,所以需要在刚刚创建的 Monitor profile 上安装 EJB3.0 功能包,步骤如下:

  1. 运行开发环境 RAD 7.5.2
  2. 选择 Windows->Preferences->Server->WebSphere Application Server
  3. 选中刚刚创建的 WebSphere Business Monitor Profile (e.g.WBMonSrv),单击按钮“Run Profile Management Tool”,启动 Profile Management Tool 工具,如图所示。

    图 5. Profile 管理工具
    integration

  4. 在弹出的 Profile Management Tool 面板中,选择按钮“Augment”。
  5. 选择已建好的 WBM profile,点击下一步。
  6. 选择 Application server with Feature Pack for EJB 3.0,点击“Augment”。

这个过程完成之后,可以通过如下方式验证是否已经成功地将 EJB3.0 功能包安装到 Monitor profile。启动 Websphere Application Server 6.1,打开控制台,单击“Application servers”,在 Version 一栏可以看到该服务器所有已安装组件的版本信息,包括 EJB 3.0。





回页首


SAP 适配器入站应用的开发

下面将介绍如何通过使用 RAD 的 J2C 向导程序完成 SAP 企业元数据发现过程。WebSphere SAP adapter 在这个过程中负责发现 SAP 系统的元数据。通过选择用户所感兴趣的业务数据,它可以方便地生成用于描述和操作这些数据的业务对象以及服务接口。这里主要介绍了使用 RAD 的 J2C 工具运行 EMD Wizard 过程的主要操作,详细信息请参照 WebSphere Adapter 用户指南

1)点击运行 RAD 7.5.2

2)在菜单项中点击 File -> New -> Other,会出现如下的面板,选择 J2C-> J2C Bean,点击 Next。此时就进入到了元数据发现过程的向导程序。

3)在 Resource Adapter 选择页中选择 SAP-> IBM Websphere Adapter for SAP Software with transaction support (IBM: 6.2.0.1),点击下一步。

4)在 Connector Import 页面中,修改目标服务器属性,将其改为 WebSphere Adapter Server 6.1。

5)在 Connecter Setting 页面中,指定 SAP Adapter 所需 jar 包和 dll 文件的文件位置,点击下一步。这些文件是访问 SAP 系统所需的一些由 SAP 提供的第三方库文件,可以在 SAP 的官方网站上下载到。

6)在 Adapter Style 页面中,选择 inbound,并勾选“Enable Inbound Event Monitor”,点击下一步。由于对企业信息系统事件的监听目前只支持入站事件,因此只有 Inbound 选项下面会有一个多选框让用户选择是否要使用监听功能。


图 6. 启用入站事件监听功能
integration

7)在 Discovery Configuration 页面中,填写连接 SAP 系统所需的连接信息,如主机名,客户号,用户名,密码等,并选择 SAP 的接口名称:ALE 接口,如图所示。


图 7. 填写 SAP 企业信息系统的连接信息
integration

8)在 Object Discovery and Selection 页面中,在 ALE 下选择“Discovery IDoc From System”, 并选择 IDoc “Orders05”作为需要导入的 Object。

9)在 Configuration Composite Properties 页面中,选择相应的 Service Operation 和 IDoc values to identify selection operation, 并填写用于存放生成 BO 的文件夹。在此例中,我们选择了“create”的操作,并选择对应此操作的 IDoc 值,同时将文件夹 MYXSD 作为存放 BO 的文件夹,如图所示。


图 8. 选择监听事件操作类型
integration

10)在 J2C Bean Creation and Deployment Configuration 页面中,填写如下信息:EJB 工程名,包名,无状态会话 EJB 的本地业务接口名,无状态会话 EJB 名,消息驱动 EJB 名,并创建新的 JNDI 名,如下所示。


图 9. 创建 EJB 项目及相应的会话 bean 和信息驱动 bean
integration

然后点击“New”按钮为资源连接器创建相应的 JNDI 名字并配置其属性。在弹出的新面板中,填写所需的信息,如 JNDI 名,RFC program ID 等,并确认相应的 SAP 系统连接信息无误。


图 10. 创建资源适配器的 JNDI
integration

11)在建好 JNDI 后,点击完成。

12)在 Enterprise Explorer 中,选择生成的 SapInboundEJBEAR, 单击右键,选择 J2EE -> Generate Deployment Descriptor stub。

13)导出生成的业务对象的 schema 文件

在 Enterprise Explorer 中选中生成的业务对象所在的文件夹 MYXSD,右键单击,选择 Export。在导出内容中,选择 General ->File System, 并选择导出文件夹,点击完成。

至此,我们已经完成 SAP 适配器入站应用的开发,并将生成的 BO 文件导出。下一节将介绍采用导出的 schema 文件进行监控模型应用的开发。





回页首


监控模型应用的开发

这一节将简单介绍如何利用 Monitor Toolkit 开发监控模型。监控模型根据导入的 schema 文件定义出该监控模型关心的事件类型,然后定义相应的关键性能指示器,这样在运行时,这些数据就可以被读取到并进行分析和整理。具体关于如何定义 KPI,可以参看 WebSphere Business Monitor 信息中心

1)在 RAD 中,切换至 WBM 透视图,如图所示。


图 11. 切换至 Business Monitoring 透视图
integration

2)新建 Business Monitoring 工程。在 Project Explorer 视图中,单击右键,选择 new -> Business Monitoring project, 填写工程名称。

3)右键单击刚建好的工程,选择导入 , 导入之前从入站应用导出的 schema 文件。

4)右键单击该工程,选择 new->Monitor Model。填写属性文件名,点击完成。

5)在上一步中创建的监控模型中创建入站事件、驱动、度量,如图所示。然后再定义相应的 KPI。


图 12. 创建监控模型
integration

6)完成创建监控模型后,右键单击生成的 .mm 文件,选择 Generate Monitor J2EE Projects, 生成 J2EE 工程。

至此我们已经完成了对于整个业务方案的开发,包括使用 WebShpere Adapter 完成的企业数据发现过程和使用 Monitor Toolkit 开发的监控模型。前者负责监听 SAP 系统中的入站事件并将之转换成 CBE 格式的事件,发送到 CEI 上;而后者负责将 CEI 转发到自己队列中的事件读取出来,并进行相应的分析和处理。当然,这两个应用必须首先部署到服务器上。下面我们将简单介绍如何部署它们。





回页首


应用程序的部署

这一节主要介绍如何将业务方案部署在应用服务器上,包括 SAP 适配器入站应用和监控模型应用。

我们将利用 RAD 集成测试环境来部署 SAP 适配器入站应用。首先,在 RAD 中选择 Server 视图,右键单击 WebSphere Business Monitor,选择“Add and remove projects”。然后将之前开发的 SAP 适配器入站应用工程添加至右侧,点击完成。当 Server 视图显示应用已经启动时,说明 SAP 适配器入站应用工程已经成功被部署在 WebSphere Business Monitor 上了。

对于监控模型应用,我们采用另一种方法。首先,将监控模型项目利用 RAD 的导出功能将它导出成一个 EAR 文件。然后,打开 WebSphere Business Monitor 的控制台,展开“Applications”, 点击“Monitor Models”。在右侧的页面中,选择“Install”,如下图所示。然后将路径指定到刚刚导出的 EAR 文件,就可以完成它的部署。最后,可以通过检查应用的状态来确定是否已经部署成功。


图 13. 部署监控模型
integration

此时,业务方案已经成功部署在服务器上,并且已经成功启动了。之后我们就可以通过 SAP 系统提供的图形用户界面来触发该业务方案,并通过 WebSphere Business Monitor 将 SAP 适配器监听到的事件及事件响应的 KPI 成功展示出来。





回页首


应用的运行以及结果展示

在上一节中我们已经成功地的开发了 SAP 系统的业务事件监听方案模块。此节将通过 GUI 工具来触发 SAP 系统中的事件,该事件将会被 WebSphere SAP Adapter 捕捉到,并经过一定的处理再发送到服务器的 CEI 组件中。监控模型负责读取和处理这些事件,并通过展示板将最终展现出来。

这里,我们将主要介绍如何将这些事件在 Business Space 中展现。Business Space 是一个通用的可定制的基于 Web 的展示工具。用户可以定制各种内置的小器具 (widget) 来定义展示内容和风格。下图就是 Business Space 的一个主界面。


图 14. Business Space 主界面
integration

我们首先需要添加并配置 Instance Widget,才能获取到事件信息。单击 add widget,选择 Instances,并为新建的 instance 配置相应的所需参数。此时,便可以在展示板中看到之前 SAP GUI 所触发的事件,如下所示。


图 15. 事件实例列表
integration

有了这些数据内容,我们就可以定制不同的展示风格,来展示各种 KPI 值。下图包括了 4 种风格。我们以右下角的图为例,黄色的饼图表示的是“TotalOrderNumbers”,即总订单数。黑色箭头表示的是当前值 43,而白色线条表示的是该统计数据的 KPI,35。也就是说,当前的总订单数要优于预期。如果情况相反,即当前值低于预期,则需要进行进一步调查,并且采取相应措施来提高订单数量。这时就能够体现出业务事件的监控,是如何帮助业务人员进行分析,及时发现问题,并制定和采取相应措施,进而降低风险并提升业务量的。


图 16. KPI 图例展示
integration

另外,Business Space 还支持多维数据的展示,帮助用户更加直观地捕捉到感兴趣的信息,并通过对比提高了数据的可分析性。


图 17. 多维数据展示
integration




回页首


结束语

本文主要介绍了如何通过 WebSphere Adapters, WebSphere Business Monitor 以及 Rational Application Developer 的集成,来实现对外部企业信息系统的业务事件进行监听,包括该解决方案的开发、部署和运行全过程,并对其中涉及的产品分别作了简单介绍。这个解决方案能够提升企业的业务监控能力,从而帮助企业更快更准确地做出业务决策,避免风险的发生。



参考资料



作者简介

罗萍,IBM 中国开发中心软件工程师。自 2006 年加入 IBM 之后,一直参与 Business Integration 相关技术领域的研发和测试,产品涉及 WebSphere Process Server, WebSphere Integration Developer 以及 WebSphere Adapters。目前主要从事 WebSphere Adapters 产品的系统集成测试。


程国强,IBM 中国软件开发中心软件工程师。自 2006 年任职于 WebSphere Adapters 团队,从事相关产品的研发工作,对 Connectivity,SOA,Web2.0 等领域有兴趣。


吴振华,IBM 中国开发中心软件工程师,主要从事 Business Integration 相关技术领域研发和测试, 擅长 Websphere 产品集成测试,对 SOA ,Eclipse 以及 Web2.0 技术很感兴趣。




对本文的评价








IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款