Créé le 28 avril 2004
Modifié le
Technologies serveur > API

API (Application Programming Interface)

Présentation des API

API signifie Application Programming Interface, soit interface de programmation d'application. Les API ne sont pas utilisées que dans le cadre Web. En fait, ce sont des interfaces utilisées sur la plupart des programmes (Windows en possède) qui permettent d'utiliser des applications externes.

Ici nous ne parlerons que des API HTTP. Une API HTTP est un mécanisme propriétaire (ISAPI de Microsoft, NSAPI de Netscape ou encore les API standards extensibles de Java) permettant d'exécuter des programmes d'application depuis un serveur Web HTTP, de récupérer les paramètres du serveur (reçus du navigateur client) et de les passer à ces programmes d'application.

Une API fonctionne donc comme une librairie dynamique de fonctions permettant d'invoquer des processus serveur et des traitements autour de programmes d'applications (des SGBD notamment) sur le serveur. L'avantage de l'utilisation d'une API est qu'elle accède de manière unifiée aux programmes d'application, et renvoie vers le serveur HTTP les résultats sous format MIME.

Avantages et inconvénients des API

L'intégration des API HTTP sur les serveurs Web a été développée pour répondre aux faiblesses de CGI en matière de performances. Le CGI démarre en effet un nouveau processus serveur à chaque appel. Grâce à la solution des API des serveurs Web, on crée un processus serveur qui prend en charge les programmes d'application et reste connecté jusqu'à l'arrêt du serveur Web. Non seulement, on conserve le contexte (on pourra dès lors avoir des recherches affinées sur base de précédents résultats), mais aussi les API permettent de supporter le multi-tâches (multi-thread) puisque le processus est connecté en permanence.

Néanmoins, les API sont des mécanismes propriétaires et dépendent donc très fortement du serveur HTTP. Il ya en effet une perte de compatibilité entre les serveurs HTTP, chacun utilisant ses propres API: NSAPI de Netscape ne fonctionnent pas sur le serveur IIS de Microsoft (qui utilise les ISAPI), et les API-Apache dépendent du serveur libre Apache.

Cette technologie est pourtant très répandue et offre un excellent support à la plupart des technologies dynamiques de développement Web.

Liens utiles

http://perso.wanadoo.fr/vbsoluces/IntroductionAPI.htm

http://jplamon.developpez.com/isapi/isapi1.htm


Haut de page