基于SOA的PDM应用

[摘要]将SOA应用在PDM系统还将面临很多的问题和挑战,如业务功能的粒度划分、系统的异构性等,都有待于进一步研究,但可以相信的是,SOA必将对未来几年的PDM市场的格局带来深远影响。

(中国软件网讯)1 PDM系统面临的困境

在日新月异的商业环境下,产品的生命周期变得越来越短,客户需求也在不断变化,新业务模式持续酝酿生成,要求PDM能够利用现有资源支撑新业务流程。现有PDM采用面向对象架构模型,体系架构封闭,业务过程被打包和封装成一个个功能模块,各功能模块之间是强耦合关系,一旦这些功能模块不能满足业务要求时,这种大粒度功能模块无法重构而得到灵活复用,增加了企业开发软件和培训用户的成本;某一业务模块的调整将对整个公司信息处理工作带来影响,如模块升级需要频繁停机安装和备份,甚至带来相关模块操作界面和流程的改变。

为了使PDM能够满足日益变化和增长的客户需求,需要采用SOA(面向服务架构)进行PDM系统的构建。

2 SOA简介

2.1模型

SOA(Service—Oriented Architecture)是面向对象架构模型的替代模型,以服务为基础搭建的企业IT架构。SOA是—个完整的软件系统架构体系,包括运行环境、编程模型、架构风格和相关的方法论等。SOA核心是服务,并涵盖服务的整个生命周期,从建模、开发、装配、运行到管理,其核心理念是业务驱动,采用松耦合的、灵活的体系架构来满足随需应变的业务需求。

服务是用于封装特定功能的一个实体。服务定义了一个与业务功能或者业务数据相关的接口,以及约束这个接口的契约,是粗粒度的。多个服务可以被组装成一个业务流程,完成一个特定的业务功能,也就是说应用系统可以看作是一系列服务的集成。

SOA的架构模型如图I所示。SOA架构是一个分层的结构,从最底层的功能性服务,到原子服务和服务构件,再到顶层业务流程服务,目的是最大限度地封装不同的服务,从而达到复用的目的。无论哪一个层次,其核心都是服务,一个复杂的服务组件是由不同的原子服务组成,用于提供业务流程所需的功能。

服务组件层以服务组件为单位提供单个服务的封装,对外隐藏了服务的实现细节。组合服务层则是单个的组合服务或是多个服务组件的简单连接,用户可以直接访问这一层而获取所需的服务。但是复杂的业务流程需要对多个服务组件和组合服务按照预定逻辑进行组织和编排,这是业务流程层所起的作用。

2.2采用的技术和协议

SOA作为一个技术架构,决定了不依赖于某个特定的技术和平台环境来实现。SOA实现广泛采用Web服务(Web Service)技术。Web服务是一个软件系统,用以支持网络间不同机器间的互动操作。实现Web服务的基本平台是XML+HTTP(超文本传输协议)。Web服务技术使用如下一系列标准和协议实现相关的功能。

(1)XML提供了一种可以在不同的平台及不同的编程语言中正常使用,并且能够表达复杂消息和功能的一种特殊语言,web服务统一采用基于XML的消息进行传输。

(2)WSDL(Web Service Definition Language,Web服务描述语言)用于Web服务的提供者将自己的Web服务的所有相关内容,如所提供的服务的传输方式、服务方法接口、接口参数、服务路径等,生成相应的完全文档,发布给使用者。

(3)UDDI(Universal Description and DiscoveryInterface,统一描述和发现接口)帮助Web服务提供者向服务注册代理描述、发布和注册Web服务,同时也供Web服务请求者进行查询,找到所需的服务。

(4)SOAP(Simple Object Access Protocol,简单对象访问协议)是Web服务的标准通信协议,采用标准化XML格式传输消息。Web服务标准的成熟和应用的普及为广泛地实现SOA架构提供了基础。Web服务技术实现了服务接口的传输和调用的标准化,服务接口和服务实现的分离,以及web服务组件的可重用性。

3 基于SOA的PDM构建

3.1设计思想

