产品异地设计制造与COBAL技术

发表于:2015-08-13 13:05 阅读:

    引言

    现代制造业正面对一个快速多变的竞争的市场,制造企业必须以敏捷的应变与制造能力去适应市场的挑战。从而,对企业的组织结构和产品设计制造的生产模式,提出了新的要求。要求企业具有快速开发新产品的能力,以及适应市场多元化、个体特征化发展需求的能力。为此,制造企业需要具备组织可重构与生产制造过程可重构的能力;需要建立企业间的动态联盟或虚拟企业,实现以产品为中心的跨地区的协同设计制造与组织管理动态重构的能力;需要建立客户对项目的异地远程参与,满足用户对产品质量特性与适应性的需求;以求创新产品的敏捷化组织管理、设计与制造,产品异地敏捷化设计与制造已经成为现代制造业发展的主流。因此解决企业内和企业间的设计、制造与管理的信息与应用软件资源的重构应用、寻求企业和企业间的信息集成方法与技术,实现企业和企业间的动态柔性集成已成为十分迫切的主要问题。而实现产品异地设计制造的信息共享、集成与分布式应用互操作,则是制造企业和企业间产品异地敏捷化设计与制造的基本需求与关键。
    由于信息技术的发展,尤其是Internet/Intranet技术的出现,使得企业内部和企业间动态联盟,实现以产品为中心的敏捷化设计与制造成为可能。也就是说,不仅使得企业内部的设计、制造与管理的信息资源,通过Intranet可重用重构,实现集成与应用互操作,而且使得企业之间通过Internet网络,实现企业间设计、制造与管理的信息资源异地共享,实现信息集成与互操作成为可能。如图1所示,分布在企业A、B、C的产品数据管理(PDM)、企业资源计划(ERP)、供应链系统等各种应用系统中的信息资源,例如设计制造文档、应用工程图库以及各类数据库(DB)等各不相同的异构的设计制造数据信息资源,由于信息技术的发展,使得不仅在企业内部而且在企业之间,实现基于web的信息资源的共享集成与应用互操作、实现动态柔性集成成为可能。从而,实现企业和企业联盟的柔性集成制造系统,支持产品的协同设计与制造。
    图1表明,企业与企业联盟的设计、制造与管理的信息资源,具有分布、异构(资源与平台异构)、自治、动态等特点。
    因此,在实现企业内和企业间的产品设计制造的信息共享与互操作方法、技术与实现方面,应考虑信息资源与平台异构网络环境下的分布式信息共享与互操作,研究基于web的产品异地设计制造的信息共享与互操作的方法、机制及软件系统的开发与实现。

   

    当前,企业信息集成已由分布计算环境中实现远程数据库访问、远程过程调用与多数据源互操作的数据共享与集成,迅速发展到以支持应用互操作的应用需求为核心,以面向对象技术为主要特征的分布对象技术。在分布对象环境中实现企业信息资源的重用、重构与共享,实现面向产品异地设计制造信息共享与应用互操作。为此,国际上出现了以对象管理集团(OMG)的CORBA、Microsoft的COM/DCOM以及Sun的Java/RMI为代表的应用互操作技术规范标准,这些标准为研究企业内与企业间的信息资源的动态柔性集成与应用互操作,实现企业与企业联盟的信息集成系统提供了有力的支持。
    机器人产品设计制造,由于其产品结构复杂,技术含量高,客户要求多变(非标准、单件),交货期短(工期紧),市场竞争激烈,产品的设计和制造要靠多方面协作,从而形成了异地、分布、动态的多个单位(企业)联盟协同机器人产品设计制造与营销的模式。沈阳新松机器人自动化股份有限公司(简称新松公司)主导产品涵盖工业机器人、特种机器人、大型自动化生产线等机器人应用工程,该公司对于在Internet/Intranet环境下实现基于web的产品异地设计制造的集成管理有着极大的兴趣与迫切的需求,要求开发基于web的支持机器人异地设计制造的集成管理系统,实现客户管理,产品异地方案设计、异地报价以及技术支持与服务,实现对产品设计制造图档、文档、产品结构的远程访问。
    为此,本技术专题介绍,以机器人产品异地设计制造与机器人应用工程为背景,遵循国际规范标准或国际工业流行规范标准,研究开发的面向产品异地设计制造基于web的分布式应用互操作开放式体系结构,产品设计图、应用工程图、设计制造文档资料和数据库等异构信息数据资源及应用系统与Internet/Intranet的无缝接入方法;异地信息资源的远程访问与应用互操作的实现方法、实现结构及软件系统,实现对产品设计图、应用工程图、文档文件和数据等设计制造资源的远程访问、查询、修改、认证与传送,为产品异地设计制造服务。
