一种基于J2EE架构的电子军务系统

2012-05-02 00:59曹洲陈玉教
考试周刊 2012年18期
关键词:逻辑框架系统

曹洲 陈玉教

摘要: 电子信息技术的蓬勃发展促进了社会发展模式的转变,为推动经济、文化、军事等领域又好又快发展奠定了良好的基础。在这样的大背景下,电子军务应运而生。同时J2EE平台的产品几乎能够在任何操作系统和硬件配置上运行。本文设计了一个基于J2EE架构的电子军务系统。根据J2EE架构的多层应用程序方案和电子军务的特点,系统采用以WEB为中心的应用程序方案。该系统可以极大地提高军务处理的效率。

关键词: J2EEWEB多层应用电子军务

随着信息化技术应用越来越广泛,电子军务已经成为解决部队管理、信息服务的基础,也是信息化条件下部队发展的支撑。

根据军事机构的业务形态,通常电子军务的主要包括四个应用领域[1]。

(1)军务信息查询:面向各级军事机关及广大基层单位,为其提供政策、法规、条例和流程的查询服务;

(2)公共军务办公:借助军网实现军事机构办公,例如申请、申报等,提高军务的运作效率,增加透明度;

(3)军务办公自动化:以信息化手段提高军务机构内部办公的效率,例如公文报送、信息通知和信息查询等。

(4)专项应用系统:军事活动、军事训练、军事指挥等专业系统网络化。

1.相关技术

1.1J2EE平台

1.1.1跨平台。J2EE能够开发部署在异构环境中的可移植程序。基于J2EE平台的应用程序可被部署到各种操作系统、中间件、硬件上,具有“一次编写,随处运行”的特性。Java的平台无关性使得人们易于在大量架构与平台的计算环境中应用Java程序。它通常具有以下特点:

1.1.2可重用性。代码重用是所有程序设计的目的之一。要达到重用目的,方法之一就是把应用的商业需求划分为不同的组件,而采用面向对象方式封装公用功能是另外一种方法,J2EE采用了这两种方法。

1.1.3模块化。当开发一个完整的服务器端应用程序时,程序会迅速变大、复杂化。应该是把应用划分为相对独立的模块,每个模块负责处理一个具体的任务,按照这种方式,理解和维护应用程序就会变得容易。

1.2STRUTS技术

Struts是一组由相互协作的类、servlet和JSP标记组成的一个可重用的MVC2设计。Struts由以下几部分组成。一是Client browser(客户浏览器),来自客户浏览器的每个HTTP请求创建一个事件。Web容器将用一个HTTP响应作出响应。二是Controller(控制器),控制器接收来自浏览器的请求,并决定将这个请求发往何处。就Struts而言,控制器是以servlet实现的一个命令设计模式。struts-config.xml文件配置控制器命令。三是业务逻辑,业务逻辑更新模型的状态,并帮助控制应用程序的流程。就Struts而言,这是通过作为实际业务逻辑“瘦”包装的Action类完成的。四是Model(模型)的状态,模型表示应用程序的状态。业务对象更新应用程序的状态。ActionForm bean在会话级或请求级表示模型的状态,而不是在持久级。JSP文件使用JSP标记读取来自ActionForm bean的信息。五是View(视图),视图就是一个JSP文件。其中没有流程逻辑,没有业务逻辑,也没有模型信息,只有标记。标记是使Struts有别于其他框架(如Velocity)的因素之一。

2.电子军务系统的需求分析与设计

2.1性能需求分析

考虑到电子军务建设的现状和实现难度,以及对电子军务核心平台提出的更高要求,电子军务系统采取J2EE架构带来的优势如下。

2.1.1建立可扩充的电子军务平台。当连接的业务系统很少时,平台可以很小,当然投资也很少;当连接的业务系统很多时,平台也同时扩充,完全可以支撑各类复杂的应用连接。因此,所选平台首先要满足的就是可扩充性。

2.1.2平台可以承接各种原有技术标准的业务系统,支持未来各项XML数据标准,花很少的投入就可以与技术保持标准同步。为什么要实现军务办公自动化,实现电子军务?就是要实现真正意义上的资源共享,从而才能让决策者、领导者及时根据各方面的数据做出准确的判断和把握。

