乾元坤和生产管理系统应用

基于BPM的生产管理系统的实现

日期:2026-09-01

乾元坤和编辑

基于 BPM 的生产管理系统设计一文中我们对基于BPM的生产管理系统设计的理论框架进行了介绍,这里我们将对其具体实现进行进一步的展开。

1 数据支持层

数据支持层采用数据持久化框架Hibernate完成对不同管理系统数据源的整合。Hibernate作为Java应用程序和关系数据库数据交流的接口,它对JDBC进行了轻量级的封装,通过封装数据库底层的操作细节,屏蔽了不同数据库语言的差异,实现了对不同数据源的透明访问。在该系统的实现中,通过Hibernate的访问配置,实现了对企业已有的工艺配方管理系统、用友财务管理系统的数据库与生产管理系统数据库的整合,促进了信息的流通,初步达到了企业应用集成的目的。

2 RBPM平台层

BPM平台层中流程引擎采用JBPM.JBPM流程引擎的工作机制如下:在流程部署阶段,流程引擎加载XML格式的流程定义文件,解析之后持久化到工作流相关的数据库中,形成流程档案;流程开启后,JBPM流程引擎根据流程档案进行流程实例化,负责推动流程实例的遍历,执行流程中定义的动作,维持流程状态,并记录所有流程事件。

规则引擎采用JBossRules.JBossRules是一个基于Rate算法的由数据驱动的规则引擎,它包括规则、事实和推理机3部分。规则存在规则库中,事实存在服务器工作内存中,由业务流程提供,两者通过推理机来实现匹配,规则被激活后由Agenda安排执行。

3 流程处理层

流程处理层由JBPM流程引擎和JBossRules规则引擎对提炼和建模完善的业务流程模型和规则模型进行管理维护。这一层的实现主要是使用系统能识别的语言定义各个业务流程模型和规则模型。
业务流程建模使用JBPM提供的流程定义语言jPDL。jPDL以图形化的方式描述业务流程。一个业务流程在BPM系统中表达为一个由模型元素(节点和连接弧)所组成的有向图。节点代表活动,连接弧代表活动间的顺序传递关系。
本研究针对本研究讨论的生产管理系统,采用自上而下的层次建模方法。首先对整个生产管理系统进行流程建模,确定总的业务流程,其次对各个大业务流程内部的子业务流程建模,最终实现整个生产管理系统的业务流程建模。根据企业的实际需求,生产管理过程中涉及到的业务流程主要有订单处理流程、生产主流程、采购流程等。这里以采购流程为例说明业务流程定义的方法,采购流程图如图1所示。

基于BPM的生产管理系统的实现之采购流程图

采购业务流程描述为:首先,请购人员(包括生产部调度员、仓库管理员等)根据物料需求状况新建采购申请单,提交后自动流转到采购部门主管;采购主管对采购申请的内容、金额等情况进行审核,若采购金额较大则须提交到高级主管审核;审核通过后,即托付到采购员创建采购订单,联系供应商,进行采购活动;采购到货后,质检部门进行质量检验,若检验合格则进行仓库入库登记;否则,进入特例采购申请,由主管进行审查,如果同意则进行仓库入库登记;否则执行退货程序;入库完毕后将采购收货单、采购发票提交到财务部门进行结算;退货或者入库活动结束后,采购流程完成。

本研究针对上述流程使用jPDL建模时,使用到了几种流程节点:①人工任务节点,如审批、修改节点,通过任务分配机制确定这些任务节点的参与者;②判定节点,如对审批流程、特例申请的判定,这类节点实现了流程的分支功能;③普通流程节点,在这类节点流程自动执行设置的任务。流程定义模型的本质是XML格式的配置文件。在配置文件中,针对不同的流程节点,可以设置各个流程节点需要处理的事件,分配每个流程节点对应的操作人员,也可以设置判定节点的判定方法。

采购流程中涉及到的业务规则主要是根据采购金额的数目控制审批流程,而这个金额的限定值是随着企业管理制度的变化而变化的。本研究使用JBossRules进行规则提取,能快捷地对业务规则进行修改,从而适应这种变化。

在流程运行过程中,规则引擎以流程变量中的采购申请单对象作为事实,推理机结合规则运行规则匹配算法,实现规则的触发,从而控制业务流程的走向。

基于BPM的生产管理系统的实现之生产主流程模型图

其他的业务流程以及对应的业务规则建模与采购流程大致相同,生产主流程模型如图2所示。这样,本研究通过业务流程建模和规则建模,将业务流程控制和具体的业务处理功能分开,对于可能出现的流程变化和规则变化,只需要修改流程配置文件和规则定义文件,即可完成对流程的更新升级,快捷方便。

4 应用表示层

该层采用JSF框架实现任务处理和页面跳转,使用XHTML实现Web页面。JSF是典型的MVC框架。视图层主要实现Web页面显示,将待处理的任务、需要查看的业务数据或者其他业务操作内容呈现在用户面前。模型层定义了生产管理系统需要处理的实体对象和具体的应用程序,负责业务逻辑和业务数据的处理,在这一层实现了对业务流程的发起、执行和结束等管理活动的调用。一个模型可以被多个视图重用,从而提高了应用程序的可复用性。控制器主要控制数据流向,通过接收用户界面的请求,并将请求分配给对应的模型,最后以经过模型处理后的视图响应用户的请求。本研究使用JSF能实现表示层界面和功能代码的松耦合,有利于开发人员的分工协作和提高组件的重用性,易于扩展和维护。

为了增强用户界面的交互性,本研究在Web页面采用了动态的语言编程,如Ajax、Javascript等,既能辅助用户完成业务处理工作,又能通过这种“富客户端”技术减轻用户访问对数据库和服务器的压力。


了解更多相关信息,请点击生产管理系统,或拨打 进行咨询。

相关文章:

客服系统