Lotus Domino曾是主流的文档型办公系统开发平台之一,其数据库访问方式不同于SQL Server、Oracle等主流的数据库系统,它采用NSF(Notes Storage Facility)的面向文档的数据库来管理半结构化数据,并且利用其视图可以使查找特定文档变得高效。
目前国内基于Domino的移动OA系统解决方案一般有以下几种:一是根据业务需要定制开发每项移动办公应用。这种方式移动应用体验良好,且具备较高的稳定性,但构建周期长,时间及财务成本均较大;二是利用VPN(虚拟专用网络)虚拟桌面技术,通过移动终端远程操作PC桌面。这种方式无需二次开发,且部署也相对简单。缺点是在较小的屏幕上操作PC界面,操作不方便,用户体验欠佳;三是对原有系统的Web页面进行数据抽取。这种方式适合大多数系统的移植,应用体验良好。缺点是难以抽取到业务系统的细节,容易造成处理数据不完整导致数据错乱,系统稳定性高度依赖于原业务系统的页面代码。
本文以公司原有的Lotus Notes/Domino办公自动化系统为基础,针对移动OA功能需求和Domino数据库的读写特点,设计与开发基于Lotus Domino的移动办公系统,对数据库的读取操作调用Domino原生的数据库Web服务,克服非原生Domino移动OA系统的弊端;写入操作采用页面抓取方式与PC系统的处理进行同步,实现和原系统的无缝衔接。
1 系统架构设计和拓扑结构
1.1 系统架构设计。Lotus Domino办公平台采用的是Web资源与Domino数据库整合的架构,更偏向于一种扁平和混合的特点,Domino的开发人员在构建系统时利用开发设计器——Domino Designer同时将前端显示和后端数据结构开发出来,传统的移动前端Web开发人员难以参与合作开发。
本文采取一种分层的架构设计,整个Domino移动系统被显式的分为三部分:前端显示、逻辑服务和数据存储。前端显示与逻辑服务层之间通过各类以URL形式表现的服务来调用连接,以Web 2.0通常采用的XML作为交换的数据格式,逻辑服务层与数据存储层之间直接利用Domino URL命令调用表单或视图等Domino元素来实现这些服务。在这种架构下,前端显示层则可以完全由传统的前端Web开发人员完成,而服务层和数据存储层的相关实现则交由Domino开发人员负责。图1为分层架构设计图:
图1 Domino Web应用的分层架构设计
1.2 系统拓扑结构。OA系统部署在公司内网,外网用户通过VPN方式访问OA系统。移动OA系统搭建在原OA系统服务器上,移动终端和服务器之间通过公网交互,依靠第三方VPN系统传输来保证交互的安全性。移动用户登陆VPN移动版客户端访问移动OA系统。拓扑图如下:
图2 系统拓扑结构
2 技术路线和系统实现
2.1 系统功能需求。原有OA系统是B/S结构。移动OA适配原OA系统的部分功能,主要实现待办文件、待阅文件、已办文件三大功能,实现办理意见的展示和回写、正文和附件的查看,实现公文的正常流转,并与原OA系统的处理同步。
图3 系统实现功能
2.2 使用PhoneGap实现跨平台开发。PhoneGap是一款HTML5平台,开发商可以使用HTML、CSS及JavaScript来开发本地移动应用程序,并且只编写一次应用程序,便能在7个主要的移动平台进行发布。选用PhoneGap有以下几个原因:(1)IOS和安卓是目前的主流手机操作系统,移动OA必须能够在这两个系统上运行;(2)开发成本低。理论上来说,相对于原生开发多个平台的客户端,PhoneGap的成本会低很多;(3)原系统是B/S结构,移动版使用B/S一致性更好。原系统中的页面资源能被PhoneGap重用。
2.3 与原系统数据的同步。为了保证和原系统业务的一致性,应最大限度的重用原系统的业务代码,这就需要深入的研究原系统,提取出原业务代码直接重用,或者分析出其业务逻辑,编写一致的业务代码。本文采用如下策略保证了数据的一致性:
(1)直接访问Domino数据读取接口,保证读取的速度和稳定性。根据原Domino数据库中的数据,在Domino Des igner中设计需要读取的视图,并采用URL指令从Domino数据库中读取数据,这样就最大程度保证了读取数据的正确与一致。下面是部分数据读取语句的示例。
[发文待办]:发文运转库fwrun.nsf
(2)数据回写采用抓取方式,保证业务一致性。针对Domino数据库架构,本文采用WEB模拟方式,即抓取原系统的POST请求,移动系统利用一致的请求实现相同功能。同时,抓取的数据正确性受到了WEB页面稳定性的影响,如果原系统页面代码进行了更改,会导致数据抓取的错误。因原OA系统已经运行多年,需求也相对稳定,无需对WEB代码进行变更,因此用数据抓取方式来实现数据同步是可行的。这个方法在保证业务一致性的同时,克服了Domino系统无法回写数据的问题。
图4 移动办公系统用户界面
3 结束语
本文以较低的成本实现了Domino移动办公平台,并能实现程序的跨手机平台使用,这在国内目前的Lotus移动开发领域具有一定的创新意义。基于Lotus Domino平台的办公自动化系统在国内用户众多,且大多数都有将系统拓展到手机实现移动办公的需求,因此本文研究的方案有较好的推广前景。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文网址:http://www.toberp.com/html/consultation/10820615145.html