21. Outil de Conception/Implémentation pour SGBD Web pour PostgreSQL - EARP

Contenu de cette section

http://www.oswego.edu/Earp

ftp://ftp.oswego.edu dans le répertoire 'pub/unix/earp'.

On trouvera ci-dessous un extrait de la page d'accueil de EARP:-

Le "Programme de Réponse Facilement Ajustable" ("Easily Adjustable Response Program" - EARP) créé par David Dougherty

21.1 EARP, c'est quoi?

EARP est un outil de Conception/Implémentation pour Base De Données Web, réalisé par-dessus le système de gestion de base de données Postgres95. Ses fonctionnalités comprennent:

21.2 Implantation

L'implantation principale de EARP consiste en un binaire CGI qui s'exécute sous le démon http pour fournir l'accès au serveur de base de données. Tous les outils de conception sont intégrés dans le pilote, aucune conception ne se fait sur le web. Les outils eux-mêmes requièrent un navigateur graphique, la compatibilité des objets conçus avec ces outils est indépendante de l'implantation, elle ne dépend uniquement que des préférences de conception individuelles.

21.3 Ce dont vous avez besoin pour faire fonctionner EARP

EARP est sensé fonctionner sur une grande variété de plates-formes avec peu de modifications sinon pas du tout. Les plates-formes pour lesquelles le fonctionnement est connu sont les suivantes:

21.4 Nouvelles Flash

La version courante (1.3) de Earp a été conçue au-dessus de la version de libpq livrée avec Postgres95 v1.01/1.02. Si vous utilisez une version plus récente de Postgres, vous devez vous attendre à ce que le programme nécessite quelques modifications pour fonctionner correctement. Dans la version de développement (Earp 2.0), la prise en charge de libpq est en cours de prise en compte en tant que module, et de ce fait pourra supporter autant de versions de postgres que nous aurons de temps pour écrire ces modules. La version de développement est attendue, pour le public, aux alentours du milieu du printemps(97).

21.5 Comment fonctionne-t-il?

Une des fonctionnalités principales de EARP est d'utiliser une approche orientée objet pour produire des pages html qui s'interfacent à la base de données. La plupart des pages sont constituées de plusieurs objets. Chaque objet est produit par une sorte d'outil et reçoit un nom, les objets sont alors liés ensembles et appelés en séquence par l'outil de gestion de pages. Les objets sont également réutilisables à l'intérieur de plusieurs pages. Il existe des outils de base pour HTML, pour les Requêtes, pour la saisie dans des formulaires, le formatage variable des requêtes et des objets en entrée, ainsi que pour lier des objets pour en former de nouveaux. On trouve également des outils plus avancés tels que l'outil de courrier électronique et l'outil de création de requêtes en parallèle.

La gestion perfectionnée de la sécurité est une des autres fonctionnalités de EARP. L'accès aux différentes zones du système EARP peut être limité par une grande variété de moyens. Pour faciliter cette sécurité perfectionnée, EARP effectue des contrôles à chaque connexion au système, et détermine à quels "ids" et "groups" appartient l'agent qui se connecte. Les accès aux zones sont définis séparément, et la combinaison des deux permet de décider si l'accès à une certaine zone de Earp est autorisé. De plus , tout ce qui est requis pour réaliser les fonctionnalités de sécurité se trouve dans un serveur http qui effectue une authentification de l'utilisateur minimale (ou meilleure).

21.6 Quelques exemples en ligne

Partie intégrante de l'aide au SGBD ICC Help Database, la Page du Catalogue de Recherche est un document EARP qui peut exécuter plusieurs requêtes. Les boîtes de sélection sont générées par le programme EARP à partir de listes dans la base de données.

Comme autre exemple de ce que l'on peut faire avec EARP... vous pouvez maintenant voir la Liste des Objets de la Base de Données d'aide.

La création de ces trois interfaces m'a pris moins de quinze minutes.

21.7 Où puis-je le trouver?

EARP est disponible via un ftp anonyme à ftp://ftp.oswego.edu dans le répertoire 'pub/unix/earp'. La version courante à la date de rédaction de ce texte est 1.3.1

