`

tigase 服务器基本元素

阅读更多

本文翻译自 – http://www.tigase.org/content/basic-information 
所有Tigase代码从逻辑上分为三个模块:components/plug-ins/connectors. 


component(组件)是tigase服务的主要模块。它使用大量的代码实现了“接收和发送stanzas(可以理解为各种各样的消息),可配置,并依据配置对大量事件做出应答”,它可以有独立ip地址。像c2s connection manager,s2s connection manager,session manager,XEP-01140外部组件连接管理,MUC-multi user char rooms;它们都是tigase的组件。 


plug-in(插件)在大多数情况下是处理特定的xmpp stanzas的一小段代码(相对于components那种大片大片的代码而言)。它没有自己的ip地址,处理完xmpp stanzas之后的结果是产生一个新的xmpp stanzas。plug-ins被session manager或c2s connection manager所加载。像vCard stanza处理,jabber:iq:register(用来注册新的用户帐号),presence stanza 处理(在线/忙碌/离开状态处理),jabber:iq:auth(对非sasl用户进行认证)等。 


Connector(连接器)是用来访问各类数据库的模块,例如访问ldap/database。有两类connector:认证数据库(校验用户名密码是否正确)connector和用户数据库(用户的联系人信息/离线消息等)connector。它们是彼此独立的,可以分别连接到不同的数据库。像JDBC database connector,XMLDB-嵌入式database connector,drupal database connector,Libresource database connector都属于Connector。 
上面的模块都有API接口定义,你所需要做的只是实现那些特定的接口(和修改配置文件)。之后各模块就可以依据配置信息被加载了。当然如果你想快得完成代码开发工作,也可以extend并实现它们的抽象类。 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics