Des années de concurrence entre différents navigateurs ont abouti à la création de nombreux outils pour aider les développeurs à accomplir des tâches auparavant difficiles à réaliser. Désormais, avec juste un petit script, vous pouvez créer une application qui lie les données à un contrôle utilisateur afin qu'elles communiquent avec le serveur via un contrôle de type proxy intégré.
Dans Internet Explorer (IE), ceux-ci incluent des îlots de données XML, qui sont utilisés pour lier des données pour former des éléments, et des objets XMLHTTP, qui sont utilisés pour créer des connexions au serveur dans la page actuelle sans naviguer vers d'autres pages. . J'utiliserai ces deux fonctionnalités faciles à utiliser pour créer une application de discussion simple, composée de quelques pages ASP faisant office d'interface utilisateur, de JavaScript pour implémenter les fonctions client et de T-SQL pour compléter la logique métier dans SQL Server 2000.
Client et serveur communiquent via XML. Une fois que le serveur Web a reçu un fragment de message, celui-ci est ajouté à une table MESSAGES horodatée dans SQL Server. Sur la base d'un intervalle de temps prédéfini, le client demandera au serveur des informations mises à jour, y compris une liste de messages et une liste d'utilisateurs en ligne ajoutées à la base de données depuis la dernière fois qu'il a demandé des informations au serveur.
Le client enverra une
Lorsque le serveur répond à une demande de message, il renvoie une liste de tous les nouveaux messages depuis la dernière demande. Afin de suivre l'activité du client, j'utilise une table ACTIVITY qui contient la date/heure de l'activité du client. L'identité du client est stockée dans la table HANDLES, qui a un nom intuitif.
Voici le script pour créer une table :
CREATE TABLE [dbo].[ACTIONS] (
[action_id] [int] IDENTITÉ (1, 1) NON NULLe,
[nom_action] [varchar] (50) NULL ,
[action_descr] [varchar] (255) NULL
) SUR [PRIMAIRE]
ALLER
CRÉER UNE TABLE [dbo].[ACTIVITÉ] (
[handle_id] [int] NULL ,
[action_time] [dateheure] NULL
) SUR [PRIMAIRE]
ALLER
CRÉER UNE TABLE [dbo].[POIGNÉES] (
[handle_id] [int] IDENTITÉ (1, 1) NON NULLe,
[poignée] [nvarchar] (63) NULL
) SUR [PRIMAIRE]
ALLER
CRÉER UNE TABLE [dbo].[MESSAGES] (
[msg_id] [int] IDENTITÉ (1, 1) NON NULLe,
[message] [nvarchar] (255) NULL ,
[action_id] [int] NULL ,
[action_time] [datetime] NON NULL
) ON [PRIMAIRE]
Toutes les opérations sur les données seront effectuées via des procédures stockées. Tous les interfaçages de données se feront via un COM générique qui fait office de liaison entre le serveur Web et SQL Server 2000. L'objet COM expose une méthode RunSPReturnStream que je souhaite utiliser. Le premier paramètre de cette méthode est le nom de la procédure stockée et le deuxième paramètre est un tableau de tableaux de paramètres. Le tableau de paramètres est un tableau simple au format suivant : (paraName, paramType, paramLength, paramValue). paramType est l’une des énumérations de types de paramètres ADO. Une page ASP est chargée d'accepter les actions et de créer des réponses, je l'appellerai HandleAction.asp.
La page de discussion contiendra une zone pour afficher les messages de discussion ; cette zone est une TABLE contenue dans un DIV. Cette TABLE est liée à un îlot de données XML xmlMessages. Une autre zone affiche l'utilisateur actuel ; cette zone est également une TABLE contenue dans un DIV, qui est lié à un îlot de données XML xmlUsers. Il existe également une zone TEXTAREA permettant aux utilisateurs de saisir des messages.
-------------------------------------------------- ----------------------------------
L'auteur de cet article : Phillip Perkins est un entrepreneur d'Ajilon Consulting. Son expérience s'étend du contrôle des machines et des applications client/serveur aux applications intranet.