Años de competencia entre diferentes navegadores han dado como resultado la creación de muchas herramientas para ayudar a los desarrolladores a realizar tareas que antes eran difíciles de realizar. Ahora, con sólo un pequeño script, puede crear una aplicación que vincule datos a un control de usuario para que se comunique con el servidor a través de un control de tipo proxy integrado.
En Internet Explorer (IE), estas cosas incluyen islas de datos XML y objetos XMLHTTP que se utilizan para vincular datos a elementos de formulario y que se utilizan para crear conexiones al servidor dentro de la página actual sin tener que navegar a otras páginas. y llamadas asincrónicas. Usaré estas dos funciones fáciles de usar para crear una aplicación de chat simple, que consta de algunas páginas ASP que actúan como interfaz de usuario, JavaScript para implementar funciones de cliente y T-SQL para completar la lógica empresarial en SQL Server 2000.
El cliente y el servidor se comunican mediante XML. Después de que el servidor web recibe un fragmento de mensaje, el fragmento de mensaje se agrega a una tabla MESSAGES con marca de tiempo en SQL Server. Según un intervalo de tiempo predefinido, el cliente solicitará información actualizada del servidor, incluida una lista de mensajes y una lista de usuarios en línea adjunta a la base de datos desde la última vez que solicitó información del servidor.
El cliente enviará un objeto XMLHTTP al servidor. La acción es una solicitud para actualizar el mensaje y la lista de usuarios, o para enviar un mensaje nuevo. Estas acciones se almacenan en una tabla llamada ACCIONES. El servidor responderá a la solicitud correspondiente o aceptará un nuevo mensaje y lo agregará a la tabla MENSAJES.
Cuando el servidor responde a una solicitud de mensaje, devuelve una lista de todos los mensajes nuevos desde la última solicitud. Para realizar un seguimiento de la actividad del cliente, utilizo una tabla ACTIVIDAD que contiene la fecha y hora de la actividad del cliente. La identidad del cliente se almacena en la tabla HANDLES, que tiene un nombre intuitivo.
El siguiente es el script para crear la tabla:
Todas las operaciones de datos se completarán mediante procedimientos almacenados. Toda la interfaz de datos se realizará a través de un COM genérico que actúa como enlace entre el servidor web y SQL Server 2000. El objeto COM expone un método RunSPReturnStream que quiero usar. El primer parámetro de este método es el nombre del procedimiento almacenado y el segundo parámetro es una matriz de matrices de parámetros. La matriz de parámetros es una matriz simple con el siguiente formato: (paraName, paramType, paramLength, paramValue). paramType es una de las enumeraciones de tipos de parámetros de ADO. Una página ASP es responsable de aceptar acciones y crear respuestas, la llamaré HandleAction.asp.
La página de chat contendrá un área para mostrar mensajes de chat; esta área es una TABLA contenida dentro de un DIV. Esta TABLA está vinculada a una isla de datos XML xmlMessages. Otra área muestra el usuario actual; esta área también es una TABLA contenida en un DIV, que está vinculada a una isla de datos XML xmlUsers. También hay un TEXTAREA para que los usuarios ingresen mensajes.