基于业务关联的政务信息资源分类系统的研究与实现
乔建忠
中国科学院国家科学图书馆 北京 100190
解放军艺术学院教育技术中心 北京 100081
摘要

基于MVC模式设计并实现一个B/S结构的政务信息资源分类系统,描述该系统的体系架构和业务逻辑,重点解决数据抽象、业务关联、权限控制和可视化等关键问题。经运行测试,系统能较好地满足分类机制和跨部门业务关联的需求,并实现对整个分类体系以及业务关联关系的可视化。

关键词: 电子政务; 信息资源; 分类系统; 业务关联; 隐性关联; 信息可视化; MVC
中图分类号:G203
Research and Implementation of Classification System of E-government Information Resources Based on Business Association
Qiao Jianzhong
National Science Library, Chinese Academy of Sciences, Beijing 100190, China
Educational Technology Center of PLA Academy of Arts, Beijing 100081, China
Abstract

In this paper, an E-government information classification system of B/S structure is designed and implemented based on MVC mode. The author describes the system architecture and business logic, with emphasis on four key technologies including data abstraction, business association, access control and visualization. The system is proven to meet the functional requirements of the classification mechanism and business association, and the visualization of the whole classification structure and the correlations between business categories is realized.

Keyword: E-govenment; government; Information resources; Classification system; Business association Implicit information correlation; Information visualization; MVC
1 引言

政务信息通常与主管部门挂钩,分散存放,并且以政府业务为焦点,因而难以有效揭示跨部门特征和信息间的隐性关联。本文针对这一问题,设计和实现了一个可用于揭示业务关联关系的政务信息资源分类系统。该系统是在一定分类规范[ 1, 2]指导下辅助建立面向公共服务的政务信息资源分类体系的运行和维护平台。分类体系的各级类目以半自动方式生成,数据源主要来自“政务信息资源编目工具”,并且是按部门导出的,需要面向公共服务的体系重构,以此来支撑服务型电子政府的整体职能。业务关联的过程是信息共享和资源整合的过程,因此系统设计以业务关联为切入点着重解决4个问题:数据抽象、业务关联、权限控制与可视化。本文基于MVC模式,设计与开发了该系统,并通过测试和可视化手段验证了系统设计的有效性和分类体系建设的质量。 本分类系统的主要目标是从“零”建设一个分类体系,完善其中的各级类目和相互关系,并不对信息进行自动分类,因此有关文本分类算法的研究不在本文论述范围内。另外,对于类目的解释和分类规范不作过多探讨,相关研究将另文阐述。

2 相关工作

目前,电子政务信息资源管理技术研究可归纳为两个方面:

(1)围绕信息共享和业务协同进行的目录体系和交换技术研究。国外这方面研究起步较早,且多以案例研究为主。Marchand等[ 3]指出信息资源管理阶段的核心在于整合,以便在新的信息交换与共享平台上开发新应用,实现信息资源的最大增值。Bouguettaya等[ 4]以美国印第安纳州电子政府的家庭与社会服务管理本体(FSSA)建设为例,提出借助本体统一存取各部门数据库和服务系统的方案,并实现了相应的原型系统。在国内,李锋白等分别提出了各自的目录体系和交换平台建设方案[ 5, 6, 7]

(2)围绕系统耦合和辅助决策进行的软件架构和管理模型研究。Stoll等[ 8]从面向服务的角度,从政策的层面提出一种“整体行政管理模型”,用于整合服务和业务流程,并通过统计市民满意度调查表验证了模型的可行性。刘寅斌[ 9]基于Petri网建模技术设计了一个政务信息资源管理模型。Petri网技术常被应用于政务工作流模型设计上,聚焦于政务信息资源管理的Petri网建模研究较少。为此文献[9]利用Petri网,着眼于系统中可能发生的各种状态变化以及变化之间关系的特点,设计了一种基于对象层次的集成化信息资源管理动态模型。李志刚等[ 10]则指出现有的电子政务数据库系统虽然可以高效地实现数据的录入、查询和部分统计等功能,但是无法发现数据中存在的关系和规则。为此文献[10]基于数据仓库,提出一种政务辅助决策支持系统设计方案。

