I. Portabilité des deux technologies▲
Une Dll ISAPI présente l'avantage indéniable de la portabilité. La Dll n'est pas confinée à Internet Information Server de Microsoft. Une recompilation sous Kylix devrait permettre son fonctionnement sous environnement Linux. De ce point de vue l'objet ASP ne tient pas la comparaison. Même s'il peut fonctionner sous Apache, il reste et demeure une technologie Microsoft.
I-A. Du côté de la rapidité▲
Comme vous, j'ai souvent lu que les DLL ISAPI étaient beaucoup plus performantes que les objets ASP. J'ajoute que dans la plupart des cas, à besoin égal, elles sont également plus rapides à développer pour les programmeurs que nous sommes. Toutefois, la différence en matière de performances mérite d'être relativisée.
Dans le cas d'un gros site, ISAPI et l'objet ASP sont assez proches en termes de performances.
Dans le cas d'un gros site, très fréquenté, je doute fort que vous puissiez voir une différence entre les deux technologies. Si ISAPI est chargé en mémoire, sachez qu'il en sera de même pour l'objet ASP. Une option de IIS permet de définir le délai de déchargement de l'objet après utilisation. Ce délai est de une à trois minutes sous IIS 4. Du fait, lorsque la page Asp instancie l'objet, si le site est fréquenté, le chargement (physique) de l'objet est inutile, IIS établira le lien vers un objet qui en mémoire et disponible. Cette particularité est d'autant plus intéressante avec les objets ASP qui établissent des connexions vers des bases de données du fait de la persistance des connexions ouvertes. De ce fait, inutile d'ouvrir une nouvelle connexion.
I-B. L'objet ASP est plus permissif que ISAPI▲
Si vous souhaitez créer un site dynamique, qui autorise une interactivité avec l'utilisateur, l'objet ASP est bien plus intéressant que ISAPI. De la même manière qu'un objet Delphi, que vous manipulez des méthodes et des propriétés.
Ex :
 
; 
;VarName = MonObjet.GetName
ou
 
; IdClient = Request.QueryString(‘
;'ID'')
MyResult = MonObjet.RecupFicheClient(IDClient, vNom, vPrenom, vAge, vAdresse)
Côté Delphi, la méthode RecupFicheClient aura la forme suivante 
;:
Function
Tobj.RecupFicheClient(Id 
;: Integer
 
;; Var
vNom,vPrenom, vAdresse 
;: WideString 
;; Var
Age 
;: Integer
) 
;: Integer
 
;;
De la même manière, vous pouvez utiliser des listes d'objets :
- soit un objet com « FicheClient » qui possède les méthodes de lecture/écriture dans une base de données, et les propriétés de la fiche (nom, prénom, adresse, âge, etc.) ;
- un objet « ListeFiche » peut contenir la liste de tous les objets FicheClient.
Dans le code de votre page, vous pourrez utiliser une écriture similaire à celle-ci :
<%
 
; For
i = 0
to
N
 
; 
; Response.Write
MonObjetListe(i).FicheClient.Nom
 
; Next
%>
Dans le cadre d'un Internet, ou la connaissance des utilisateurs et des logiciels employés est plus facile que sur Internet, vous pouvez même charger l'objet ASP dans une variable Session et retrouver la saisie de l'utilisateur, faite sur la page précédente ou à l'ouverture du site. Cette technique n'est pas conseillée sur un site Internet, ou la diversité des configurations et des outils de navigation est bien trop importante. Un client qui désactive l'acceptation de cookies non persistants ne pourra pas naviguer sur le site utilisant des variables Session.
I-C. Répartir les objets ASP sur plusieurs PC▲
Autre intérêt non négligeable de l'objet ASP, vous pouvez l'installer sur une machine différente de celle qui héberge votre serveur Internet. L'objet ASP est un objet Com.
Dans le IIS Admin Manager, vous pouvez spécifier que le composant est installé dans un lot « Distant ». Cette possibilité dépend de la typologie du réseau et des droits attribués sur les machines, mais c'est possible.
Affecter des droits différents aux objets ASP
Autre intérêt non négligeable de l'objet ASP, vous pouvez indiquer l'utilisateur de l'objet. Lors de l'installation dans un Lot MTS, vous pouvez définir qu'un objet ASP qui exécute une action d'administration prendra l'identité d'un user qui possède les droits requis.
L'objet ASP permet d'accroître la sécurité du site
Excepté l'action définie par défaut, pour communiquer avec ISAPI, vous devrez multiplier les formulaires. Or les paramètres du formulaire sont visibles lorsqu'on affiche le code source de la page HTML. Avec l'objet ASP, les informations sont passées dans un script Asp qui demeure invisible sur le client. Le passage de l'information se fait par affectation de propriété(s) ou par méthode.
II. Annexes▲
Exemples de code ASP qui mettent en œuvre un objet ASP
Tutoriel
- Création d'une Dll ISAPI par Jean-Pierre Lamon