[an error occurred while processing this directive]
    
分布式应用互操作体系结构与实现模型研究

    分布式应用互操作层次体系结构

    为实现企业与企业联盟,满足产品异地设计制造应用互操作的应用需求,应用分布对象技术,在Internet/Intranet网络环境下实现信息资源共享与应用互操作,提出了面向对象的企业信息资源共享与应用互操作的开放层次体系结构模型,如图2所示,它由五个层次构成,自上而下依次为信息资源层,公共访问接口层,请求/服务代理层,对象通信服务层和网络传输服务层。

   (1)信息资源层信息资源层,即企业内部与企业之间为支持产品异地设计制造所需要的各种文档、数据库系统、应用系统等信息资源所组成。它们以不同粒度的构件对象方式无缝接入到分布式应用互操作系统之中,实现可重构的柔性集成,为用户提供各类服务。
    (2)公共访问接口层公共访问接口层为异地设计制造应用系统与用户提供开放式接口,提供基于分布对象模型描述对象调用接口和对象实现接口的接口定义语言(IDL)。IDL是一个跨越计算机编程语言、工具、操作系统和网络的说明性语言,用以支持各种异构应用资源实体的对象化包装,设计开发对象适配器,使得企业的各种信息资源以统一的对象接口方式连接和注册到服务器上。接口层还包括基于web的对象界面接口,提供用户访问调用服务对象。
    (3)请求/服务代理层请求/服务代理层包括客户代理和服务代理。这两种代理之间是通过对象请求代理进行交互的,并以消息方式发送和接受。客户代理的主要功能:接受客户请求,按照处理规则与系统状态实现请求服务定位。定位功能包括对局部(本地)服务对象的请求服务的定位,以及通过异地远程请求/服务代理的远程服务对象的定位。服务代理的主要功能:负责局部(本地)服务对象(面向对象的服务对象集合)的注册和管理,为客户请求提供信息资源服务,当该服务代理注册的服务对象不满足客户请求时,通过交易服务与远程服务代理,实现远程服务对象的查询,获取所需服务,并将结果回送到相应的客户代理。
    (4)对象通信服务层对象通信服务层,以分布对象描述模型为基础,遵循国际规范标准或国际工业流行规范标准,实现数据信息等对象间的通信,按照传输对象的协议数据单元(PDU),提供在对象间流动的信息发布、定位,完成基于网络的对象请求的组装、传送和重组。
    (5)网络传输服务层网络传输服务层建立在操作系统和网络传输服务基础上,通过网络传输接口构造抽象通信界面,并独立于操作系统和网络协议,在互操作对象之间建立通信通道。针对具体的传输协议(例如Internet传输/网络协议TCP/IP)进行映射,实现将请求对象的消息数据流转换为网络传输层传输的位流进行传送的。

    