目前,关于电子政务信息资源管理技术的研究为本文提供了理论依据和实践经验,但对目录体系研究多以“政府部门”为切入点,强调部门间信息的交换,对关系的揭示或辅助决策多数停留在模型和框架层面;而以“政府业务”为切入点,以公共服务为主题的政务信息分类系统的相关研究较少,对业务关联的建立及分类体系的可视化技术研究不足。

3 系统设计与实现
3.1 系统架构与业务逻辑

本系统基于MVC(Model-View-Controller)模式[ 11]开发实现,系统架构如图1所示:

该模式的优点在于将业务逻辑处理功能与表示功能相分离,同时提供各功能组件之间标准的接口,通过控制组件来实现系统的集成。其中业务逻辑的设计是系统实现的基础。

所谓业务逻辑是在多部门协同工作机制下,受一定的权限控制,充分利用已有信息源,完成分类体系的分层建立与维护,并进行展示和共享利用的规则和流程,如图2所示:

业务逻辑显示系统包含三个主要模块:类目体系建立与维护、用户管理和共享展示。其中用户管理是按权限进行类目体系建立和维护的基础,共享展示则是对类目体系的推广应用。分类体系的建立与维护是核心模块,其子模块主要包括:数据导入(A)、数据抽象(B)、类目管理(C)和业务关联(D)。

(1)数据导入模块负责从其他系统导入所需信息。与其他分类系统不同的是,本系统很少需要纯手工建立类目,数据量最大的业务层及其以下类目均可从现有资源导入并半自动生成。

(2)数据抽象模块负责从“数据导入”的信息中选择所需业务或事项,以规范化的格式生成一条新类目。数据抽象是实现半自动化建立类目的主要途径,可以为分类体系的建设节省较多的人力和时间。

(3)类目管理模块负责对类目体系中的具体类目进行增、删、改、转移、变更顺序等常规操作。

(4)业务关联模块负责管理、新建、修改和删除关联关系。本分类体系面向公共服务对原条块分隔的管理机构下的信息资源进行重构,如何再让业务回到各部门间流转,形成一条完整的业务链,需要对多个相关业务进行关联。

用户管理是保障系统安全和建立管理规则的重要模块,其子模块主要包括:部门管理(E)和权限分配(F)。该模块建立了允许分散在不同地点的多个部门共同建设和维护一套分类系统的规则,同时也为数据导入和数据抽象模块提供管理数据源的依据。

共享展示是检验成果和应用推广的重要模块,其可视化(J)子模块通过自动方式生成的树形或星形视图能及时反映类目的更新,可用来检验分类体系的布局、内在关系,便于从整体上把握和挖掘分类体系的资源分布与应用价值。

3.2 关键问题的解决和实现

根据业务逻辑,系统需解决的关键问题主要有数据抽象、业务关联、可视化和权限控制。

(1) 数据抽象

数据抽象是外来数据进入本系统成为正式类目时的规范化过程。分类体系中的业务层及其下的事项和信息层数据量最大,如采用手工建立方式不仅费时费力而且在实践中较难推广。如何将来自多个部门的业务数据经过一定的处理手段,以符合类目表要求的数据形式添加到相应职能层或业务层下是数据抽象需要解决的问题。完整的数据抽象过程包括数据准备、数据选择和类目生成三个阶段,具体实现方法如下:

①数据准备

该阶段任务是将相关数据导入并按部门等级树显示。经数据导入子模块导入到系统中的数据目前主要来自“政务信息资源编目工具”中的业务、事项等信息。其数据格式为XSL且须符合一定的规范要求,如表1所示:

表1 由其他系统导出数据的格式

