一、背景
前天接到部门领导的指示,公司要上移动OA,做一下选型的前期摸底工作。按照公司惯例上了移动OA,将来的维护和管理工作也会落到我头上,这叫谁选谁负责后期工作。为了别让项目拖累加班,可不能马虎应付!
马上启动Google+,海索一把,有很多关于移动OA的解决方案,五花八门什么都有。但是总结下来大多数都是提供了概念的描述和DEMO的演示,并没有深入的技术实施体系。我们公司的OA系统是基于.NET架构的系统,并且采用微软的NTLM安全认证体系,是否能够移植实施移动OA心里还是没有底。
今天无意中在CSDN上看到关于MASTUDIO中间件的介绍,根据资料介绍其主要实现信息系统到手机的延伸,并且不用修改原有系统。对于这个“不用修改原有系统”的实现方案比较感兴趣,上官网发现竟然还有开发版提供下载试用,于是我的MASTUDIO试用过程就开始了,中间不多说了,直接上官方网站mastudio.org 下载最新6.1版本。
二、体验安装
下载mastudio 6.1版本,75M。启动安装程序,根据安装向导选择了全部安装,2分钟安装完毕。安装后桌面上产生了一个快捷方式“MAStudio开发平台”,打开出现了登陆界面,直接选择默认参数登陆成功。这竟然是在PC上模拟手机大小的界面,首界面是九宫格。
没想到这么轻松就完成了安装!
三、演示项目
没心思看教材了,直接问了他们客服我想看一下android手机的示范怎么办?
QQ在线客服说继续安装android模拟器可以在PC实现android模拟的开发和查看演示项目。于是继续下载android模拟器绿色版本,根据提示创建了模拟器,模拟器启动成功。
系统带了2个示范项目,分别演示了移动OA和移动数据库应用。于是直接进入:d:\mastudio\Project\moa\client\android目录,双点运行command.bat,再输入install.bat执行,只见黑色屏幕一行一行跳动,1分钟后执行完毕。到模拟器窗口,进入应用程序果然新增加了一个快捷方式"mastudio..办公",点击运行修改服务器为本机IP,登陆成功。进入后首先是九宫格作为主界面,点“待办文件”进入文件列表、再是附件下载、流程审批...,这是一个典型的移动OA示范啊。
装演示也是这么轻松!
四、尝试接入
根据客服的指导,这个MOA的演示全部源代码在d:\mastudio\Project\moa\src下,启动编辑器到这个目录,总共才15文件。文件.mas看来就是mastudio系统的框架了,不管了先打开看看吧。
首先打开default.mas文件,我是做JAVA,对语言有点基础。.mas文件的语法看上好熟悉、很容易就阅读清楚,比如OBJECT wxPANEL aPanel定义了九宫组件、
OBJECT wxLABEL cLabel定义了标签,这些我根据字面意义也能看懂啊,再看语法common.mas里的一些语法,都是传统的if、for、while语句啊。
看到这里不竟信心足了起来,问客服是否能够我尝试登陆到我们公司的OA显示我们公司OA的待办公文?客服说可以啊,你可以在这个项目基础上进行修改三个地方就可以了。
说做就做,首先修改C:\mastudio\Common\config.xml,这个是验证登陆的,第一个wxEXPLORE定义了登陆OA的地址,第二格wxEXPLORE定义了登陆验证的地址,于是替换修改了这个两个地址为公司的内部OA。重启模拟器输入OA的账号,登陆成功。
下面就是取列表,打开list.mas文件,很快就明白mas系统首先通过OBJECT wxEXPLORE aIE执行url地址,再通过OBJECT wxDATASOURCE aSource关联到wxEXPLORE的返回做为数据源,最后通过OBJECT wxQUERY aQuery从数据源中查询数据。
修改wxEXPLORE的url地址为内网OA的待办列表地址,wxQUERY里有aQuery.Lex= 属性,看上也眼熟,原来是正则表达式,这里就是通过正则表达式从返回的url里取数据的。有java基础,对于我不难,很快修改好。这是犯糊涂了,取的数据怎么放到手机上显示哩?手机上的界面怎么样定义哩?
往下看,原来OBJECT wxWEBPAGE aWeb组件定义了一个list.html文件,其通过把list.html作为数据的显示界面。这真是一个高明的设计,取数据和界面展示做到了分离。
五、真机运行
没想到这么快就做了内部网OA的演示,直接安装moa.apk到手机上,通过WIFI连接登陆失败了。这里是为什么?再问客服,答: WINDOW防火墙打开8400端口。直接关闭了防火墙,果然登陆成功。
六、总结
通过真实的试用,感觉到这个产品的成熟度非常高,设计体系也非常科学,完美的实现了前端界面显示和数据模型的独立分离。后台服务器提供的wxEXPLORE 组件很强大、其几乎就是一个不带界面的浏览器。整个后台服务器环境比较干净利落,全部安装在mastudio目录,不需要其它第三方系统支持。