您的位置:网站首页 > CAD新闻

基于SOA&Web的PDM系统异地协同的研究

时间:2011-02-26 19:31:08 来源:

21世纪以来,PDM(Product Data Management,PDM)系统在我国中小企业中得到了广泛应用,成为制造业产品设计部门不可或缺的利器。然而,随着企业规模的不断扩大,以及多企业的协同作业,如今—个完整产品的研发、设计、制造、装配不可能在一个车间完成,往往需要跨地区、跨企业的协同作业。异地分布式地进行产品设计、协同制造和协同工作成为以制造业为主的企业一个必须妥善解决的问题。由于PDM系统缺乏良好的异地协同,目前企业问的协作存在如下弊端:

    ①企业间设计部门沟通不便,各企业的PDM系统形成信息孤岛,无法实现信息资源的共享;

    ②各企业设计标准不同,产品编码、图纸编码等不统一,导致产品整合困难;

    ③异地PDM系统非松散耦合集成,相互依赖性较强;

    ④目前PDM系统朝着BWD(Browser、Web、Database)的模式发展,网上传输数据的安全性受到威胁;

    ⑤各企业PDM系统无法资源互补,难以形成企业动态联盟;

    1 SOA的特点和Web实现技术

    1.1 SOA的特点

    面向服务架构(Service Oriented Architecture,SOA)是一种面向服务的企业应用体系结构,是一种分布式的软件架构模型。它将企业应用看作是一些能够跨越企业边界、自我描述、实现某—特殊功能的服务集成。在该模型中,任何业务功能都被作为提供的—个服务使用,应用程序的不同功能(服务)通过这些服务之间定义的接口和契约联系,应用系统可以看作是一系列服务的集成。SOA的服务封装、松散耦合、粗粒度性等特点为异地协同PDM系统的开发提供了良好的集成途径。

    SOA体系结构由三个参与者和三个基本操作构成。参与者为服务提供者(Service Provider)、服务请求者(ServiceApplicant)和服务注册代理(Serviceregister Broker),基本操作为发布(Publish)、搜索(Search)和绑定(Bind),如图1所示。服务提供者将其服务发布到服务注册代理的一个目录上,当服务请求者需要调用该服务时,它首先利用服务注册代理提供的目录搜索服务,服务注册代理返回调用该服务的信息,服务请求者根据返回的信息调用服务提供者提供的服务,当服务请求者从服务注册代理得到调用所需服务的信息后,通讯在服务请求者和服务提供者之间直接进行,无需经过服务注册代理。

    图1 SOA体系结构

    1.2 Web实现技术

    面向服务架构最流行的一种实现方法是WebService技术,它使用一系列标准和协议实现相关的功能,其中XML作为Web Service技术的基础,是开放环境下描述数据和信息的标准技术,服务提供者可以用WSDL(Web服务描述语言)描述Web服务,用UDDI(统一描述、发现和集成)向服务注册代理发布和注册Web服务,服务请求者通过UDDI进行查询,找到所需的服务后,利用SOAP(简单对象协议))来绑定、调用这些服务。

    2 异地协同PDM系统集成框架

    目前,异地协同PDM应用系统普遍存在着点对点的方式,当协同站点达到一定数量时就会产生网状分布的繁杂连线,造成结构混乱,难以管理。在基于SOA的异地协同PDM系统中,由于不同企业的PDM系统提供不同的信息资源和服务,如何集成这些异构的、分布式的数据和服务是实现不同企业PDM系统集成的关键。

    Web Service是实现SOA的核心技术,一种独立于具体的计算机语言、平台和机器的技术。服务提供者和服务集成时不用考虑是否是同一个系统平台或者是否使用同一种计算机语言。本文将采用Web Service技术实现异地PDM系统的集成。图2给出了基于Web Service的异地PDM系统的集成框架。框架主要由Multi—UDDI服务中心、服务组件引擎和服务访问组件组成。

    图2 基于SOA&Web的PDM系统异地协同框架

    (1)Multi.UDDI服务中心(Multi UniversalDescrip-tion,Discovery and Integration):是不同企业PDM系统集成框架的核心,为各个PDM系统信息资源提供者提供快速的服务注册和发现功能。标准的UDDI(统一描述、发现和集成协议)是一套基于Web的、分布式的、为Web Service提供的信息注册中心的实现标准规范,它拥有一套标准的XML Schema定义、发布和搜索的编程规范。Multi.UDDI兼容标准的UDDI,同时扩展其数据结构和API,使其更适合企业资源的发布和搜索,并增强安全性、可伸缩性和可维护性。各企业PDM系统以web服务的形式把需要协同共享的信息发布到Multi.UDDI注册中心,请求服务的PDM系统从这里通过服务访问组件搜索获取自己所需的信息。

    (2)服务组件引擎:在Multi.UDDI服务的支持下,提供面向信息资源的智能搜索功能。该搜索机制与传统UDDI服务的不同之处在于,它支持平台最终需要的资源信息本身,而不仅是作为其传输媒介的Web服务。

    (3)服务访问组件:为各企业PDM系统提供web服务的访问功能。在做企业采购(或外协加工等)解决方案时,供应商处的信息如原材料的数量、发货时间、到货地点等信息是必不可少的。供应商只需把这些信息用XML定义数据格式、用WSDL封装数据访问接口、以Web服务的形式发布到Multi.UDDI服务中心;需要这些信息的PDM系统业务逻辑模块就可以通过访问Multi.UDDI服务获得Web服务描述和服务引用,然后通过服务引用获得供应商PDM系统的实时数据和历史数据,来完成对供应商PDM系统数据信息集成;供应商已有的企业管理信息系统(即遗留系统)只要把旧的数据封装成Web服务,发布到Multi.UDDI,就可以被需要这些信息的PDM系统集成,从而实现数据共享;各企业的PDM系统可以通过自身的服务组件引擎来发现和调用这些服务,从而实现与服务提供商、服务请求者之间的信息资源的集成。

    不同PDM系统对象统一编码可通过多种策略来实现,本系统采用双编码方式:为对象设置两个编码属性,一个是本地编码,—个是全局编码。在本地系统中使用本地编码,流出本地系统进行协同整合时,由协同站点调用统一编码服务,根据对象类型申请全局编码。这样可在不改动原有各企业编码规则的情况下统一编码标准,对象流出本系统时才添加新统一编码,使旧数据同样能获得统一编码。

    3 异地协同PDM系统的实现技术

    实现web Service的主流开发平台有Microsoft.net平台和J2EE平台,基于J2EE平台开发的系统由于具有平台无关性、可伸缩性、安全性、异地PDM系统协同工作实现方案之间的可移植性等优点而得到了广泛应用。图3是采用J2EE平台实现异地协同PDM系统的Web服务体系结构。

    图3 基于J2EE的Web服务体系结构

    JAXR(Java API for XML Registries)提供—个统一、标准的Java API,用于访问不同类型的XMLRegistries,使应用程序能够向注册表中注册或查询其他企业提供的web Service;JAXM(Java API forXML Messaging)用于XML消息交换的Java API,提供了web Service环境中的异步和消息交换功能,并可以通过内部网和Intemet进行XML文档交换。JAXM是基于SOAP 1.1规范和SOAP附件定义的消向Multi.UDDI服务注册表发布Web Service,客户端的用户界面用浏览器形式表示,使用JSP和JSTL来实现,JSTL标记将辅助完成条件处理和对WebService所返回XML数据的分析。服务请求方包括—个Java Servlet,通过创建—个框架来扩展服务器的能力,以提供在Web上进行请求和响应服务,它具体负责解释客户端输入的H11甲请求,根据HTTP请求利用JAXR发现Multi.UDDI服务注册表中的服务,然后根据请求内容创建一条SOAPMessage,利息交换协议的一种API框架。服务提供方用JAXR用JAXM把SOAPMessage提交给服务提供方调用相关的Web Service,由Web服务程序处理数据库,最后把结果返回到服务请求方。

    4 结语

    目前,我国制造业的PDM系统已进入成熟应用的阶段,很多企业已不满足系统的基本功能及在本身系统上的修修补补,而提出了异地协同应用等更高端应用的需求。本文以此为基点,提出了—个不同PDM系统集成框架,并给出了基于J2EE平台的实施方案。该异地协同PDM系统框架符合SOA设计模式,以边界清晰的自治服务为基本单位,服务请求者与提供者之间通过标准的XML格式进行通信,这样的设计模式适应目前异地系统整合的发展潮流。另外,由于系统的复杂性,此方案还有一些方面如服务安全性等需进一步深入探讨和研究。