基于Openfire、SparkWeb构建即时消息平台

2015-09-09 05:59周云飞刘立明
电脑知识与技术 2015年16期
关键词:即时通讯

周云飞 刘立明

摘要: 该文介绍一种基于开源软件Openfire、SparkWeb 二次开发的公司内部消息平台的解决方案,并以新兴即时通项目为例说明实现消息平台的开发过程和应用效果。

关键词: Openfire;SparkWeb;即时通讯

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)03-0121-01

Using Openfire and Sparkweb to Build IM Platform

ZHOU Yun-fei, LIU Li-ming

(XinXing Ductile Iron Pipes Co.,Ltd., Wu'an 056300 ,China)

Abstract:This paper introduce a solution of internal instant Messaging system base on further-development of Openfire and Sparkweb. Base on the Xinxing IM real-time communication platform,it lllustrates the application development process and the practice effect.

Key words:Openfire; SparkWeb; Instant Messaging

即时通讯功能是企业应用中的一项重要需求,如员工间的即时消息传递、企业信息系统向员工发送通知消息等。即时通讯功能主要通过提高沟通效率的途径提高员工的工作效率。不少企业使用公共的即时消息平台(如QQ等)来进行即时通讯。使用通用平台的好处是减少企业的软硬件投资,方便与公司外客户联系等。缺点是需要客户端连入Internet,而且因包含有很多与工作无关信息,存在被滥用的可能;易出现信息安全问题;不能与公司信息系统对接等。如果公共即时消息平台的缺点是企业希望避免的,就有必要部署内部即时通讯平台。

1 系统实现技术思路

在企业内部实现自己的即时消息平台,可以考虑基于Openfire、Sparkweb(或者Spark)进行二次开发。如果要求不高,其默认的配置和插件就能满足要求。当然,对于企业一般多会有特殊的要求,如在内部协同办公平台上有新邮件时给用户发提醒消息等。

Openfire、Sparkweb是XMPP协议的实现。XMPP是一种基于标准通用标记语言的子集XML的协议,具有很强的可扩展性。XMPP的技术规格已被定义在RFC 3920及RFC 3921。Openfire、Sparkweb都是开源的,可以方便地在其之上通过二次开发获得符合要求的系统。

2 相关软件及二次开发介绍

1)Openfire

Openfire 采用Java开发,是开源的实时协作(RTC)服务器,基于XMPP(Jabber)协议。运行稳定可靠。一般通过插件模式拓展小的功能。Openfire自身提供了一些功能插件,可以根据需要安装使用。没有自己需要的功能时就要进行二次开发了。如新兴即时通项目中包含一个消息中转插件,其功能是读取指定数据表中的消息记录并发送给指定用户。这样在实时性要求不高时,只需向数据表中插入一条消息记录即可实现消息发送。方便企业中其它信息系统通过Openfire发送消息。

2)Sparkweb

Sparkweb是一套XMPP客户端,功能较Spark弱一些。优点是体积小巧,界面比较漂亮。默认在网页中运行。

客户端是二次开发的重点所在。新兴即时通项目把Sparkweb由原来的RIA网页运行模式改为AIR桌面运行模式;新增弹框功能,可以在收到消息时弹出消息面板,平时停留在托盘区。新兴即时通主界面如图1。

图1 新兴即时通主界面

l 修改了消息聚合模式,由默认的按用户聚合改为按消息方向聚合。如上图,按消息方向分为收到消息、发送消息、反馈消息。

l 联系人处理方式也进行了变更,新增花名册。花名册包含公司所有用户,按单位部门进行树形排列。可以直接对花名册中的用户发送消息,或者选定多人进行群发消息。

l 原有联系人功能变更为常用联系人。通过双击消息可弹出消息发送窗口,进行回复。历史消息查阅等。

Sparkweb项目源码包含SparkWeb、SparkWebCommonComponents、SparkWebCore、XIFF四部分。二次开发主要集中在SparkWeb、SparkWebCommonComponents两部分中。

3 结束语

Openfire和Sparkweb基于标准化通信协议,拓展性强。基于Openfire和Spark二次开发的企业内部即时消息系统在实际运行中稳定可靠。经过二次开发后使整套系统提供的功能更加符合企业应用的需要,成为企业信息系统重要的组成部分。

参考文献:

[1] Ignite Realtime:Openfire Server[EB/OL].[2015-03-02].http://www.igniterealtime.org/projects/openfire/index.jsp.

[2] Ignite Realtime: SparkWeb IM Client[EB/OL].[2015-03-06].http://www.igniterealtime.org/projects/sparkweb/index.jsp.

猜你喜欢
即时通讯
即时通讯在高校体育教学中的应用研究
民事诉讼中即时通讯记录的证据采用进路
即时通讯工具的发展对人际交往的影响分析
ICQ的20年
即时通讯软件发展模型的实证研究
智能卷烟配送APP系统的设计
科学技术哲学视域下的即时通讯
即时通讯软件WhatsApp
一种基于Java的IM即时通讯软件的设计与实现
用WAP手机上QQ