通过开源工具JExcelAPI[ 12],将Excel表格导入到数据库。为便于选择目标数据进行抽象,导入后的数据按部门等级树呈现,如图3所示:

图3 按部门树浏览和选择导入后的数据

导入时,来源数据所属的部门如果存在则将其放置到现有部门下并按层级关系自动进行组织。例如表1中的数据,如果选择导入部门为农业局,则导入后其部门、业务事项名称和一级子项名称按上下级排列。如果来源数据的所属部门不存在,可通过“部门管理”模块先添加再进行导入。

②数据选择

该阶段任务是在部门浏览树中选择待抽象的数据。选择分为三种情况,分别是选择同一部门下的一个业务、选择同一部门下的多个业务和选择不同部门下的多个业务,具体区别在类目生成阶段有所体现。

③类目生成

该阶段任务是将选择的数据抽象为分类体系中的正式类目。抽象的过程是将源数据提供的不同信息字段进行有选择的导入和重新命名等规范化过程。抽象结果分为业务或事项两类,具体取决于用户所定位的上一层类目的属性。如果定位在三级职能类目上,那么抽象结果是在该职能类目下添加业务;如果定位在业务类目上,那么抽象结果则是添加事项。根据数据选择的不同,情况抽象的规则也分为多种类型,主要体现在对主管部门的处理上。如果抽象来自同一主管部门的数据,新类目的主管部门直接被继承;如果来自不同主管部门的数据,新产生业务类目的主管部门则默认选取所选择的第一个业务的主管部门,但为弥补默认设置带来的失误,系统同时记录所有的主管部门信息,以便于将来根据此来源信息进行更正。

类目规范化包括内容和形式规范两个方面,处理界面如图4所示:

图4 抽象操作的界面

其中,内容规范为新建条目选择所需字段并重新命名。形式规范为各字段重新排列入库顺序、分配规范化的编码符号等。

(2) 业务关联

业务关联关系的建立不仅能满足政府部门间的业务融合和信息共享,反映现实工作中的业务链,而且有助于将隐性知识显性化。因为在现实工作中的业务链只是存在于人们头脑中的隐性知识,只有熟悉各自部门业务以及其下事项的人员共同交流,才能明晰业务之间的关联。业务关联功能将这种隐性知识得以显性化,并通过可视化手段将全局业务链条以及其上各业务节点所属的主管部门和上下位类目以直观的方式展现。

在本系统中,业务关联被定义为按实际工作需要由熟悉业务的人员在分类体系的业务层建立的跨部门、跨分面的业务相关关系。它反映了实际工作中的工作流程或关联业务。例如,服务内容面所属的业务“职业介绍与培训(ID:17167)”与“审批建设(ID:16315)”和政府资源与管理面所属的业务“为农业系统职工提供培训(ID:17787)”同时相关,则在三者之间建立关联关系。主管部门分别是部门A、部门B和部门C。业务关系如图5所示:

图5 不同部门的业务之间相关联

业务关联一旦建立,业务层下对应的事项层和信息层也将联系起来,为这种关联提供资源和信息的支撑。在现实工作中,这种横向的业务关联关系和纵向的资源隶属关系将为管理者提供较实用的决策依据。

业务关联的具体实现方法是在业务标识符之间建立一张对应表,将关联业务一一对应起来,如表2所示:

表2 业务关联关系表

对应关系可以是一对一、一对多或多对一。这种关系表一旦建立,就可以导出XML文件,进行可视化操作。

(3) 可视化

分类体系的显示与浏览除了提供类Windows资源管理器的“文件夹”显示方式外,还借助第三方可视化工具Prefuse[ 13]来增加分类体系的动态显示功能和效果。Prefuse提供了多个可视化应用方案,其中的树形图和星形图两种方式更适合展现分类体系。

树形图用于展示整个类目体系,对发生关联的业务进行了突出显示。星形图除了用于展示完整体系外,还设计了专门针对某一条业务链(关联关系)的局部可视化功能。可视化的实现需要三个必要的设计:

