首页 > 代码库 > java XMPPserver openfire VS tigase

java XMPPserver openfire VS tigase

两者都支持标准的XMPP协议,插件和组件开发

各自特点: 

  openfire使用搭建更加方便快捷,管理界面也更友好,可视化配置方便,相比tigase功能更加强大丰富一些

  tigase性能更好,支持集群横向扩展,可以支撑更大的用户量 (官网号称单机50w 集群百万)

 

选择: 如果你是想快速搭建,控制成本,用户量不多的情况下,完全可以选择openfire

   如果你将面对更多用户(十万甚至百万级),并愿意话费时间人力成本进行部署调优,甚至二次开发的话,选择tigase准没错

原文如下,连接地址:http://glennengstrand.info/blog/?p=143

Adopting Real Time Communication: Openfire vs Tigase

There is a growing trend right now to add real time communication to your enterprise collaboration solution. Companies are taking a page from the play books of Facebook and Yahoo (who copied Twitter) and are adding Instant Messaging to their service offerings. When it comes to IM, consider XMPP which is the protocol designed from day one for IM.

When setting up your own chat server, there are two open source projects that you should seriously consider; Openfire and Tigase.

Sponsored by such corporate leaders in IM as Jive, IBM, Apple, and Google, Openfire is an XMPP server written in Java and stewarded by Ignite Realtime.

Tigase has more humble and open source traditional origins where an engineer, seasoned in server development, had an “itch to scratch” and started building this XMPP server.

How are Tigase and Openfire similar? They both fully support the XMPP standard and many of the more popular extensions to that standard. They both parallel the high extensibility of the protocol with their own pluggable architecture. They are both written in Java.

You can extend the chat server functionality by writing your own plugins and components. The heart of the XMPP is in its three main stanzas; IQ, presence, and message. IQ is mostly about roster management. Presence is how those away and available notifications get delivered. Messages are what you text back and forth with your friends. If you want to add new functionality to those stanzas, or create your own, then you should write a plugin.If you want to write a chat bot (i.e. a robot that you can exchange messages with), then you should write a component.

A JID (Jabber IDentifier) is how you log in to the server and how you address other users. They look a lot like email addresses. A component has its own JID whereas a plugin does not.

How are Tigase and Openfire different? Openfire provides a web based administrative interface which you can extend with your own JSP. You can add your own plugins by packaging them up in a WAR file and adding them through the admin interface. Openfire depends on being hosted by a J2EE application container such as Tomcat. Tigase is a stand-alone program that is executed by itself. The only administrative interface for Tigase is a text based properties file that you can edit before launching the Tigase service. To get Tigase to load your plugins and components, you just have to ensure that your JAR files are in the classpath prior to starting Tigase.

With Tigase, you can also plug in your own repository instead of depending on their relational database. Tigase is more oriented towards high scalability with its support for clustering, virtual hosts, and thread management.

Which one is best for your needs? If you are more concerned about IT footprint and cost containment than you are about serving large numbers of people, then you should start with Openfire. If you already know that you are going to have to serve large numbers of users and are willing to commit the resources of a server farm, then you won’t go wrong with Tigase.