首页 > 方案案例 > 正文

基于Web Services的产品结构模型研究

2009-10-26 10:26:18  来源:万方数据

摘要:主要研究如何将Web Services技术应用于PDM系统中的产品结构建模。通过基于Web Services的组件通信与基于CORBA和DCOM组件通信的比较.充分体现了Web Services技术完好的封装性、松散的耦合性和高度
关键词: 网络服务 产品数据管

  CAD/CAE/CAPP/CAM的广泛应用提高了制造企业的设计能力和生产效率,但另一方面,虽然各个应用领域的计算机辅助技术已经日益成熟,但都自成体系,彼此之间缺乏有效的信息共享,形成所谓的“信息孤岛”。因此,庞大的数据流,数据和过程缺乏透明性,系统集成不充分是当前制造企业信息管理迫切需要解决的问题。产品数据管理(PDM)应运而生。PDM是用来管理所有与产品相关信息和所有与产品相关过程的技术。PDM功能主要包括:数据仓库和文档管理、产品结构与配置管理、零件分类管理与检索、工作流和过程管理等。产品结构与配置管理是PDM系统的核心功能之一,它以数据仓库为底层支持,把众多的产品数据按一定的关系和规则组织起来,以实现对产品数据的有效管理。

  1 产品结构管理

  产品结构管理(Product Structme Management)采用产品结构作为管理和组织数据的框架,将产品对象与它的数据相关联,通过产品的结构关系使得产品数据之间的关系在逻辑结构上保持一致,组织与产品相关数据。它通常主要包括产品结构树管理、产品一文档关系管理和版本管理等。在PDM系统中,产品结构树管理以产品结构视图的方式建立和管理产品的层次关系,用户可以很方便地浏览产品结构树的整体结构层次和查询每个节点的相关信息。由于PDM系统中,产品对象(如产品、部件、子部件、零件等)与文档(如任务书、设计报告、技术要求等)不直接发生联系,因此,通过文件夹作为连接产品对象和文档的桥梁。通常产品的没计是一个连续的、动态的过程。一个对象在设计过程中不断被修改,就会产生许多版本,版本管理就是为了实现对产品版本的控制管理。

  2 产品结构模型

  在PDM系统中,制造企业的各个部门需要共享产品数据,首先应当建立统一的产品结构模型,一般的产品结构是指由产品的零部件明细表组成的一种树状结构。在产品结构树中,产品结点处于根结点位置,部件结点是拥有子结点的中间结点,零件结点就是树上的所有叶子结点。产品结构模型如图1所示。

\

  图1. 产品结构模型

  产品树状结构模型具有以下特点:

  (1)除根节点外,其他结点都拥有一个或多个父结点;

  (2)如果A结点是B结点的父结点,则说明A结点是由B结点与其他结点装配而成;

  (3)如果A结点是B结点的父结点,则B结点以下的层次中不能再次出现A结点,否则A结点与B结点的装配关系无法确定。

  3 Web Services技术简介

  3.1 Web Services的定义

  Web服务是—个应用逻辑单元,它为其他应用提供了数据和义务。应用通过通用的Web协议和数据格式,如HTTP、xML和SOAP(简单对象协议)来访问web serVices,不必考虑每个web服务是如何实现的。服务提供者可以用wsDL(web服务描述语言)描述web服务,用uDDI(统一描述、发现和集成)向服务注册代理发布和注册web服务,服务清求者通过uDDI进行查询,找到所需的服务后,利用sOAP来绑定、调用这些服务。

  3.2 Web Services的组成

  Web服务是在现有的Web技术和设施之上,通过制定新的协议和标准、提出新的技术来实现的。新提出的与Web服务相关的主要协议和技术包括SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language,)、UDDI(UniVersal Description,Discovery and Integration)。SOAP用来定义数据描述和远程访问的标准;WSDL是发布和请求Web服务的描述语言;UDDI则把Web服务与用户联系起来,起中介作用。当然,Web服务的具体实现并不局限在这几种协议和技术上,任何支持Web标准的系统都能支持Web服务。

  3.3 Web Services模型

  从功能上来看,Web Services的体系架构是基于Web服务提供者、Web服务请求者、Web服务注册代理的不同操作来建立的。以角色来表示的Web Services体系结构模型可以用图2来表示。

