使用 WebSphere Adapter 和 WebSphere Business Events 完成 SAP 系统的业务事件监听
2010-04-16 00:00:00 来源:WEB开发网通过对业务事件的监控和分析,使业务决策人员能够及时做出业务判断,使问题能够被尽早发现,从而减少可能带来的损失。本文首先介绍该解决方案的总体架构,以及所涉及到的产品的基本概念,然后分步介绍如何实现这个解决方案,包括开发、部署、运行全过程。
业务需求及解决方案概述
当前企业的业务需求变化越来越快,如何在确保降低风险的同时增加潜在客户资源,如何洞察客户行动,以便在正确的时间由正确的人采取正确的行动,这些都成为企业可能面临的难题。于此同时,企业应用中存在的潜在问题,如产品质量下降,客户流失等如何能够被及时发现;如何对企业业务趋势进行跟踪与分析,以便及时处理企业成长中的种种问题等。
WebSphere Adapter 和 WebSphere Business Events 产品的集成为解决上述问题提供了一套完整的解决方案。通过使用 WebSphere Business Events 对业务事件的监控,业务决策者就能够及时洞察客户动向并采取正确举措,通过对企业业务趋势的监控可以及时掌控企业所处阶段,预测和分析可能存在的潜在问题,及时制定相应的对策来规避风险。
本文将通过一个具体应用场景——网上支付系统,来描述如何实现对企业信息系统入站信息的监听、分析和整理,并最终将其展现给业务决策人员。
在该场景中,当客户通过 Web 站点提交支付请求之后,相应的请求记录将会在 SAP 系统中被创建。WebSphere Adapter 可以监听到 SAP 系统中的变化,并根据这些变化的数据构建业务事件,然后交给 WebSphere Business Events 来进行分析和整理,最终以用户自定义图表的方式显示在 Business Space(业务空间)中。图 1 展示了该应用场景的总体架构。
图 1. 集成解决方案总体架构图
如图所示,用户通过上层 Jave EE Application 对 SAP 系统进行数据更新的同时,WebSphere Adapter 能够监听 SAP EIS 相应事件更新,负责将来自 SAP 系统的业务对象构建成符合 Common Base Event(CBE) 规范的事件,然后将包含有效业务数据的事件发送到 WebSphere Business Events 的 Common Event Infrastructure(CEI) 组件上,CEI 根据内置的转发规则再将该事件转发到对应的监控模型的专属队列上,最终通过 Business Space(业务空间)展现给用户。
整个架构的设计和执行有以下两个重要步骤:
1. 首先,用户需要通过使用 Rational Application Developer(RAD)J2C 工具开发一个 SAP 适配器入站应用,在其中定义自己感兴趣的 SAP 系统中的业务数据,将其作为监听对象。
2. 其次,通过 WebSphere Business Events 创建业务事件处理流程,定义用户感兴趣的业务事件和活动,最后使用 Business Space 将监控数据以图表的方式进行分析和显示。
图 2. 集成解决方案事件流向图
查看原图(大图)
集成解决方案事件流向图描绘了 WebSphere 应用服务器中的事件流向。SAP 适配器入站程序监听到 SAP 企业信息系统的入站事件之后,首先将入站事件通过消息驱动 Bean 传送给会话 Bean 进行处理,同时 SAP 适配器入站程序捕获入站事件中的企业元数据,将它转换成 CBE 事件,然后发送到 WebSphere Business Events 的 CEI 上,并交由相应的业务事件处理流程进行分析和处理。
集成方案的相关产品介绍
WebSphere Business Events
WebSphere Business Events (WBE) 是专门用作 IT 基础结构中的事件管理层。它是一个充分集成的技术平台,提供了设计、运行和监视复杂业务流程的功能。同时,WBE 由一组无缝集成组件组成(每个组件使用的所有元素的定义以 XML 格式存储在一个统一安全元数据存储库中)。IT 开发人员无需对现有系统进行重新设计及部署,通过 WBE 即可进行对现有系统的无缝连接。图 3 描述了 WebSphere Business Events 的产品体系结构。
图 3. WebSpherer Business Events 体系结构图
WebSphere Business Events V6.2 为用户提供了全新友好的界面以及功能,可以在不改变现有系统部署的前提下实现对业务事件的处理和监控,以最小代价完成同企业原有系统的无缝连接。本文的解决方案主要用到了 WebSphere Business Events 提供的以下功能:
Design Data 工具:通过友好的业务用户界面定义外部数据源(数据源)、业务对象模型(中间对象)和将以实时方式交互的业务系统(接触点、事件和操作)。
Design 工具:定义业务事件逻辑,该逻辑协调接触点之间的业务流程,还支持创建用于为业务流程建模的图形事件流程。
WBE 运行时:从 JMS 消息队列中获取事件,然后针对交互集中定义的连接器业务事件逻辑求出这些事件的值,并将操作放置在消息队列中。操作连接器从该队列中选取事件并将事件传递到相关联的接触点,以便进行适当的操作。
仪表板:拥有简单可视的操作界面,可以轻松通过图表和布局查看 WebSphre Business Events Runtime 活动。
WebSphere Adapters
WebSphere Adapters (WA)是 IBM 为用户提供的一种数据与企业应用程序整合的工具,它包含一系列带有向导功能的“通用技术”和“业务应用程序”适配器,其服务能够快速轻松地支持遗留应用程序、ERP、HR、CRM 与供应链系统。
图 4. WebSphere Adapters 工作流程图
查看原图(大图)
它主要包含两个方向的操作:出站应用以及入站应用。本文的解决方案主要用到了其中的入站应用。进行入站操作时,企业信息系统的数据发生任何改变都会通过触发器生成相应事件,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 适配器入站应用的创建过程。
安装集成开发环境
在上一节中,我们已经对本文所述的应用场景中涉及到的产品进行了简单介绍。下面列出了在这个场景中,所需产品的具体版本信息:
Rational Application Developer 7.5.3
WebSphere Application Server 6.1.0.25
WebSphere Adapters 6.2.0.2
WebSphere Business Events 6.2.1
这些所需的软件都可以通过 IBM 提供的 Installation Manger(IM) 来安装。本文仅列出安装过程中的一些重要步骤以及在安装过程中需要注意的地方。各个产品的详细安装步骤请参考各自产品信息中心上的帮助文档(参见参考资源)。
为了搭建开发和运行时环境,首先需要安装 Installation Manager,然后依次完成下面的步骤:
安装 WebSphere Adapters 6.2 以及 RAD 7.5.3 的开发环境
选择安装组件“Java EE Connector(J2C) tools”、“WebSphere Adapters”和“Tools for WebSphere Application Server V6.1”
安装 RAD 7.5.3 的测试环境
选择相应版本 WebSphere Application Server V6.1.0.25
安装 WBE 6.2.1 的开发及测试环境
选择安装 WebSphere Business Events v6.2.1
SAP 适配器入站应用的开发
下面将介绍如何通过使用 RAD 的 J2C 向导程序完成 SAP 企业元数据发现过程。WebSphere SAP adapter 在这个过程中负责发现 SAP 系统的元数据。通过选择用户所感兴趣的业务数据,它可以方便地生成用于描述和操作这些数据的业务对象以及服务接口。这里主要介绍了使用 RAD 的 J2C 工具运行 EMD Wizard 过程的主要操作,详细信息请参照 WebSphere Adapter用户指南。
1)点击运行 RAD 7.5.3
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.2),点击下一步。
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”,点击下一步。在 Event and JMS configuration 页面中,Event type 选择“WebSphere Business Events”。 由于对企业信息系统事件的监听目前只支持入站事件,因此只有 Inbound 选项下面会有一个多选框让用户选择是否要使用监听功能。
图 5. 配置业务事件类型
7)在 Discovery Configuration 页面中,填写连接 SAP 系统所需的连接信息,如主机名,客户号,用户名,密码等,并选择 SAP 的接口名称:BAPI 接口。
图 6. 填写 SAP 企业信息系统的连接信息
8)在 Object Discovery and Selection 页面中,在 RFC 下选择“BAPI_CUSTOMER_GETDETAIL”作为需要导入的 Object。
9)在 Configuration Composite Properties 页面中,选择相应的 Operation 和 RFC type, 并填写用于存放生成 BO 的文件夹。在此例中,我们选择了“create”的操作,RFC type 选择”Synchronous RFC”,BO 文件夹名为”SAPBO”。
10) 在 J2C Bean Creation and Deployment Configuration 页面中,填写如下信息:EJB 工程名,包名,无状态会话 EJB 的本地业务接口名,无状态会话 EJB 名,消息驱动 EJB 名,并创建新的 JNDI 名。然后点击“New”按钮为资源连接器创建相应的 JNDI 名字并配置其属性。在弹出的新面板中,填写所需的信息,如 JNDI 名,RFC program ID 等,并确认相应的 SAP 系统连接信息无误。
图 7. 创建资源适配器的 JNDI
11)在建好 JNDI 后,点击完成。
12)在 Enterprise Explorer 中,选择生成的 Session Bean 文件”SAPInBAPIinterfSB.java”,单击右键,选择”Source – > Generate Event Mapping”。在指定的 BO 文件夹下将生成两个文件 EventBOTypeMapping.xml 和 EventBOTypeMapping.xsd。这两个文件记录了基本的事件信息,在下面的业务事件处理应用开发中将作为主要的配置输入。
至此,我们已经完成 SAP 适配器入站应用的开发,并生成了相应的 Mapping 文件。下一节将介绍根据生成的 Mapping 文件进行业务事件处理流程的开发。
业务事件处理应用的开发
这一节将简单介绍如何利用 WebSphere Business Events 开发业务事件处理流程。业务事件处理流程根据导入的 Mapping 文件定义相应的业务系统,包括业务数据源、业务对象和活动等,然后再定义出相应的业务处理逻辑。这样在运行时,数据就可以被读取到并按照处理逻辑进行分析和整理。
1)打开 WebSphere Business Events – > Design Data, 新建一个工程。点击 File -> New Project。
2)创建接触点。在左侧的 Touchpoints 区域,单击右键插入一个接触点,选择”Insert Touchpoint..”,在弹出窗口中填写接触点名称。
3)给接触点定义事件。在接触点上单击右键,选择”Insert Event” -> “Like Schema” -> “From WebSphere Adapter”。选择在 SAP 适配器入站应用开发中生成的 EventBOTypeMapping.xml 文件。
4)通过编辑事件对象定义需要进行监控的事件对象。比如在该对象上单击右键选择”Delete Event Object”可以删除该事件对象;编辑事件对象的域,比如在该域上单击右键选择”Delete”可以删除该域。如图 12 所示,为定义好的事
件”emitCreateAfterImageSapBapiCustomerGetdetailWrapper”.
图 8. 定义事件对象
查看原图(大图)
5) 配置事件属性。在事件上单击右键,选择”Event Properties..”,在 Connection 页选择”Message Queue Connection”进行事件的连接配置。
6)在弹出的”Message Queue Event Connection”窗口中,选定 Format 为”Custom XML (XSL input)”。点击”Configure..” -> “New” -> “File”选择准备好的 .xsl 文件。
图 9. 配置事件连接属性
这里的 .xsl 文件是用来将 WBE Runtime 服务器创建的 XML 信息包转换成接触点支持的一种格式。该解决方案中使用的 .xsl 文件请参见附件。
7) 配置 Queue 部分,选择 Type 为”JMS Topic”,指定 Queue 名称,并配置相应的 Provider 信息,如下图。点击”OK”完成事件属性的配置。
8) 生成中间对象。将定义好的事件对象拖拽到”Intermediate Objects”区域,系统将自动生成对应的中间对象。
9)给接触点创建活动。在接触点上单击右键,选择”Insert Action” -> “Blank”, 在弹出窗口中填写活动名称。
10)将中间对象拖拽到活动中来,生成对应的活动对象。
图 10. 创建活动对象
11)配置活动属性。在活动上单击右键,选择”Action Properties”,在弹出窗口中点击”Connection”页,选择连接类型”File System Connection”,这样活动生成的信息文件将存储到指定的文件系统中。
图 11. 配置活动属性
12) 在弹出的”File Action Connection”窗口中可以配置详细的活动连接信息。点击”Configure..”配置详细的 Server 信息。
13)点击 OK 完成整个活动属性配置后,点击”File -> Save Project”保存整个项目。
至此,我们已经为事件监控定义好了业务数据源(接触点),事件对象,业务对象(中间对象)以及业务交互(活动)。接下来需要在 Design 工具中进一步定义业务事件处理逻辑。
14)打开 WebSphere Business Events -> Design,点击”File -> Open”打开在 Design Data 中保存的项目文件。点击”Create -> Interaction Set”创建一个业务处理逻辑。
图 12. 创建业务事件处理逻辑
15)定义业务处理的逻辑关系。通过单击可以方便的选择逻辑处理的事件,需要采用的活动,逻辑处理的时间设定等。
到这里,我们已经完成了对于整个业务方案的开发,包括使用 WebSphere Adapter 完成的企业数据处理过程和使用 WebSphere Business Events 开发的整个业务事件处理流程。前者负责监听 SAP 系统中的入站事件进行正常的企业信息处理,同时将他们转换成 CBE 格式的事件发送到 CEI 上;而后者负责将 CEI 转发到自己队列中的事件读取出来并进行相应的分析处理。下面,就需要将这两个应用都部署到服务器上,完成业务事件的实时监控、分析和处理。
应用程序的部署
这一节主要介绍如何将业务方案部署在应用服务器上,包括 SAP 适配器入站应用和业务事件处理应用的部署。
首先部署 SAP 适配器入站应用。利用 RAD 集成测试环境的导出功能将 SAP 适配器入站应用导出成一个 EAR 文件,启动 WebSphere Business Events 中集成的 Application Server 并打开应用服务器的控制台,展开”Applications – > Enterprise Applications”,在右侧的页面中选择”Install”然后将路径指定到刚刚导出的 EAR 文件,就可以完成它的部署。通过检查应用的状态来确定是否部署成功。
接下来部署业务事件处理应用。在 WebSphere Business Events -> Design 中点击”Tools -> Repositories..”,在弹出窗口中点击”Login”设置 WBE 实时连接信息。
图 13. 配置 WBE 连接信息
登陆成功后选中 Project 页中列出的所有文件并点击”Add in”,将业务事件处理应用部署到应用服务器上。
打开应用服务器控制台,在”Applications -> Enterprise Applications”中可以看到 wberuntime 应用已经被部署,重启该应用可以使新的部署生效。
最后,启动 WebSphere Business Events -> Connectors,建立 WBE 与应用服务器的实时连接。
此时业务方案已经成功部署到应用服务其上并成功启动了。之后我们就可以通过 SAP 系统提供的用户图形界面来触发该业务方案,并通过 WebSphere Business Events 将对 SAP 适配器监听到的事件进行分析和处理的结果成功展示出来。
应用的运行以及结果展示
在上一节中我们已经成功开发了 SAP 系统的业务事件监听方案模块。此节将通过 GUI 工具来触发 SAP 系统中的事件,该事件将会被 WebSphere SAP Adapter 捕捉到,并经过一定的处理再发送到服务器的 CEI 组件中。业务事件处理流程负责读取和处理这些事件,并通过展示板将最终展现出来。
这里,我们将主要介绍如何将这些事件在 Business Space 中展现。Business Space 是一个通用的可定制的基于 Web 的展示工具。用户可以定制各种内置的小器具 (widget) 来定义展示内容和风格。图 24 就是 Business Space 的一个主界面。
图 14. Business Space 主界面
查看原图(大图)
首先我们需要在 WebSphere Business Events -> Properties 中配置两个属性值以记录历史记录,这样才能通过用户定义的图表来实时监视事件、操作和数据。打开 WebSphere Business Events -> Properties, 点击”Full Configurator -> Server”, 在”Minor section: History Settings”下确定下列两个属性值为”true”,然后保存退出:
as.director.server.history.enableRecording -> true
as.director.server.history.enableModule -> true
查看在”WebSphere Business Events -> Design Data”中配置活动连接信息时指定的文件夹目录,应该列出了监控事件产生的所有事件监控实例。
接下来,有了这些数据内容我们就可以在 Business Space 中定制不同的展示风格,用图表进行数据显示和分析。首先在 Business Space 中添加并配置 Instance Widget, 才能获取到事件信息。单击”Add Widgets”,从右侧拖拽”Business Events Chart Manager”。然后点击”Add Chart”,选择不同的图表类型并配置所需要的参数。如图 27 就是用仪表方式展示的监控图。可以看出,当前的总支付交易数为 4.
图 15. 数据分析图表
在这里,我们只是使用 Business Space 生成了一个简单的仪表图作为示例,对于 Business Space 提供的其他显示功能比如饼图,柱状图,多维数据显示图等详细信息,请参见 Business Space 信息中心。
结束语
本文主要介绍了如何通过 WebSphere Adapters, WebSphere Business Events 以及 Rational Application Developer 的集成,来实现对外部企业信息系统的业务事件进行监听,包括该解决方案的开发、部署和运行全过程,并对其中涉及的产品分别作了简单介绍。这个解决方案能够提升企业的业务监控能力,从而帮助企业更快更准确地做出业务决策,避免风险的发生。
下载
描述 | 名字 | 大小 | 下载方法 |
event.xsl | event.xsl | 2KB | HTTP |
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
更多精彩
赞助商链接