传统的MES系统软件开发需要为每个活动开发相应的用户界面和处理类。这些类既要完成业务过程处理, 还需要维护业务数据和过程数据,如果业务过程发生改动,需要大量改变代码。

利用工作流技术可以在建模时通过工作流模型定义业务过程,在执行时由工作流引擎控制过程的运行。 在基于工作流技术的MES系统软件中,通过把处理类中的业务过程处理掉,而只保留其中的业务逻辑, 并将其作为独立的组件提供,以提高其可重用性。

软件体系结构包括三部分:系统数据、应用服务和Web服务器.

系统数据库存贮了三部分数据:工作流模型数据保存定义好的组织模型和业务过程模型; 工作流控制数据是工作流引擎维护的、用于记录过程实例与活动实例的状态信息; 工作流业务数据是MES系统软件业务逻辑操作处理的数据

MES系统软件中引入工作流技术后,开发时可专注于编写相应的业务逻辑处理类和用户界面。 通过组件调用接口封装MES系统软件业务逻辑代码,实现业务逻辑和业务过程的松散耦合。 实施时根据实际生产流程进行过程建模,为开发和运行环境间提供形式上的分离, 用建模工具产生可以被工作流引擎解释并执行的过程定义。

Activiti5 是由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架, 它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、 灵活的、易扩展的可执行流程语言框架. 可以作为开发 MES 系统的参考 .

(1)Activiti Engine Activiti工作流引擎,是整个Activiti中最为核心的部分。它是对BPMN 2.0规范的执行、创建、管理、查询历史记录,并且根据结果来生成报表。 (2)Activiti Modeler Activiti模型设计器,它适用于多个方面,主要功能是被工作流的设计人员用来将需求转换为规范流程定义。 (3)Activiti Designer 它的功能与Activiti模型设计器相似,它也拥有基于BPMN 2.0规范的可视化设计功能,但是不足之处是它仍然不能百分百地支持BNPM规范的定义。 它非常符合开发人员的需求,它具备将业务需求人员用Signavio设计的流程定义导入到Activiti Designer中,进而能够使得工作流的业务开发人员将它进一步实现为可以流转运行的流程定义。 (4)Activiti Explorer 它能够用来管理用户、仓库、启动流程、办理任务等。该部分使用了REST风格的API,非常适合没有工作流开发基础的程序员来使用,它的主要特点是提供了一个基础的设计模型。 (5)Activiti REST 提供Restful特色的服务,可以满足客户端以JSON的方式与引擎的REST API交互。

MES其实很特殊的,因为它的本来名称(车间生产管理系统)决定了它不能像ERP那样有标准版本的, 它作为承上启下的关键,是细化某一个车间(或生产线)的生产过程,各家行业各家产品各个车间 乃至某一条生产线,它都是千差万别的,几乎可以称之为定制化系统。先看看MES的行业标准, 了解制造业的生产过程,当你开始做时,你就明白它对企业细化生产过程,MES起着多么重要的作用, 也是企业中最难以成型和推行的信息化系统。

现在的物联网技术快速发展,许多设备都可以使用无线或有线的物联网协议。物联网协议的小数据流, 可以实现对企业生产过程全方位的监控管理和物流状态追踪管理,完善原有MES系统功能, 实现厂内物流和厂外物流的可视化操作和智能化管理,满足企业高层对管理数字化的要求.