JNI和ActiveX技术在组态监控系统网络化迁移中应用.docVIP

JNI和ActiveX技术在组态监控系统网络化迁移中应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JNI和ActiveX技术在组态监控系统网络化迁移中应用

JNI和ActiveX技术在组态监控系统网络化迁移中应用   摘要:采用JNI和ActiveX技术解决单机组态监控系统网络化迁移中的资源重用问题。以J2EE作为开发平台,在客户端Web页面中嵌入ActiveX控件实现用户交互,在服务器端通过JNI(Java native interface)接口对单机组态监控系统进行集成。最后给出了一个三容水箱组态监控系统网络化迁移的应用实例。   关键词:Web服务; 组态监控; ActiveX; Jave本地接口   中图分类号:TP273文献标志码:A   文章编号:1001-3695(2007)12-0266-02      随着企业信息化建设的不断深入,为了解决企业计算环境日趋复杂的分布异构问题,基于Web services的企业应用集成EAI(enterprise application integration)得到了研究人员的极大关注。由于采用了SOAP、XML、UDDI等标准化技术,使得基于Web services的EAI具有很好的跨平台和语言的能力,能够将分布于不同平台的异构系统以松耦合的方式进行集成,可以很好地满足企业分布异构应用集成的要求[1,2]。   基于Web services的EAI研究难点之一是:企业在实施信息化过程中,建设了大量的单机组态监控系统,这些资源能否被集成进Web环境并被方便地使用,而不必作大的修改或重新开发。通过对已有的单机组态监控系统进行网络化迁移,可以重用现有的资源,是一种高效的集成方法。   目前常用的方法一般是在服务器端以socket方式进行通信,客户端采用Java applet[3]或ActiveX[4],编程工作量大,系统之间紧密耦合,互操作性差。本文采用的基于Web services的网络化迁移是在服务器端用JNI实现Java代码与本地代码的交互,在客户端浏览器中嵌入ActiveX控件。这样可以尽量重用原有代码,提高开发效率。因此,采用JNI和ActiveX技术对单机组态监控系统进行网络化迁移非常合适。   本文用自动化过程控制实验设备作为组态监控对象,对三容水箱液位控制系统进行网络化迁移,实现了基于Web ??ser-??vices的三容水箱液位控制系统远程实时监控。      1系统框架结构      在服务器端利用J2EE和Web sphere发布服务,客户端通过浏览器访问包含ActiveX控件的Web页面,调用Web服务及封装系统功能。系统框架结构如图1所示。   EJB容器为服务器端容器,包含的组件为EJB,主要用于服务器端商业逻辑的实现。   在三容水箱液位控制系统中,原来已经采用??VC++设计了单机板的组态监控系统。为了尽可能重用现有资源,利用JNI(Java本地平台接口)保留核心??C++代码,将接口程序用Java改写。这样大大减轻了开发强度,提高了代码质量。      2系统设计的关键技术      2.1客户端ActiveX控件的包装   通过包装原来的本地组态监控系统的方法建立客户端的ActiveX控件,可尽可能多地重用原有代码。在??VC++环境下,通过使用ActiveForm窗体设计器来包装ActiveX控件,用户可以将已有的各种控件集成到界面上,绘制各种监控画面、图表和曲线。需要包装的原控制系统工程名为OriControl,包装后的控件名为NewOcx。其步骤如下:   a)建立新控件工程NewOcx。使用MFC ActiveX ControlWizard 建立控件工程NewOcx。   b)引入资源。将原程序工程OriControl 中的工具栏、菜单、鼠标指针、对话框、快捷键、位图、图标和字符串表等资源添加到控件工程中。   c)引入原程序的类。在OriControl中选择需要包装到控件中的功能模块用到的类及框架类(COriControlFrame)、文档类(COriControlDoc)和视图类(COriControlView) ,添加到控件工程中;修改控件的CNewOcxCtrl 类定义,即增加一个控件CNewOcxApp 类的公共成员变量指针public:CNewOcxAppm_pApp;修改控件CNewOcxCtrl 类中响应WM_CREATE 消息的OnCreate 函数。   d)修改CNewOcxApp。InitInstance()的实现,添加如下语句:   if (bInit)   {   CMultiDoc Template*pDocTemplate;   pDocTemplate=new CMultiDocTemplate (   IDR_MAINFRAME,RUNTIME_CLASS(COriControlDoc),  

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档