1 引言
在企业信息化发展过程中,面向车间信息管理的制造执行系统(Manufacturing Execution System,MES)已经成为企业信息系统实现集成的关键,是企业信息化发展的重要方向之一。可重构性是制造执行系统的基本特性之一,近年来已成为研究的热点。目前对MES的可重构性研究主要集中在基于SOA、模型驱动架构、多agent机制等方面,但是对MES权限控制系统进行系统研究还比较少。而一个合理完善的权限控制系统,是实现MES可重构的重要基础。访问控制技术提供了信息系统权限控制的解决方案,解决了信息的完整性和信息的机密性。
传统的访问控制技术是美国国防部提出的自主访问控制(Discretionary Access Controls,DAC)和强制访问控制(Mandatory Access Controls,MAC)。主要适用于军用项目。Ferraiolo D、Sandhu R等对基于角色的访问控制(Role Based Access Controls,RBAC)方案,进行了系统的研究。国内对权限控制方案的研究主要是从授权模式、授权验证等方面对RBAC模型进行扩展。RBAC提供的是一种信息安全的解决方案,不仅能实现信息的机密性控制。更重要的是对信息的完整性控制。目前在访问控制方面的研究工作,大多从技术角度,对RBAC模型进行扩展。基于这种情况,从企业组织模型的角度,研究MES系统的访问控制原理,在信息访问控制机制的基础上,提出功能可重构MES系统构建方案。
2 离敬企业车间组织建模
组织是现代管理中的基础概念。组织是企业功能的实际承载者,通过组织机构的合理设置,组织功能的合理划分。企业各种活动才能有条不紊的进行,企业才能正常运作。为了实现企业的目标,组织成员具有一定的职责、权利和技能。组织成员之间根据组织结构,还产生一定的权利和义务关系。在企业信息系统中,组织机构是系统的实际使用者,组织成员的各种操作是企业实际运行过程中组织机构功能的映射。在企业信息系统中,组织成员通过系统授权访问系统,实现组织在企业中的权责。组织模型是企业的重要业务模型,组织建模是建立企业信息系统访问控制方案的基础。访问控制系统通过权限控制组织成员访问企业信息系统,一方面保护企业的机密信息的安全性,另一方面保证不同组织成员之间的权责互不冲突,实现信息的一致性。
某企业主要从事航空发动机的制造,其装配车间组织结构如图1所示。
图1 离散制造企业装配车间组织结构图
企业产品装配活动由多部门协调完成。装配车间是产品装配任务的主要承担部门,根据业务性质的不同,在车间下面又分工艺室、调度室、部件班、总装班等分别承担工艺、调度、装配等工作。军代表室负责军检,质检处负责产品的质量检验,总师办负责重大技术问题,中央仓库负责物料的管理。信息中心负责软件安装调试。组织结构中,各部门相对独立又有一定的关系。不同层之间的父子部门之间存在一定的偏序关系,使得整个组织结构体现为一种层次结构。下面给出组织的形式化定义:
定义1 职责(Responsibilities,Rsps):企业管理中的概念,是对组织目标进行分解形成的子功能,由组织机构、组织单元等承担。如果各级组织都实现自己的职责,则组织目标可以达到。Rsps使用BNF(下文定义表示方法同此)可以形式化地表示为:
Rsps∷={(op,obj)}
其中,op表示操作,obj表示对象。Rsps是op和obj的二元关系集合。
定义2 组织单元(Organization Unit,OU):企业管理中的概念,是对企业部门和人员的抽象,作为完成企业目标的主体,具有共性的属性和行为。组织单元具有明确的职责和权限,组织单元之间存在一定的偏序关系。OU可以形式化地表示为:
OU∷=(oid,fou,rel,orsps)
you∷=NULL|OU
rel∷={(DU,OU))
orsps∷=Rsps
其中oid是组织单元的标识符,*fou是组织单元的父组织单元,rel代表组织单元之间的协作关系,orsps是属于该组织单元的职责。
定义3 组织机构(Organization,Or):企业管理中的概念。组织单元按照偏序关系组成的具有一定结构的组织单元集合,是企业功能的载体,实现企业的目标。Or可以形式化地表示为:
Or∷=(ous,prel)
ous∷={OU}
prel∷={(fou,OU)}
其中ous表示所有组织单元OU的集合,prel代表组织单元之间的偏序关系集合,fou表示OU的父组织单元。
定义4 岗位(Position,Po):企业管理中的概念,是具有相同职责和权限的一类组织成员的称谓。通常按照岗位对组织目标进行分解,完成组织的功能。Po可以形式化地表示为:
Po∷=(poid,ou,prsps)
ou∷=OU
prsps∷=Rsps
其中,poid表示岗位的标识符。ou是岗位所隶属的组织。prsps是属于该岗位的职责。
定义5 组织成员(Member,Me):企业管理中的概念,是组织中的个体,具有某个或某些岗位,是组织功能的实际执行者。Me可以形式化地表示为:
Me∷=(meid,ou,pos)
ou∷=OU
pos∷={Po}
其中,meid是组织成员的标识符。ou表示所在组织。pos表示组织成员的岗位列表。
根据定义,组织成员和岗位之间、岗位与职责之间存在二元的叉乘关系,组织机构、组织单元、组织成员之间构成树形结构。图2是发动机装配车间的组织机构、岗位、职责的关系模型。
图2 组织、岗位和职责的关系模型图
在图中,组织机构通过岗位设置,对组织功能进行分解。组织成员通过承担—个或多个岗位,而获得对应的职责。
3 基于组织的RBAC模型
在MES系统中,权限控制的实质就是指定组织成员的职责。传统的DAC权限控制方法,采用用户直接授权,控制用户对资源的访问。根据图2所示的组织、岗位、职责之间的关系,DAC权限控制方法的缺陷在于没有将岗位与具体的组织相分离,而是将职责直接赋予了具体的组织成员,因而给系统安全和管理带来隐患。Ferraiolo D等人将角色引入传统的访问控制方法中,提出了基于角色的权限控制方法。在该模型中,角色拥有权限,用户和权限不直接关联,而是通过角色获得相应的权限。通过角色授权,减小了用户和操作权限之间的耦合度,提高了系统的安全性和管理的便捷性。
在MES系统中,同一组织的成员通常拥有相同的权限。采用RBAC机制,在权限管理过程中。对组织成员赋予相同角色的操作要重复执行多次。对RBAC机制进行扩展,引入组织的概念,简化了权限管理操作。扩展后的基于组织的RBAC(Group-RBAC)模型如图3所示。
图3 Group-RBAC模型
图3中的角色,根据ANSI INCITS 359-2004标准,可以定义为:角色是一种工作职能,在组织中,相应的工作职能会授予给分配角色的用户。角色除了赋予用户之外,还能赋予组织。赋予Group的角色由属于Group的Users共享,相当于企业模型中组织单元中定义的所有组织成员的共同职责。用户的权限有两部分组成。一部分由直接赋予的角色授予,另一部分则由所属的组织授予的角色赋予。组织(Group)、用户(Users)、角色(Roles)、权限(PRMS),分别与上文企业模型中的组织单元、组织成员、岗位、职责相对应,是企业业务模型在信息系统中的抽象。通过Group、Users、Roles、PRMS之间的关系,表示了定义1~5中描述的企业组织模型。
图3中,用户和组织之间存在多对多关系,描述的是用户不仅属于它的直接父组织,也是组织关系树上其祖先组织的成员。
Group、Users、Roles、PRMS代表相应的元素有限集。它们之间二元叉乘关系,可以使用数据库中的关系模式进行表示:
RUO=Users×Group
ROR=Group×Roles
RUR=Users×Roles
RRP=Roles×PRMS
通过关系运算,用户权限关系可以由公式(1)进行计算:
4 功能可配置的MES系统结构及权限系统设计
根据上文的理论模型,构建了功能可配置的MES系统结构,并对其权限控制系统进行了设计和实现。
4.1 MES系统结构
基于Group-RBAC模型,设计了多层封装的功能可重构MES系统结构。其总体架构如图4所示。
图4 功能可配置的MES系统绪构图
图中,在业务对象层封装系统中的工艺、设备、物料、人员等各种业务数据,直接和数据库层进行交互。功能模块层,封装业务对象的不同操作,形成独立的功能组件。角色功能模块配置层,将各个功能组件动态指派给不同的角色,构建角色功能模块。用户Portal层。将不间的角色指派给相应的用户。实现个性化的用户界面。在Croup-RBAC的机制下,通过角色功能的动态配置,实现了MES系统的功能可重构。
4.2 访问控制系统的对象和存储结构
使用面向对象技术对MES的访问控制机制进行了设计和实现。使用UML,对上文访问控制中的主要元素进行面向对象建模,通过类图描述了系统结构。系统的类图如图5所示。
图5 访问控制系统类图
图中用例类Usecase是MES系统中的功能模块,Usecase封装了业务对象BusinessObject的各种操作。通过角色Role和相应Usecase之间的关联,实现Role的授权。类RoleUsecase、UserRole、GroupRole是关联类,表示相应类之间的多对多关系。将User、Role、Usecase类中的相关操作和数据分离,形成管理类UserUtility、RoleUtility、UsecaseUtility。以便开发管理。
根据上文定义1~5,结合访问控制系统类图,完成数据库设计。这里给出主要关系的逻辑设计模式。
用户:User(uid,uname,gid)
组织:Group(rid,gname,fatherid)
角色:Role(rid,rname)
用例:Usecase(ucid,sesame,fn_dscp)
用户角色:UserRole(uid,rid)
组织角色:GroupRole(gid,rid)
角色用例:RoleUsecase(rid,ucid)
4.3 用户权限计算模块实现
用户的权限,可以按照公式(1)计算。在这里关系RUR、ROR、RRP和数据库中的UserRole、GroupRole、RoleUsecase关系相对应。关系User中的gid表示用户的直接父组织。表示了部分RUO;另外一部分RUO关系通过自关联的关系Group来体现。计算用户的权限,实质是求关系RUP中对应当前用户的权限列表。下面将公式(1)中的关系运算用SQL语句实现,并给出计算用户权限的关键算法步骤。
输入:用户userid;输出:用户权限列表UsecaseArray
Step1:初始化权限列表数组UsecaseArray,将每个元素置空;
Step 2:连接数据库。执行SQL查询select gid as groupid from User where uid=userid,得到用户的组织groupid;
Step 3:执行SQL语句select ucid from User Role as a join Role Usecase as b on a.rid=b.rid where uid=userid.获得直接授予用户的权限列表;
Step 4:for each uciditem in ucid
if(UsecaseArray中不包含uciditem)
将uciditem添加到UsecaseArrsy中;
图6 ADS系境配置模块
Step 5:执行SQL语句select ucid from Group Role as a join Role Usecase as b on a.rid=b.rid where gid=groupid,获得用户从组织继承的权限列表;
Step 6:执行SQL查询select fathcrid from Group where gid=groupid;
Step 7:if(fatherid=null)转向Step 8:
else令groupid=fatherid,转向Step 4;
Step8:for each uciditem in ucid
if(UsecaseArray中不包含uciditem)
将uciditem添加到UsecaaeArray中:
Step 9:结束。
根据G-RBAC模型和功能可配置的MES系统结构,使用Visual Studio.NET开发了基于Windows平台的装配数字化系统(Assembly Digital System,ADS),实现装配过程的数字化管理。系统分成配置模块和运行模块两个部分。图6是ADS系统的配置模块。系统实施和管理人员根据企业业务需求,对用例、角色、用户等系统功能进行动态配置,实现不同用户不同的界面展示和操作权限控制。图7是系统运行时,装配员的工作界面。装配员工登录后,进入该界面,首先查看技术文件,然后按工序开始装配工作。
图7 ADS系统运行界面
5 结论
MES是企业信息系统集成化深入发展的重要基础,结合企业业务,开发可重构的MES系统,是亟待解决的课题。分析了离散制造企业装配车间的组织机构,在企业组织和RBAC访问控制理论方面进行了探索,提出了Group-RBAC访问控制模型。结合发动机装配车问的具体业务流程,构建了功能可重构的装配MES系统结构,使用面向对象技术设计实现了MES的权限控制系统。基于本文模型开发的ADS系统,在某航空企业数字化车间已经上线使用,取得了一定的经济效益。企业信息系统集成是企业信息化的发展方向,本文目前没有涉及基于Croup-RBAC的MES系统的集成问题。权限控制系统提高了系统的安全性,但在不同系统之间集成时,组织结构和角色范围扩大,可能产生授权冲突问题,这是本文下一步的主要工作方向。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:功能可重构MES系统的访问控制机制研究