- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
采用DWR框架和反向AJAX的Web监控系统开发
2.3 监控业务单元JavaBean编程
(1)服务器端JavaBean
以多线程方式,每个监测点为独立的线程,使用TCP/IP和Socket读取Siemens Simatic S7 PLC的监测数据,并使用DWR Reverse AJAX和DOM直接写入到客户端的HTML中。其中一个监测点线程示意代码如下:
关键是使用DWR反向AJAX的Util对象的setValue方法,将监测数据写到DIV元素id为siteNo值的单元中。
(2)配置JavaBean到DWR
使用DWR的配置文件/WEB-INF/dwr.xml,将JavaBean引入到DWR体系中,通过JavaScript就可以直接调用JavaBean的监测方法。
其中,javascript属性指定JavaScript中对象的名称,creator="new"指定由DWR引擎自动创建JavaBean类的实例。
2.4 客户端实现
客户端使用DWR代码库,用JavaScript结合HTML,DOM实现监控Web页面的数据显示。为节省篇幅,只介绍重点配置和示意代码。
(1)引入DWR代码库
这里使用HTML与JavaScript分离原则,JavaScript代码放在单独的JS文件中。
(2)启用DWR反向AJAX
在main.js中定义所有监控业务的函数。
(3)定义监控数据接收HTML单元
在监控页面上使用
定义DWR反向AJAX推送数据的显示位置,由服务器端JavaBean通过DWR AJAX直接读取。客户端页面和JavaScript不需进行任何请求操作。部分测点示意如下:
(4)JavaScript调用JavaBean方法
启动服务器端JavaBean监测方法读取PLC数据,进行数据推送。在监测方法内启动所有监测点的监测线程,实时监测数据并推送到客户端。
结合JavaEE平台、AJAX、DWR和反向AJAX,实现了一个全新的无需页面刷新、无需进行HTTP请求的全新Web监控系统,解决了传统Web的HTTP请求/响应模式无法满足监控系统实时性要求的难题。尤其是反向AJAX技术实现的推模式,可以将服务器端监测数据直接通过TCP/IP推送到HTML客户端,并直接写入到HTML元素中,得以实现与现有Web监控系统传统模式完全不同的全新系统,实现了无需进行页面刷新的工作模式。由于只传输监控数据,无需传输数据格式HTML代码,系统性能得到了极大改善,满足了监控系统对实时性的要求。今后无刷新、推模式的Web监控系统必将得到广泛应用。
上一篇:数据容灾备份的等级及关键技术
下一篇:节省电池能量的系统断电电路CPLD