基于构件的PLM系统的分析与设计

发布时间:18-07-12

基于构件的PLM系统的分析与设计

    PLM的体系结构是PLM的基本问题,一个合理的PLM体系结构能够确保该PLM方案维护信息的完整性和支持企业之间高效的协作。本文结合构件技术的先进理论,提出了基于构件技术的PLM体系结构模型,分析了系统的实现过程和该体系结构中的关键技术。
 
1引言
    产品生命周期管理3PLM-Product Lifecycle Management)是指管理产品从需求、规划、设计、生产、经销、运行、使用、维修保养、直到回收再用处置的全生命周期中的信息与过程。
 
    PLM以产品的整个生命周期过程为主线,在产品数据管理3PDM)、协同产品定义管理3cPDM)的基础上,融合了协同产品工具,并有效集成了CAD/CAM、ERP/SCM/CRM等应用系统,从而成为支持企业运行的统一的集成平台。
 
    采用传统的软件开发模式开发PLM系统造成了系统通用性差。柔性低、开发效率低等一系列的问题。针对信息化WEB软件的发展瓶颈,本文提出了应用平台化,开发构件化的软件开发思想。
 
    基于构件的开发方法是一种利用构件“组装”应用系统的技术,它完全改变了传统的“从无到有”的软件开发方式,开发过程中所使用的每一个构件之间通过事先确定的接口进行信息交互,某一个构件所提供的功能,可能为其他构件所调用,也可能直接为用户所调用,整个应用系统通过构件的替换或更新满足不同的需求,通过添加新的构件或进行构件组装以增加新的功能,从而加快了软件开发效率、提高了系统的可扩展性,也为系统的开发者在设计。开发方面提供了极大的灵活度。
 
2PLM系统的体系结构设计
    在PLM系统的开发中,采用了基于构件开发的思想。所谓软件构件3SoftwareComponent)是指一组按一定技术规范封装的。可重用的软件模块,对外具有一致的接口,是组织系统的基本单元。
 
    参照NATO可复用构件管理的指导标准,在基于构件的PLM系统开发中起用计算机硬件总线的思想进行设计,应用系统开发分为3方面:系统框架的开发。构件的开发。选取构件组装成系统。图1所示为基于构件的PLM应用系统的层次体系结构。

 
    在驱动层中,先开发的基于WEB的工作流系统,是PLM系统的支撑,为应用层、构件层、数据层的构件提供统一的规范接口,在设计中注重标准和扩展性。
 
    工作流5个部分中重点是执行引擎和过程定义工具的开发。过程定义工具要能完整描述一个流程,是一切的前提。执行引擎要能正确执行一个流程,是系统运行的基础。
 
    驱动层封装了核心的PLM的业务流程,由集成机制将不同的对象构件、功能构件和应用构件,按照用户的需求集成起来,目的是为不同的过程开发提供模板。
 
    开发具体应用时,可根据系统的特殊要求选用这些过程模板,在此基础上进行实例化,得到符合用户要求的执行过程。
 
    生成层作为开发工作流系统的生成和集成平台,使用UML技术建立各USECase,然后自动生成程序表单和用户界面。其中重点是与工作流系统的接口和UML生成器。
 
    在数据层中,应用程序框架不与数据库直接发生联系,而是通过相应的构件操作数据库。数据层设计为元数据和业务数据两个部分。元数据部分存储搭建应用系统所需的描述信息,业务数据部分存放应用系统运行时产生的与业务相关的数据。
 
    中间层为构件层,PLM构件可分为3个层次,对象构件、功能构件和应用构件。对象构件单元提供系统的基本服务,如,事件管理、数据连接管理等,是与应用相分离的;功能构件则提供PLM的功能服务,如:数据获取与编辑、数据管理与查询、数据目录管理、模型管理等构件,是PLM构件开发中的核心;应用构件为特定的应用服务,直接面向PLM用户,响应用户的操作请求,如,产品配置、变更控制、文档处理等,是最上层的PLM构件。
 
    构件层用来处理业务逻辑。其中的对象构件和功能构件,系统提供参数化扩展机制,通过调用数据层提供的统一数据库访问接口访问数据库,支持业务流程中的数据加工和流动的灵活定制,是灵活定制业务流程的基础,为构造应用构件和定制核心业务流程提供支撑。
 
    应用构件是建立在对象构件和功能构件的基础之上的,提供有着特定需求的构件。这类构件封装了默认的核心的业务逻辑,可以对它们进行集成和扩展。
 
    过程集成机制将这3层构件提供的功能连贯成为有逻辑意义的业务流程,通过定制具体的业务逻辑,建立起构件之间的关系,由执行引擎进行构件集成,形成具体的业务流程。最顶层为应用程序层,是根据不同业务的特定需要得到的各个应用系统。
 
    它是由一系列的应用程序框架组成。应用程序框架建立起用户与构件之间的联系,为用户提供操作构件的用户界面。集成为一个流程化管理体系,可以方便的在不同子系统间进行互操作。用户与构件、构件与构件在框架软总线上通过请求和服务来完成系统功能。
 
    在系统PLM的整体设计上,根据企业PLM系统的实际需要,选择重用对象并对其进行概括提炼,明确它的算法和数据结构的软件框架,对重用对象匹配进行实例化,最后根据重用技术提供的框架,将已实例化的包含在可重用构件库中的软件部件合成为一个完整的软件系统。
 
