企业信息化系统中智能文档平台设计与实现

2015-04-02 12:17齐方方赵正文
软件导刊 2015年2期
关键词:企业信息化

齐方方 赵正文

摘要:传统的MIS一般通过C/S或者B/S的方式进行开发,前者虽然用户界面友好、数据传输效率高,但部署起来较为麻烦,使用起来也很有局限性;后者可以实现零客户端,但它不能使用本地资源,不能多线程,也不如C/S使用得方便。虽然这两种方式能很好地处理结构化数据,但是企业中还存在大量MIS之外的非结构化数据,非结构化信息数据主要是Office办公文档,而MIS和它们一直不能交互。通过VSTO(Microsoft visual Studio Tools for the Microsoft office System)与Web服务相结合,将这些非结构化的办公文档改造成智能客户端程序,从而使Office文档和MIS之间的信息可以相互通信。这样不但可以提高办公文档数据采集的准确性,而且能够有效地处理脱离MIS的大量非结构化数据,从而提高工作效率和效益。

关键词关键词:企业信息化;MIS;VSTO;WCF;智能文档平台

DOIDOI:10.11907/rjdk.1431099

中图分类号:TP319

文献标识码:A文章编号文章编号:16727800(2015)002008103

作者简介作者简介:齐方方(1992-),男,河南开封人,西南石油大学计算机科学学院硕士研究生,研究方向为企业信息化。

0引言

随着数据库技术和存储技术的发展,企业信息处理能力得到提升,促进了企业信息发展的全球化。以企业管理信息系统(MIS)为代表的智能管理体现了企业信息化技术的特点。MIS对信息进行采集、处理、传输、持久化保存、查询,充分利用现代计算机相关技术加强了企业中的信息管理能力。调查发现,企业拥有的人力、物力、技术等资源,需要获取正确的数据,处理成各种需要的信息资料,并及时提供给相关人员,以便企业及时处理、发现问题,作出正确的决策,从而提高企业的经济效益和管理水平[1]。

目前,智能客户端技术已经有很多应用实例,相对较先进的是国外和台湾地区的研究,比较突出的是美国微软公司和纳斯达克公司一起构建的Excel投资者助理系统以及Dell构建的客户集成桌面系统。其中微软在智能客户端相关方面做了较深研究,并且提出了相应的技术,例如提出了解决同步数据的框架、网络在线和离线之间的无缝切换、数据安全性保障性措施及数据冲突处理等技术。而国内的研究则相对滞后,一是由于智能客户端技术限制,尤其是在离线应用中相应技术不成熟,已有的创建智能客户端的软件包较少,且在实现上都有较多缺陷,需要自行编写许多功能代码以开发真正的智能客户端程序。此外,智能客户端技术涉及面广,国内的推广和培训工作也未完全展开;二是由于智能客户端技术在国内应用处于刚起步状态,企业不确定自身是否有相关方面的需求。但智能客户端全新的设计理念,已逐渐被大量的研究人员和大型企业所接受,其技术思想也不断加入到了桌面应用和移动设备应用中。随着微软.NET技术的发展和完善,智能客户端技术也必将成为人们解决问题的优选方案,并被引入各种实际应用中[2]。

对当前技术整合于Office文档与MIS中遇到的障碍进行分析,结合智能客户端技术特点,选择面向服务的技术,提出一种整合Office文档和MIS的方案,并对研究中可能遇到的难点问题提出相应的解决方案。以期能较好地解决文档和数据之间的信息传输问题,提高从文档中采集数据的效率和数据的准确性,使这些脱离MIS的非结构化数据能够得到有效处理,同时具备处理企业中离线业务的能力。本方案的研究成果可以广泛运用于诸多信息化相关领域,通过重复利用企业中现有培训和技术上的投资,能够在很大程度上提高工作效率和效益。

1关键技术

本研究中涉及的关键技术如下:

(1)在线数据访问。VSTO开发的Office文档应用程序可以采用多种数据获取技术,例如Web Service、MSMQ、WCF等技术。本文采用WCF寄宿IIS服务器,再通过WCF与数据库交互来实现在线访问。

(2)偶尔连接设计。偶尔连接技术实现了传统客户端的离线访问功能,解决了反应缓慢的问题。数据将缓存在用户本地的XML文件中,当用户下线后,仍然可以访问本地数据,实现离线功能。

