服务社作为一款非常优秀的国产免费ERP系统,正在变得越来越受到欢迎。目前该产品已经出品了包括协同办公系统(OA)、客户资源管理系统(CRM)、财务系统(FM)、人力资源系统(HR)、付款审批及预算系统(PB)等功能模块,进销存系统(TR)等其他功能子系统模块正在研发中,功能越来越丰富。
由于该产品的一些特性,目前该产品没有发布与在企业中应用颇为广泛的腾讯通(以下简称RTX)的接口,这对于在企业中机使用RTX作为交流沟通工具,又想使用服务社OA的企业来说,显得有点美中不足。毕竟RTX作为带有托盘的沟通交流必备的工具具有它的一些优点,实际上不管是哪种即时通讯工具,都有这样的一些特点。这跟日常生活中,人们使用的QQ一样的道理。
腾讯通RTX发布了第三方开发工具包(RTX Server SDK),第三方软件可以利用这个工具包开发与RTX的接口获取RTX系统中的人员信息,同时可以发送各种通知、提醒等信息。当然,RTX也提供了单点登录、反向登录等功能,便于与第三方软件的集成。
服务社ERP(以下简称OA)虽然没有正式发布非常丰富的二次开发接口,但是提供了一个短信消息接口的接口可以用来开发短信消息提醒功能。
基于以上几点,开发RTX消息提醒接口既有必要,又有一定的条件可以利用来完成开发任务。遂进行了尝试。
开发中遇到了几个难题:
OA中遇到的问题:
1、由于OA系统并没有开源,所以,调试不是非常方便;
2、OA系统发布的开发说明,与实际开发测试成功所需要的部署条件有差异,耽误了一些时间;这主要在于JAR包的部署位置,不像手册所说放在Tomcat对应的lib目录下,而是必须放在具体的子系统对应的lib目录下(后来稍加分析了一下,各子系统需要引用的其他Jar包,也都在各应用对应的lib目录下。为什么不能共用呢?同样一个文件在系统中存在好几份拷贝。),这一点比较让人费解。mysql可以共用一个,Tomcat可以共用一个,为什么类库不能共用呢?
RTX接口方面也遇到了几个问题:
3、最大的一个问题:RTX Server SDK不支持64位操作系统和Linux操作系统;现在这个时代,一般企业应用都会部署在64位操作系统平台上(我公司也是这么部署的),RTX也不例外,他支持部署在64位系统上。但是他的Server SDK Java接口只能在32位的操作系统上正常使用。因为我开始开发、部署、调试使用64位系统,结果废了很大劲最后才在RTX网站找到了一条非常小的片段,了解到这个情况;重新在32位系统上部署OA和RTX SERVER
4、RTX本身没有纯JAVA的SDK开发接口,它在原来DLL的基础上封装了一层,提供给Java接口开发者。这造成很多不便。
5、整体开发好联调的时候,不太容易,毕竟没法直接在开发环境进行调试,只能从LOG日志和控制台显示的DEBUG信息来对程序作出调整然后再部署测试。而每次测试都需要重新启动OA。
目前的状态,只是基本可以走通的状态,大概是酱紫的:在系统里设定好使用该定制方式提醒后,在OA中给某人发送一条协同信息,只要他/她是选中要使用RTX提醒,那么RTX客户端会收到这样的一条协同信息;如果发送的时候RTX客户端不在线状态,等到该用户使用RTX客户端登录时,可以离线的方式收到这样来自OA系统的提醒信息。下面截个图秀一下效果: