论文部分内容阅读
在使用Java技术开发信息管理系统,尤其是软硬件结合的系统时,存在如下问题:(1)许多硬件厂家只提供C++的开发包,很难集成进Java开发的系统;(2)Java虚拟机对内存有自己的管理机制,开发人员不能自由操作,在开发一些需要反复申请和释放资源的系统时,很难保证系统的实时性,并且对系统硬件资源也有比较高的要求;(3)使用CGI等方式连接信息管理系统和底层硬件控制系统,性能不高;(4)另外,用户使用的操作系统多种多样,从而要求系统能够跨操作系统平台,降低开发难度,支撑新业务的开发。为此,本文开发了一个“基于Qt的跨平台web服务开发框架”。采用常见的软件开发模式,完成了框架的需求分析、设计、编码实现和测试。本文做了如下工作:(1)采用网络通信协议进行进程通信,使用跨平台的Qt开发框架作为开发基础,实现了多编程语言开发的程序间的通信,并搭建了一个跨平台的C++应用程序开发框架。(2)使用Socket网络编程接口进行开发,实现了web服务器的基本功能,同时也支持fastCGI请求和一般Socket请求。(3)参考Java环境下常用的MVC框架Struts和Spring的MVC实现,实现了MVC分层框架。(4)使用Qt的数据库连接框架及容器数据结构,连接postgresql数据库,实现了数据库连接池功能。(5)采用在cookie中存储session信息,要求客户端在HTTP头信息中发送session信息的通信方式,实现了用户登录及登录后的菜单权限控制,使应用本框架开发的系统能通过单点登录功能,同其他业务系统无缝集成在一起。(6)通过配置定义表单内容,结合extjs界面框架,根据配置展现表单,开发了业务表单框架,初步实现了业务表单界面的模板化定制。最后,使用本框架开发了用户卡读卡系统和热用户信息展示系统两个系统,并对其进行了验证,同时对框架进行了测试。使用本框架开发系统,在Windows和Linux操作系统上实现了同原有的Java应用顺利整合,降低了开发难度,实现了预期目标。与常见的CGI开发方式相比,使用本框架开发的系统,可以常驻内存,不需要每次收到请求都从硬盘加载程序,降低了系统硬盘读写压力,系统负载能力有明显提升,提高了系统性能,同时便于多个业务间共享资源,有利于代码复用。系统比采取ocx与浏览器的通信方式更加稳定,兼容性更强。本框架还提供了应用开发时需要的数据库连接池、日志管理等服务组件,方便业务开发者使用。作为开发框架,本框架还有许多不足,需要进一步研究,同Ngnix等服务器相比性能还有提升空间,http协议也只支持部分特性,另外还有多种进程通信方式没有被支持,需要进一步完善。