为了增强对企业业务过程的有效管理,需要在 MES系统软件 中引入工作流技术。在MES系统软件中,对业务性很强的业务过程用工作流系统来管理,而对于企业中没有实现电 子化的那部分业务过程同样可以由工作流管理系统来管理。可见工作流系统还包括了一些不属于MES功能的过程。为了方便这里不加区分,而把MES需要工作流 系统实现的过程和以前没有实行电子化的过程统一管理。
工作流包括一组活动以及活动之间的逻辑关系。活动对应着业务过程中的任务,逻辑关系决定了活动的执行顺序和活动之间的数据流动关系。工作流执行者负责人工 活动的执行,执行时需要一些相应的数据、资源和相关软件。工作流管理系统本身需要建立在某种软件组件基础之上,如J2EE或NET。而MES系统中的业务 过程可以分解成活动,每个活动实现某种特定功能。过程中的活动可以由软件组件来实现,并根据模型的对应关系把这些软件组件插入到工作流系统中,运行时由工 作流引擎调用。这些活动,或者功能,可以建立在与工作流管理系统相同的组件基础结构之上。
引入工作流技术的MES系统软件结构如图所示。底层是操作系统、网络、数据库和基础组件平台,作为整个系统的基础结构。在这个基础结构之上建立MES系统和 工作流管理系统,它们都是建立在同一个平台之上(J2EE或.NET)。工作流管理系统是管理者,它帮助建立整个企业的业务过程,并且通过管理和监视业务 过程的执行来完成MES系统软件的一部分功能。工作流中相应活动的功能由软件组件实现,而这些软件由工作流管理系统根据过程规则进行触发。用户通过工作流客户 端进入系统,在工作流执行服务的支持下,完成系统中业务过程的运转。工作流管理系统与MES的其他子系统共同存在,工作流管理系统通过调用相关子系统中的 软件组件来实现相应的功能,同时通过访问企业数据库来进行数据交换。通过工作流系统来管理其他子系统中的业务过程,增强了MES系统软件对过程的处理能力。而 工作流管理系统通过与MES系统软件共享底层数据库以及通过调用实现了相关MES系统软件功能的软件组件,来实现与其他MES子系统的紧密集成。
在业务过程中,人工活动由人来控制执行,执行时需要调用相关的应用程序和MES系统软件中的软件组件,而自动活动由计算机程序来执行,该程序就是在工作流管理系统 运行时由工作流引擎触发的软件组件。这些软件组件由 MES系统软件 开发者根据企业建模所得到的过程模型来开发。它们是根据活动的功能设计的,并且在模型中建立 活动与这些组件之间的映射关系,在工作流执行时由工作流引擎来调用它们以实现过程的运转。