(3)数据同步设计。基于ADO.NET框架以实现服务器与客户端数据的上传和下载。当服务器数据更新后,数据将从客户端下载到本地,实现数据同步;当客户端数据发生变化后,客户端可以上传数据到服务器中,使服务器数据与客户端数据保持同步。

(4)数据冲突设计。一种情况是在数据同步时,客户端更新后的数据在服务器端可能已经被删除,此时这些数据就会在服务器端发生数据冲突;另一种情况是客户端在线访问时,对服务器端的数据更新后需要上传到服务器,但这些数据可能在该段时间被其它客户端删除,也会发生数据冲突。本文解决办法是当出现数据冲突时,给用户返回相应的冲突信息。

2系统设计

2.1用户特点及需求

该系统应具备如下基本功能:①用户登录:用户能通过客户端正确输入用户名和密码,并选择所要处理的业务类型登录到对应的业务处理界面进行操作;②企业日报信息录入:当用户登录成功选择日报信息录入业务后,系统会提供一个Word模版让用户对当日的信息进行录入;③企业日报信息管理:当用户登录成功选择企业日报信息管理业务后,系统会提供一个Excel模版,里面包含了所有日报信息,用户可对需要处理的数据进行查看、删除,修改操作;④企业日报生成:用户在Excel模版中点击对应数据后面的查看按钮就可以对需要的数据生成一个日报;⑤离线处理:如果用户处理数据时网络未连接,系统会处理用户的操作使数据缓存在本地的XML文件;⑥数据同步:当客户端联网后,可实现本地数据与服务器端数据的同步,以保证数据的即时性;⑦数据冲突处理:系统提供对数据上传下载过程中可能出现的数据冲突的处理。

2.2系统框架设计

该系统采用VSTO[3]以及Windows Form控件进行客户端的界面设计,联网时通过寄宿在IIS服务器上的WCF与数据库进行交互,离线时使用本地XML文件进行客户端数据存储。该系统使用的系统框架如图1所示。

2.3系统架构

该系统采用微软提供的VSTO工具开发Office客户端,并通过WCF通讯接口寄宿IIS服务器的方式开发服务器端。当用户操作提交数据时系统会通过判断当前网络状态来选择离线处理数据或者在线处理数据,而用户离线处理数据后可能会产生一些陈旧数据,系统会在客户端下一次联网时同步客户端和服务器端的数据,同时将发生的数据冲突报告给用户。客户端[4]与服务器数据库系统结构如图2所示。

该系统采用微软的IIS服务器作为数据库服务器,使用高性能PC作为Web服务器,在Windows XP操作系统上,采用SQL Server2005作为后台数据库开发工具,采用Visual Studio 2008作为前台开发工具,并使用VSTO进行Office客户端应用程序的开发。VSTO工具可以利用 Microsoft Office 中的文件共享、协作、权限管理、数字分析、图表、电子邮件、日历等等强大功能进行快速开发,并且开发出来的产品可以降低培训成本。通过构建基于熟悉的 Microsoft Office System 用户界面解决方案能够最小化用户培训成本。

3系统功能实现

主要包括如下:

(1)网络状态检测模块。由于该系统提供在线处理和离线处理两种工作模式,因此在用户操作数据后会根据当前的网络状况来选择不同的方式来对数据进行处理。客户端联网时则采用服务器端和客户端的方式处理,而客户端离线时就采用客户端与本地XML文件数据交互的方式,所以判定当前网络状况尤为重要。

(2)离线处理模块。系统支持离线处理,当客户端离线时,用户可以从客户端中获取所需的所有数据,这是通过数据在本地缓存实现的。对于用户长时间的脱机处理,需要将本地缓存的数据持久化保存,比如,当本地计算机意外断电或重启时,这些数据不会被计算机系统清除消失。因此,数据需要保存在能够持久化数据的存储设备中(比如磁盘)。本文采用的是利用本地XML文件来进行离线的存储。

(3)在线处理模块。该系统支持在线处理,而在线处理可以采用许多方式通过网络进行通信,如远程对象调用(例如DCOM、RPC或.NET远程处理)、基于消息的通信(如Web服务调用和HTTP请求)和分布式事务处理。本文选用的是基于消息的通信模式。微软发布的WCF(Windows Communication Foundation)为这种通信模式提供了一种单一的编程模型,引入了通道模型。在WCF中,每一次交互都实现了一次消息交换。消息包含了本次的访问负载以及在这次传输过程中的基础设施数据。

