No.15
计算机工程与设计
ComputerEngineeringandDesign
2006年8月Aug.2006
基于J2EE的应用支撑平台的设计与实现
刘俊琦1,程
虎2
(1.湖南大学软件学院,湖南长沙410082;2.中国科学院软件研究所,北京100081)
摘
文章旨在解决目前机关应用系统多而杂,造成资源无法共享、管理、维护困难的问题。文中提出了一种基于J2EE要:
的电子政务应用支撑平台系统方案的设计思想。它可以做到对各的应用系统进行统一的权限、基础信息资源管理;支持各种主流操作系统,多种数据库,并能够将各种语言开发的应用整合到同一个界面中,方便用户的管理和使用;运用LDAP技术管理全局的基础信息,安全便于维护;并为应用系统提供丰富的扩展接口。目前已被一些机关信息系统所采用。应用支撑平台;应用整合;集中管理;轻量级目录访问协议;界面统一关键词:
TP311.52A1000-7024(2006)15-2821-03中图法分类号:文献标识码:文章编号:
DesignandimplementationofapplicationsupportplatforminJ2EEpattern
LIUJun-qi1,
CHENGHu2
(1.CollegeofSoftware,HunanUniversity,Changsha410082,China;
2.InstituteofSoftware,ChinaAcademyofScience,Beijing100081,China)
Abstract:Tosolvetheproblemthatapplicationsystemincurrentgovernmentaredisorder,managementdifficultyandtheyeachothercannotshareresource,thedesignandimplementationofE-governmentapplicationsupportplatformbasedonJ2EEispresented.Thisdesignmayconcentratemanagingtorightandbasedata;mayrunonmainstreamoperationsystemanddatabase;andsupportintegrationaunitmenutoapplicationsystemwhichisdevelopedusingjavaor.netandsoon,conveniencemanagement;adoptldaptechnologytomanagewholebasedata,securityandeasymaintenance;supplyformanyextendinterfaceforapplication,nowithasadoptedtosomeinformationsystemingovernment.
Keywords:applicationsupportplatform;applicationintegration;concentratingmanagement;LDAP;unifymenu
一安全平台、整合用户界面、应用间数据交换、工作流集成等几个方面对原有应用系统进行整合,并为新开发的应用系统提供支撑环境。它使得应用软件系统的开发由单一的产品形态向整体化、集成式的平台技术方向转变。
图1是使用支撑平台进行共享资源统一管理前后整体框架的变化。
区别比较如下:
(1)左边以前状态:①各应用软件系统以单一形态开发,互相没有关联,根本无法集中管理;②各应用软件系统有
以前的状态人事软件
人事数
据库财务数据库……公文数据库
增加平台以后
只存放财务平台数据库(存只存放人事个性数据个性数据储权限、基础
数据以及平台
财人所需数据)务事软
……软件件
应用支撑平台
0引言
由于以往的软件都是针对各部门进行设计开发的,缺乏统一规划、系统设计和标准规范,使得各部门软件系统(如财务系统、人事系统、考勤系统等等)及其数据库之间数据难以交换,资源难以共享。同时,由于软件的设计开发模式是分散的,造成软件的维护困难,影响软件的生命周期,既浪费了人力、财力,又无法对软件进行统一管理,造成一种混乱的现象[2]。本文针对这种现象,提出了应用支撑平台的概念,通过它可以集中管理各应用系统及其之间的数据交互,统一应用系统的界面展现方式,简化信息部门人员的操作,提高办公效率。
1
1.1
应用支撑平台的基本研究
应用支撑平台的概念
应用支撑平台是电子政务系统中支撑、整合应用系统的
财务软件……公文处理软件
中间件,它基于现有成熟中间件技术和产品,开发形成对电子政务应用系统渐进式开发模式进行支撑,从统一管理平台、统
图1
支撑平台进行共享资源统一管理前后整体框架比较
收稿日期:2005-06-15。
作者简介:刘俊琦(1978-),女,内蒙古人,硕士研究生,软件工程师,研究方向为计算机应用和数据库管理;程虎(1938-),男,江苏人,博士生导师,研究员,研究方向为系统软件和软件工程。
-2821-
的数据库,且存放了许多共同数据,如人员、组织数据等,造成冗余;③应用系统之间的数据交互很难,没有传输通道;④各应用系统由于互相,风格各异,界面不统一。
(2)右边增加平台后的状态:①平台进行了各应用软件系统一体化的集中整合,所有应用系统共同的基础数据存储在平台的数据库中,避免了各应用系统数据库表的重复存储;②另外,各应用系统也可以通过平台去交互基础共享数据;③对用户来说,各应用系统界面,操作方式一致,且便于使用。
通过以上说明可以很清楚地认识到应用支撑平台的重要性。
管理,应用系统的安全支撑,统一的界面集成,统一的权限管理5大部分。还有一些其它功能,如多语言、多数据库的支持,另外还为应用提供了丰富的API。下面对主要功能的设计一一进行介绍。
2.1基础数据统一管理
是平台的基本功能,主要对各应用系统都要使用的共享
信息进行管理,如人员、组织、服务器节点等基础信息。这些信息统一存储在LDAP服务器中,通过LDAP的复制功能实现数据全局统一,达到共享数据的集中化管理,即使得机关的国家级、省级、市级甚至县级的数据全部进行统一管理,通过权限的控制,使得相应的用户只能访问到有权访问的信息。同时提供访问LDAP服务器的API,使应用系统可以通过这些API访问基础数据,这样就可以避免了各应用系统基础信息单独存储,浪费空间,交互难的问题。
1.2应用支撑平台需解决的问题
由于应用支撑平台要整合各种各样的应用系统,所以它
必须具有语言无关性、操作系统无关性和数据库无关性;另外它管理着各应用的基础信息,那么它必须能够对用户访问权限进行统一控制;并能展现给不同应用系统的用户具有统一的界面形式;如何既能将各种应用集成到一起,又能让用户能够灵活切换他能访问的应用系统,也是一个需要解决的问题;还有各应用系统间如何通过平台进行互相数据交换的问题。只有这样,才能保证它既能很好的支撑应用系统,又能保持各应用系统的性,使之成为一个通用的平台。
归纳上面的分析得出,平台需解决如下问题:(1)各应用系统基础信息统一管理;
(2)应用软件系统集成(包括不同开发语言实现的);(3)支持多种主流操作系统、支持多种数据库;
(4)统一安全管理(包括访问权限、安全认证、日志管理);(5)界面统一;
(6)为应用提供丰富的API和简便的调用方式及开发框架。
2.2应用的集中管理
为平台整合应用系统提供基本的管理功能。对用户来
说,可以访问不同的应用(一个或多个)系统,我们把这些应用系统划分成一个子系统。也就是说,子系统是由一个或多个应用系统组成的,不同的用户访问不同的子系统,从而访问到不同的应用系统集。但如何将不同应用系统无缝的整合台中呢?
首先需要将整合的应用系统软件划分为足够细的模块,然后对模块的功能入口进行统一管理,再将模块分配给用户可访问子系统的某个应用系统中,这样将模块作为最小的组装单元,就实现了各应用系统的集中管理、整合。所以,平台通过对子系统、应用、模块内部的功能入口进行统一管理、规范划分,实现了各个软件间的整合。
所以说应用系统集中管理模块的作用就是提供灵活配置子系统和应用系统的方法、以及集中管理模块的入口,并向界面整合模块提供动态生成界面的依据。
2应用支撑平台的设计与实现
图2是支撑平台的总体结构图,由于应用支撑平台不是
系统平台,而是一个基于标准J2EE开发的具有强大整合功能的Web应用,所以需要由操作系统或第3方软件提供以下服务支撑:数据库服务器,应用服务器,传输中间件,LDAP服务,CA认证服务,Web服务,电子邮件等。
应用支撑平台主要包括基础数据统一管理,应用的集中
应
用系统1
应用系统2
应用系统n
2.3应用系统的安全支撑
为平台提供完整的安全体系,主要包括单点登录、日志、
行为审核等。另外,通过与应用的集中管理模块相配合,针对模块进行权限访问控制。由于一个用户可能具有访问多个子系统的权限,单点登录就是实现当用户进行系统切换时,不需要再重新登录,极大的方便了用户。单点登录服务由认证中心和服务器认证插件两部分组成。流程如下:
如果用户第1次登录流程,首先将登录信息传到认证中心,然后认证通过后将认证信息及权限信息存于服务器认证插件,访问应用系统;如果用户已经登录过,进行子系统切换,访问另一请求的时候,首先去服务器认证插件检索,看对要切换的系统有没有操作权限,如果有,则直接进到切换的子系统;如果没有,则需要重新登录,到认证中心进行认证。
……
下层各部分提供API,供上层
各应用使用基础数据统一管理
应用的集中管理
应用系统的安全管理
统一的界面集成
统一权限管理
其它功能
2.4统一的界面集成
展现给用户统一的菜单式界面框架,可以根据登录人员
应用支撑平台
操作系统服务和第3方软件服务
:应用支撑平台模块
的身份,动态生成系统的前端界面,展现的内容由应用集中管理模块中对当前子系统进行的应用、模块配置所决定。
2.5统一的权限管理
由于平台进行基础数据的统一管理,以及应用的集中管
图2应用支撑平台的总体结构
理,这些都为权限的统一管理提供基础,同时也减轻了应用系
-2822-
统进行权限开发的工作量。
统一的权限管理(如图3所示)主要包括:
(1)在应用系统的集中管理模块中设定的应用模块入口权限(设定入口权限指:有无权限访问此模块的入口)与功能权限(设定功能权限指:有权访问此模块,但是否有权使用此模块中提供的功能,如浏览、或增删改等)
(2)基础数据和共享数据的处理权限管理,其它的各应用系统单独使用的数据由各应用软件自己来管理。
应用系统模块
的入口权限
应用系统模块的功能权限
3.2管理人员
使用平台进行日常管理的人员。主要使用系统提供的管
理功能,对应用系统进行管理。
(1)平台采用集中管理的思路,极大的帮助了系统管理人员的日常工作。
(2)以统一的方式管理不同的应用模块、基础信息(组织、人员)、权限,可以降低系统管理工作的复杂度,提高系统的可管理性。
3.3
数据权限共享数据及各软件
的交互数据
各应用系统软件的单独使用的数据
应用管理
普通用户
日常使用应用系统的用户,普通用户接触到的主要是与他
自身业务相关的功能,他们无需关心应用系统的维护与管理。
(1)对于通过平台整合的应用系统,普通用户只需具有Web浏览器就可以使用应用系统,不必安装其它软件。普通用户在一个统一的集成环境中使用所有的功能。
(2)所有业务功能都集成在统一界面下,所有操作方式都相似,当用户需要使用一个新的业务系统时,无需再次熟悉操作环境和操作方式,将便于系统的推广使用和提高工作效率。
(3)用户一次登录后,可以自由地在不同应用之间切换,无需再次登录。
(4)平台提供比较可靠的安全保障,保证分布部署的应用系统全局数据的一致性。
图3平台与应用系统的权限管理分配
2.6其它功能
由于Java是一种跨平台的安全型语言,所以基于J2EE模
式开发的平台,完全可以支持各种主流操作系统,如Windows,Linux等。另外平台还支持整合多语言开发的应用,以及支持多种数据库。具体方法如图4所示。
3.4维护人员
维护人员是对整个应用系统包括平台和应用进行维护的
Oracle
应用1
……
……应用2
DB2
专业人员,负责对整个系统进行数据备份、安全监控等工作来保障应用系统正常运行。
(1)平台提供的统一的日志、行为审核等服务为维护人员提供了有效的工具。
(2)平台采用的多种稳定可靠的技术也减少了系统故障的频率,在一定程度上降低了维护人员的工作负荷。
从以上分析来看,应用支撑平台有着它强大的优点,但也需要使用先进的技术实现,以保证系统的安全、稳定运行。
图4应用支撑平台对多语言、多数据库的支持实现
上面介绍支撑平台的方案与设计方法,它很好的解决了引言中提到的目前软件中需解决的问题,并且基于支撑平台开发应用,能很大程度上简化应用的开发过程。
4结束语
本文主要介绍了一种应用支撑平台提出的前提,以及它
3基于平台开发的软件具有的优点
软件开发的目的是方便各种各样的用户使用,下面我们
的设计与实现,从多个使用者的角度出发对其与以往的系统进行了比较分析。并且目前正在国家重点工程,审计署项目、烟草项目以及新华社项目中进行实施,很好的解决了以往系统的不足问题。
总之,电子政务系统是个非常复杂纷繁的系统,涉及很多功能和具体要求,越是这样庞大的工程,越需要一个总体架构设计,将那些几百甚至上千种的具体通用功能纳入一个总体框架下,这样电子政务系统才能变成一个可伸缩、可动态扩展、可维护、可控制的良性系统。应用支撑平台软件正好满足了这一需求,实现了上下级之间、同级部门之间的信息共享和流程协作,实现了部门职能整合并为将来社会提供一站式服务打下基础。
就从使用者角度来看一下基于平台开发的软件有哪些优点。
3.1开发人员
专业的应用程序开发工程师,主要工作是基于平台进行
开发。平台对于一些常见问题以及基础数据,权限等都进行了统一管理。因此,开发人员可以将精力完全集中到具体的业务过程上面来,将极大的提高开发的效率和软件开发的质量。
平台采用先进的设计理念和高效率的代码,从结构上保证了软件开发的质量、可维护性和可扩展性,减少了软件运行、维护阶段的工作量,从而在总体上降低了软件成本。
平台设计过程中,充分考虑软件开发模式和部署的需要,为软件的分散开发和软件的集成、部署在开发阶段就提供统一的解决方案,从而降低了集成、部署的工作量,提高了软件开发的速度和质量。从而降低了系统的管理工作复杂度,提高了系统的可管理性。
参考文献:
[1]
周晓英.政务信息管理[M].北京:中国人民大学出版社,2004.
-2823-
资产都应该有一个附属过程,其中将定义如何将其运用到产品开发中。生产计划描述了如何将这些单个的过程装配在一起构建一种产品。在生产计划中描述了用于提供产品必要变化的具体实现方法。OA系统软件产品线的生产计划应该描述如何在具体的产品中实现通用办公模块的优化组合以及如何通过添加、删除基本功能组件或以继承和参数化的方法重用资产库中的组件实现产品线针对特定产品开发的变化。
理、系统管理4个模块,内部逻辑层包括可重用核心资产库中的组件以及本系统特有的功能组件,底层数据库采用SQLSer-ver数据库管理系统。
一些具体的功能实现有计划的重用了产品线的核心资源,如文件的上传修改使用核心资产库中对应的文件处理组件,数据库访问将数据库名作为参数传给数据库访问组件,对数据库表的修改和查询实例化或继承资产库中对应的类(对数据库表的操作已经作为此类的方法)。
2.3具体产品的实现
软件产品线开发应该优先考虑整个产品线而不是个别产
品的健壮性,但是最终生产产品的活动才是产品线的最终目标。产品开发依赖于前文所述的核心资产的开发,包括产品线范围、需求、核心资源库和生产计划。产品开发需要描述特定产品的需求,指明特定产品是否适合包含在产品线中,构建产品所需的核心资源库并指明核心资源如何应用到产品的构建中。下面以企业科技项目管理系统为例,说明特定产品的开发过程。
科技项目管理系统主要功能覆盖科技项目申报、项目评审、审批流程、合同管理、进度跟踪、项目验收、成果推广和科技专利等科技项目管理的完整生命周期。此系统采用B/S结构,主要需求如下:项目的主要信息通过在浏览器中完成相应表单的输入提交到后台数据库;完整的项目计划书、合同书等以文件的形式保存到服务器相应目录;项目信息以报表的形式输出,用户可以自由选择浏览或打印;每个部门拥有对系统不同模块的不同级别的操作权限;建立数据定期备份机制,并提供数据灾难恢复功能;提供强大的查询统计功能。由于此系统的功能和处理流程基本属于OA系统的业务领域,因此此产品适合包含在办公自动化软件产品线中。此系统的需求分析在OA系统产品线需求分析模版的基础上,针对具体的流程进行改变或扩展,实例化可变点,如具体化表单的内容和处理流程,实例化文件的内容、部门的名称等。
科技项目管理系统的设计应用了OA产品线的一系列核心资产。软件构架设计在OA产品线通用构架的基础上,只需选择本系统应该包含的通用模块,并将扩展点和变动点实例化即可。科技项目管理系统的构架在OA产品线构架的基础上设计实现,其中应用层包括文件管理、用户管理、表单管
3结束语
软件产品线作为一种新兴的软件开发模式,采用到目前
为止最大程度的软件复用,实现了特定领域软件产品的规模开发,大大提高了软件产品的开发效率和质量,降低了开发成本。本文探讨了软件产品线在网络办公自动化软件开发领域的应用,给出了办公自动化软件产品线开发的方式和基本活动,描述了如何从现有产品提取核心资产,并以科技项目管理系统为例说明了如何应用产品线核心资产开发特定产品。下一步将进一步研究由于技术和产品需求变化而引起的产品线的演化以及如何完善技术管理和组织管理使得OA软件产品线的开发方法能够切实应用于企业的软件生产中。
参考文献:
[1][2][3][4]
张友生.软件体系结构[M].北京:清华大学出版社,2004.保罗・克莱门茨,琳达・诺思罗普.软件产品线实践与模式[M].北京:清华大学出版社,2004.
王广昌.软件产品线关键方法和技术研究[D].浙江大学:博士学位论文,2001.
PaulClements,LindaNorthrop.Aframeworkforsoftwarepro-ductlinepractice-version2.0[M].Pittsburgh,PA:SoftwareEn-gineeringInstitute,CarnegieMellonUniversity,1999.[5][6]
网络办公自动化系统开发分析[EB/OL].2004.http://www.51lw.com/article/computer/4731.htm.
Aframeworkforsoftwareproductlinepracticeversion4.2[EB/OL].2005.http://www.sei.cmu.edu/productlines/framework.html.
[2]展望:2004电子政务步入整合应用[EB/OL].
=108&
,2003.
[12]JonesDanielStedman,CroweBen.Transformationnotautoma-tion:theE-governmentchallenge[M].morethanbuildingawebsite[D].
,2001.
[13]TheresaPardo.Realizingthepromiseofdigitalgovernment:It's
-2845-
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务