Réalisation d un Intranet : Cohérence d un Ensemble Réparti et Communicant, autour d une Architecture Réflexive



Documents pareils
Serveurs de noms Protocoles HTTP et FTP

Module BD et sites WEB

Groupe Eyrolles, 2004 ISBN :

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Configuration du FTP Isolé Active Directory

Java et les bases de données

Architectures web/bases de données

Les Architectures Orientées Services (SOA)

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Evidian Secure Access Manager Standard Edition

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

L3 informatique TP n o 2 : Les applications réseau

contact@nqicorp.com - Web :

Programmation Web. Introduction

Ubuntu Linux Création, configuration et gestion d'un réseau local d'entreprise (3ième édition)

UE 8 Systèmes d information de gestion Le programme

Programmation Internet Cours 4

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Solutions de gestion de la sécurité Livre blanc

NFP111 Systèmes et Applications Réparties

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

1 LE L S S ERV R EURS Si 5

Vulnérabilités et sécurisation des applications Web

Réaliser un inventaire Documentation utilisateur

1 Résolution de nom Introduction à la résolution de noms Le système DNS Les types de requêtes DNS...

Le modèle client-serveur

Présentation Internet

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Les services usuels de l Internet

Hébergement de sites Web

Annuaires LDAP et méta-annuaires

CORBA. (Common Request Broker Architecture)

Installation / Sauvegarde Restauration / Mise à jour

Bases de données Cours 1 : Généralités sur les bases de données

Patrons de Conception (Design Patterns)

Introduction aux Technologies de l Internet

Annexe C Corrections des QCM

Technicien Supérieur de Support en Informatique

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Conception des systèmes répartis

et les Systèmes Multidimensionnels

18 TCP Les protocoles de domaines d applications

Quel ENT pour Paris 5?

Le serveur HTTPd WASD. Jean-François Piéronne

NFS Maestro 8.0. Nouvelles fonctionnalités

Améliorer les performances du site par l'utilisation de techniques de Web Mining

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Cours CCNA 1. Exercices

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

LISTE DES HOTELS. Absolute Paris ( Auberge de jeunesse)

FileMaker Server 14. Guide de démarrage

Cisco Certified Network Associate

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Le service FTP. M.BOUABID, Page 1 sur 5

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Transfert d un site local vers un serveur. NPDS REvolution 13. Rédaction : Axel Relecture : Dev & Jpb

OPTENET DCAgent Manuel d'utilisateur

Service d'annuaire Active Directory

Imaginez un Intranet

Proxy et reverse proxy. Serveurs mandataires et relais inverses

De EnvOLE 1.5 à EnvOLE 2. Document pour l administrateur

Sécurisation des architectures traditionnelles et des SOA

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Venir au siège DomusVi à Suresnes

contact@nqicorp.com - Web :

Programmation Web Avancée Introduction aux services Web

Zemma Mery BTS SIO SISR. Session Projets Personnels Encadrés

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Installation de Premium-RH

Administration Système & Réseau. Domain Name System Historique & Concepts Fonctionnalités & Hiérarchie Requêtes & Base de donnée DNS

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

Authentification unique Eurécia

Gestion collaborative de documents

Mise en place d'un serveur d'application SIG au Conseil général de Seine-et-Marne

COMMUNICATION TECHNIQUE N TCV060 Ed. 01. OmniVista 4760 Nb de pages : 18 Date : URGENTE NON URGENTE TEMPORAIRE DEFINITIVE

Armand PY-PATINEC 2010

Manuel du logiciel PrestaTest.

Internet. Web Sécurité Optimisation

Mise à jour : Octobre 2011

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Des applications locales à l infonuagique: comment faire la transition?

Présentation SafeNet Authentication Service (SAS) Octobre 2013

DNS ( DOMAIN NAME SYSTEM)

Sécurité des réseaux sans fil

ADF Reverse Proxy. Thierry DOSTES

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Algorithmique et langages du Web

Transcription:

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 Ensemble Réparti et Communicant, autour d une Architecture Réflexive Soutenance devant le jury composé de : Richard CASTANET Jacques PITRAT Guy PUJOLLE Dominique SERET Léo CACCIARI Dominique PASTRE - Rapporteur - Rapporteur - Président - Directeur - Examinateur - Examinateur

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

maraichers pré st gervais pantin gambetta bobigny st fargeau la cerisaie villette gallieni1 charlebourg amandiers pyramide henri IV vangogh nanterre bus république créteil finance gonesse lagny thiais mutuelle rivoli lilas ivry charenton -ecoles glacière RAMEAU choisy pte italie lebrun vallès2 vallès3 bagnolet boissy-log chorusl13 lamarck duhesme dulong aqu72 barbès asnières ornano flandre louis blanc pleyel strasb st denis aubervilliers mirabeau st denis michelet garedunord villepinte vers COFINOGA vallès chanzy lachaise st ouen c97 courneuve croix nivert tolbiac stalingrad reuter gds aug ppp BOURDON CHAMPIONNET Belliard-Info BELLIARD b97 G2 ETOILE tvs tvsissy champs-elysées tvsbourdon defense-ese chatelet défense-ucd rueil LYON-BERCY AUBER airparif cité MOTTEPIQUET lachambeaudie italie GARE de LYON TOUL F.D.D.I. d97 bizot DENFERT bir-hakeim montessuy invalides2 balard javel vaugirard FONTENAY chanoinesse vers COFINOGA VALFONT NEUILLY-INFO NEUILLY NOISY-INFO VINCENNES att alc nadar CPT1 NOISY renater cpt joinville RENATER ARTS RACINE st maur nogent bry pavillons torcy boissy minimes la varenne berault2 berault stmaurcreteil vdf-ese sdhb sdhn noisiel varenne-imm routeur principal projet de routeur invalides miromesnil achères st gothard raspail igt halles arche Pte Paris massy rennes défense versailles rendezvous montparnasse caumartin nanterre-u p2t montrouge font/roses r. coty nanterre-folie point cht. de vincennes rueilgare havre-caum du jour parcdesceaux malakoff necker considerant SIT/IST/ERS le 11 Juin 1997 routeur existant projet de ligne ligne existante travaux en cours

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 plus anciennes Établir des règles de «publication» Gérer «uniformément» des données réparties sur l ensemble de l entreprise (charte graphique) Uniformiser la navigation pour minimiser l apprentissage Gérer les profils et droits d accès des utilisateurs Disposer de statistiques d ensemble

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)...

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,...

