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
%>
|