论文部分内容阅读
随着现代制造业的发展,如何敏捷地利用技术提供的可能性,及时抓住市场对新产品需求的机遇,迅速开发出适应市场需要的新产品,已经成为企业赢得市场竞争的关键。于是提出了协同设计。协同设计为快速开发产品、赢得市场开辟了一条新的道路,但是和协同设计系统相关的一些问题也随之而来。如何能够在充分利用原有的应用软件的基础上进行协同设计已经成为当前研究的热点。CORBA和JAVA的出现,为协同设计提供了新的解决方案。 本文以CORBA规范为标准,采用了JNI、HOOK等技术,在广泛应用的单机版软件AUTOCAD的基础上设计了一个协同设计系统,并开发了一个系统原型。本系统采取三层体系结构,分别是客户端,中间代理层和分布的服务器层。本文也提出了一种在无法获取软件源代码的情况下为软件添加网络功能的方法。通过在应用软件和操作系统之间插入HOOK函数来实现对软件操作的扩充。本系统还采取了JAVA语言和C++语言混合编程的方法,充分融合了两种语言的长处,使得协同设计系统的性能更加优异。为了实现两种语言的混合编程,系统引入了消息封装的概念,将截获的系统消息进行封装并序列化为可以在网络中传输的对象,在到达目的地后在解开封装将消息重现。 由于遵循CORBA规范,本系统的客户端和服务器端可以实现动态的重新分布。