如要使PDM满足SOA架构,需要将PDM功能进行分解;把复合应用表示成粗粒度服务,而每一个粗粒度服务又可以分解成多个细粒度服务,如零部件信息管理是粗粒度服务,它可以分解为文档管理、零件管理和工作流管理等细粒度服务。每一个细粒度服务完成一项单一功能,通过细粒度服务的不同组合可实现PDM系统的不同业务功能和业务流程。当企业业务流程改变时,通过重新组合细粒度服务生成粗粒度服务,满足业务流程重组的要求。

3.2 SOA架构下PDM系统的体系结构

SOA架构的PDM系统核心在于以SOA框架基础设施服务层为基础,以业务流程层为中心,通过对原子服务或组合服务进行编排和组合,实现PDM系统客户层的各项应用功能。当企业业务流程改变或增加时,通过重构原子服务或组合服务生成粗粒度服务,以较小代价完成PDM系统功能的改变或增长。由于各服务之间松耦合,采用渐增式开发可满足客户日益变化的需求。

SOA框架基础设施服务层由松耦合的原子服务组成,这些原子服务可形成组合服务,如零件管理服务和文档管理服务可形成组合服务,支撑业务流程层的零部件信息管理服务,这些原子服务可作到最大程度重用。

基于SOA架构的PDM系统采用四层体系架构,分别为SOA框架基础设施服务层、业务流程层和客户层,每层结构采用统一开发规范和接口.

(1)数据层。在产品开发阶段收集了很多实体产品数据,为服务层提供很多基础数据和关键数据,这些数据存放于关系型数据库中。

(2)SOA框架基础设施服务层。该层提供了PDM系统所需的原子服务,对PDM系统的业务流程服务进行服务建模开发形成的,包括了众多的基础服务,如零件管理服务、文档管理服务、工作流管理服务、版本管理服务、EBOM服务、PBOM服务、MBOM服务、EC管理服务、EC记录服务、配置管理服务、用户管理服务、权限管理服务等。该层向上为业务流程层提供服务,以形成具体的应用。

(3)业务流程层。该层依照具体的企业业务逻辑,对SOA框架基础设施服务层的各种原子服务或组合服务进行编排和组合。形成各种企业组件服务,主要有零部件信息管理服务、BOM管理服务、技术状态管理服务、系统管理服务等企业服务,最后使用接口将这些企业服务向外发布。

(4)客户层(应用层)。该层是PDM系统体系的最终用户,是SOA体系架构中服务的最终使用者。实现形式主要是Web浏览器等客户端。无论什么样的客户端,一旦通过访问UDDI中心发现了PDM服务,便可以通过SOAP消息访问这些服务,选择所需服务进行调用。

4 结束语

SOA技术在PDM系统中的应用可以减少企业投入成本,利用现有的资源,开发出功能更强大的服务,信息孤岛和PDM系统本身功能不足的缺点得以克服,系统开发也不用从头开始,缩短了开发周期,降低了开发成本,并能够在保持原有系统正常使用的前提下,从现有的服务中组合新的服务,满足企业业务多变的需求。

另外,现有PDM软件架构是B/S结构(Browse/Server,浏览器/服务器结构),为SOA在PDM中的实践提供了基础。同时中间件和平台技术的成熟也给SOA在PDM系统的实现上提供了有利的保障。

然而将SOA应用在PDM系统还将面临很多的问题和挑战,如业务功能的粒度划分、系统的异构性等,都有待于进一步研究,但可以相信的是,SOA必将对未来几年的PDM市场的格局带来深远影响。笔者期待更多的PDM厂商不断推进标准化的SOA架构,进一步完善和细化基于SOA架构的PDM产品,加快企业信息化建设的步伐。




免责声明:

本站系本网编辑转载,会尽可能注明出处,但不排除无法注明来源的情况,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 来信: liujun@soft6.com 我们将在收到邮件后第一时间删除内容!

[声明]本站文章版权归原作者所有,内容为作者个人观点,不代表本网站的观点和对其真实性负责,本站拥有对此声明的最终解释权。