论文部分内容阅读
在大型零售企业中,供应商主数据、商品主数据至关重要,并且这些数据的更新会涉及到零售企业中的众多部门,所以这些信息的修改需要经过必要的、多环节的审核。企业A是大型零售企业,以前仅使用SAP的Material Management(MM)模块进行这些主数据的维护,仅凭SAP的MM模块并不能提供多环节审核主数据的流程,在SAP MM中对‘一次主数据维护’进行保存后,这次修改就生效了,这就缺乏必要的多环节的系统审核;SAP的整体解决方案功能强大、可配置性高、最擅长ERP的管理,SAP产品家族中有一个可实现在多个SAP前台用户之间自动流转工作流的、集成已部署的SAP应用模块的技术平台------SAP BPM,通过购买并实施SAP BPM是可以帮助企业A实现多环节审核主数据的流程,但购买并实施SAP BPM的费用比较高,企业A没有这么多的预算来购买并实施SAP BPM。所以以前企业A中审核主数据更新的流程是通过邮件、手工签字来进行的,非常繁琐,并且容易丢失纸制单据,存在较大风险。本文针对企业A的这些问题,提出了构建一个能支持多环节审核主数据的系统,并在企业A现已使用的WebSphere软件平台上作配置和开发,来使该新系统可以从SAP获取主数据来进行维护、并把通过所有环节审核的主数据更新传给SAP进行校验以生效,从而可以用较少的财力投入来使更新这些主数据变得严谨和便利。我们采用了Java这个拥有出色的高效性、通用性、平台移植性、安全性、应用广泛的面向对象的程序设计语言,但Java构造在诺依曼架构上,是顺序执行指令的,所以在Java中不能暂停执行,这一问题对于用Java实现BPM系统来说是必须解决的。我们选用了JBoss jBPM是这个强大的、可扩展的、易移植的工作流管理系统,jBPM用面向图的程序设计的技术,面向图的程序设计其核心方法是对运行时的图执行用直观的命令式编程,所以图是软件的组成部分,并且在运行时间图的执行紧密地跟解释命令软件结合,因此面向图的程序设计让Java变成了面向图的开发语言,扩展了Java的诺依曼架构以实现了暂停执行和持久化执行;jBPM用直观、强大的流程语言来表示业务流程图的术语,如流程的等待状态、任务、定时器等等,这些操作使jBPM拥有了功能强大、可扩展的控制流机制。本文中开发的BPM系统就是基于jBPM的核心功能的。我们在该项目中引入了包括节点、转换(包括进入节点的进入转换和离开节点的离开转换)、令牌(在一个系统内的流程执行路线,有个指针指向节点)、信号(使令牌离开节点)、动作(在流程事件中执行的一段Java代码)的图执行模型,尤其是在图执行模型中加入的可见的动作使业务分析员可以自由建模,也使技术开发人员在不改变业务分析员建立的原始图的情况下,就可以为业务流程增加执行的细节。本项目利用开源软件Struts2框架,在SSH这个基于J2EE Web应用的MVC(Model View Controller)编程模式下,在jBPM上作二次开发来实现了这个BPM系统;其中,Model部分程序代码用了EJB(Enterprise JavaBean),View部分使用了JSP技术规格,Controller部分的JBoss jBPM调度程序用的是Servlet,给用户操作使用的前台html页面是在Jquery框架下开发的。并运用IBM WebSphere Message Queue(MQ)、IBM WBI ICS中间件技术设计与实现了该BPM系统与SAP系统的互联。在开发完该BPM系统后,测试团队进行了单元测试与集成测试,我们给用户作了系统操作培训并安排用户作用户验收测试(UAT),UAT通过后该系统上线。上线后运行稳定,用户通过使用该系统完成了多环节审核主数据的所有操作,使多环节审核主数据的一系列流程变得严谨、可控和便捷,该项目的成本也远低于估算的实施SAP BPM的成本。