GÉRER «L INERTIE» DE L ENTREPRISE Disparité entre l état de l art et l adoption réelle des technologies dans l entreprise L entreprise cherche encore à résoudre efficacement le problème du déploiement du client-serveur La décentralisation est un frein à l adoption de solutions transversales coordonnées Définir des solutions qui s appuient sur les acquis de l entreprise, sans hypothéquer l avenir.

É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

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)

NOMMAGE : réduction des degrés de liberté 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)

CHEMIN : construire un référentiel Dictionnaire Identifiant Localisation Document de référence Liens hypertextes 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. Dictionnaire Identifiant Localisation X Document de référence Liens hypertextes

SERVEUR : un (méta) interpréteur La fédération et la synchronisation des dictionnaires (interfaces) assure l indépendance par rapport à serveur ; Génère (objet) objet Dico Index méta(objet) = serveur_y Index Dico http://serveur_y/ricercar/objet SERVEUR_y http://serveur_1/ricercar/objet Qui-a (objet)? Index SERVEUR_n Dico Index Index Dico SERVEUR_1 méta (objet) SERVEUR_2 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>).

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) ; activité nécessite Authentification Publication/MAJ {si besoin} utilise Stats/Config Auteur Navigation Admin Utilisateur spécialisation en classes ; écriture de méthodes pour générer dynamiquement les documents HTML finals.

AMORÇAGES (1/3) HYPOTHESE : le Web permet de généraliser le client-serveur en offrant une interface unique vers les SGBD de l 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, être résolue grâce à une application client-serveur. création d un serveur (une BD) qui référence les liens (donc les documents) ; écriture d une série de scripts qui interrogent cette BD et génèrent les documents HTML finals.

AMORÇAGES (2/3) HYPOTHESE : la cohérence des liens est réalisée par une application client-serveur interfacée par un ensemble de scripts. CONCLUSION :les scripts sont, à leur tour, susceptibles d être modifié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 scripts au 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 le biais 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 les documents de l intranet

AMORÇAGE (3/3) STRUCTUREL : Initialisation Diagramme de classes initial : Clients, Serveurs et Documents. <CFQUERY Name= "goto" DataSource= "bd"> SELECT URL FROM DOCUMENTS WHERE 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>

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.

AMORÇAGE STRUCTUREL : ITERATIONS Documents se spécialise en Menus et Pages. Généralisation de la composition des Menus.

EXEMPLE INTERMÉDIAIRE : génération d index Exécution en mode trace de "(send m1 'goto)" qui génère désormais un appel récursif pour chaque élément du menu.

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 dont l interprétation va générer dynamiquement les scripts interprétés à leur tour pour aboutir au code HTML final.

AMORÇAGE STRUCTUREL (n-1) : diagramme des classes {ordonnés} Documents <<métaclasse> Modèles Se compose Pages post img www Menus Pages-en 1 1 1..* 0..* référence est-une 1 Images Rubriques img_incl Figures 1 1 BKG Arrows Icons Lines La création d une métaclasse Modèles et son paramétrage instancient les différentes sous-classes de Documents.

Architecture de Base, Réflexive, Orientée-document et Commune à l'intranet Browsers user_agent : A255 Serveurs Clients ip : A32 fqdn : A255 Hébergé-par 1 ip : A32 fqdn : A255 db_name : A50 srank : I html( ) 1 Logs goto( ) 1..* 0..* Documents utilise 1 Users Subscr Requiert 1..* Acl Consulte 0..* 0..* callback url : A255 key : A50 active : BL new : BL modif : BL log : BL title : A255 descr : A255 comment : AVAR cr_date : DT modif_date : DT index_date : DT dual_key : Documents icon : Icons aut : Users <<métaclasse>> Modèles BDI : BL virtual : BL struct : BL expires : BL indexed : BL header : Pages sig : Pages bkg : BKG icon : Icons bt : Icons type goto( ) Pages post www Se compose {ordonnés} Menus 1 1..* Rubriques Pages-en img 1 référence 1 est-une 0..* Figures img_incl ocr : BL 1 1 Icons Lines Arrows BKG Images img : A50 url : A255 alt : Avar

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) Dictionnaire Identifiant a-pour-père

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).

BOUCLE D INTERPRÉTATION Chaque serveur dispose de trois règles de réécriture : 1. http://serveur/ http://serveur/goto.cfm?key=serveur 2. /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) ) ) )) ))) )

EXEMPLE : un Documents virtuel

CONCLUSION (1/2) Admin dictionnaire RIME Revue de Presse BD Access Stats OS Espace Santé (95PPP) BD Oracle... Application RICERCAR Application d'entreprise RICERCAR... HTTPD Interpréteur Infocentre Financier BD Oracle Annuaire d'entreprise (Antilope) BD Oracle 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?)

CONCLUSION (2/2)