基于XML数据交换的河南省水利电子公文交换系统

2013-06-26 09:46张贵芳河南省水利信息中心
河南水利与南水北调 2013年4期
关键词:附件发文河南省

□张贵芳(河南省水利信息中心)

□肖 航(河南省水文水资源局)

□常俊超 □陈 磊(河南省水利信息中心)

1.河南省水利电子公文交换系统

河南省水利电子公文交换系统是厅机关与直属单位、各地市水利局之间的电子公文交换平台,用来实现上下两级水利部门之间公文及时的上传下达和下传上达,在功能设计上实现与上下级单位的公文交换。其功能设计主要包括发文件、收文件、地址本和系统管理等功能。其中发文件主要包括新建发文、盖章、补发(重发)、发件箱、发文监控以及发文查询;收文件包括收文签收、收文打印、收件箱以及收文查询;地址本包括地址本维护以及地址本使用;系统管理包括用户树管理、交换单位配置以及岗位管理。其详细功能如图1所示:

图1 电子公文交换系统功能图

河南省水利电子公文交换系统是河南省水利厅电子政务系统的一个子系统。该系统采用XML(Extensible Markup Language)语言作为通用的数据标准和数据交换标准。XML用标签存储的数据都是格式化的;把封装好的对象存储为XML文件的元素;对象的属性存储为一个XML元素的子元素或属性;XML存储的一个元素,相当于数据库的一行数据。把公文存储为XML文件,充分利用了XML文件结构化存储,容易解析的特点,实现了数据交换的跨平台。

2.XML语言

作为一种Web上的数据通用语言,XML是当前处理结构化文档信息的有力工具。XML可使用一系列自定义的简单标签描述数据的内容和结构,便于数据在网络上进行交换和处理。虽然XML占用空间比二进制数据更多,但XML极易于掌握和使用,具有较好的应用前景。XML主要具有以下特点:

第一,文档是纯文本,即可以在可视化开发环境中使用开发工具进行创建和编辑,也可使用文本编辑器进行编辑处理;格式简单易懂,易于处理。第二,表现方式灵活多样,规则可以随便定义,具有良好的扩展性。第三,良好的跨平台性。XML是纯文本格式,属于W3C正式批准的公开的标准,不依赖于任何操作系统和开发平台,几乎所有的语言都支持XML,应用前景广阔。第四、检索方便。用户利用XQL语言,在XML文档中检索数据,实现简单,方便实用。

作为一个开放的平台,由于资源的共享性和互操作性,互联网也面临着各种各样的安全威胁,如信息窃取、恶意欺骗、伪装、非法修改以及各种扰乱破坏等。随着XML技术的广泛应用和深入发展,因其本身具有平台无关、易于扩展、自描述、语义性强等特点,并且能方便描述结构化或非结构化的数据,故而成为异构数据集成中描述公共模型的最好选择。XML语言自身具有的结构化特征,对数据信息安全技术提出了新的要求,如XML加密解密、XML数字签名和确认、XML文档局部数据的安全性要求等。

数据交换涉及的安全性内容包括以下几点:

①身份验证。要求数据交换双方的身份可鉴别,防止第三者假冒。②访问控制。对不同的用户,能控制其对数据的访问权限。③数据的机密性。防止未授权的用户窃取数据。④数据的完整性。确认数据在传输过程中没有被篡改。⑤非否认服务。保证收发双方无法否认已接收或发送数据这一事实。

3.XML在河南省水利电子公文系统中的数据交换

3.1 公文交换中发文流程

河南省水利电子公文交换系统实现了电子公文按照主送单位和抄送单位的准确分发功能,实现公文正文和附件数据的上传和删除功能,实现对公文信息的XML格式封装和分发功能;实现对签章后的电子公文信息进行加密,并将加密后的公文信息封装成XML文件格式,提供公文的发送、补发和重发功能。其发文流程如图2所示:

图2 公文发文流程图

在整个流程中,公文信息封装成XML文件是比较关键的一步。发文过程中如何把一个公文封装为XML文件;收到公文后,又是怎样对XML文件进行分解;程序上将如何处理?我们下面谈谈发文数据XML格式封装和收文数据XML分解。

3.2 发文数据XML格式封装

在发送公文时,需要把发件人、发送单位、密级、缓急、公文标题、公文正文、附件等公文信息封装成XML格式文档文件,通过网络发送到公文交换服务器。

如何把一个公文封装为XML文件?

第一步,需要创建一个文件名为公文的ID.XML的XML文件,并获取一个文件输出路对象out,用以输出公文的信息。

第二步,输出公文的简单信息到文件“公文的ID.XML”,输出的公文的简单信息,是根据公文的ID,从后台数据库中可以检索到包含发件人、发送单位、密级、缓急、公文标题。其程序处理如下:

第三步,输出公文的正文及类型信息到文件“公文的ID.XML”,输出公文的正文到XML文件,是转换公文的重点。封装公文正文为XML格式文件时,将电子公文CEB版式文件或加密文件写入XML文件ZWCONTENT标签。其程序处理如下:

第四步,输出公文的附件,当然不是所有的公文都有附件,如果有才输出。

在输出附件的时候,现根据公文的ID,进行检索,如果有附件,检索得到一个附件id数组attachIds;否则返回null。如果检索的结果不为null,遍历数组attachIds,依次输出每一个附件。

第五步,保存之前输出的XML文件“公文的ID.XML”,关闭输出流out,至此完成了一个公文向XML转换的封装。

以上步骤对发文数据XML格式文件封装过程进行介绍,对实现数据处理的关键程序进行了设计和分析。

3.3 分解XML文件,提取收文数据

收文管理模块主要完成对XML文件的分解,提取收文数据,生成电子公文接收表单,并将从XML文件中提取的收文数据,写入电子公文接收表GWJH_SWGL;对待收公文进行解密和签收,并根据公文签收状态对电子公文进行分类。其关键在于对XML文件的解析。现在我们采用JDOM借口对XML文件进行解析来提取收文数据。

第一步,需要先加载XML文件,如果加载成功,返回XML文档树对象的根节点对象。成功获取之后进行第二步解析公文XML文件,并进行分解。

第二步,解析分解公文XML,使用JDOM获取一个XML文件的根节点后,就可以轻松获得它的任意子节点元素,以获取公文正文节点来解析公文节点的内容,进行说明。

第三步,读取XML文件ZWCONTENT内容来获取公文内容。获取公文内容的方法如下:

收文管理模块通过分解XML文件,提取收文数据,生成电子公文接收表单;对待收公文进行解密和签收,并根据公文签收状态对电子公文进行分类,实现了收文管理功能。

4.结语

河南省水利电子公文交换系统采用XML作为数据交换语言,以XML格式对公文信息进行描述和传输,大大降低了系统各个部分的耦合程度,方便系统更改,尽可能实现松散结合的系统,很好地解决了内外部系统之间和异构系统之间的数据交换问题,加快了河南省水利系统内部无纸化公文传输的进程。

猜你喜欢
附件发文河南省
大型外浮顶储罐安全附件常见问题
河南省树人教育交流中心
河南省树人教育交流中心
河南省树人教育交流中心
河南省树人教育交流中心
附件三:拟制定的标准汇总表
10条具体举措! 山东发文做好返乡留乡农民工就地就近就业
关于TSG 07——2019附件M与TSG Z0004——2007内容的对照
新型武器及附件展呈