基于J2EE架构和Lotus的OA系统设计
2009-05-26 20:42:12 Administrator

1、引言
办公自动化(OA,Office Automation)是为适应信息社会化的需要而产生的。国家税务总局信息化工作会议上强调,要以信息化带动税务系统现代化,办公自动化是信息化的重要组成部分。各地税务局正投入大量的人、财、物建设、改造、优化自己的办公自动化系统,以提高办公效率。办公自动化的主要特点是涉及到大量公文处理和高效的信息交换即办公事务数字化、公文处理自动化、流程控制自动化同时,OA由于处理流程繁琐、多变,成为IT建设的难点之一。但是随着计算机技术的深入发展、各种新兴技术的不断涌现,使上述问题得到了很好的解决。
目前,市场上软件厂商推出的办公自动化软件可谓琳琅满目,Lotus Domino和J2EE是其中两种最为流行的开发平台,但是基于这两种平台综和开发的系统倒不常见,本文接下来将讨论如何充分利用这两种平台的优势,构建一个新型架构的办公自动化应用系统 .


2、某市税务局办公自动化需求分析
经过对某市地税局提交的需求说明进行分析,整个OA系统分为以下三类:
2.1纯办公自动化业务
包括办公管理、后勤管理、基础资料库、其他管理、宣传与信息化管理等共40多个模块。该类业务基本是区县、市局逐级协作审批,对流程的要求比较高,所以其关键问题是权限与工作流技术,如何实现灵活的工作流配置及权限管理是需要重点考虑的。


2.2征管业务处室办公管理
主要包括涉税审批、税务稽查等,该类业务处理要执行审批流程外,还有大部分交易操作,与核心征管系统有频繁的数据交换,接口问题也是一个重点考虑的问题。另外象涉税审批这样的业务还涉及内外网,外网供纳税人填写各类审批表,提交后进入OA内网执行审批流程,需注意的是因为税款的数额的大小和税种的不同直接决定了审批权限,分局有批准权限的就不必上报市局,所以工作流的定义应支持这种参数配置。


2.3其他交易型应用
主要包括设备管理、车辆管理等,该类业务没有审批流程,主要是对登记的数据进行查询统计,该类业务应机构在关系数据库之上。
综合以上分析,整个OA系统分为三类,一类是以局内流转为重点的办公自动化业务,属于纯OA部分,整个业务在市局区县局税务所之间协作完成,很少涉及征管数据。一类是与核心征管系统密切相关的业务,但也具有审批流程。这两类业务公用的是工作流。另一类是交易型应用,数据存储后进行查询统计,生成各种 报表。结构如下图:
 
图1系统架构图


3.系统设计目标
该市地税局具有一整套完善的网络安全体系,包括防火墙系统、入侵检测、漏洞扫描等系统。网络级是安全的。另外配置优专门的系统管理员对系统进行日常维护,保证系统的安全升级及病毒防御等。


为了实现用户提出的系统单点登录(SSO)的需求,即统一管理和维护用户名和密码,用户只需要输入一次密码,根据用户拥有的权限,就能实现在不同应用系统之间进行操作,而不需要重复输入用户和密码。另外除了实现上述需求之外,还要结合我们提出的体系结构,明确统一安全认证和授权与其他体系结构元素的调用接口和数据接口,确保体系结构的可行性、灵活性、伸缩性。因此在应用级的安全方面作如下考虑:
(1)关于身份认证。整个税务机关的身份认证通过LDAP服务器进行统一认证,根据税务局大集中“四网一库+安全”的指导方针,各个子系统之间实现单点登录SSO(SINGLE SIGN-ON),通过单一的用户接口登录后,在各个子系统中共享该用户认证信息。


(2)权限检查及授权。权限检查及授权由各子系统进行单独控制。OA系统根据用户的角色或岗位配置其功能级的访问权限。根据当前登录用户的组织单元信息等来控制数据级权限。


4、系统整体技术方案
4.1应用架构
       
 
图2应用架构图

该税务局OA系统的改造,并不是仅仅是在旧有系统上的简单升级,而是需要在新的技术体系上的完全改造。旧有系统是基于Lotus Domino群件的两层系统,根据设计约束地描述,新的OA系统应该架构在三层、多层体系上。Lotus Domino作为协作型的群件系统,在协作领域具有优势,且Lotus Domino最新版本在支持Internet方面有了很大的增强,对OA系统是一个不错的选择,但Lotus Domino由于数据库结构的关系,在查询统计方面有一定地弊端,效率不高。所以本系统最终采用混合方案,将Lotus Domino的优势与关系数据的优势结合起来,涉及流转的协作型部分(如公文)架构在Lotus Domino工作流平台之上,交易型部分(设备管理)架构在Weblogic及Oracle9i之上。以下是Lotus Domino与J2EE架构的一个比较:
 
图3 Lotus Domino与J2EE对比图


       要实现该市地税局的OA系统,必须结合两种平台的优势,将他们集成起来。DOMINO能够与J2EE无缝集成。


4.2软件分层结构
(1)客户层。包含各种端设备。端设备的用途是提供灵活多样的用户接口。通过相关的服务渠道,使用户方便有效的访问信息系统提供的各种服务。一般三层应用主要采用瘦客户端,如浏览器,视具体需要也可支持手机等作为客户端。


(2)应用层。细分为三个子层,web接入子层、业务功能子层及通用服务子层。
web接入层提供多种接入方式以访问业务服务,另外应用逻辑控制大部分分布在此层当中。用户可以透明的通过web服务来实现业务访问,也可以通过企业信息门户导航进入相应频道来实现业务功能,另外,用户在邮件系统中可以直接登陆相关业务功能,直接进行业务操作,通过提供用户多种接入方式来增加软件系统的易用性,同时在各个系统间实现方便的集成。


业务功能子层对各种业务提供软件支持。他是业务的单纯实现,与应用逻辑控制是分离的,这样便提高了软件高层业务的复用性。
通用服务子层是整个软件系统中公用的服务,包括实现业务功能所设计的可复用的功能实现及工具类,另外,大部分的公用机制如权限管理,消息提醒、异常处理等也通过服务包的方式提供服务。图4中列出了OA系统中最重要的通用服务包括权限管理包、工作流引擎包及消息服务包,


(3)数据层。提供数据的持久化服务,大部分系统中使用关系数据库来实现结构化数据持久化支持,使用类似DOMINO的非结构化数据库实现对非结构化数据持久化。在数据访问子层中通常使用基于中间件的JDBC等机制来封装数据访问。

在软件设计过程中时刻注意维护此层次的高层架构能有效提高软件的可维护性及复用性,同时对分布式部署也提供了架构级的支持。


图4软件分层结构图


4.3纯办公自动化应用
       纯办公自动化业务构建在Lotus Domino基础之上,整个应用通过门户单点登陆,通过LDAP进行统一验证后,根据LDAP中的用户与Lotus Domino目录中用户的对应关系,获得当前登陆用户的权限集合(角色)。各业务通过WORKFLOW基于角色定义业务审批流程,并由Lotus Domino工作流引擎解释执行。由Lotus Domino的邮件服务器实现系统的消息服务,Lotus Domino域内的各邮件服务器通过NRPC实现邮件路由,与Internet及非Lotus Domino域的邮件路由通过SMTP实现。各业务最终归档至Domino Doc实现统一的知识管理和基于NSF的数据模型。Lotus Domino与外部系统无缝集成,通过接口实现与关系数据库的数据交换。系统统一从Lotus Domino目录服务中取得组织、组织单元等信息。最后通过SAMETIME服务器与Lotus Domino的集成,在应用中实现实时的在线白板及视频交流。


4.4征管办公业务应用
       该类应用涉及内外网的建设,外网提供纳税人在线填写各类审批表的接口。纳税人送审后进入内网,相关税务人员执行审批操作。外网建设基于J2EE应用服务器,采用Struts框架作为系统的Web层,应用层基于Weblogic,数据库采用关系数据库Oracle9i。


       整个应用基于J2EE和Lotus Domino的集成混合平台,通过门户单点登陆,通过LDAP进行统一验证后,获得当前登陆用户的权限集合(角色)。采用Struts框架实现Web层,采用Hibernate框架作为关系交易数据的持久层,与Lotus Domino的交互采用Domino Object for JAVA,与目录服务的交互采用标准LDAP接口。审批流程模型采用WORKFLOW定制,由Lotus Domino解释执行。在J2EE应用中集成SAMETIME服务,在应用中实现实时的在线白板及视频交流。与核心征管系统等外部系统采用接口API及 Web Service实现数据交互,通过分布式事务管理实现各个系统之间的数据一致性。


4.5其他交易型应用
       该类应用没有审批流程,只是一些交易事务及统计查询。该类系统应建立在J2EE平台之上,与征管办公业务应用采用相同的技术框架。


4.6与外部系统的数据交换及集成
       (1)身份认证方面。由统一的LDAP服务器来实现,在此基础上实现跨越各个子系统的单点登陆,用于通过单一界面接口登陆后,可在各个子系统之间无缝透明的进行漫游切换。


       (2)权限管理方面。各个子系统管理管理自己的权限。OA系统实现自己的权限检查及授权,与其他系统不交叉。


       (3)数据交换方面。子系统之间的数据交换采用XML协议实现,通过各个系统提供的接口来实现数据访问,不允许通过任何途径操作其他外部系统的数据库,也不允许其他系统直接操作OA数据库。


5、结束语
       本文研究了基于Lotus Domino和J2EE架构的办公自动化系统的设计,提出了一种新型办公自动化系统设计方案,使之能够将办公等诸多项工作集成在一起。系统提供规范、灵活的办公流程管理,具有功能齐全、使用方便、安全性好、可靠性高等特定。科学化的管理需要依靠现代化的办公工具、智能化决策、无纸化办公已经成为政府部门和企业现代化管理的趋势,而办公自动化系统将在现代化的管理中发挥越来越重大的作用。

原作者:张金云,蔡玉全,陈英(北京理工大学计算机系)

该文章最后由 Administrator 于 2012-04-27 09:18:22 更新,目前是第 3 版。