当前位置:首页 期刊杂志

基于J2EE的岩土工程勘察企业信息管理系统的设计与开发

时间:2024-07-28

王继水,余宏

0 引言

目前,岩土工程勘察企业的计算机应用技术已经日益成熟和普及,企业的工作效率得到了大幅度的提高。岩土工程勘察企业信息管理系统针对行业计算机应用发展需求,以工程项目为主线,集成计划经营管理、设计流程管理、图文档管理、质量管理以及统计年报等信息管理功能,采用 J2EE架构,是一个多层体系B/S和C/S相结合的应用系统,为企业信息化建设提供了良好的工作平台。

1 系统的功能设计

系统能够帮助企业实现对企业内部人员基本情况进行全面的跟踪与管理;对企业承接的项目、生产计划、客户资源和人力资源进行整体的控制和管理;对设计过程中各个阶段的执行人员、时间和资源进行合理配置,并为各个阶段、专业图文档设定严谨的审核程序;实时生成满足上级主管部门进行行业管理所需数据,真实反映企业的客观状况;能对日常的各种图文资料进行全面管理,实现信息的管理与共享;能够提供多种科学、方便的及时查询和管理手段。

1.1 功能设计

系统采用模块化设计方式,集成计划经营管理、设计流程管理、图文档管理、质量管理以及统计年报、企业年检、资质上报管理等功能。

(1)企业基本信息模块:该模块包括基本情况、机构设置、人员管理、技术装备、证书情况、获奖情况、技术成果等,主要反映企业的综合状况。

(2)计划经营模块:将合同建立与执行情况相联系,结合企业内部人员的当前工作分配和人员特点,按不同的专业和类别进行合同项目的初步分解。

(3)设计流程模块:帮助企业实现对承接的项目进行整体的控制和管理,并为各个阶段、专业、图文档设定严谨的审核程序,对施工过程中的设计变更、重大隐蔽工程以及竣工资料进行严格的审核和管理。

(4)资料与成果模块:对企业内部的资料、技术、法规、成果等文件进行电子化文档管理。企业可以根据实际工作情况,实现文件的分类存档,并可以根据用户需要设置不同权限操作。

(5)查询与统计模块:实现企业内部信息的即时查找和审阅,方便对人员、合同、项目等信息进行查看,以便随时了解企业相关信息,此模块具有人员查询、项目查询、合同查询和统计等功能。

(6)收发文模块:主要面向用户数据的接收和发送管理,通过数据中心的配置,用户可以通过远程 FTP或磁盘介质进行数据的接收和发送,并可运用远程信箱和本地信箱来管理接收和发送的数据文件,最终实现数据文件的传输。

(7)系统维护模块:该模块主要包括系统数据维护、系统权限管理、工作岗位及审批方式、图文档服务配置、数据备份与恢复、系统日志查阅等子模块。

另外,系统还提供强大的外挂平台功能,可以直接调用财务管理、人事管理等信息系统,可以有效减少数据孤岛和数据冗余。

1.2 数据库的设计

构建勘察企业的客/用户数据库,通过收集日常工程实践的资料,进行数据库结构设计,组织成符合于数据库管理系统模式所要求的数据结构。数据库系统代码制定的原则是:有国标码的采用国标码;有部级代码的采用部级;没有统一代码的,用户可以自行设定。

如图1所示,数据库采用3层结构。客户端浏览器不直接访问位于服务器上的后台数据库,而是通过位于中间层的Web服务器和支持Web的应用服务器访问数据库。中间层程序使用Servlet、JSP、JavaBean来实现,中间层通过JDBC访问数据库。在B/S3层体系结构下,表示层、功能层、数据层被分成3个相对独立的单元,使客户机无法直接对数据库进行操纵,提高了系统的安全性。

图1 数据库应用的三层结构

2 系统实现的平台

