即时消息传输平台-Openfire
Openfire 是实时的基于WEB的即时消息(XMPP)传输平台,采用Java开发并在GPL协议下授权使用。Openfire是用Java语言编写的,基于XMPP协议、开源的实时协作的服务器。Openfire具有跨平台的能力,Openfire与客户端采用的是C/S架构,一个服务器要负责为连接在其上的客户端提供服务。Openfire客户端有spark, pidgin, Miranda IM, iChat等,用户如果自己开发客户端,可以采用遵循GPL的开源Client端API–Smack。Openfire服务器端支持插件开发,如果开发者需要添加新的服务,可以开发出自己的插件后,安装至服务器,就可以提供服务,如查找联系人服务就是以插件的形式提供的。OpenFire 是采用Java开发的基于XMPP(Jabber)协议,开源实时协作(RTC)服务器。Smack 是用 Java编写的XMPP客户端代码库,是spark的核心,开源界总是有许多有趣的东东,这三个合起来就是一个完整的XMPP IM 实现。
OpenFire ——服务器端
Spark——客户端
Smack——XMPP 传输协议的实现
三者都是基于Java 语言的实现,其中XMPP是一个协议,协议是需要实现的,Smack起到的就是这样的一个作用。OpenFire 是基于XMPP 协议的IM 的服务器端的实现,虽然当两个用户连接后,可以通过点对点的方式来发送消息,但是用户还是需要连接到服务器来获取一些连接信息和通信信息的,所以服务器端是必须要实现的。
Spark 提供了客户端一个基本的实现,并提出了一个很好的插件架构,这对于开发者来说不能不说是一个福音。强烈建议基于插件方式来实现你新增加的功能,而不是去改它的源代码,这样有利于你项目架构,把原始项目的影响降到最低。
Smack 是一个XMPP 协议的Java 实现,提供一套可扩展的API,不过有些时候还是不得不使用自己定制发送的XML文件内容的方式来实现相关的功能。

Openfire is a real time collaboration (RTC) server licensed under the Open Source Apache License. It uses the only widely adopted open protocol for instant messaging, XMPP (also called Jabber). Openfire is incredibly easy to setup and administer, but offers rock-solid security and performance.
最新版本:4.0
此版本带来了一些新特性,一些重要的改进,同时也修复了几个重大 Bug,提高了安全性。
添加葡萄牙语翻译
FileTransferManager 可以生成 'complete' 事件
允许多个 keystores 集合
Overlay 应该支持 i18n
Overlay 允许修改 src/resources
Buildscript 可以被清理
添加选项,在添加 muc 书签的时候可以使用 Name 作为别称
项目主页:http://www.igniterealtime.org/projects/openfire/index.jsp