基于SOA架构的BOM数据漫游模型
许朋刚 张毅 陈怀军 赵川 网络
对于制造企业来说,随着信息化程度的不断提高,IT建设过程面临诸多问题。比如企业部署了办公自动化系统(OA)、客户关系管理(CRM)、产品生命周期管理(PLM)、企业资源规划(ERP)、产品数据管理(PDM)、人力资源管理(HR)等主要信息管理系统以及企业内部的信息部门提供的专用子系统等,各信息管理系统在不断完善自身的同时,信息化程度也不断提高。随着制造行业逐渐转为个性化定制生产时代,制造业面临的最大挑战在于各种应用系统整合,同时信息整合,决策支持,降低成本都成为制造企业生存和竞争之本,离散的信息孤岛成为企业整体运营效率提升的最大瓶颈。

BOM(Bill Of Material)。即物料清单。各种BOM的数据源是分布在各个信息系统中的异构数据源,因此有必要对其进行整合。而BOM的组织方式不同,目前各系统普遍采用单层BOM、多层BOM、混合型、矩阵型等结构,占BOM结构99%以上,还有一些特殊用途的BOM,对这些BOM进行整合较困难。而整合BOM后能否灵活地为各部门提供及时的正确信息,也是必须解决的问题。

分布于各个系统的各种BOM信息的共享与关联很困难,要做这些BOM的管理更是难上加难。在信息集成时,做一个跨各系统的大BOM,将多个BOM信息拷贝或映射到这个BOM里,或者就是通过绑定各系统之间的接口,直接进行关联,这些方式的弊端也很明显,系统臃肿庞大、后期维护几乎不可能、灵活性极差,完全满足不了未来制造业发展需求。而放弃技术已经成熟的信息系统,从新架构一个全新的企业IT系统,这个完全很不现实。

要解决多个BOM的信息管理,就必须充分利用现有的各个系统,这对企业的IT系统提出了较高要求,为了达到这种高度企业需要借助一种面向服务的架构模式,也就是SOA。

1 SOA的架构思想和相关技术概述

SOA(Service Oriented Architecture),面向服务的架构,是一种业务驱动的IT架构方式,支持企业将业务整合为一系列相互衔接的服务或重复性业务任务,从而使企业能够高效重复地利用现有IT技术。soA技术标准有服务组件架构(SCA,ServiceComponent Architecture)、服务数据对象(SDO,Service Data object)和业务流程执行语言(BPEL,Business Process Execution Language),这三个技术分别解决了服务构建、数据模型和流程编排领域的问题,被称为“SOA铁三角”。

SOA具有“整合创新,随需应变”的特征,多应用的整合不但是跨平台的,而且是松耦合的,被整合的应用自身仍保持其自主,新增没的业务功能,允许适应变化,即随需应变。

采用SOA架构有以下优点:

(1)充分利用现有的资源,消除了信息孤岛。

(2)更易于集成和管理复杂性。可以方便地实现企业之间的互通互连,对开发集成、维护和使用人员的素质要求不高,使管理上大大简化并且对复杂性可以通过中问件平台将其隔离。

(3)更快地整合和实现。可以快速地开发新的业务服务,缩短开发时间,使企业迅速地对外界变化做出响应。

(4)降低成本和增加重用。系统原有软件和新增软件都可整合在一个统一的架构内,不管是哪个软件或设备都可以融合在一个系统中,即使将来需要做大的动作,此基础架构仍旧可以保持不变。

以上优点完全消除了整合异构BOM面临的所有困难,故本模型也是在SOA架构思想下形成的。

2 BOM数据漫游模型

2.1漫游模型数据库描述

采用关系数据理论和实体关系(Entity Relation.ship,ER)语义建模方法对本模型进行描述。根据该描述方法,数据库模型描述如下:

(1)0={对象名称(ON),实例表名(EN),对象信息描述(oD),技术参数I(KEYl),技术参数2(KEY2),?}

(2)R={关系名称(RN),关系字段1(RFl),关系字段2(RF2),对象名称1(ONl),对象名称2(ON2),关系描述(RD)}

(3)A={权限名称(AN),对象名称(ON),权限类型(AT),权限描述(AD)}

其中:O为对象集;ON为对象名称;EN为映射到各个系统的表名,目前关系数据库支持的所有表,可为BOM结构或非BOM结构;OD为对象作用或其它信息描述;KEY(1一n)为对象属性信息,可用作成本或决策支持关键指标;R为关系集;RFl、RF2为对象关联字段,该集合定义数据漫游初步业务流程;ON1、ON2为对象间关联关系概要信息;RD为关联关系概要信息描述;A为权限集,AN为对象(ON)操作权限,负责验证对象查看、漫游等操作权限;AD为权限概要信息描述。

2.2基本术语

对象:从O中抽取的一个成员实例i,记为对象i(Oi),对象i属性描述为记号Oi.KEYl表示对象关键指标字段1。

关联关系:从R中抽取—个成员实例J,记为关系j(Rj),关系属性描述为记号Rj.RFl,表示关系的第—个关联字段。

权限:从A中抽取—个成员实例k,记为权限k(Ak),权限属性同上,如Ak.AT。

2.3组件划分