系统实现结构模型

    支持产品异地设计制造,实现信息资源的共享与集成,信息资源必须模块化,按不同的粒度构造信息资源模块,作为支持企业产品设计制造提供的各种服务构件,即建立企业信息资源的构件化模型,所谓企业信息资源的构件化,也就是说,需要按信息资源提供的相关功能和应用系统实际状况确定构件化粒度,可分别划分为组件、构件、功能体、自主体(智能代理)等模块。这里:
    组件,即是针对某一特定问题,构建具有相应功能的便于使用、维护的软件基本单元。它表现了软件基本单元的原子性
    构件,即是针对某类特定问题的解决,提供组件集成的软件架构。
    功能体,由组件、构件组成的具有某方面功能的应用软件实体。
    自主体(智能代理)即SoftwareAgent,一种能体现智力状态,由组件、构件组成的实体。智能代理一般具有方法(行为、过程等)、属性、语言、推理机制和私有知识库(事实与规则)。通常它具有自治性、开放性、以及适应环境并与环境交互的能力。
    此外,作为企业信息资源构件化模型的重要组成部分,必须有软件总线。这里软件总线是指分布式环境中,实现组件、构件、功能体和智能代理柔性集成的服务机制与规范标准。在分布式环境中,软件总线由对象总线构成,通过对象总线集成企业产品设计制造信息资源各种构件对象,实现对各类信息资源透明访问与互操作。
    基于对象总线的企业产品设计制造信息资源集成与互操作实现结构模型如图3所示。
    该实现结构模型是扁平结构,在逻辑上可与企业应用互操作层次体系结构相映射。企业与企业联盟的产品设计制造各种异构信息资源按应用功能和实际情况划分为不同粒度的组件、构件、代理与功能体(应用软件),经对象化包装,"可插拔"在对象总线上。通过远程请求/服务代理、本地请求/服务代理、对象总线、网络传输实现对各类异构信息资源透明访问与互操作,实现企业产品异地设计制造。

   CORBA规范与技术

    公共对象请求中介体系结构CORBA(CommonObjectRequestBrokerArchitecture)规范是由国际组织对象管理集团(OMG)制定的,该组织定义了对象管理体系结构(OMA),作为异构分布环境中的对象之间交互的参考模型。OMA由对象请求代理(ORB)对象服务、通用设施、域接口和应用接口等五个部分组成。ORB实现客户和服务对象(对象实现)之间的通信交互,其它四个部分则是构架于ORB之上,适用于不同场合的部件。CORBA的基本操作模型如图4所示。图中,客户是请求某种对象服务(在对象上完成的某种操作)的一个操作实体,对象实现是服务对象的数据和代码。ORB负责客户和对象实现之间的所有交互机制,包括为客户请求寻找合适的对象实现,使对象实现接受客户的请求,客户和对象实现之间的数据交互和交互过程中的编码和解码等。CORBA标准就是针对上述对象请求中介系统制定的规范,以实现CORBA客户与服务对象间的交互操作。由此,我们可以选定CORBA规范标准的对象总线ORB,作为企业信息资源构件化模型的软件总线基础,构造可重构信息集成系统。单个CORBAORB体系结构如图5所示。CORBA规范(2.0版)的主要内容包括:ORB内核、对象适配器、OMG接口定义语言(IDL)、IDL编译器、桩(Stub)和架构、动态调用接口和动态架构接口、接口仓储以及ORB间的互操作。


   ORB内核。它提供了对象请求与回答的通信机制,使CORBA应用开发者无需关心具体通信细节,而把注意力集中到实际的应用程序逻辑中去。ORB接口是ORB核心给出的界面。它同时为客户方和对象实现方所用,提供了一些只能由ORB内核提供的服务ORB接口函数,包括对象引用操作、ORB初始化、对象适配器初始化、获取初始对象引用等。对象适配器介于ORB内核和对象实现之间,负责服务对象的注册、对象引用的创建和解释、服务进程的激活和去活、服务对象的激活和去活以及客户请求的分发。定位和激活对象实现所需的信息存储在实现仓储里。由于对象适配器的存在,使得ORB内核尽可能地简单,从而提高ORB核心的稳定性和效率。在CORBA规范中,定义了"基本对象适配器"(BOA)作为实现对象适配器的通用标准。
    OMG接口定义语言IDL。它是一种用来描述客户对象的调用接口和对象实现接口的语言(见图6),它用规定的文法完整地定义了服务接口,并指定了每一个操作的参数,提供CORBA应用的开发者描述服务对象的接口。OMGIDL只是一种纯描述语言,而不具有可执行性。IDL编译器实现对具体编程语言的映射,它将用户的IDL描述文件经过编译生成对应编程语言的桩和架构程序。CORBA规范中定义了OMGIDL语言到具体编程语言的映射,目前的映射包括了C、C++、SmallTalk、Ada95和Java等。因此它适用多种编程的应用软件实体,体现了语言的异构性。

   桩和架构程序。客户方的桩程序负责把用户的请求进行编码发送到对象实现端,并对接收到的处理结果进行解码,把结果或异常信息返回给用户。服务方的架构程序对用户请求进行解码,定位所要求的对象的方法,执行该方法并把执行结果或异常信息编码后发送回客户。这样的方式通常称为"静态调用方式"(SII),这种调用适用于在客户执行前,服务已知的情况,支持同步请求调用。
    动态调用接口DII与动态架构接口DSI。动态调用接口用来在运行时发现被调用的方法,用来发现新对象以及它们的接口和它们的定义。动态调用接口允许在运行时,通过指定目标对象的引用、操作、属性及被传送的参数来构造用户请求,并发送到对象实现方。在对象实现方也有一种相类似的动态分发用户请求的机制,称为动态架构接口。动态调用接口与动态架构接口支持了动态调用方式,在这种调用方式下,用户往往预先不知道服务对象的接口信息,用户首先通过查询或者其它手段获得服务对象的接口描述信息,然后自行调用ORB的方法来构造用户请求,并发送到对象实现方。使用动态方式比静态方式更加灵活,比如,在动态方式下,用户可以选择使用异步的调用方式。用户需要查询相应的服务对象的接口描述信息,存储在接口仓储部件里。接口仓储通常是以IDL描述文件为输入,将接口描述信息进行处理后存放在文件、数据库或者其它形式的存储机制中,并提供一组标准的调用接口供用户查询使用。
    ORB间的互操作。CORBA2.0规范增加了针对不同厂商ORB系统之间的互操作的规范,由于以前版本的规范都没有对ORB间进行通信的数据格式和协议进行规定,导致了不同的实现采用了不同的通信格式而无法相互通信。CORBA2.0中定义了通用ORB间通信协议(GIOP),它对数据编码的格式、传输消息的格式和对传输协议的要求都作出了详细的规定。由于GIOP是一个抽象的协议,它必须映射到具体的传输协议或机制中去,CORBA2.0规范提供了GIOP到TCP/IP协议的映射,称为IIOP(InternetInterORBProtocol),即InternetORB间协议,支持Internet上的ORB(包括不同厂家的ORB产品)之间的互操作。为实现Internet/Intranet网络环境下基于Web的应用互操作打下基础。GIOP协议由下面元素组成:公共数据表示(CDR)定义,定义了把OMGIDL数据类型转化成在ORB间和ORB桥(代理)间的底层传输的表示形式;GIOP消息格式,为了GIOP消息在代理间互换,方便对象请求、定位对象实现和管理通信通道;GIOP传输规则,GIOP规范对任何具体的可用来传输GIOP消息的网络传输层作了规划。规范也描述了怎样管理连接和限定GIOP消息的顺序。IIOP规范对GIOP规范增加了InternetIIOP消息传输元素。IIOP规范描述了代理怎样打开TCP/IP连接和用它们来传送GIOP消息。能够接收对象请求或提供对象位置的代理发布在IIOP中的TCP/IP地址。每个TCP/IP地址由主机的IP地址,通常用主机名代替,和一个TCP端口号组成。服务器必须监听连接请求。请求对象服务的客户必须用IOR(InteroperableObjectReference)中规定的地址和连接请求来初始化连接。一旦连接建立,客户可以将Request、LocateRequest、CancelRequest消息写入自己的TCP/IP套接字中,发送出去。服务器也可以将Reply、LocateReply和CloseConnection消息写入自己的TCP/IP套接字中,发送出去。在双方发送或接受到CloseConnection消息后,客户和服务器关闭TCP/IP连接。其消息传递基本过程如图7所示。
    此外,CORBA2.0的修订版本中,还增加了对微软公司的分布对象计算模型COM/OLEAutomation标准之间的互操作的规范,使CORBA的可扩展性得到了进一步的提高。现在已提出了CORBA3.0规范。

   基于对象Web的应用互操作实现途径与支撑机制

    Internet技术的发展,特别是20世纪90年代中期WWW技术的广泛应用,给分布对象技术的发展与应用开辟了更广阔的空间,对象Web(ObjectWeb)以成为人们关注的新热点。从技术角度来看,WWW应用已经经历了HypertextWeb和InteractiveWeb两种形态,但由于它们在应用接入能力方面的限制,使上述两种形态的应用存在较大局限。
    ObjectWeb技术主要包括对象开发技术和对象访问技术。由于Java技术具有"一次编译,随处运行"的跨平台特性,Java软件得到了Netscape、IE等浏览器的支持,从而使得应用Java/RMI技术解决了访问异地Java对象的问题,但是如何通过Java技术管理和访问异地其它大量非Java对象的问题并没有解决。也就是说在ObjectWeb技术中,大量用非Java语言开发的对象如何通过Web被访问,使用单一的Java技术时受到限制。因为对于企业产品设计制造信息资源与软件应用系统,存在着众多语言编写的程序实体,存在编程语言的异构性。由于CORBA对象具有语言、操作系统和硬件平台无关性的特点,明晰的CORBA/IIOP规范与OMA开放式体系结构,它最容易将大量已存在的异构信息资源、软件应用系统和C/C++、Smalltalk、Java等描述编写的对象带入ObjectWeb技术,使得采用Java/CORBA结合在ObjectWeb技术中的对象开发与对象访问中具有强大的异构信息资源。从而使得Internet/IntranetWeb环境下实现信息资源的远程访问与应用互操作,开发大型分布式应用系统,Java/CORBA结合提供了良好的实现途径、技术规范标准与支撑机制。
    由于微软公司推出了WindowsNT、IE浏览器、ASP(活动服务器页)和ActiveX/DCOM技术,在ObjectWeb的开发与应用中也占有一定地位。特别是当企业采用了微软公司提供的一系列产品,在"微软"同构环境下,采用ActiveX/DCOM技术开发中小型的基于Web的产品设计制造信息资源互操作系统也是适宜的,并有其方便性。
    基于Web的产品异地设计制造分布式应用互操作实现结构
    依照分布式应用互操作体系结构和实现结构模型,采用国际流行的CORBA标准规范,应用Java/CORBA相结合的技术,基于Web的产品异地设计制造分布式应用互操作系统(WebDMIOS)结构如图8所示。系统实现结构的公共访问接口,采用基于Web浏览器的用户界面,采用超文本描述语言html,遵照HTTP协议进行Frombased的双向通信,通过设计的基于JavaApplet各类互操作组件,实现Internet/Intranet环境下跨平台的基于Web的产品设计制造应用互操作,Web与Java联合的应用互操作结构构成了本系统结构中的前端结构。此外,JavaApplet为Webhtml页面增添了可视性。

   请求/服务代理层结构设计成多代理结构,远程请求/服务代理负责本企业提供共享的产品设计制造信息资源的注册与发布,以及异地远程客户的登录与注册。本地(或项目)请求/服务代理负责网络中本结点(或项目)的设计制造信息资源的注册与发布,代理客户请求,提供本结点(或项目)服务对象。请求/服务代理层通过远程请求/服务和远程用户对企业产品设计制造信息资源调用的请求与服务的协同,查找与服务定位,实现对用户的位置透明。
    企业产品设计制造信息资源与应用系统以及公共服务构件,通过基于CORBA构件对象化包装、模式转换与映射,构造CORBA对象适配器与服务设施。针对异地设计制造典型数据信息资源,完成产品设计制造工程设计图,零件图,产品零件数据信息库,产品文档的对象包装,以及查询、修改、标注、认证等服务,实现产品设计制造信息数据资源可重用重构的无缝接入、集成与互操作。由此构成了本系统中的后端结构。
    系统实现结构的对象通信服务采用了符合CORBA标准的ORB对象总线提供的对象请求与回答的通信机制。本系统采用了IONA公司OrbixORB实现及CORBA公共服务设施。对于系统实现结构的网络传输服务,由于采用了CORBA/IIOP协议标准,实现了对TCP/IP传输/网络协议的映射,完成在Internet/Intranet网络平台上的信息传输。

   在图9中:①异地用户在自己的Web浏览器上从相关的Web服务器下载HTML页面,此页面嵌入了异地产品设计制造信息资源应用互操作系统(WebDMIOS)页面;②Web浏览器。从HTTP服务器里检索Java小应用程序(应用组件),并接收来自HTTP服务器组件(Javaapplet);③Web浏览器加载Java组件;④通过CORBAIIOP,Java组件调用CORBA对象与其它使用CORBAORB的用户或服务器交互,实现对产品设计制造数据信息资源和应用服务的访问、调用与操作。Java小应用程序与CORBA服务器对象之间的对话将一直持续到双方断开连接时为止。即可实现远程用户对企业产品设计制造信息资源调用的请求与服务。

 


(非特殊说明,本文版权归原作者所有,转载请注明出处 )
鸣人致力于为企业提供数据恢复、机房建设、数据库运行、运营及安全等全方位服务。




想在手机上、随时获取互联网前沿、设计资讯以及各种意想不到的"福利"吗?通过微信扫描二维码快速添加