S'il vous plaît, après avoir récupéré et mis en service EARP, envoyez moi un mot pour en décrire le succès ou les échecs.

21.8 Documentation disponible

Toute la documentation a été déplacée à la page index "User Docs and Tutorials" (Documentation Utilisateur et Cours).

21.9 L'Histoire d'EARP

Earp 0.1 a démarré en tant que programme à l'automne 1995. Je travaillais à la réalisation d'un livre d'or accessible par le web, dynamiquement configurable. A ce moment là, il y avait tout un tas de programmes cgi faisant tous quelque chose de différent et d'utile, agrégés par un peu de colle SSI et un peu de programmation c. Je réalisais alors que je faisais beaucoup de travail répétitif, et que la plupart des choses que je faisais devaient exécuter dans de nombreuses fenêtres à la fois (netscape, emacs, shell, mail) alors que la mise au point était rapidement devenue un cauchemar. A cette époque mon ami et patron Don Michaels me contacta. Il était intéressé par l'automatisation d'une grosse partie de notre support utilisateur et par la tenue d'une base de données gérant l'historique des appels et des réponses.

Peu de temps après, j'avais terminé le schéma initial de ce qui est en train de devenir rapidement notre base de données d'aide. Seulement, je rechignais à l'idée de construire une base de données d'aide à partir de ce qui était alors un ensemble très primitif d'utilitaires. Lorsque les cours du printemps 96 débutèrent, je démarrais quand même le projet, principalement sous le coup de l'ennui, mais aussi parce que j'étais dans un cours d'architecture de base de données et que je voulais m'entraîner un peu les méninges. Peu de temps après j'avais un prototype acceptable en état de marche, ce qui rendit Don très heureux car il avait renoncé à l'idée de quelqu'un créant une base de données d'aide pour lui. (Le prototype tourne encore sur l'un de mes serveurs...(juin 96)) Le prototype faisait vraiment quelques choses très intéressantes, mais en avril, j'étais à nouveau découragé... A chaque fois que je désirais modifier quelque chose, j'entrais dans un lent processus de recompilation, ou je tombais sur un fichier texte particulièrement distrayant. Je n'avais aussi aucun moyen d'utiliser le concept de building block si utile dans EARP... J'ai réalisé pas mal d'énormes coupés-collés. Vers la fin de l'année scolaire je fus encore une fois découragé sur le déroulement des choses et décidais que ce dont j'avais besoin, c'était d'un ensemble d'outils plus adaptés à ce que je faisais. De plus, je voulais aussi que mon prototype fonctionne sur un e VRAIE base de données relationnelle et je ne chérissais pas l'idée de recommencer tout ce travail d'accès codés en dur, de liens, et de méthodes de sortie.

J'eus un bref moment de répit, si l'on peut dire. Nous soutenions la Conférence SUNY CIT et j'ai tellement été occupé pendant une semaine et demi que je pris du recul par rapport à tout ce que j'avais écrit sur le prototype de base de donnée d'aide excepté sur les idées que j'avais eu quand j'avais écrit la série d'utilitaires initiale et que ce qui m'irritait le plus était l'état actuel des choses.

Peu de temps après la conférence, je commençais le prototype de la version actuelle de EARP(may96), en utilisant le SGBD relationnel postgres95 comme support. A la mi-juin, le prototype avait évolué en une suite intégrée de prototypes d'outils tout à fait séduisante, avec comme premier avantage de tous tourner en html, et de stocker leurs données d'initialisation dans la base de donnée. La plus grande partie de la deuxième moitié de juin fut consacrée à la mise au point du code et à l'utilisation de l'interface.( Pendant ces deux semaines j'ai accédé plus de 5000 fois à notre serveur web.) A la fin juin, la plupart des bogues importants étaient chassés de EARP, et il y avait un nombre suffisant d'objets dans la "nouvelle" base de données d'aide que l'on pouvant en faire l'annonce officielle à notre équipe de support.

A propos, j'ai également tenu un journal pendant le développement de EARP et Don Michaels et moi présentons un papier décrivant la Base de Données d'Aide à la conférence ACM/SIGUCCS à Chicago en Septembre de cette année.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre