Programación en castellano
Inicio > Tutoriales > LiveChat – Jabber en nuestra aplicación web
-Tutoriales

LiveChat – Jabber en nuestra aplicación web


Arrancamos la aplicación

. Elementos indispensables para el lanzamiento de la aplicación

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

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
 
Patrocinados
 

Copyright © 1999-2007 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network

red internet: juegos gratis | logos y melodias | hospedaje web linux | registro de dominios | servidores dedicados
más internet: comprar | recursos gratis | posicionamiento en buscadores | decoración web | gifs animados