\

  图2. Web Services模型

  简单地说,Web服务提供者就是Web服务的拥有者,它耐心等待为其他服务和用户提供自己己有的功能;Web服务请求者就是Web服务功能的使用者,它利用SOAP消息、向Web服务提供者发送请求以获得服务;Web服务注册代理的作用是把一个Web服务清求者与合适的Web服务提供者绑定在一起,它能够注册已经发布的服务提供者以及所提供的服务,并且提供服务的检索。它充当管理者的角色,一般是UDDI。这三个角色是根据逻辑关系划分的,在实际应用中,角色之间很可能有交叉:一个w曲服务既可以是web服务提供者,也可以是W曲服务请求者,或者二者兼而有之。

  3.4 Web Services的特点

  (1)完好的封装性。Web服务是一种部署在Web上的对象,自然具备对象的良好封装性。使用者仅能看到该对象提供的功能列表。

  (2)松散耦合性。这一特征也源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会察觉到的。对于涮用者来说,只要Web服务的调用界面不变,Web服务的实现任何变更对他们来说都是透明的。

  (3)使用标准协议。相比一般对象而言,Web Services的接口更加规范并且易于理解。首先,作为Web服务,对象界面所提供的功能应当使用标准的描述语言来描述(如WSDL);其次,由标准描述语言描述的服务界面应当是能够被发现的,因此这一描述文档需要被存储在私有的或公共的注册库中。最后,在所有层次的处理都应当是可管理的,凶此需要对诸如授权认证、数据完整性、事务处理的不可抵赖性等用规范方法来描述和交换。

  (4)高度可集成能力。由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是RMI都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。

  3.5 Web Services与CORBA和DCOM比较

  无论是CORBA、DCOM还是EJB组件,由于每种组件都必须使用自己特定的规范来开发,组件之间的通信也必须使用特定的协议。如果一定要在不同的服务端组件之间通信的话,就必须在组件之间加一个特殊的连接器来转换信息,如图3所示。但是如果所有的服务端组件都以Web Services的形式提供服务的话,那么从使用者来看,不管底层是使用EJB,还是CORBAR,或是DCOM,最终面向用户的都是一个统一的Web services调用接口,因为通过Web Servces统一的接口调用,完全屏蔽了不同服务端组件之间的区别,如图4所示。

  4 利用Web Services建立产品结构

  4.1 Web Services与XML

  在Web Services中,不同层次的信息都是使用可扩展标记语言(extensible Markup Language,简称XML)统一描述。XML语言定义了结构化描述信息的标准格式,使数据在不同平台、不同系统之间可以使用不同的编程语言来实现互操作。XML和Web Services的关系有如TCP/IP和Internet的关系,不过后者着重于网络的互联,而XML将实现数据的共享。

\

  图3. 不同组件的通信方式

\

  图4. 基于Web Services的组件通信

  4.2 从PDM数据库中提取XML文档

  在基于SQLSerVer2005的关系数据与XML的转换过程中,不论是服务器返回的数据还是客户端送出的数据都是XML。它和传统的Web访问数据库的效率有很大的不同。

  传统的Web访问数据库由于客户端无法一次送太多的数据到服务器,因此,若要更新数据库的数据必须分成很多次将所有的信息传送到服务器,如此一来,对于网络与服务来说是非常没有效率的。

  新一代Web曲采用HTTPXML对象,则允许我们传送完整的XML包到服务器,因此,可以大大提高系统服务的效率。当服务器端的ASP程序接收到浏览器端发来的请求时,开始执行相应Web服务,从数据库中取出数据,并制作成XML文件;服务器将XML文件传送到浏览器。

  4.3 利用Web Services实现产品结构

  在VisualStudio2005.net平台下,创建Web Services非常简便。首先打开Visual studio.NET在【新建项目】中就有【ASP.NET Web服务】模版,选择该模版,然后将位置设置为指向Web服务器的URL即可。而对于XML文档的提取,.NET中的System.xml命名空间提供了xmlReader与XmlWirter类,这些类能够从流或XML文档分析或写入XML数据。这些类是抽象基类,可以对这些类进行扩展以创建自定义类。

  5 结束语

  在对现有的PDM软件的基础上,通过建立产品结构模型的Web服务,实现产品数据的网络化组织、管理与控制。而且web服务不同层次的信息都是使用XML来统一描述。这使它成为Web服务器与应用程序之间、应用程序与用户之间进行数据交换的最佳工具。基于XML的Web Services主要目标就是在现有的各种异构平台的基础上构建一个通用的与平台无关、语言无关的技术层,各种不同平台之上的应用依靠这个技术层来实施彼此的连接和集成。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。