Para lanzar la aplicaci�n modelo son necesarios los siguientes elementos:
- acceso al servidor Jabber. Podemos hacer uso de una instancia propia (la lista del software necesario puede encontrarse, p.ej. en la direcci�n http://www.jabber.org/software/servers.php) o la de alg�n servidor ya configurado para el acceso p�blico (http://www.jabber.org/user/publicservers.php),
- un cliente de Jabber para cada uno de los consultores � lo mejor es revisar la p�gina http://www.jabber.org/software/clients.php y elegir el producto que mejor se adapte a nuestras necesidades,
- acceso a un servidor web con soporte configurado para PHP y acceso a la base de datos desde PHP (p.ej. MySQL o cualquier otra base de datos accesible a trav�s de ADOdb). Adem�s, debemos tener la posibilidad de lanzar scripts desde una consola (PHP en versi�n CLI).
Todas las librer�as necesarias (ClassJabberPHP, ADOdb, Smarty) han sido incluidas en el directorio de la aplicaci�n (subdirectorio /lib).
Despu�s de crear la estructura en la base de datos y las cuentas de los usuarios, y de configurar los clientes de mensajer�a en los ordenadores de los consultores, LiveChat deber�a estar listo para funcionar. En caso de problemas...
- revisemos si nuestro firewall permite el acceso al puerto 5222
- tratemos de utilizar un servidor Jabber o un cliente de mensajer�a diferentes
- asegur�monos de que el programa lanzado desde la consola est� funcionando correctamente
��Qu� queda por hacer?
El c�digo est� completo y listo para usarse. Debemos todav�a configurar el resto de la infraestructura, es decir:
- el servidor Jabber,
- los clientes de mensajer�a instalados en las estaciones de trabajo de los consultores,
- el registro de nuestros usuarios en la red Jabber,
- el lanzamiento de la parte web,
- el lanzamiento del programa de consola.
�El cliente y el servidor Jabber
La aplicaci�n no pone ning�n requerimiento especial al servidor Jabber, ni se usa ninguna extensi�n no est�ndar del protocolo. Por tanto, para realizar pruebas no es necesario instalar nuestro propio servidor, puesto que es tambi�n posible hacer uso de uno de los tantos servidores p�blicamente accesibles. En la pr�ctica, sin embargo, puede resultar m�s c�modo instalar una instancia propia, lo cual ofrece un control total sobre todos los par�metros de configuraci�n y la posibilidad de a�adir nuevos usuarios m�s f�cilmente.
Con el cliente de mensajer�a, a pesar de las apariencias, la cosa ya no es tan sencilla , puesto que muchos programas simplemente ignoran el atributo thread en los paquetes message. Lo �nico que podemos hacer ante este problema es recomendar el programa Exodus.
�Los usuarios de la red Jabber
Para el funcionamiento correcto de toda la infraestructura, es necesario registrar tantos usuarios de la red Jabber cuantos consultores tengamos contratados. Un usuario adicional ser� necesario para operar con la capa Internet de la aplicaci�n (en los ejemplos incluidos este usuario se llama www_send).
La manera m�s c�moda de registrar cada uno de los usuarios es hacerlo desde un cliente de mensajer�a. La operaci�n de registro se limita a elegir un identificador y una palabra clave. La Figura 5 muestra un ejemplo de formulario de registro de nuevos usuarios.
![Figura 5: Registro de un nuevo usuario de la red Jabber](/cursos_descargas/phpsol_livechat/fig5.jpg)
No se debe olvidar efectuar el registro de un usuario adicional, cuya cuenta ser� utilizada por los scripts de PHP. El siguiente paso consiste en fijar las relaciones de confianza de tal manera que el usuario www_send pueda observar los estados de disponibilidad de todos los consultores. El modo m�s sencillo de realizar esta operaci�n es sirvi�ndose de clientes est�ndar de mensajer�a, antes de poner en marcha la parte web de la aplicaci�n.
�Instalaci�n de la capa web
La instalaci�n de la capa web es, sin duda, la parte m�s f�cil. Basta con:
- copiar en el lugar adecuado del servidor web los scripts PHP,
- crear una nueva base de datos y ejecutar en ella el script install.sql del subdirectorio sql. Este script fue creado para MySQL, pero los usuarios de otras bases de datos no deber�an tener problemas para adaptarlo (la aplicaci�n utiliza ADOdb),
- fijar los par�metros de conexi�n a la base de datos en el fichero include/db.inc.php,
- poner privilegios de escritura al subdirectorio templates_c, en el cual Smarty almacenar� las versiones compiladas de sus plantillas.
Llegados a este punto, vale la pena tratar de lanzar desde el navegador web el script www_status.php. Si todos los pasos se han realizado correctamente, ante nuestros ojos aparecer� una imagen como la de la Figura 4, inform�ndonos de la falta de consultores libres en este momento. Seguidamente:
- para cada uno de los consultores registrados en la red Jabber creamos una entrada en la tabla jabber_consultants, utilizando para ello una instrucci�n SQL como la siguiente:
INSERT INTO `jabber_consultants` (`jid`, `status_available`, `status_online`, `www_user_id` ) VALUES ('consultor1@localhost', 0, NULL, NULL);
�Instalaci�n de la parte lanzada desde la consola
Si los scripts PHP de la capa web funcionan, la parte de consola ya no ser� mayor problema. Basta lanzar el fichero console.php desde la l�nea de comandos (CLI). No olvidemos que este script debe estar constantemente funcionando en segundo plano; su ejecuci�n no puede interrumpirse por ning�n l�mite de tiempo de ejecuci�n.
En la Figura 6 se muestra el efecto de un lanzamiento correcto de este script.
![Figura 6: Script console.php correctamente configurado](/cursos_descargas/phpsol_livechat/fig6.jpg)