|
Lobjet de ce
billet nest pas de prendre partie pour lune ou lautre
technologie mais de mettre en évidence les avantages et
inconvénients des deux technologies. Si ISAPI est plus portable, et dans
certains cas plus rapide, lobjet Com nest pas dénué
dintérêts, en ce sens quil est plus permissif et plus
performant en matière de sécurité.
Portabilité des deux technologies.
Une Dll ISAPI
présente lavantage indéniable de la portabilité. La
Dll nest pas confinée à Internet Information Server de
Microsoft. Une recompilation sous Kylix devrait permettre son fonctionnement
sous environnement Linux. De ce point de vue lobjet ASP ne tient pas la
comparaison. Même sil peut fonctionner sous Apache, il reste et
demeure une technologie Microsoft.
Du côté de la
rapidité
Comme vous, jai
souvent lu que les DLL ISAPI étaient beaucoup plus performantes que les
objets ASP. Jajoute que dans la plus part des cas, à besoin
égal, elles sont également plus rapide à développer
pour les programmeurs que nous sommes. Toutefois, la différence en
matière de performance mérite dêtre
relativisée.
Dans le cas dun gros site,
ISAPI et lobjet ASP sont assez proches en terme de performance.
Dans le cas dun
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 quil en sera de même pour
lobjet ASP. Une option de IIS permet de définir le délai de
déchargement de lobjet après utilisation. Ce délais
est de une à trois minutes sous IIS 4. Du fait, lorsque la page Asp
instancie lobjet, si le site est fréquenté, le chargement
(physique) de lobjet est inutile, IIS établira le lien vers un
objet qui en mémoire et disponible. Cette particularité est
dautant plus intéressante avec les objet ASP qui
établissent des connexions vers des bases de données du fait de
la persistance des connexions ouvertes. De ce fait, inutile douvrir une
nouvelle connexion.
Lobjet ASP est plus permissif que
ISAPI
Si vous souhaitez
créer un site dynamique, qui autorise une interactivité avec
lutilisateur, lobjet ASP est bien plus intéressant que
ISAPI. De la même manière quun 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
dobjets
- 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
dun internet, ou la connaissance des utilisateurs et des logiciels
employés est plus facile que sur internet, vous pouvez même
charger lobjet ASP dans une variable Session et retrouver la saisie de
lutilisateur, faite sur la page précédante ou à
louverture du site. Cette technique nest 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
lacceptation de cookies non persitants ne pourra pas naviguer sur le site
utilisant des variables Session.
Répartir les objets ASP sur
plusieurs PC
Autre
intérêt non négligeable de lobjet ASP, vous pouvez
linstaller sur une machine différente de celle qui héberge
votre serveur Internet. Lobjet 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 cest possible.
Affecter des droits différents aux
objets ASP
Autre
intérêt non négligeable de lobjet ASP, vous pouvez
indiquer lutilisateur de lobjet. Lors de linstallation dans
un Lot MTS, vous pouvez définir quun objet ASP qui exécute
une action dadministration prendra lidentité dun user
qui possède les droits requis.
Lobjet ASP permet
daccroître la sécurité du site.
Excepté
laction définie par défaut, pour communiquer avec ISAPI,
vous devrez multiplier les formulaires. Or les paramètres du formulaire
sont visibles lorsquon affiche le code source de la page HTML. Avec
lobjet ASP, les informations sont passées dans un script Asp qui
demeurent invisible sur le client. Le passage de linformation se fait pas
affectation de propriété(s) ou par méthode.
Annexes
Exemples de code ASP qui mettent en
uvre un objet ASP
Tutoriel
- Création dune Dll ISAPI par Jean-Pierre
Lamon
http://jplamon.developpez.com/isapi/
Lauteur de cet
article : JJM
|