根据上述数据模型的描述,对本模型要抽象和实现的组件划分如下:

(1)对象管理组件:对象Oi的定义、编辑删除等操作及其展示;

(2)关联关系管理组件:对上述Oi、Oi+1等对象进行关联关系定义,提供友好界面;

(3)权限定义组件:对对象进行权限的定义,主要定义Oi的Ak.AT属性。

(4)公共服务:BOM查看、反查、列表展示,文件浏览等公共模块组件。重庆斯欧信息技术有限公司产品STS中已经开发,这里可当做已注册服务直接调用。

2.4业务逻辑定义

业务人员定义数据漫游首先应有两个以上对象,如Oi,Oi+l,Oi+2,...,这些对象之间关联关系定义为R(i,j),R(i,j+1),R(i,j+2)....,业务逻辑要求对象两两之间都有关系,关系数量最大值应为n*n-1(对象数量为n)。

对象和关联关系定义完成后对这些对象赋予相应的权限,如文件浏览权限、BOM反查权限等等。整个定义关联关系的用例图如图1所示。

点击图片查看大图

业务人员定义数据漫游用例图

图1 业务人员定义数据漫游用例图

2.5组件实现

所有组件的实现都是在各自划分的portlet上加以展示,实现也是基于portlet划分而来,主要分为三个组件和自由公共服务。

组件的开发基本上同传统WEB应用开发一样,可以采用经典的WEB应用开发模式进行开发,然后开发好的应用封装成组件。这里特别提到IBM的Web Sphere Portlet Factory,使用此工具可以迅速实现—个portlet开发,该工具思想也是完全依照SOA思想指导开发人员进行开发,所以以上三个公共组件开发就非常简单,工具使用可参考维基百科或IBM官方网站。

部分SQL如下(针对下面测试用例):

对象查看SQL:Select key1,key2,Keyn from Owhere ON=‘测试零件对象’,此SQL为对象配置时动态生成。

关联关系SQL:Select RN from R where On1=‘测试零件对象’。

3测试用例

3.1业务流程定义

制造企业生产过程中,一般制造部门很难获得零件的设计信息,发现设计失误或者疑问时,不能及时有效地和设计部门沟通。本测试针对这个问题,设计—个业务流程,完成从制造BOM到设计BOM数据漫游,业务流程图如图2所示。

 

 2.5组件实现

所有组件的实现都是在各自划分的portlet上加以展示,实现也是基于portlet划分而来,主要分为三个组件和自由公共服务。

组件的开发基本上同传统WEB应用开发一样,可以采用经典的WEB应用开发模式进行开发,然后开发好的应用封装成组件。这里特别提到IBM的Web Sphere Portlet Factory,使用此工具可以迅速实现—个portlet开发,该工具思想也是完全依照SOA思想指导开发人员进行开发,所以以上三个公共组件开发就非常简单,工具使用可参考维基百科或IBM官方网站。

部分SQL如下(针对下面测试用例):

对象查看SQL:Select key1,key2,Keyn from Owhere ON=‘测试零件对象’,此SQL为对象配置时动态生成。

关联关系SQL:Select RN from R where On1=‘测试零件对象’。

3测试用例

3.1业务流程定义

制造企业生产过程中,一般制造部门很难获得零件的设计信息,发现设计失误或者疑问时,不能及时有效地和设计部门沟通。本测试针对这个问题,设计—个业务流程,完成从制造BOM到设计BOM数据漫游,业务流程图如图2所示。

 

 3.2测试数据

测试的数据中间层采用IBM DB2II,将来自远程DB2数据库的MBOM和来自远程的Oracle数据库的EBOM表映射到本例DB2联合数据库中,从联合数据库中MBOM表和EBOM表摘取部分数据如表1、表2所示。

3.3关联关系配置

配置上述两个测试数据表对应的BOM对象,分别是测试零件对象和测试文件对象,然后定义这两个对象的关系如图3所示。用户配置这些信息后,可以通过对象展示查看BOM展示,如图4所示。

3.4测试结果

用户通过对象的公共服务(BOM查看)进入制造BOM信息浏览时(图4),单击关联关系下拉菜单,找到用户预先定义好的关联关系(图4中定义了9个),然后找到与设计BOM的关系,找到零.件的设计信息(如图4中打开的设计图纸)。

这样制造部门的就可以共享设计部门的信息,在零件制造过程中随时查阅图纸,更好地指导生产。

4结论

本文探讨的数据漫游模型,作为重庆斯欧信息技术有限公司“BOM容器”专利中关联关系模块的实现模块,基于IBM WebSphere Portal服务器,最终成型产品,实现BOM容器管理的BOM对象之间数据漫游,基本解决了制造业个系统信息共享困难,屏蔽了信息孤岛。但是由于本文引例论述简单,没有涉及到复杂的业务逻辑,也没有阐述如何将模型几个模块封装成服务以及与PLM 2.0等标准接轨,只是简单阐述SOA思想下软件组件化特点。随后的工作中,将其封装成公用服务,接轨PLM2.0标准,并将其注册到ESB上,结合BOM容器中其它组件,完全可以编排复杂流程,解决制造业整个产品生命过程信息共享和数据漫游。

CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