33
http://ricercar.homedns.org/ 6 février 1998 Thèse présentée en vue de l’obtention du grade de Docteur de l’Université René Descartes, Paris V Discipline : Sciences de la Vie et de la Matière Spécialité : Informatique par John SÉRAPHIN Sujet : Réalisation d’un Intranet : Cohérence d’un E nsemble Réparti et Communicant, autour d’une Architecture Réflexive Soutenance devant le jury composé de : Richard CASTANET - Rapporteur Jacques PITRAT - Rapporteur Guy PUJOLLE - Président Dominique SERET - Directeur Léo CACCIARI - Examinateur Dominique PASTRE - Examinateur

Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

  • Upload
    doannhi

  • View
    223

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

Thèse présentée en vue de l’obtention du grade de Docteur del’Université René Descartes, Paris V

Discipline : Sciences de la Vie et de la MatièreSpécialité : Informatique

par John SÉRAPHIN

Sujet : Réalisation d’unIntranet :Cohérence d’unEnsembleRéparti etCommunicant, autour d’uneArchitectureRéflexive

Soutenance devant le jury composé de :

Richard CASTANET - RapporteurJacques PITRAT - RapporteurGuy PUJOLLE - PrésidentDominique SERET - DirecteurLéo CACCIARI - ExaminateurDominique PASTRE - Examinateur

Page 2: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

LE RÉSEAU TCP/IP DE LA RATP

(en compréhension)

Anneau FDDI

+ 12.000 postes de travail sous Windows 3.11(8.000 en réseau)

+ 300 réseaux locaux sous TCP/IP

+ 30 bâtiments administratifs reliés

23 centres bus connectés

Commandement du métro en cours d’équipement

ATM en cours d'installation

Page 3: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

RACINENEUILLY

LYON-BERCYBOURDON

BELLIARD

ETOILE

DENFERT VINCENNES

italielachambeaudie

henri IV

torcy

nadar

la varenne

boissy

cpt

rueil

achères st gothard

bry

pavillons

république

lagny

lebrun

nanterre-U

rueilgare

la cerisaie

bobigny

pré st gervais charlebourg

michelet

asnières

flandre

gonesse

aubervilliers

pleyel

st maur

nogent

thiais

créteil

massy

malakoff

montrouge

raspail

RAMEAU

routeurprincipal

projet de routeur

routeur existant

projet de ligneligne existantetravaux en cours

st ouen

igt

villette

stalingrad

bizot

mirabeau

vallès2

maraichers

NOISY

chanzyboissy-LOG

minimes

caumartin

G2

MOTTEPIQUET

glacière

berault

sdhn

havre-caum

pantin

st fargeau

gallieni1

gambetta

pte italie

Pte Paris

CPT1

bagnolet

r. coty

vallès

st denis

CHAMPIONNET

GARE de LYON

font/rosespoint

du jour

défense

charenton-ecoles

halles

louis blanc

montparnasse

miromesnil

defense-ese

SIT/IST/ERS le 11 Juin 1997

dulong

invalides

versailles

nanterre-folie

vdf-ese

amandiers

sdhb

p2t

barbès

aqu72

strasb st denis

ARTS

mutuelle

nanterre bus

garedunord

noisiel

tvsbourdon

chatelet

vallès3

lilas

croix nivert

champs-elysées

airparif

joinville

rennes

villepinte

considerant

chanoinesse

tvsissy

tvs

c97

b97

bir-hakeim

d97

RENATER

stmaurcreteil

choisy

parcdesceaux

FONTENAY

gds augvers COFINOGA

vers COFINOGA

NOISY-INFO

berault2

renater

NEUILLY-INFO

VALFONT

chorusL13

lamarck

lachaise

montessuy

alc

ivry

rivoli

invalides2

balard

rendezvous

att

reuter

AUBER

javelvaugirard

courneuve

duhesme

necker

TOUL

cité

arche

F.D.D.I.

défense-UCD

cht. de vincennes

tolbiac

varenne-imm

ppp

ornano

Belliard-Info

pyramide

financevangogh

Page 4: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

