TUTORIELS 
ASP, COM et Active-X
Comprendre le modèle des composants Active-X, leur manipulation par les ASP, et leur lien avec les objets COM et les liens OLE.  (11 juillet 2001)
 

L'architecture COM
Les pages ASP permettent de tirer profit de l'architecture Microsoft COM (Component Object Model, dont "Active-X" n'est finalement qu'une autre dénomination, spécifique au web celle-là). L'architecture COM permet de manipuler des composants réutilisables. L'intérêt est bien sûr de faire communiquer les applications Microsoft en leur permettant d'échanger des données.

Pour cela, une approche "objet" est nécessaire: chaque application manipule des documents qui sont des collections d'objets (de types différents: texte, classeurs, son, animation, etc.). Une application doit donc pouvoir charger des objets, les sauvegarder, les afficher ou les jouer, en permettre la modification, le "glisser-déposer" ou encore exécuter des commandes qui les utilisent et éventuellement les transforment. Et ceci, même si les objets concernés ont une structure qui n'est pas celle des objets natifs de l'application: il faudra alors que le système d'exploitation charge l'application qui leur est associée au sein de l'application-mère, dans laquelle le document a été ouvert. Tout ceci correspond à la technologie OLE (Object Linking and Embedding), à laquelle s'ajoute des méchanismes permettant de créer des objets standardisés (ce qui définit des procédures communes pour l'accès aux objets, leur manipulation, leur échange ou leur association à une application): c'est l'architecure COM qui, sur des réseaux d'objets distribués, est désignée par l'acronyme DCOM (Distributed Component Object Model). Les objets COM sont semblables aux JavaBeans, mais propres à Microsoft. Sur le web, la possibilité d'afficher par exemple au sein du navigateur un document Word ou un classeur Excel sous forme d'objets correspond à l'utilisation de liens OLE et d'objets COM (ou DCOM), mais Microsoft a désigné le modèle sous le nom Active-X. On parle ainsi de composants Active-X pour les objets COM et de contrôles Active-X pour les liens OLE (qui s'apparentent aux "plug-ins" de Netscape). Ajoutons que certains composants Active-X permettent l'accès à des bases de données: ils sont appelés ADO (Active-X Data Objects). Enfin rappelons que ASP signifie évidemment Active (X) Server Pages.

Exemple
Dans l'exemple suivant, on effectue une connexion à une base de données au format Access manipulée avec SQL server. La connexion est permise par un composant ADO utilisant OLE DB. On récupère un (ou plusieurs) enregistrement(s) issu(s) d'une requête et on affiche les différents champs qui le(s) composent (identifiant, chaîne de caractère qui pourrait-être un nom, etc.).

<%
Dim essai_connection
Dim essai_enregistrement
Dim essai_chemin ' chemin d'accès à une base de données Access (format .mdb)

' définition d'un chemin physique à partir d'un chemin virtuel
essai_chemin = Server.MapPath("db_essai.mdb")

' Connection ADO utilisant OLE DB et SQL Server
Set essai_connection = Server.CreateObject("ADODB.Connection")
essai_connection.Open Application("SQLConnString")
Set essai_enregistrement = essai_connection.Execute("SELECT * FROM essai")

' Affichage
%>
<table>
<%
Do While Not essai_enregistrement.EOF
%>
  <tr>
    <td><%= essai_enregistrement.Fields("champ_id").Value %></td>
    <td><%= essai_enregistrement.Fields("champ_texte").Value %></td>
  </tr>
<%
essai_enregistrement.MoveNext
Loop
%>
</table>

<%
essai_enregistrement.Close
Set essai_enregistrement = Nothing
essai_connection.Close
Set essai_connection = Nothing
%>

 
[ Jérôme MorlonJDNet
 
Accueil | Haut de page