This article presents a solution for having a functional instant messaging service integrated with the Axigen mail server and an IM client available from Axigen’s Ajax WebMail interface.
Solution overviewThe IM solution is based on a setup including an Axigen server with Ajax WebMail service available. On the client side, a special release of the Ajax WebMail interface is deployed, having an embedded Web-based IM Client that is available for use in the same browser window as the Ajax WebMail. The embedded client offers IM-specific features (sending / receiving instant messages, managing the user's status and buddy list etc.) and communicates through XMPP (Extensible Messaging and Presence Protocol) over BOSH (Bidirectional-streams Over Synchronous) with an IM service described below.
On the server side, a two-tier setup with the following components will be required:
- at least one Axigen Mail Server that runs with attached Axigen storage in the back-end tier, hosts users' email accounts and provides messaging and collaboration services through the Axigen WebMail interface;
- one IM Server that runs in the back-end tier, hosts the users' IM accounts and provides an XMPP-based IM service;
- one Directory Server running in the back-end tier, that is used for integration and provides authentication for both email and IM accounts; in specific implementations and setup conditions, it also may provide LDAP-based account synchronization between the Axigen server and IM server on one side, and the LDAP server on the other side;
- at least one stateless Web Proxy Server, in the front-end tier, which dispatches HTTP-based requests as follows:
o web pages and SOAP requests coming from the Axigen WebMail interface will be routed to the WebMail service on an Axigen mail server in the back-end tier;
o XMPP (over BOSH) requests from the web-based IM client will be routed to the XMPP service on the IM server.
From the end-user's perspective, things are happening as follows. The user logs in from the login page of the Axigen WebMail interface and, at that moment, a new WebMail session is created based on authentication using the LDAP server through the channel Web Proxy Server - Axigen mail server and a new IM session is created also based on authentication using the LDAP server through the Web Proxy Server - IM Server channel. After a successful authentication, the user simultaneously accesses both the email account and the IM account from the same browser window (tab), being able to work with email messages and folders, PIM information and instant messages at the same time.
From the administrator's perspective, there are two possible situations related to user provisioning. If the LDAP Server is used only as a common source of authentication for both WebMail and IM services, then the users' accounts should be provisioned both on the Axigen mail server and the IM Server, and common authentication support should be configured and provisioned in the LDAP Server. If the LDAP Server is also used for synchronizing with the database of accounts on both the Axigen mail server and IM Server, then the users' account should be provisioned only in LDAP, which will be a more convenient and reliable way of managing accounts, since a single point of provisioning may be used.
Solution deploymentThe proposed IM solution, generally described in the previous section, has been successfully defined, deployed and tested by the Axigen Team, in order to respond to the need of having an IM service available along with the Axigen messaging and collaboration services.
It has been deployed on 32-bit (CentOS 5.4) Linux machines and tested with browsers supported by the Axigen WebMail and it includes the following specific components:
- the component used as Directory Server is the OpenLDAP Server, version 2.4.21, which is a commonly-used, reliable and easy to integrate free LDAP server;
- the component used as IM Server is the eJabberd Server, version 2.1.5, which is a reliable and scalable XMPP-based free IM server;
- the component used as IM Client embedded in the Axigen WebMail interface is the JWChat Client, version 1.0; a modified version, skinned properly for a good graphical integration with the Axigen WebMail interface, is included in a special package of the WebMail HSP files;
- the component used for providing messaging and collaborations services is the Axigen mail server, version 7.6.0;
- the component used as Web Proxy Server is one of the following:
o the Apache Web Server version 2.2.17;
o the Axigen Mail Server version 7.6.1 with the WebMail Proxy service running as a HTTP request dispatcher.
The diagrams below depicts the logical components of the solution (using here an Apache Web Proxy) and the way they have been deployed.