系统选择应用广泛、维护简单、开发容易的 AutoCAD和SQL Server分别处理图形和数据,由Java Servlet将两者集为一体,使系统的界面及操作完整、流畅和统一。系统设计主要分为数据层、业务层和表示层3个部分,基于J2EE技术,WEB层采用Struts2实现,完全符合MVC模式;显示层采用Freemarker模板实现,利用Spring的IOC容器来完成对象的依赖注入,达到的显示与逻辑完全分开的效果;数据层采用HIBERNATE作为ORM平台,使业务层以面向对象的方法来和数据库进行交互。各软件平台之间的关系如图2所示[1]:

图2 软件平台

2.1 登陆模块

为更好地进行登录控制,本系统采用 Struts2的拦截器机制,拦截所有用户的请求,检查用户的 Session,据此判断用户的 id和用户的身份,并判别用户可以使用的权限。拦截器的代码片段如下:

当用户没有登录的时候,拦截器将返回login字符串,自动会返回到登录页面,也就是login.jsp。

拦截器要能够起作用,必须要部署在 Struts2的配置文件中。由于登录验证Action也是一个Action,在配置的时候需要注意对于登录验证Action,拦截器不需要拦截,否则会导致永远不能登录。另外,还可以将拦截器放入默认拦截器栈,使其对所有除loginAction外所有的Action起作用。可以看出,使用拦截器简化了登录控制的编码,并提供了很好的代码复用。

2.2 输入与输出模块

主要是用于处理CAD以及office文档,将各类文档分类,和数据库结合起来,把CAD的图形和office的图形的文件名、文档描述,文档类型等字段放入数据库中,只有有权限的用户可以查询、下载、上传覆盖相应的文档。因为Web处理本地二进制文件的功能教差,这里是采用了下载后用专门软件(如AutoCAD,office等)进行处理,再上传覆盖的形式。

其部分实现代码如下:

将图片文件存入数据库的函数insert Image () 的实现方法:

2.3 查询与统计模块

查询是根据数据库表中各字段,有用户给出查询条件生成结果,统计是将数据库中所有数据进行按一定的逻辑进行计算生成结果,设计中根据用户选择,自动生成 SQL,由JDBC查询统计得出结果,可以HTML或PDF形成输出。如图3所示:

图3 查询界面

2.4 数据通信模块

设立专门数据表,其中字段为发信用户,发信息时间,确认时间,收信用户。在界面上设置一个Frame,5分钟刷新一次,通过HTML的pull技术及时得到新消息表中数据不删除,以作将来追溯使用。界面如图4所示:

图4 数据通信界面

2.5 系统管理与维护模块

在用户表中,设立专门权限字段,只有管理员可以变值,而用户访问时,是根据表中权限来决定是否有访问功能。对于数据维护以及备份,通过调用db和os本身的功能进行。

2.6 系统的安全设计

J2EE是一种利用 Java2平台来简化与多级企业解决方案的开发、部署和管理相关的复杂问题的体系结构,提供了一个企业级的计算模型和运行环境用于开发和部署多层体系结构的应用[3]。它通过提供企业计算环境所必需的各种服务,使得部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。

本系统对用户划分系统管理员、高级用户、普通用户3个等级,系统管理员拥有最高权限,能进行系统重构、建表等操作,高级用户拥有除了系统设置外的所有权限,普通用户只拥有数据的读取权。另外,本系统进行了3个层次的安全性设计,分别为:登陆服务器、登陆数据库系统和系统身份验证。系统管理员只有通过了这3个层次后,才能进入系统的主菜单进行操作,其它用户进入系统时进行用户权限的判别。

3 结束语

本系统是针对工程勘察设计企业信息化管理的一整套解决方案,实施中既可以一步到位,也可以采取整体规划、分步实施的方式进行,系统各模块功能均可独立运行,实现其主要功能。系统具有统一的数据模型、标准的代码体系、规范的信息处理方式和优化的功能软件,对于基层勘查和研究单位,它是功能齐全的工作站和信息齐备的网络节点。

[1] 孙国庆,郑先昌等.城市工程勘察信息系统建设的思路和方法.第二届全国岩土工程计算机应用研讨会,2000.

[2] (美) Philip Heller等著,印仲潘等译.Java 2高级开发指南[M] .北京:电子工业出版社,1999.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!