①Prefuse的本地化

Prefuse提供的功能相对初级且偏通用性,需要进行相应修改来满足个性化需求,如中文化、节点的颜色区分、节点信息的显示粒度、关联关系的突出显示等。中文化操作只需修改原有节点文字的字体,例如将“Tahoma”改成“宋体”。4大分面的颜色区分需要首先考虑如何区分4个分面,从而为设置不同的颜色开关和过滤器奠定基础。编码的前两位分别代表了4个分面,如04代表政府资源与管理面。另外需要在导出视图文件时增加该类目编码的导出字段。其次考虑为各分面设置不同的颜色。这需要给每个分面分别设置一个过滤器(Filter),每个Filter对应一种颜色,相关设计代码如下:

package prefuse.demos.newapplets;

public class GraphViewPredicatesGL extends JPrefuseApplet {

/*为4个分面各设置一个过滤器*/

final AndPredicate filter1 = new AndPredicate();

final AndPredicate filter2 = new AndPredicate();

final AndPredicate filter3 = new AndPredicate();

final AndPredicate filter4 = new AndPredicate();

/*为各过滤器设置不同的显示颜色*/

fill.add(filter1, ColorLib.rgb(255,200,200));//红

fill.add(filter2, ColorLib.rgb(200,255,200));//绿

fill.add(filter3, ColorLib.rgb(200,200,255));//蓝

fill.add(filter4, ColorLib.rgb(250,250,150));//黄

/*利用类目编码的前两位区分出各分面*/

final Predicate nameStartswith01 = ExpressionParser.predicate("LEFT(code, 2) == '01'");

/*过滤器1对应分面01,其他过滤器进行类似设置*/

filter1.add(nameStartswith01);

…}

解决节点信息的显示粒度以及关联关系的突出显示等问题的关键是对导出信息的控制。

②数据格式的转换

Prefuse默认支持XML文档的可视化,所以存储在数据库中的数据需要先转换成XML格式,即进行导出视图文件操作。如果要在节点显示除类目名称外的其他属性信息时还需要增加导出字段。本系统采用开源工具DOM4{Invalid MML}来实现从数据库到XML文件的生成任务。生成XML文件的代码片断如下:

<node id="17787">

<!—对关联业务进行特别注明-->

<data key="name"><关联业务>为农业系统职工提供培训

主管部门B

0403070105

<data key="name"><事项>为农业系统职工提供培训相关服务(住所、培训场地服务及饮食服务管理)

事项类目

040307010501

<所需信息>

所需信息类目

04030701050101

<产生信息>1、住宿业活动情况表

产生信息类目

04030701050102

<!—隶属关系边-->

<edge source="16085" target="17730"/>

<edge source="17730" target="17780"/>

<edge source="17730" target="17787"/>

<!—关联关系边-->

<edge source="17167" target="17787"/>

<edge source="16315" target="17167"/>

视图文件中包含Node和Edge两个主要元素。Node对应可视化视图中的节点,Edge对应的是边。其中节点的子元素Data可根据需要增加,以此来控制节点的显示粒度。此外对关联业务节点进行特别注明,这也为突出显示该节点作好准备。具体突出显示方法与各分面区分颜色的做法基本类似。边包括隶属关系边和关联关系边两类,均由节点到节点的对应关系组成。专门针对某一条业务链的局部可视化与完整分类体系的可视化的区别在于导出视图文件的不同。前者只需要导出具有关联关系的类目节点、隶属关系边和关联关系边,而后者则需要全部导出。

③Prefuse调用方法

Prefuse类库是独立于分类系统的外部组件,Prefuse的本地化工作需要在Prefuse类库中进行修改,而格式转换和可视化动作的触发需要在分类系统内实现,本系统借助Applet调用方法来实现分类体系的可视化。具体调用方法如下:

<applet code=prefuse.demos.newapplets.GraphViewPredicatesGL width="1280" height="900"></applet>

(4) 权限控制