ATTENDUS D’UN INTRANET

Déployer enfin le client-serveur

un seul client pour tous les serveurs

Disposer de données valides, cohérentes(pas d’erreur 40x)

Communiquer avec des applications plusanciennes

Établir des règles de « publication »

Gérer « uniformément » des données répartiessur l’ensemble de l’entreprise(charte graphique)

Uniformiser la navigation pour minimiserl’apprentissage

Gérer les profils et droits d’accès desutilisateurs

Disposer de statistiques d’ensemble

Page 5: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

LE WEB VU COMME UN OOOS ?

La répartition de l’intranet renforce le paradigme OOOS :

Nommage universel (les URL)

Persistance des objets

(cycle de vie des fichiers HTML)

Méthodes d’invocation (GET, POST, PUT,...)

Extensibilité du modèle (CGI ou API)

...

Page 6: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

LE WEB VU COMME UN OOOS

Intérêt de l’investissement dans des Composants

Applicatifs Réutilisables

implémentés autour de bus à objets tels CORBA, ...

Mais la gestion de la transparence (duplication,

migration) est médiocre dans CORBA,...

Page 7: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

GÉRER « L’INERTIE » DE L’ENTREPRISE

Disparité entre l’état de l’art et l’adoptionréelle des technologies dans l’entreprise

L’entreprise cherche encore à résoudreefficacement le problème du déploiementdu client-serveur

La décentralisation est un frein àl’adoption de solutions transversalescoordonnées

Définir des solutions qui s’appuient sur les acquis de

l’entreprise, sans hypothéquer l’avenir.

Page 8: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

ÉVOLUTION DU PARADIGME « WEB »

Le modèle HTTP « ancestral », passif, inspiré de FTP

Introduction de l’interactivité (formulaires + SGBD)

définition d’un « client universel » l’intranet est une architecture applicative distribuée

Page 9: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

LE NOMMAGE : cohérence des liens

L’interprétation des URL comme des références à des

fichiers, dans une arborescence, conduit à un nommage

peu robuste.

Toute modification de nom, d’extension, de répertoire...

provoque une erreur d’accès (403).

D’où les définitions normalisées :

URL = « adresse calculée par un algorithme d’accès »

(rfc 1630)

nom de ressource = « pointeur stable » (rfc 1736)

Page 10: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

NOMMAGE : réduction des degrés deliberté

La seule façon de garantir la permanence de l’accès à un

document est de rendre l’URL invariante :

Une solution serait de rendre invariables les attributs

d’un document publié (nom, extension, chemin,

serveur...) ;

une autre consiste à réduire les deux degrés de liberté

d’une URL HTTP, qui peut être unifiée à

http://serveur/chemin (&continuation)

Page 11: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

CHEMIN : construire un référentiel

Documentde

référence

Lienshypertextes

Dictionnaire

Identifiant|Localisation

La mise en place d’un dictionnaire (hybride Référentiels

d’Interface et d’Implémentations) fixe les pointeurs,

donc stabilise les liens hypertextes.

Documentde

référence

Lienshypertextes

Dictionnaire

Identifiant|Localisation

X

Page 12: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

SERVEUR : un (méta) interpréteur

La fédération et la synchronisation des dictionnaires

(interfaces) assure l’indépendance par rapport à

serveur ;

Index

SERVEUR_1 SERVEUR_2

SERVEUR_y

DicoInd

ex

SERVEUR_n

objet

http://serveur_1/ricercar/objet

http://serveur_y/ricercar/objet

méta(objet) =serveur_y

DicoInd

exGénère (objet)

DicoIn

dexDico In

dex

Qui-a(ob

jet)?

méta (objet)

un interpréteur fait le lien entre l’utilisateur et les

objets ;

Finalement l’URL, est vue comme un « IDentifiant de

Référentiel global »

(sous forme d’une <RURL:identifiant>).

Page 13: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

DICTIONNAIRE DE MÉTADONNÉES

la gestion d’un « référentiel » permet d’y modéliser

l’intranet ;

ce référentiel est composé d’une sélection de

