基于.NET Remoting 技术的数字档案管理系统开发研究(第二十三次论文评选,一等奖)
作 者: 汤 才 友
工作单位:长沙市档案局
【摘要】 通过分析.NET Remoting与数据库存储技术的优势,结合B/S、C/S软件开发技术,本文提出了一种基于.NET Remoting分布式访问通道技术的数字档案管理系统的设计与实现方法。系统采用B/S、C/S相结合架构,应用COM 组件以及Oracle存储过程,构建了一个科学、高效的数字档案管理模式,这种模式能有效提高数字档案处理效率,保障档案信息的安全。
Abstract: By analyzing the advantages of .Net Remoting and database storage techniques,combined with B/S, C/S software development techinques, this paper presents a new design and implementation method of digital archival management system based on .Net Remoting distributed access channel technique. This system’s structure combines B/S and C/S. With COM modules and Oracle storage process, this system builds up a scientific and efficient management model for digital archives, increases the efficiency of archival data processing, and ensures the security of archival information.
【关键词】数字档案 .NET Remoting 数据库 B/S C/S
Remoting是分布式组件对象模型(DCOM)的一种产品升级,经过技术改良后,已经与.Net平台完全嵌合。NET Remoting 提供了独有的“对象交互”能力,即允许对象通过应用程序域与另一对象进行交互,这也正是Remoting技术被程序开发人员普遍采用的原因。数字档案管理软件系统作为档案行业最广泛的应用系统,其功能设计及与档案用户的交互性非常重要。因此,在.NET Remoting技术框架下深入研究开发B/S与C/S相结合的数字档案管理系统就显得更有创新意义。
一、技术优势
开发基于.NET Remoting技术框架的数字档案管理系统,需要用到Remoting、B/S与C/S、数据库存储过程等技术,各自的优势如下:
1、.NET Remoting的技术优势
.NET Remoting是.NET框架提供的运用分布式数据对象建立在公共语言运行之上的进程间强大的网络通信技术。该技术支持HTTP和TCP协议,使用XML简易编码的SOAP或二进制消息格式进行通信,在服务端和客户端实现几乎相同的操作,客户端无须考虑任何协议,即可全通道访问服务端开放的对象。使用.NET Remoting这项技术最大的优点是:能够快速地建立分布式数据应用程序的解决模式,方便地解决通道数据与程序命令远程访问和传递问题,实时对数据库进行存取操作,使分布式数据库系统中对数据库的操作更加安全可靠,同时有效解决数据的完整性和一致性问题。.NET Remoting技术用于实现不同应用程序域之间的无缝通信,建立对象间紧密的耦合关系,使客户机和服务器共享相同的对象类型资源,这样可以整合分散的信息数据,消除信息孤岛,实现信息资源共享。
.NET Remoting体系结构图如下:
2、B/S与C/S结合模式的技术优势
.NET Remoting技术与B/S、C/S模式密切相关。.NET Remoting环境下采用这两种模式结合来开发数字档案管理系统,可以提高程序访问的效率,使资源利用最大化。B/S模式实现了客户端的统一管理,将系统功能的核心部署到数据服务器上,客户端全部使用统一的WEB操作界面,使系统的开发、维护和使用都得到简化。 B/S结构促进了AJAX技术的发展,其程序能在客户端进行实时刷新,减轻了服务器的负载,应用优势明显。C/S模式充分利用硬件环境,将线程任务解析后分配到客户端和服务端来实现,在降低系统通讯资源消耗的同时,用户还可以逻辑自定义出新的应用系统,扩展功能强大。C/S的三层架构将数据访问层独立出来,其部署方式有三种(见下图)。在.NET Remoting技术环境下,对于功能较为复杂、档案馆应用级别的数字档案管理系统来说,C/S模式最好的部署方式是第二种,即数据访问、业务逻辑和表示层分开部署,这种方式可以使档案业务流程处理更加流畅快捷,也更易于系统维护。
C/S三层架构部署方式图如下:
3、Oracle数据库存储过程技术优势
目前主流的数字档案管理系统应用的数据库是SQL SERVER或Oracle系列,大型应用也有使用DB2的。不过,从性价比和效能比来看,作为档案馆应用级别的数字档案管理系统, Oracle系列应是最佳的选择。Oracle数据库的存储过程是一种在数据库中列阵存取数据的复杂程序,是外部程序调用数据库对象实现线程处理功能的操作,对基于.NET Remoting技术框架开发的数字档案管理系统而言,处理数据量巨大的数字档案资源有着明显的优势。应用Oracle数据库存储过程技术,将数据参数、执行程序及事件逻辑封装,提供统一的数据接口,并能够对接口赋予访问权限,这样可以快速实现数据库应用程序的开发,保证数据的安全性和完整性,提高应用程序的执行效率。
二、系统设计
(一)总体设计原则
采用成熟的.NET Remoting技术来设计和开发数字档案管理系统,既能保证数字档案管理系统功能的实现,又能适应当前管理水平发展不均衡现状。通过完善技术路线和设计,使开发的数字档案管理系统技术先进,经济合理,符合客观实际需求。在开发中应遵循以下原则:
1、统筹协调原则。数字档案管理系统的开发建设必须要统筹规划,遵循软件开发基本原则,从功能上进行整体布局,分期逐步开发各子系统,最终开发建立包含所有纸质档案、电子文件处理及音视频多媒体和业务系统档案接口的综合性档案管理平台。
2、设计规范原则。要按国家档案局制定的相关电子文件管理规范、业务流程、数据格式和编码标准,在强化行业管理的基础上,逐步推进数字档案管理系统研发有序开展。
3、整合共享原则。在系统设计时要结合档案部门现有网络、业务系统和信息资源,加强整合,实现互联互通。要充分考虑档案部门现有的设备,充分利用和保护现有的资源。
4、安全开放原则。数字档案管理系统开发要采用符合国家标准的接口和协议,切实加强档案信息安全,适应档案部门的扩充性现实需要,充分考虑业务系统的增加、业务量的增长需求,保证公众需求的延伸等未知需求的发展。
(二)系统设计框架和技术路线
1、总体架构:在.Net Remoting技术框架下,数字档案管理系统开发主要包括电子档案管理业务应用扩展平台、档案分级与用户身份识别、档案数据库配置、安全保障及后台管理系统等部分。总体架构图如下:
按当前档案行业的一般做法,档案数据库部署在档案部门独立的中心机房或托管在电子政务部门核心机房,利用数据库和政务网络,以B/S或C/S模式实现档案部门与各用户单位的业务连接。在此基础上,根据档案管理的要求,按照“统一平台、统一标准、统一软件、分级建设”的原则,建立“文档一体、馆室一体、区域一体”的数字档案管理中心,实现历史档案数据处理、电子公文在线捕获与归档、档案数据保管与鉴定、数据移交与接收、数据检索与统计、业务系统接口、数据导入导出、数据封装、备份和后台定制开发的功能设计目标。
2、技术路线:采用.NET Remoting 技术,将C/S与B/S相结合应用来开发数字档案管理系统。C/S主要用于前端数据操作,B/S主要用于数据检索,列表显示于桌面。档案分级采用三级授权模式,分别对系统管理员、超级用户和普通用户进行权限分配。身份识别系统对数据访问者的身份进行识别,严格按权限分配访问资源,让不同身份的用户拥有不同的数据处理范围和权限。安全保障系统确保系统具有自身故障监控和诊断能力,使系统能够安全运行,避免人为破坏和恶意攻击的发生。
(三)系统业务功能设计
基于.NET Remoting技术开发的数字档案管理系统本身具有强大的软件操控功能,从档案行业来看,其业务功能应包括但不仅限于以下方面:
1、历史档案数据采集。能完成各类档案目录数据著录,自动生成报表,具备“双录一校”功能。能按需要的格式对档案进行扫描识别,必要时能实现档案的缩微数字一体化处理。能自动将处理后的成品文件按档号格式匹配上传到服务器进行关联,实现纸质档案“存量数字化”。
2、新增电子档案在线收集。对从协同办公平台产生的电子档案能同步捕获并进行归档管理,避免重复对纸质档案进行数字化处理,实现“增量电子化”。
3、内容管理。系统能对非结构化全文数据库进行有效管理,支持Unicode编码集和TXT、JPG、PDF、OFD等多种格式文件的数字化资源检索;能对声像、视频等多媒体进行自动关联处理和帧检索。
4、信息检索与服务。系统能通过模糊检索方式自动关联到档案的内容,具有智能排序功能,可建立多重检索条件,支持二次检索。
5、数据分析和智能关联。能分析结构化文档,建立高准确率的索引文件,可智能关联档案馆设施设备,运行大数据模式。
6、分析统计功能。可按照各种组合条件统计数据库中的档案信息,生成统计报表,为分析档案管理基本情况和提高档案管理水平提供数据支持。
7、馆室一体化功能。按进馆原则实现馆藏档案和室藏档案一体化管理,使数字档案馆、室无缝连接,确保电子文件在生命周期中的真实有效。
8、支持在线指导。提供基于WEB留言板功能,管理员可以对留言板的内容进行管理和答复,使业务指导功能在网络上实现。
9、支持信息发布。能提供基于不同网络环境的信息发布平台,适时动态的发布文字、图片等各类信息。
10、数据保护和加密。能根据档案的属性生成二维条形码水印,当档案被查询到需要打印时,系统可将水印和档案同时打印,保存数据时能采用CFAT-128等算法进行加密保护。
11、分级和权限管理。系统要具有按不同权限进行分级管理的功能,根据访问者身份角色不同,对数字档案管理系统的访问权限也应不同。
12、数据接口。系统要基于Web Service开放与OCR系统、协同办公系统和其他业务系统的接口,能实现单点登录。
除此以外,系统在功能上还须要有强大方便的后台管理和模块化设计,只需通过扩展或配置文件即可完成对平台功能的修改,模块化设计使系统任何模块的维护和更新都不影响其它模块的使用。
三、系统开发与测试
数字档案管理系统设计的流程涉及收集、管理、利用、数字化处理等多个部门和多个角色,各数据处理环节紧密结合,逻辑结构非常强。因此,数字档案管理系统要采用多角色与流程环节相结合的模式,将整个系统分为若干个子系统加以实现。开发团队要根据数据处理的职责,按赋予的权限开发相应的子系统,这样才能在最大程度上确保数字档案系统开发的准确和安全。
在软件功能实现方面,针对数字档案管理系统的开发,采用基于.Net Remoting 技术结合的B/S和C/S三层架构,使用Microsoft Visual Studio开发工具和JAVA、C++语言,实现数字档案管理系统不同对象间的无缝通信及分布式处理。数字档案管理系统分布式处理应用最大的好处是负载均衡,以Remoting来完成服务端与客户端之间的通信,可以优化整个系统的处理能力和运行效率。在硬件实现方面,B/S模式的核心功能部署在数据服务器,中间件部署在应用服务器, C/S模式则利用三层架构的特性,分别搭建应用服务器和数据服务器,将业务逻辑层和数据访问层部署在这两台服务器上,两种模式使软件结构与硬件结构更加紧密结合,发挥系统最大的效率优势。
在系统测试时,由于Remoting具有Tcp和Http两种主要通道,在.Net定义的接口中包括了TcpChannel和Http通道类型,它们分别对应Remoting的这两种通道。因此,在以.Net Remoting技术开发的数字档案管理系统的测试除了程序对象和方法函数外,还有通道测试和针对功能模块的子系统分项和集成测试。一般来讲,面对系统多角色和多流程的特点,划分角色测试、编写测试案例、修正程序差错和容错比较简单,但最值得测试者用心的是进入数字档案管理流程,以用户身份进行业务流程的多功能测试,同时要考虑档案人员与程序开发人员的不同使用习惯, 只有站在用户的角度思考问题,才能真正把数字档案管理系统做好。
四、结语
通过对.Net Remoting技术的分析和了解,将B/S、C/S模式结合引入数字档案管理系统开发中,相当于对同一数据库实施了两种不同的数据存取方式,且这两种方式各有侧重,各司其职,互不影响。C/S程序提供给档案管理人员,主要用于档案信息著录、修改、原文上传、报表打印、移交接收、加密和管理等,解决档案数据处理问题。B/S模式实现电子档案在线归档管理,提供给所有具有访问权限的人员,解决权限内档案信息查询和展示的问题。这样能构建一个科学、高效的数字档案管理模式,提高数字档案处理效率,保障档案信息的安全。
参考文献:
1、张永峰 李也白:基于.NET Remoting技术构建分布式数据库查询。
2、百度文库,数字化档案管理系统,2012,《互联网文档资源》。
3、地线博客:Remoting使用总结。
4、 Remoting 好搜百科。