本文采用面向对象的权限控制策略,如图6所示:

图6 权限控制示意图

对不同层次的类目对象分别赋予不同的权限标识。例如业务层类目分别赋予所属层、部门和可执行的操作三类标识。将这些权限标识分配给不同的角色(Super、Common、Department或Guest)。再将角色赋予用户,用户因此获得对某些对象进行相应操作的权限。其中的难点在于横向按用户所属的部门划分相应的操作权限。由于类目体系不是按部门分类的,原属于同一部门的信息可能被归入不同的分面或职能。例如同属于部门A的业务“蔬菜质量安全监管”与“蔬菜质量安全追溯系统建设”被分别归入服务内容面、政府资源和管理面,造成同一部门的信息处于分散状态,为按部门设置权限带来一定的困难。系统中Department角色实际上又划分出多个角色如部门A、部门B等,具体划分数量取决于实际的部门数。通过为业务层类目分配所属部门标识来识别和验证用户的部门角色。为此,一项业务层类目实际上比其他三层类目多包含了一个所属部门标识。如果用户的权限标识中包含的等级标识、可执行操作标识和所属部门标识与操作对象的标识相匹配或是包含关系,则用户可对此类目进行相应的操作。但由于业务间关联关系的建立和维护需要进行跨分面和跨部门操作,因此并不受部门权限的限制。

4 系统测试与评价
4.1 系统测试方法

本系统已开发完成,正处于试运行阶段,系统主界面如图7所示。

图7 系统主界面

系统在一个小范围的测试包括功能测试、性能测试、可靠性测试、并发操作测试等,基本达到设计要求。测试技术采用黑盒测试技术以及设计测试用例来确认系统是否满足要求。

该系统目前通过手工维护方式已初步建立起一个初具规模的政务信息分类体系。其中包括4个一级类目、42个二级类目、部分三级类目及其业务和事项等信息。通过自动导入方式,用户已从“政务信息资源编目工具”等其他系统成功导入和共享了65个不同部门的业务信息并抽象成正式类目。目前已建类目846条,业务关联关系30个,能比较便捷地导入和共享其他系统和来自不同部门的数据。

4.2 分类质量的控制

分类质量的控制有三个方面的措施加以保证:

(1)分类规范[ 1]中已经明确了详细的分类规则,例如各分面、1至3级职能、业务、事项、信息之间的关系与区别;

(2)实施类目建设的部门业务员必须对本部门业务有较全面的了解,对政府面向公共服务的特点和规律有一定认识,在使用系统前需要经过培训;

(3)建立相应的工作机制,如统一术语、权限控制、动态更新和发布等,这主要体现在系统的开发与实现中。

数据抽象规范了字段名称和格式,可视化手段则是检验类目表建设质量和数量的最直观方法。

4.3 可视化应用效果

可视化功能比较全面地展示了目前分类体系的布局和业务关联关系。树状分类体系如图8所示:

图8 分类体系的树形视图(红色部分代表关联业务)

该树形图从左至右依次按分类等级展开,业务层开始显示关联关系,业务层下的红色类目突出显示了与该业务相关联的其他业务。树状视图较清晰地展示了类目体系的分层轮廓,层次感较强,类目排列整齐,但对业务间关联关系的展示较呆板,无法实现从一个分面的业务进入到其他分面。例如,服务内容面-农业发展(1级职能)-种植业发展(2级职能)-经济作物管理(3级职能)-无公害蔬菜认证管理(业务)与属于服务提供方式面下的无公害蔬菜认证业务是关联关系,树状视图只能将这种关联关系显示为分支结构,无法实现从服务内容面通过鼠标点击延伸至服务提供方式面。这在星形视图模式下可以实现,如图9所示:

图9 分类体系的星形视图

图9以星形视图方式展示分类体系。4个分面的类目分别用4种不同的颜色区别。每个节点的显示粒度分成三级:简单级、扩展级和详细级,分别对应“类名”、“类名+级别”和“类名+级别+主管部门”三类节点样式。