(4)数据同步与数据冲突模块。该系统支持偶尔连接,在用户离线操作后本地缓存的数据将会发生改变,即使未发生改变,它相对于服务器上的数据而言也可能不再是最新数据,因而如何处理陈旧数据以及如何防止客户端使用陈旧数据尤为重要。本文提供了一种处理陈旧数据的数据同步方法,首先采用服务器“拉”的模式从客户端获取更新数据,然后采用服务器“推”的模式将服务器的数据全部更新到客户端,以实现数据同步。

具体的数据同步处理步骤为:①将所有数据存储在两个不同的XML文件中(这里用文件1和文件2代替);②在两个文件存储的每一条数据后加入3个标记,,它们分别为增加、删除和修改操作的标识,初始值为0。如果用户对数据作了增加和修改操作,就更新两个文件中的数据,同时将对应的标记值修改为1,特别需要注意的是如果对数据作了删除操作就在文件1中将对应的数据删除掉,在文件2中不做删除操作但是将标记值修改为1,这样在用户继续离线操作时读取文件1中的数据,当用户连接网络后,服务器读取本地文件2中数据的标识,然后对服务器上的数据做相应更新;③将更新后的服务器的数据覆盖本地的两个XML文件,从而实现数据同步[5]。

数据冲突就是在数据同步时,用户上传到服务器的数据与服务器上原先存在的数据发生冲突。冲突类型主要有更新数据和删除数据。本文采用的处理方法为当本地所要更新或删除的数据在服务器上已经不存在时,就从服务器端返回给客户端此数据已经不存在的消息提示。该模块的逻辑流程如图3所示。

4测试方法

本文采用黑盒测试来测试系统中的几个核心模块:数据录入、数据同步、数据冲突处理。

(1)数据录入测试。用户登陆后选择Word录入日报信息业务,对日报信息进行录入操作。在打开的Word文档中输入完信息后点击右侧的的保存按钮完成数据提交,则数据正确保存。

(2)数据同步测试。当客户端数据和服务器端数据不一致时,就需要对数据进行同步。

设计了3个测试用例,一是服务器端多一条数据,二是本地少一条数据,三是服务器端更改一条数据。经测试,当触发数据同步事件时,服务器端数据和本地数据一致。

图3数据同步与数据冲突流程

(3)数据冲突。 设计了两个测试用例,一是在数据同步过程中,需要同步的数据在服务器端已经不存在;二是在客户端联网用户处理更新数据时,可能在用户读取完数据到提交更新数据这段时间内,对应的数据在服务器端已被删除。第一个测试用例测试后,系统返回此数据不存在的信息;第二个测试用例测试后,系统返回此数据不存在的信息。

通过系统测试可以看出,系统各项功能都能够按照预期正常无误地运行,数据处理量大、速度快,易于扩展和维护,对平台无特殊要求,也可移植到其它计算机。

5结语

本文研究了企业信息化系统中智能文档平台设计与实现,并对智能文档结合Web服务过程中可能出现的问题进行了分析,包括与服务端的通讯方式、离线处理问题以及对离线处理的需要所带来的数据缓存、数据同步与用VSTO开发Office等一系列问题,并对这些问题提出了一定的解决方案。

参考文献参考文献:

\[1\]王卫星,王晨光.基于SOA的企业信息系统集成框架[J].计算机工程,2010(18):2931.

[2]索红光,王雷全.智能客户端系统中数据同步策略的研究与实现[J].计算机工程与设计,2007(2):351353.

[3]ERIC CARTER.VSTO开发指南:使用Visual Basic 2005进行基于Excel、Word、Outlook、Infopath的Office开发[M].北京:电子工业出版社,2008.

[4]SCOTT KLEIN.WCF高级编程[M].北京:清华大学出版社,2008.

[5]DAVID HILL,BRENTON WEBSTER.智能客户端体系结构与设计指南[EB/OL].http://msdn2.microsoft.com/zh-cn/library/ms998506.aspx,2012.

责任编辑(责任编辑:孙娟)

猜你喜欢
企业信息化
论工业工程对企业信息化的促进作用
计算机应用技术与企业信息化建设