3PLM系统的实现分析
3.1 构件的实现
    PLM系统的功能是通过对系统内一系列构件的调用来实现的,所以构件的开发是整个系统实现的核心部分,构件复用可以为我们提高系统构件开发的效率。
 
    基于构件的开发其核心思想就是,将构件集成到特定的构件框架内得到我们需要的系统。在PLM中,大多数的构件我们采取的是自主开发,保证构件有合适的粒度和标准的接口。
 
    然后将构件加入到构件库中以便其他系统的复用。客户根据业务的需要,选取合适的构件组装成系统。在构件的划分问题上,根据PLM系统的业务功能进行整体分组(如:SCM、PDM、CRM),在更具体的层次内按照Use Case图进一步细化,直到模块功能化,每个功能形成为单独的构件。
 
    功能模块直接在工作流平台上运行,也可以单独运行,或提供给其他开发者。在构件的实现模型上,现在已有了许多成熟的标准模型,如SUN的EJB,Microsoft的COM+和基于CORBA规范的CCM,它们都有严格的规范来描述构件的接口和属性。
 
    在PLM系统中选用了EJB技术,Session Bean实现构件内的业务逻辑封装,Entity Bean实现对企业数据的访问和操作。构件的功能框架如图2所示。

 
    Interface Mg应用Session Facade模式,为构件提供对外的统一接口,并封装构件内的简单业务逻辑以及事物控制。Sub Compo nent CMP和Compo-nent CMP使用Entity Bean中的CMP(Container Managed Persistence)来实现对构件和构件关联表数据的操作。
 
    ComponentDAO和SubComponentD-AO实现对构件和子构件状态等信息的查询和修改,由于在业务流程中对构件和子构件信息访问频繁,所以采用结构更为简单,效率更高的DAO(Data Access Obiect)模型取代实体Bean。
 
