笔记一 深入理解体系与架构

         以前,从来没有接触过XMPP协议,更别提Openfire这个即时通信框架了。由于公司项目的要求,开始着手起这个框架。这里对Openfire首先做个简介。

         Openfire,即时通信框架,是实时的基于WEB的即时消息传输平台。Openfire采用JAVA开放,开源的实时协作服务器(RTC)基于XMPP(Jabberr协议)。目前,Openfire在市场上广泛使用,其中有百度push,新浪push,Google的Gtalk等等。

         Openfire采用开放的XMPP协议,使得它可以支持各种支持XMPP协议的IM客户端软件登入服务。其优良的性能以及良好的可扩展性为多种模式的即时通信提供了强有力的支持。二次开发的开源模式也为用户制作具有自身特色的服务器提供了良好的支持。经过插件的扩展以及源码修改的openfire服务器能够更好地完成所需定制的各项任务,制作出更为个性和精致的即时通信软件,并且服务器运行稳定可靠,具有较强的适应性和自主的可控性。

         从体系结构上来讲,Openfire是款较为成熟的开源服务器软件。Openfire的通信处理是基于Apache MINA框架实现的。MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和搞可靠性的网络应用程序。它提供了一个通过JAVA NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步。MINA提供了一个全功能的网络的应用程序,为不同的传输类型提供了统一的API,将过滤器作为一个扩展的特性,并使用了JAVA  SSL引擎提供沙盒SSL,TLS,StartTLS的支持,可以和知名的容器集成。

        为了达到和各种支持XMPP协议的软件集成,Openfire提供了丰富的插件,用于衔接和其他框架,比如SIP框架,Smack框架以及rad 5框架等等,从技术上来看,openfire已经具备了即时push和在线媒体服务等功能。并且在大多数情况下,开发出来的插件是可以跨版本的使用。 从功能上来看,Openfire实现了会话(Session),用户组,分组聊天的管理及插件管理。

      Openfire的服务启动是由ServerStarter类的start的方法进行的,该方法创建出XMPPServer的实例。并由XMPPServer进行管理。XMPPServer用于验证数据库访问是否正常,模块和插件的启动查询服务以及Jabber ID的域名标识。其主要功能是读取,初始化和加载所有模块。这意味着模块定位另一个模块的唯一途径是通过服务器。服务器维护一个已加载的模块列表。

      首先,XMPPServer从JivaGlobals读取XML文件配置,进行数据库校验,校验成功后,读取模块并初始化,将其启动,启动完成后根据不同的插件模块进行不同的运作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值