métadonnées qui répondent aux différents cas

d’usage (utilisateur, auteur, administrateur) ;

Utilisateur

Authentification

AuteurNavigation

{si besoin}Stats/Config

Publication/MAJ

nécessite

Admin

activité

utilise

spécialisation en classes ;

écriture de méthodes pour générer dynamiquement les

documents HTML finals.

Page 14: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

AMORÇAGES (1/3)

HYPOTHESE : le Web permet de généraliser le client-serveur enoffrant une interface unique vers les SGBD del’entreprise.

CONCLUSION :résoudre le problème de la cohérence des liens(URL des documents).

premier amorçage : la cohérence des liens peut, elle aussi, êtrerésolue grâce à une application client-serveur.

création d’un serveur (une BD) qui référence les liens (doncles documents) ;

écriture d’une série de scripts qui interrogent cette BD etgénèrent les documents HTML finals.

Page 15: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

AMORÇAGES (2/3)

HYPOTHESE : la cohérence des liens est réalisée par uneapplication client-serveur interfacée par unensemble de scripts.

CONCLUSION :les scripts sont, à leur tour, susceptibles d’êtremodifiés, supprimés, déplacés, etc.Résoudre le problème de la cohérence des liens(URL des scripts).

deuxième amorçage : les scripts sont eux aussi des documents

enregistrement des scripts dans la BD :

écriture d’un interpréteur provisoire (qui correspond àun ensemble de méta-scripts) qui répertorie les scriptsau fur et à mesure de leur exécution

écriture d’un nouvel interpréteur optimisé(un seul méta-script)

enregistrement de cet interpréteur dans la BD par lebiais de l’« ancien » interpréteur

destruction de l’« ancien » interpréteur par le« nouveau ».

RICERCAR référence indifféremment ses propres données ou lesdocuments de l’intranet

Page 16: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

AMORÇAGE (3/3) STRUCTUREL :Initialisation

Diagramme de classes initial : Clients, Serveurs et Documents.

<CFQUERY Name= "goto" DataSource= "bd">SELECT URLFROM DOCUMENTSWHERE KEY = 'doc'

</CFQUERY>

<CFLOCATION URL = "goto.url">

Diagramme de collaboration : appel d'un document doc(send doc 'goto) <URL:http://s/goto.cfm?key=doc>

Page 17: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

EXEMPLE « INITIAL » : génération d’index

Exécution de "(send localhost 'goto-thème ‘th1)" en mode trace, àpartir d'une base d'exemple.

Page 18: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

AMORÇAGE STRUCTUREL : ITERATIONS

Documents se spécialise en Menus et Pages.

Généralisation de la composition des Menus.

Page 19: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

EXEMPLE INTERMÉDIAIRE : générationd’index

Exécution en mode trace de "(send m1 'goto)" qui génère désormaisun appel récursif pour chaque élément du menu.

Page 20: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

EVOLUTION (SUITE) - AMORÇAGE

La mise à disposition d’interpréteurs permet de créer(ou de s’appuyer sur) des bibliothèques de procédures.

RICERCAR : met en place des méta-scripts dontl’interprétation va générer dynamiquement les scripts

interprétés à leur tour pour aboutir au code HTML final.

Page 21: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

AMORÇAGE STRUCTUREL (n-1) :diagramme des classes

<<métaclasse>

Se compose

Modèles

Icons

Arrows

Lines

BKG

www

Images

Pages

0..*

Pages-en

post

1

img

1

1

img_incl

0..*

référence

1

Figures

1

1

est-une

1 1

1

Menus

1..*

Documents

Rubriques

1

1..*

{ordonnés}

La création d’une métaclasse Modèles et son paramétrageinstancient les différentes sous-classes de Documents.

Page 22: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

Architecture de Base, Réflexive, Orientée-document etCommune à l'intranet

Modèles<<métaclasse>>

BDI : BLvirtual : BLstruct : BLexpires : BLindexed : BLheader : Pagessig : Pagesbkg : BKGicon : Iconsbt : Iconstype

Icons

Arrows

Lines

BKG

Browsers

user_agent : A255