3.2系统的实现
    开发出来的PLM系统的构件的层次:对象构件、功能构件和应用构件。其中,对象构件和功能构件只提供了单一的功能,而没有将这些功能连贯成为有逻辑意义的业务流程。
 
    我们将业务流程逻辑封装在业务过程工具中,由控制器实现对构件的调用,最终将构件组合成业务过程模块。业务过程模块也可以作为软件复用的单元。要实现系统中的业务流程,还需要进行以下的操作。
 
    (1)将构件打包部署EJB容器中,除了要完成EJB的Home接口和Remote接口外,还需要填写运行时部署描述文件,它用来确定构件与容器的关系和构件的运行环境,最后将构件的所有文件按照规范的格式打包成一个JAR文件。由于EJB是一个具有严格规范的标准构件模型,所以以上操作都可以通过EJB开发工具来完成。
 
    (2)将业务逻辑封装入工作流引擎中,实现对构件的集成。通过业务过程定义工具将业务逻辑转换为引擎能够理解的规则和数据,控制器负责对构件接口的调用,工作流引擎实现各个事件间的衔接,将多个构件功能集成业务流程。图3为一个简单的业务流程的定制。

    我们将开发完成的构件部署到应用服务器中,并通过引擎机制来实现业务流程的自动化,整个软件系统就可以基本完成了。
 
4 技术支持
4.1 J2EE技术
    J2EE(Java 2 Platform Enterprise Editon)是基于多层分布式结构而定义的支持企业应用的一个开发平台,其核心采用组件技术,为企业应用系统提供了良好的可靠性,扩展性和安全性。其平台具有如下特点。
 
(1)多层分布式框架结构
    J2EE提供了一个包括客户层,中间层(包括一个或多个子层)和企业信息层的多层次分布式应用模型。这种多层分布式结构支持分布式计算,服务器应用程序和客户端之间的耦合较松。
 
(2)EJB组件技术
    EJB组件技术是J2EE的核心技术,它提供了一个框架来开发和实施分布的业务逻辑。通过它,开发者可以专注于企业的应用逻辑本身,而系统的稳定性和扩展性等基础服务则由EJB服务器来保证。鉴于J2EE平台和组件技术优势,它能够开发与平台无关、支持分布式的、面向对象的、基于网络的PLM。
 
4.2 XML技术
    XML(Extensible Markup Language,可标记扩展语言),是互联网联合组织、(W3C)于1988年发布的一组规范,用来统一数据交换的标准,同时实现跨平台的数据交换和操作。由于它具有开放性,表达效果丰富,可读性好,便于网络传输等特点,因此在数据描述,显示以及分布式计算上具有明显的优势。
 
    产品生命周期管理系统管理着产品全生命周期内的所有相关信息和过程,在其功能模块中包含了大量的描述,显示以及存取这些信息的处理过程,因此在PLM体系中采用XML技术来处理这些信息,实现最大程度的利用和共享。
 
4.3UML技术
    UML(Unified Modeling Language)是基于对象技术的标准建模语言,定义良好、易于表达、功能强大。在基于VCY技术和组件技术的系统建模中,它完善的组件建模思想和可视化建模的优势更利于系统开发人员理解程序流程和功能,进一步提高Web系统的开发效率以及Web组件的可重用性和可修复性。
 
    建模对PLM系统的开发过程中起着很重要的作用,在系统的开发和维护中有必要建立系统的模型。在UML提供的各种模型图的基础上,还可以依照所有开发技术的特点对它的表示进行扩展,在本系统中采用UML的类别模块扩充机制,为某些模型元素添加新的语义,构造新的模型,来说明开发过程中的隐含特性。
 
    通过利用UML建模,利于开发人员对系统的开发与维护,同时可为系统的升级或者二次开发提供一个理论依据。
 
4.4工作流技术
    在PLM系统的开发中,以工作流为系统流程驱动,统筹规划管理系统数据的生成,使用与维护。通过工作流模型的定义,工作流引擎的运行等,使得工作流不需重新定义就能够动态适应企业业务流程的变化。

5 结束语
    本文设计了一种基于构件的PLM系统软件的开发,这种开发模式能够减少软件开发的成本和周期,提高软件产品的质量和开发效率。同时通过构件的组装,改装及升级可满足用户不断变化的需求。在PLM系统完成之后,还需要不断的对系统进行完善。在下一步的工作中,还需对构件进行更加准确的形式化描述,使PLM系统更能灵活的满足企业需求。