2.1.3有足够的灵活性和可操作性,支持不断的业务变化。这一点是基于操作层面而言的。要求平台能适应军队系统的各种灵活性。

2.1.4开放式架构,支持各类主流操作系统、数据库和中间件产品。军务系统不可能只是建立在一种操作系统下的系统,有时候为了系统的安全性考虑,会更多地采用非图形化界面的操作系统,这就要求电子军务选用的平台应该是跨平台的。此外,当前国外诸多厂商提供了丰富的性能优越的中间件产品和数据产品,因此,平台不能局限于只能使用某一家厂商的产品[3]。

2.2功能需求分析与设计

从功能上看,电子军务主要包括三个方面:对外门户平台、内部办公平台和后台管理系统。下面就从这三个方面进行进一步分析。

2.2.1对外门户平台是军务部门统一发布各类军务信息、提供军事人员在网上办理有关事务的门户平台。

2.2.2内部业务平台是部队单位内部办公的主要平台。根据功能,主要分为部门办公、公文交换、行政办公、领导决策、系统管理和专项业务管理等六个部分。部门办公是提供给部门的工作空间。同一个部门的人员可以共享这个资源,要存放一些部门的联系电话、部门内部资料等基本信息,还提供给部门内部做周、月等工作计划和总结等,为部门内部管理提供方便。

2.2.3后台管理提供部门管理,用户管理和身份认证等功能,系统以U盘方式识别操作者。系统为后台提供灵活的数据备份、维护、更改设置、授权等功能,如行政事项、受理要件的增删,承诺书模板的更改,等等。利用系统的数据库,开发决策分析辅助系统。例如,根据行政事项各记录间的关联,可推导出办事流程、外部要件,并提示优化的关键。

2.3系统的设计与实现

此系统可以使用三层结构,由WEB层、业务逻辑层、数据访问层组成,如图:

2.3.1Web层采用Struts框架实现MVC模式,页面数据展示采用了Ajax和自定义的标签库,通过CEIP框架自定义的动态Model进行数据传递,控制层由Struts控制器组成,通过控制层调度业务逻辑。解耦了表现与控制逻辑的关系,使维护扩展比较方便,同时便于团队开发。

2.3.2业务逻辑层的实现采用的是POJO对象。高质量的J2EE/JavaEE系统标准实际就是OO设计的标准,松耦合是OO设计的主要追求目标之一,解耦性是衡量J2EE/JEE质量的首要标准。所以本系统框架没有沿用经典的J2EE架构,EJB的容器依赖性和API侵入性严重影响了OO设计,而且其容器依赖性使单元测试代价太高,而系统本身也不具有非分布式要求,所以,本系统选择用POJO对象实现业务接口。

2.3.3数据访问层采用CEIP框架的统一数据驱动,集成了数据查询、数据更新、事务管理一系列数据访问功能。CEIP框架的数据访问采取直接对JDBC进行包装的形式,使数据访问的接口直接支持原生SQL语句,这大大降低了应用复杂度,提高了程序编写的质量和效率。

应用服务器与数据库,出于稳定和可靠的要求,本系统应用服务器采用BEA的WebLogic,数据库采用Oracle。

2.4CEIP框架

CEIP框架是一种自行开发的基于并扩展自Struts的JAVA应用框架,其核心思想是采用动态的数据模型和分页对象模型,采用统一的数据访问层,通过自定义页面标签,达到快速的数据访问和数据展示。(EIP=Enterprise Information Portal)思想构建一个全面、稳定、开放、安全、可扩展的教育信息平台(CEIP=China Education Information Platform);使得所有应用系统在统一的教育信息平台上集成和协同,并完成各个系统之间的数据传输、安全认证、用户统一管理和共享等功能,保证电子军务系统安全、高效、可靠运行。CEIP框架最大的优势在于其具有强大的数据存取能力,支持数据缓存,标准化了与数据库的接口,通过数据访问的结果自动包装功能,数据结果被自动包装成各种动态值对象或者XML供表示层进行解析、处理或显示。同时CEIP框架整合并扩展了Struts,使Struts的XML文件定义更加清晰、简单。

使用Struts+CEIP框架进行WEB应用开发,WEB层采用扩展的Struts实现MVC模式,后台业务逻辑层使用CEIP的数据驱动。在业务逻辑中采用SQL语句,所以其数据驱动具有良好的可插拔性;采用注入技术,可以根据不同数据库采用相应的数据接口,支持各种数据库应用。