Subscr

Logs

www

Images

img : A50url : A255alt : Avar

Acl

1

Menus

1..*

1..*

1

1

Serveurs

ip : A32fqdn : A255db_name : A50srank : I

goto( )

0..*

Rubriques

1

1..*

1..*

1

Clients

ip : A32fqdn : A255

html( )

0..*

Users

1..*

1

utilise

0..*

Documents

url : A255key : A50active : BLnew : BLmodif : BLlog : BLtitle : A255descr : A255comment : AVARcr_date : DTmodif_date : DTindex_date : DTdual_key : Documentsicon : Iconsaut : Users

goto( )

1

0..*

Hébergé-par

Se compose

{ordonnés}

1..*

1

Requiert

Consulte

0..*

0..*

callback

1

img

1

post

1 1

Figures

ocr : BL

1

1 est-une

Pages-en

Pages

0..*img_incl

1 1

référence

0..*

Page 23: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

CONSÉQUENCES

modélisation « tout-document » de l’intranet

(les classes et les méthodes sont aussi des documents)

L’arborescence des serveurs est construite

dynamiquement (en menu ou en graphe...)

Index (menu)

DictionnaireIdentifiant a-pour-père

Page 24: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

CONSÉQUENCES (SUITE)

Les utilisateurs accèdent à n’importe quel document à

partir de n’importe quel serveur ;

La conception des documents (peut) référence(r) des

RURL au lieu des URL « traditionnelles » ;

Les méthodes implémentent concrètement la charte

graphique de l’entreprise ;

La gestion fédérée des utilisateurs implémente un début

de SSO (Single-Sign-On) ;

Les éléments de consultation donnent une mesure du

nombre d’accès aux Documents et non plus des hits

(gestion des caches et proxy).

Page 25: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

BOUCLE D’INTERPRÉTATION

Chaque serveur dispose de trois règles de réécriture :1. http://serveur/ http://serveur/goto.cfm?key=serveur2. /ricercar/* /goto.cfm?key=*

3. /meta-ricercar/* /meta.cfm?key=*Une requête d’utilisateur, émise sous la forme,

<RURL:/ricercar/doc> est transformée par le serveur, en

/goto.cfm?key=doc

L’appel de goto.cfm lance l’interpréteur Sys_Application :

(de Sys_Application (server method doc user)(ifn doc

(error-need-key)(ifn (exist doc)

(error-not-exist doc)(ifn (eq server (send doc ‘hébergé-par))(Sys_Application (send doc ‘hébergé-par) doc)(ifn (send doc ‘active)

(error-not-active doc)(ifn (check-acl doc user)(error-forbidden doc user)(let ((c (or (neq ‘goto method)

(send doc ‘isa) ) ))(progn (apply (send (send c ‘header) ‘url) doc)

(apply (send c ‘url) doc)(apply (send (send c ‘sig) ‘url) doc)

)) )) ))) )

Page 26: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

EXEMPLE : un Documents virtuel

Page 27: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

Page 28: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

Page 29: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

Page 30: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

CONCLUSION (1/2)

InfocentreFinancier

BD Oracle

...

...

EspaceSanté

(95PPP)BD Oracle

Annuaired'Entreprise

(Antilope)BD Oracle

Stats

AdminRevue

de PresseBDAccess

RIME

RICERCAR

Interpréteur

HTTPD

OS

dictionnaire

Application RICERCARApplication d'entreprise

L’architecture est opérationnelle depuis janvier 1996

intégration d’applications « internes » et des données

d’entreprise ;

L’indépendance du nommage par rapport à

l’implémentation et au stockage du référentiel dans un

SGBD fédéré permettra de migrer, le cas échéant,

vers un bus objet (CORBA ou DCOM ?)

Page 31: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

CONCLUSION (2/2)

Page 32: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998

Page 33: Thèse présentée en vue de l’obtention du grade de Docteur ... · Déployer enfin le client-serveur ... sur l’ensemble de l’entreprise ... (send doc ‘isa) ) )) (progn (apply

http://ricercar.homedns.org/ 6 février 1998