The ever-expanding world of chat clients and servers makes selecting a solution an exercise worthy of a trade study. In our search for the right instant messaging solution, we tried many that were too big and many that were too small. But we found one that was just right: an easily configured XMPP (aka Jabber) server that is compatible with the majority of today's key clients (Jabber, Momentum, Pidgin, and so on). It's also nice that this server -- Ignite Realtime's Openfire -- is open source and saved us money.
Openfire passed our test because of its usability and fairly wide range of configurable options. (We tested version 3.6.4 on Linux.) It comes with its own embedded database but can also connect directly to a MySQL, Oracle, Microsoft SQL Server, PostgreSQL, or IBM DB2 database, as handled by a clean database connection setup wizard that can't be beat. The server configuration GUI is straightforward and does not require a high level of technical understanding, which makes for an ideal small-business solution. Short of forgetting to open the necessary ports in the firewall -- probably the most likely point of failure for an administrator -- it would be difficult to botch the installation. The GUI also allows administrators to log in remotely to change server settings, which can be very handy.
[ Zero in on other top open source solutions in InfoWorld's Bossie Awards 2010, including the best open source applications, the best open source application development software, the best open source platforms and middleware, and the best open source networking software. ]
Openfire's excellent support for monitoring users, servers, and server connections makes network administration a breeze. For sensitive corporate environments, SSL encryption can be enabled for communication between the clients and the server. The server can also prohibit anonymous users from creating accounts. If security isn't a concern, authentication can be overwritten as well. The security audit log allows easy tracking of anomalies for the administrator to monitor.
Openfire also allows groups and users (stored in LDAP or the Openfire database) to be managed from the server and changes pushed out to all clients in real time via Contact Group List Sharing. This is a major improvement from previous releases, when changes were reflected only when cached users or groups expired from Openfire. The history of continuous improvement suggests Openfire will have a long shelf life, and we foresee continued support and development.
A variety of plug-in modules allow you to add services that don't come with the standard Openfire download. An important one is clustering, a useful feature that brings redundancy to your Openfire servers and, in theory, can help with scalability. However, Openfire's clustering adds overhead and involves a multistep, inelegant install process. It also requires an external database (you can't use the embedded database) and Oracle Coherence for Java.
You'll find other real-time communication servers that are tailored for businesses with large numbers of users (such as Microsoft Lync Server) and others that are more lightweight (Prosody). For the small business in the middle -- looking to support dozens of users connected at the same time -- Openfire is an ideal candidate. It's free open source, it supports a wide range of clients and server platforms (Linux, Windows, Mac OS X, and Unix), and it delivers all the basic chat functionality, including file sharing. Additional nice-to-haves such as content filtering, monitoring service, and packet filtering are available through plug-ins. For a great combination of ease and functionality, Openfire gets our two thumbs-up.
This article, "Openfire: Excellent, free open source chat server," was originally published by InfoWorld.com. Follow the latest developments in applications at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.