基于微服务的业务可编排重构MES系统

2021-10-27 09:01王美林彭希灵
物联网技术 2021年10期
关键词:虚拟化订单车间

王美林,彭希灵

(广东工业大学,广东 广州 510006)

0 引 言

制造企业的制造模式经历了从传统手工业作坊到大规模机器生产,再到个性化小批量生产的变迁[1]。作为制造业主力军的中小型制造企业,随着新一轮工业革命的到来,其制造模式正朝着多品种、小批量,按单生产的方向发展。这样的模式让中小企业的生产制造产生与以往不同的特点:

(1)生产业务模式多样化。在制造执行过程中,企业有着不同的生产模式,甚至对于同一产品,各企业的生产模式也不相同。

(2)业务流程多变。在企业生产过程中,常常会出现各种不可控因素,导致业务流程发生变化,这些因素可以分为2个方面:企业内部因素,企业在发展过程中生产规模的变化导致企业业务结构转型升级;企业外部因素,客户订单需求变化等。

由于中小企业制造过程的模式多样性和流程多变性,造成普通一体化MES的重构与实施遇到成本和技术上的障碍。因此,本文设计了一种面向中小企业实施的基于微服务的业务可编排重构MES系统。该系统将企业的制造资源进行虚拟化和服务化封装,形成细粒度的原子服务,再根据企业具体的生产模式和业务流程对原子服务和业务微服务进行编排及管理,实现制造业务的重构。每一个服务部署在独立的、隔离的微服务运行环境,可以方便地替换和扩展[2-5]。该系统能够灵活响应不同企业的生产模式差异以及业务流程的变化。

1 基于微服务的业务可编排重构MES系统整体架构

根据中小企业的制造特性,构建了一个基于微服务的业务可编排重构MES系统,系统主要包括智能对象层、原子服务层、业务微服务层和微服务协同云平台等,如图1所示。

智能对象是制造环境中参与制造生产的制造资源的统称,包括带有RIFD或者条形码信息的车间生产硬资源(如车间员工、生产设备、物料资源等)和生产订单、车间工艺等车间生产软资源。车间智能对象类型多样,因此需要将各智能对象转化为具有统一描述的虚拟资源以便管理。该层根据企业车间制造资源的实时数据进行信息管理与虚拟化建模,将车间智能对象抽象为虚拟资源,以支持原子服务层的运行。

(2)原子服务层

原子服务层实现对智能对象可执行操作的服务化封装,完成虚拟资源与相应资源服务化能力的映射,以支撑业务微服务层的运行。原子服务层是系统业务逻辑的基础服务,例如订单创建服务、订单下达服务、工艺创建服务、工艺制作服务等。它们为业务微服务层提供了不可分割的、单一业务功能的服务,每一个服务都部署在独立的、隔离的微服务运行环境,可以方便地替换和扩展。

(3)业务微服务层

业务微服务层是本框架的核心层,主要包括微服务可视化编排器、编排执行引擎和微服务调用器。业务微服务层根据用户实际的生产业务模式和业务流程,制定每个系统模块的硬件/软件资源的组合流程,并通过事件队列的方式调用原子服务或业务微服务。业务微服务层实现了系统业务的快速重组及体系结构中不同层次的集成,并可根据企业需求的变化和业务流程重组,实现原子服务的动态组合,快速形成新的业务系统。

(4)微服务协同平台

该层主要负责原子服务层与业务微服务层的服务管理、服务发现及协同调用,为系统的运行提供支撑组件。本文使用的是Pivotal 公司的Spring Cloud框架[6]。

Development of real-time test system for rotating vibration of EFEAD system

2 主要研究内容

2.1 智能对象描述模型

智能对象是制造环境中参与制造生产的制造资源与制造单据的统称,包括车间员工、生产设备、工件以及其他带有RIFD或条形码信息的车间生产资源和订单、工艺等。智能对象作为车间最基本的制造单元存在于制造环境中,其携带了一些关键信息,将在不同的阶段或位置进行更新,通过更新的信息,各车间智能对象能够感知、交互和报告周围环境,以便自适应响应变化。智能对象类型多样,因此需要将各智能对象转化为具有统一描述的虚拟对象以便管理。根据OWL-S规范[7],智能对象可通过虚拟化表示如下:

MS={MSBasic, MSFeature, MSQoS, MSState, MSFunction}(1)

(1)基本属性(MSBasic):包括描述智能对象的基础信息,如ID、名称、地址、提供商等,每个智能对象的ID唯一;

(2)特征属性(MSFeature):包括描述智能对象的功能特征信息,如结构特征、几何尺寸、质量等级等;

(3)评价属性(MSQoS):包括描述智能对象的综合评估指标信息,如可靠性、成本、安全级别、用户满意度等;

(4)状态属性(MSState):包括描述智能对象的状态信息,如当前状态、任务队列、已完成任务;

(5)方法集合(MSFunction):包括智能对象被允许的操作,以及操作的输入集合和输出集合、状态改变、任务量等。

以三类典型的智能对象为例,根据虚拟化表示模型进行虚拟化,这三种智能对象为:

(1)制造设备资源:进行制造任务的车间物理设备;

(2)物料资源:制造任务中制造某种产品所需要的毛胚和半成品等;

(3)订单资源:生产订单。

智能对象描述模型实例如图2所示。

图2 智能对象描述模型实例

根据图2所示的智能对象描述模型,利用该层的虚拟化工具对智能对象进行标准化建模,即完成这三种典型智能对象的虚拟化操作。智能对象虚拟化层形成了制造资源的规范表达,基于此对虚拟化智能对象模型进行虚拟化封装:生成XML数据描述文档,解析成每个智能对象描述类的对象,并把该数据载入数据库,供原子服务使用。以某设备资源封装为例,该设备资源的XML描述文档如图3所示。

图3 某设备资源XML描述文档

将上述描述文档通过解析后载入数据库,结果如图4所示。

图4 制造设备资源虚拟化实例

2.2 智能对象服务化

智能对象包含的各种属性通过建立MS模型映射到数据库。智能对象服务化即将对象的方法集合(MSFunction),封装成原子服务。原子服务采用微服务开发方式构建,使用RESTful架构向外提供访问接口,最后将其发布至云制造平台上形成相应的可编排原子服务资源。原子服务构建结构如图5所示。每个原子服务可以通过启动事件调用,启动事件即原子服务的调用参数信息;当调用事件到达原子服务后,原子服务执行其实体操作;在操作完成后形成结束事件并将事件返回至客户端,结束事件即原子服务调用结束的返回参数信息。每个原子服务仅负责执行自身模型中定义的任务,以及向消息代理发送消息和接收消息,消息代理在运行时管理原子服务之间的通信。

图5 原子服务构建及调用方式

以订单智能对象服务化封装为例,订单智能对象包含生产订单创建、订单状态查询、生产订单审核等,封装结果见表1所列。

表1 订单智能对象包含原子服务示例

2.3 服务组合方法

为了将单个的原子服务组合成具有适当复杂度的、可靠的、基于业务流程的业务微服务,文章使用一种基于事件的BPMN(Business Process Model and Notation, BPMN)编排方法对原子服务或业务微服务进行编排。基于事件的BPMN编排方法使用BPMN 2.0规范对微服务之间的组合方式进行可视化建模[8-9],Activiti工作流引擎解释执行。基于事件的BPMN编排的微服务组合流程如图6所示。

图6 基于事件的BPMN编排的微服务组合流程

3 初步验证

文章以生产计划模块作为验证案例来验证该框架的可行性。生产计划模块主要包括生产订单管理、生产订单排产以及生产进度管理等功能模块。图7展示了生产计划模块的功能模块图,表2展示了各功能模块下的原子服务列表。生产订单新增服务使用为:点击生产订单页面“新增”按钮后,进入订单编辑页面,点击“保存”跳转回生产订单页面并更新订单列表,显示新增的生产订单记录。生产订单展示界面如图8所示。订单分批服务使用为:点击订单工件页面的“分批下达”,进入分批下达作业页面,点击“提交”后跳转回订单工件页面并更新订单工件列表,显示新增的订单工件分批记录。订单分批展示界面如图9所示。在制品工件详情服务使用为:查看在制品工件列表,点击查看在制品工件详情,进入在制品工件详情页面。详情页展示界面如图10所示。

图7 生产计划模块功能模块图

图8 生产订单展示界面

图9 订单分批展示界面

图10 在制品工件详情展示界面

表2 原子服务列表

4 结 语

文章设计并验证了基于微服务的业务可编排重构MES系统。在这个系统中,企业可根据自身的生产模式和业务流程对原子服务及业务微服务进行编排管理,通过对原子服务和业务微服务模块的灵活组装,针对不同企业的需求进行制造业务的个性化定制。

猜你喜欢
虚拟化订单车间
春节期间“订单蔬菜”走俏
新产品订单纷至沓来
基于OpenStack虚拟化网络管理平台的设计与实现
招工啦
“最确切”的幸福观感——我们的致富订单
对基于Docker的虚拟化技术的几点探讨
“扶贫车间”拔穷根
虚拟化技术在计算机技术创造中的应用
把农业搬进车间
存储虚拟化还有优势吗?