以星形视图方式展示业务间关联关系,从图9显示方式下截取的一部分,其中节点显示方式是“详细”级,如图10所示:

图10 关联关系和等级关系的星形图

图10中显示了从一个分面下的业务通过关联关系可延伸到另一个分面。虽然关联业务的主管部门不同、所属分面不同,但通过星形视图不仅展示了这种业务间的关联关系,而且构成了一条业务链。

4个不同分面下业务的关联关系如图11所示,此时的节点样式为“简单”级。

图11 多业务关联关系与等级关系的星形图

5 结 语

通过测试和初步实践,本文提出的系统设计能较有效地揭示业务关联关系,实现跨部门的共建共享,方便与第三方系统进行数据交互,以及通过可视化手段直观展示整个类目体系和揭示业务间跨部门的隐性关联等。但仍存在以下几个不足:

(1)可视化效果中业务关联关系链条的显示处于无序状态,没有反映出业务流程的方向和顺序;

(2)分类体系的可视化前提是由数据库中的相关数据导出并生成符合一定格式的XML文件,如果能从数据库直接生成可视化视图将减少中间环节,进一步提高可视化效率;

(3)缺少异地、大数据量、大用户量的并发操作测试。

参考文献
[1] DB11/Z 359-2006, 面向公共服务的政务信息分类规范[S]. 北京: 北京市质量技术监督局, 2006. [本文引用:2]
[2] 陈拂晓. 深度解析《国家电子政务总体框架》[N]. 计算机世界, 2007-01-29(B05). [本文引用:1]
[3] Marchand D A, Kresslein J C. Information Resources Management and the Public Administrator [A]//Rabin J, Jackowski E M. Hand book of Information Resources Management[M]. Marcel Dekker Inc. , 1988: 395-455. [本文引用:1]
[4] Bouguettaya A, Elmagarmid, A K, Medjahed B, et al. Ontology-based Support for Digital Government[C]. In: Proceedings of the 27th International Conference on Very Large Data Bases. San Francisco, CA, USA: Morgan Kaufmann Publishers, 2001: 633-636. [本文引用:1]
[5] 李锋白. 政务信息资源目录体系和交换体系 推动部门间信息共享和业务协同[J/OL]. [2010-06-22]. 中国计算机报, 2007(8). http://media.ccidnet.com/art/2625/20070124/1008677_1.html. [本文引用:1]
[6] 谢先江. 区域性电子政务信息资源目录体系实现研究[J]. 电子政务, 2007(12): 37-42. [本文引用:1]
[7] 程建华, 栾婕, 陈玉龙. 政务信息资源交换体系的统一平台设计[J]. 计算机应用研究, 2007, 24(9): 228-230. [本文引用:1]
[8] Stoll M, Laner D. Service Oriented E-Government[A]. Sobh T M, Elleithy K M. Innovations in Computing Sciences and Software Engineering[M]. New York: Springer, 2010: 129-134. [本文引用:1]
[9] 刘寅斌. 基于Petri网的政务信息资源管理模型的研究[J]. 扬州大学学报: 自然科学版, 2008, 11(4): 46-48. [本文引用:1]
[10] 李志刚, 彭立. 基于数据仓库的政务辅助决策支持系统构建研究[J]. 中国管理信息化: 综合版, 2007(12): 85-87. [本文引用:1]
[11] The Apache Software Foundation[EB/OL]. [2010-06-22]. http://struts.apache.org/. [本文引用:1]
[12] Java Excel API-A Java API to Read Write, and Modify Excel Spreadsheets[EB/OL]. [2010-07-30]. http://jexcelapi.sourceforge.net/. [本文引用:1]
[13] Prefuse[EB/OL]. [2010-06-22]. http://prefuse.org/. [本文引用:1]
[14] Welcome to DOM4J 2. 0[EB/OL]. [2010-07-30]. http://dom4j.sourceforge.net/. [本文引用:1]