Entretien sur AWS avec Pascal Obry

Le jeudi 5 juin 2003.
Il est rare qu’une conversation où il est question de Web et d’Ada ne cite pas AWS. Quelques semaines après l’introduction de la version 1.3, Pascal Obry, son créateur, fait le point pour nous.

Bonjour Pascal,

-  L’API d’AWS est officiellement stable. Considères-tu avoir atteint tes objectifs premiers ? L’activité de développement va-t-elle ralentir ?

En fait les objectifs sont assez généraux et les modifications apportées à AWS sont celles dont les utilisateurs ont besoin.

Les objectifs initiaux étaient de comprendre le protocole HTTP et de pouvoir réaliser des serveurs Web robustes en Ada, alors oui les objectifs premiers sont atteints. Un autre objectif était d’ouvrir à Ada le monde des systèmes d’information qui sont principalement bâtis aujourd’hui sur les technologies Web.

La dernière version (AWS 1.3) est sortie depuis quelques semaines mais nous avons déjà apporté beaucoup de modifications.

Ralentir ? Non pas pour le moment :) Un exemple ? AWS 1.4 supporte WSDL pour rendre l’utilisation de SOAP transparent.

-  L’annonce de la version 1.3 parle de HTTPS, SOAP, LDAP, SMTP, Jabber, etc. On dépasse largement le cadre de HTTP. Vers quelles fonctionalités se dirige AWS ?

En effet, AWS c’est l’acronyme d’Ada Web Server, mais je préfère maintenant parler d’AWS seulement. AWS dépasse le cadre d’HTTP car cela est nécessaire pour la réalisation d’applications Web aujourd’hui.

Toute application (Web ou non) doit pouvoir se connecter aux différents services de l’entreprise. Les protocoles LDAP et SMTP sont donc incontournables et SOAP le deviendra bientôt.

-  A quoi sert et comment fonctionne le hot-plug dans AWS ?

Le hot-plug d’AWS est une notion simple qui étend la notion de "dispatcher" au processus. Dans AWS un "dispatcher" permet d’aiguiller telle ou telle requête vers une procédure de traitement. Le hot-plug permet de transférer le traitement à un autre processus éventuellement s’exécutant sur une machine distante. Dans ce cas le serveur principal se comporte comme un proxy, il passe la requête au serveur distant, récupère la réponse et se charge enfin de la renvoyer au navigateur.

Ceci permet un "load balancing" en déportant certains traitements lourds vers une machine spécialisée par exemple. Une autre utilisation possible est de modifier dynamiquement un serveur Web en ajoutant ou supprimant des éléments.

Par exemple il est possible de désactiver une page ou un service Web temporairement sans recompiler ou relancer le serveur.

-  A ta connaissance, AWS a-t-il des alter-égos dans d’autres environnements ?

Non je ne pense pas. Pour le moment AWS est unique en son genre bien que l’architecture soit proche de celle d’un serveur d’application Java. Une particularité d’AWS c’est le serveur auto-portant. Le support des ressources permet effectivement de distribuer un seul exécutable qui comporte les images, les pages Web, les templates, les icones et le serveur lui-même. Il n’y a pas plus facile pour distribuer un serveur Web.

-  Tu vantes parfois le Template Parser qui accompagne AWS. Il n’a pas la notoriété qu’il mérite ?

En effet. Templates Parser est un élément clef pour le développement Web.

Ce composant permet de séparer à 100% le code du design. C’est effectivement un point important, cela permet de faire évoluer le design d’un site sans modifier le code, ou de modifier le code sans impacter le design.

De plus développeurs et designers sont des métiers distincts rarement exercés par la même personne sur un projet, alors dans ce cas l’utilisation du Templates Parser prend tout son sens.

A noter que Template parser est plus ancien qu’AWS, le projet a débuté en 1995, à cette époque je l’utilisais avec des CGI Ada. Templates Parser a devancé de plusieurs années les "struts" de Java qui visent le même objectif (séparation code et design).

-  Y-a t-il des applications utilisant AWS que tu aimerais faire si tu en avais le temps ?

Certainement, mais... je n’ai pas eu le temps de me poser cette question :)

-  Y-a-t-il une communauté de contributeurs AWS ?

Non pas vraiment. Nous avons quelques contributions de temps en temps, mais nous ne sommes toujours que deux à réellement porter AWS.

-  Laissons AWS de côté un instant. As-tu d’autres projets dont tu puisses nous parler ?

Non, je dois dire qu’AWS prend déjà beaucoup de mon temps et c’est assez pour le moment. Le monde du Web bouge très vite, c’est difficile de suivre toutes les technologies et d’intégrer celles-ci dans AWS, dans ce monde on perd très vite pied.

-  Finissons sur la question déjà traditionnelle, pourquoi avoir choisi Ada ?

Pour plusieurs raisons. La première c’est que je crois en Ada comme langage de programmation pour créer des applications robustes. Une autre c’est que Ada n’avait pas d’environnement de développement pour le Web, ce qui n’est pas le cas de Java par exemple :) Et aussi parce que je trouve les solutions autour de Java (JSP, EJB, Java Beans...) bien trop compliquées.

Merci Pascal, et souhaitons longue vie à AWS.


Références :

-  AWS
-  Templates_Parser



Forum de l'article