CEIP框架的总体结构如图所示:

下面介绍利用CEIP框架快速的开发基于Struts的WEB应用:

首先要做的是跟普通的Struts定义一样,在web.xml中定义请求分发器,CEIP框架扩展了原来的定义,配置文件写法更加清晰,启动的Serverlet如下:

在WEB控制层里调用业务逻辑层的业务方法,业务方法通过数据驱动进行数据访问,调用CEIP框架的核心数据访问层,只要给出相应的数据库操作语句,操作数据就如同上面代码所示一样简单,JDBC的API完全被隐藏。

通过CEIP数据驱动的进行数据访问,可以减少业务逻辑与数据访问的耦合关系,采用原生SQL语句作为访问参数。在进行数据访问时,CEIP会自动将数据访问包装在事务中,将事务与业务逻辑分离,极大地简化了业务逻辑层代码。在遇到多条SQL语句组成一个事务时,CEIP数据驱动的推荐使用存储过程进行事务处理,这就巧妙地解决了事务的合并问题。所以,采用Struts+CEIP框架进行WEB应用开发,不但拥有了数据访问简单的优势,还为形成一个标准的业务逻辑层提供了架构支持。

该框架还增加了自定义标记库、权限管理组建和日志等功能。

3.结语

系统基于J2EE平台进行开发,采用B/S结构,并且充分考虑到了系统的实用性、安全性和可扩展等因素。具体表现在以下方面。

3.1实用性和易操作性。

系统在功能上紧紧围绕机关部门的基础工作和日常工作,实现计算机智能化管理。界面设计采用WEB风格,界面友好,结构清晰明了,输入、查询、统计采用全屏幕编辑,针对不同的帮助主题进行全程在线帮助,每次操作后系统给予提示信息,保证用户操作的方便性。

3.2先进性。

为使系统达到理想的使用寿命,并体现国际最新技术,我们使用的各种平台不仅是现阶段成熟的先进产品,而且是国际同类产品的主流,符合今后的发展方向。在应用软件开发思想上,严格按照软件工程的标准和面向对象及设计模式的理论来设计、管理及开发,保证系统开发高起点和系统技术与业务的先进性。

3.3规范性。

标准化是大型信息系统的基础,也是与其他系统兼容及以后对系统进行升级的保证。对一个好的系统来说,系统设计、数据的规范性和标准化工作非常重要,它为系统的开放性和数据的共享提供了保证。

设计统一、规范的数据库字典;

统一办公业务中各种统计表格、报表格式;

统一的设计风格、界面风格和操作模式;

建立验收的标准和测试规范;

建立完善的安全控制机制;

建立办公自动化流程自动控制机制;

采用XML进行数据传输与交换。

3.4标准性和开放性。

信息系统的开放性是系统生命力的表现。只有开放的系统才能不断发展完善,真正实现数据共享,使各系统软件和应用软件有很好的兼容性、可升级性,为进一步发展打下坚实的基础。

3.5动态扩充性。

可与不同的外部系统集成。

系统采用灵活的流程自定义方法,并且实现流程自定义的图形化控制,使流程路径智能流转,动态跟踪每个流程。各种办公流程及相关文档、资料格式需要变化时,能够进行动态修改、扩充等,既保证了动态条件下业务流程的正确性,又保留了足够的业务可扩充性。

参考文献:

[1]李春伟.基于J2EE的电子军务研究与开发,[硕士学位论文].太原:太原理工大学,2006.

[2]曹鸣鹏.J2EE技术及其实现,计算机工程与应用,2003,21,(15).

[3]胡海燕,贺贵明.J2EE的安全机制及其应用研究,计算机应用,2003,23.

[4]孙卫琴.精通Struts:基于MVC的JavaWeb设计与开发电子工业出版社.

[5]林上杰,林康司.JSP2.0技术手册电子工业出版社.

猜你喜欢
逻辑框架系统
刑事印证证明准确达成的逻辑反思
Smartflower POP 一体式光伏系统
框架
逻辑
创新的逻辑
WJ-700无人机系统
广义框架的不相交性
基于PowerPC+FPGA显示系统
女人买买买的神逻辑
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini