摘要
本文根据政府信息发布的实际工作,在分析了信息的发布流程及管理方式,并对当前同类软件的实现技术进行研究的基础上,设计并实现了一个基于Struts 2和iBaits架构的政府信息发布系统。
本文对政府信息发布系统的基本理论以及需求分析、总体设计、详细设计和相关实现技术等进行了阐述和探讨。本系统划分为:内容管理、模板管理、权限管理、评论管理、个人服务、系统配置和日志管理等七个功能模块。在系统实现过程中,本文作者主要参与了系统架构以及内容管理、权限管理和评论管理三个功能模块的设计和开发。
为了更好的实现国产化和跨平台性的需求,系统采用基于Java技术的Struts 2和iBatis框架进行设计开发,Struts 2为整个系统业务逻辑处理提供框架,iBatis为数据持久化提供服务。Struts 2和iBatis框架的组合为政府机关信息发布系统架构的实现提供了一套可行的解决方案。
With the development of national information and computer technology, people can obtain and transfer information via Internet conveniently, which improves the sharing of information resources. People are more and more aware of the importance of information. Therefore, many enterprises and government departments have sped up the information process. Nowadays, many domestic departments have constructed Information Release System (IRS) based on C/S architecture. But there have some limitations in compatibility and security aspects. With the emergence of new technologies, such as component technology, distributed application and Web application framework etc., the research about how to integrate these new technologies into the IRS to resolve the deficiencies of the traditional system, it's of great practical significance.
Governmental IRS aim to address the low efficiency problem which exists in traditional manual manner of release government information. The emergence of information release system, greatly reduce the workload of Website maintenance. Via the network databases, Website can be updated conveniently. We just need to input the text and upload the pictures to database. In this paper, we proceed from the realities of information release of government, using the Object-Oriented approach design and implement a government information release system based on the Three-Layer architecture. The new system overcomes the deficiencies which exist in traditional system. The Three-Layer architecture is based on the application of distributed technology, it separate the business logic and display logic of system by adding the Middle-Layer. By using the Three- Layer architecture, Web application can be divided into three layers according to the function. They are display layer, business logic layer and persistence layer. We can deploy them to the same or different hardware platforms. The Government Information Release System use Struts 2 framework in the middle layer and adopt iBatis framework to provide Data-Persistence services. In the display layer of the system, we used Velocity Template Engine technology. The use of above frameworks and technologies, effectively simplified the construction, deployment and maintenance of the system in the entire application development cycle.
Struts framework would be deployed to TongWeb service containers, we can deal with the business logic via the controller provided by the framework. The browser client interact with the user through Web pages which base on standard html. The browser client has many advantages, such as strong distribution, easy to maintain and low cost etc. With JavaScript technology, we can do as much work as possible on the client before and after making requests of the server. For example, we won’t need to send a request form across the Internet to discover that we’ve gotten a date or some other parameter wrong, and our client computer can quickly do the work of plotting data instead of waiting for the server to make a plot and ship a graphic image back to us. Not only do we get the immediate win of speed and responsiveness, but the general network traffic and load on servers can be reduced, preventing the entire Internet from slowing down. Application Server mainly dealt with the logic associated with the client, here is the actual process: At first, the server framework accepts the request from the clients; Secondly, calls the corresponding business logic to process the request; Thirdly, the business logic calls the persistent services to access database; Fourthly, the server framework combine the data with corresponding display template; Lastly, the server framework return the result to the client for users to browse.
In this paper, Government Information Release System we studied is divided into seven modules according to the business logic. They are content management, template management, privilege management, comments management, personal service, system configuration, and log management. This paper focuses on content management, privilege management and comment management. Content management module mainly manages sites, columns and documents which are basic objects in information release system and also are objects that users want to operate and browse. Content management module divides information resources by different property, and then organizes these three objects organically in order to manage them together. Consequently, it can improve the efficiency of management of information resources greatly and also provide conveniences for users to operate. Site is the largest organizational form of information in this information release system. It consists of sub-sites and columns. In this system, site is six-level structure. Every interior sub-site maybe contains sub-sites and sub-columns, while the bottom site only can constitute by columns. Column is the organizational form of documentation which will be stored in different column in accordance with the type of document in system. Column also is a six-level structure. Every interior column can contain sub-columns and documents, while the lowest level column only can be composed by documents. Users can look up document information through the name of column intuitively and also can take search operation by typing in the relevant conditions. Document is the lowest organizational form of information. In this system, all the information user inputs will be stored in database in form of documents after business logic processing. In the process of creating new document, the system will prompt the user to select site that this document belongs to, and then system will display relevant columns for user to select according to user’s privilege. When saving the document, system will store the information of site and column that this document belongs to. Document information will be organized into a tree structure according to the site and column of this document so that user can operate document conveniently. Content management module provides user with another rapid channel which displays personal day-to-day office related functional options in the form of list, such as personal documents, unprocessed documents, rework documents, denied documents and personal column customization and etc. Users can position their own documents through the above options and finish related operations.
The concept, framework design and implementation of Government Information Release System were introduced in this paper. Besides, the major modules of the system which were designed and implemented by the writer were discussed in detail. The paper shows how to combine Struts 2 and iBatis to resolve the deficiencies in traditional system. With the combination of Struts 2 and iBatis, the system becomes to be platform-independent and domestic. The combination of Struts 2 and iBatis provided a better solution to implement Government Information Release System.
引文
[1] 张友生. 几种新型软件体系结构. http://www.csai.cn. 2005
[2] 董昊. web 构架开发研究. http://www.cnblogs.com. 2007
[3] 李刚. Struts 2 权威指南:基于 WebWork 核心的 MVC 开发. 电子工业出版社. 2007. 第一版
[4] Clinton Begin. iBatis SQL Maps Tutorial. http://www.ibatis.com. 2004
[5] Dibble P.,Wellings A. The Real Time Specification for Java:Current Status and Future Work. Object-Oriented Real-Time Distributed Computing. 2004. Proceedings. Seventh IEEE International Symposium on 12-14
[6] Eckel Bruce. Thinking in Java. China Machine Press. 2005. 3rd Edition. 383–460
[7] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns : Elements of Reusable Object-Oriented Software. China Machine Press. 2005. 1st Edition
[8] Martin Fowler. UML Distilled. Addison-Wesley Professional. 2003. 2nd Edition
[9] Joseph J. Bambara,Paul R. Allen. J2EE 技术内幕. 机械工业出版社. 2003. 第一版
[10] Jason Hunter,William Crawford. Java Servelet 编程. 中国电力出版社. 2002
[11] Shari Lawrence Pfleeger. Software Engineering Theory and Practice. Higer Education Press. 2003. 1st Edition
[12] M. H. Alsuwaiyel. Algorithms Design Techniques and Analysis. Publishing House of Electronics Industry. 2004
[13] Robert L. Kruse,Alexander J. Ryba. Data Structures and Program Design in C++. Higer Education Press. 2002. 1st Edition
[14] 于洋,芦东昕,方马. 运用 Struts 的 MVC 设计模型. 计算机应用. 2003.12
[15] 寇毅,吴力文. 基于 MVC 设计模式的 Struts 框架的应用方法. 计算机应用. 2003.23
[16] 施伯乐,丁宝康等. 数据库系统教程. 高等教育出版社. 2001. 第一版
[17] Steven Holzner. XML 完全探索. 中国青年出版社. 2001. 第一版
[18] 高守传. SQL 结构化查询语言详解. 人民邮电出版社. 2007.第一版
[19] G.Antoniol, G.Canfora, A.Cimitile. Web sites: Files, Programs or Databases. International Workshop on Web Site Evolution. Oct 1999
[20] F. Ricca, P. Tonella. Web site analysis: Structure and evolution. IEEE International Conference on Software Maintenance. Oct 2000. 76–85