NOUVELLES ARCHITECTURES APPLICATIVES



Documents pareils
Module BD et sites WEB

Architectures web/bases de données

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Présentation Internet

Gestion collaborative de documents

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Petite définition : Présentation :

Les Architectures Orientées Services (SOA)

Fiche de l'awt Intégration des applications

INTERNET, C'EST QUOI?

Annuaires LDAP et méta-annuaires

Chapitre 1 : Introduction aux bases de données

Nouvelles Plateformes Technologiques

Urbanisme du Système d Information et EAI

Fiche de l'awt Qu'est-ce qu'un Intranet?

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

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

ÉCONOMIE ET GESTION LYCÉES TECHNOLOGIQUE ET PROFESSIONNEL

Quel ENT pour Paris 5?

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Communiqué de Lancement

Logiciel Enterprise Guide Version 1.3 Windows

Présentation des CMS au CIFOM-EAA

10. Base de données et Web. OlivierCuré

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

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

Le modèle client-serveur

Dispositif e-learning déployé sur les postes de travail

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

Java pour le Web. Cours Java - F. Michel

Concepts et définitions

Programmation Internet Cours 4

Quels fondements, services fonctionnalités et limites de l intranet?

Cours CCNA 1. Exercices

TECHNOLOGIE SOFTWARE DU FUTUR. Logiciel de gestion d entreprise pour le Web

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Livre Blanc WebSphere Transcoding Publisher

AccessMaster PortalXpert

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

Les risques HERVE SCHAUER HSC

Business & High Technology

INFORMATIQUE ET SYSTEMES D INFORMATION

Environnements de Développement

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

ASP 3.0 Professionnel

Qu'est-ce que le BPM?

Programmation Web. Introduction

Google Apps for Business

Cloud Computing et SaaS

Proxy et reverse proxy. Serveurs mandataires et relais inverses

ABACUS vi Version Internet (release 2010)

Messagerie asynchrone et Services Web

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

WebObjects : des applications dynamiques pour Internet et Intranet. Approche technologique

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Infrastructure RDS 2012

Déjeuner EIM Enterprise Information Management. Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan

Politique et charte de l entreprise INTRANET/EXTRANET

Symantec Protection Suite Enterprise Edition Protection éprouvée pour les terminaux, la messagerie et les environnements Web

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

z Fiche d identité produit

Sessions en ligne - QuestionPoint

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Tarification comparative pour l'industrie des assurances

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Gestion des utilisateurs et Entreprise Etendue

Fiche méthodologique Rédiger un cahier des charges

CORBA. (Common Request Broker Architecture)

Internet. Glossaire. NOTE Au format PDF, en cliquant sur l image vous obtiendrez une séquence vidéo (QuickTime 3.0) de plus moins de une Minute.

CA ARCserve Backup. Avantages. Vue d'ensemble. Pourquoi choisir CA

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

Document d accompagnement pour le référentiel national du C2i niveau 2 Métiers de l environnement et de l aménagement durables

Intranet, ENT, ENS, Systèmes d information Quelles définitions, quels usages, quelles mises en place?

IBM CommonStore for SAP V8.4 fournit un nouveau support complet pour ILM à partir de la gestion de la rétention des données SAP

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

La gestion des documents administratifs à la Bibliothèque nationale de France

molis result portal Description fonctionnelle La structure système Configuration système requise Architecture du système

Microsoft Dynamics AX. Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

La GEIDE. Dans une solution GEIDE, il est possible d'associer au sein même d'un dossier:

Création outil multimédia de restitution du projet «l intergénérationnel : un levier pour un levier pour créer du lien social en milieu rural

A. À propos des annuaires

Cours Bases de données

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Projet : PcAnywhere et Le contrôle à distance.

Fiche de l'awt Le modèle peer to peer

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

La haute disponibilité de la CHAINE DE

Administration de systèmes

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Transcription:

NOUVELLES ARCHITECTURES APPLICATIVES Rapport à l'intention du partenariat de l'observatoire Technologique Ce rapport met en évidence les impacts des évolutions du Web sur les architectures applicatives et la façon dont les entreprises peuvent tirer parti de ce nouveau levier technologique pour améliorer leurs systèmes d'information. GROUPE DE TRAVAIL Etat de Genève Alain Bachmann Observatoire Technologique Nicolas Barrelet Centre des Technologies de l'information Yvan Excoffier Centre des Technologies de l'information Jean-Philippe Trabichet Ecole Supérieure d'informatique de Gestion Services Industriels de Genève Olivier Schmitt Division des Systèmes d'information Université de Genève André Le Grand Centre Universitaire d Informatique Michel Rod Service Informatique Union International des Télécoms Dominique Pittet Informatique Ville de Genève André Didelot Direction des Systèmes d'information MAI 1998 République et Canton de Genève Observatoire Technologique 78-82, route des Acacias Case postale 149 CH - 1211 Genève 8 http://www.geneve.ch/ot ot@etat.ge.ch Ce rapport n'engage pas la responsabilité des organismes ayant participé à son élaboration. Tout ou partie de ce document peut être utilisé en mentionnant la source. imprimé le 8 février 2001

Avant Propos AVANT PROPOS Qu est-ce qu une nouvelle architecture applicative? C est une conception particulière d application client-serveur qui utilise le Web comme réseau de communication. Ses particularités sont : le client fonctionne grâce à un logiciel unique appelé butineur ou navigateur, le serveur transfère tout ou partie des informations (données ou programmes) hébergées sur la même machine ou non. En quoi ces nouvelles architectures sont-elles intéressantes? Elles permettent notamment : de réduire les efforts de déploiement et de maintenance des applicatifs sur les postes clients, de rendre l'hétérogénéité de postes clients moins pénalisante, d'intégrer les anciennes applications dans les nouveaux développements. Contexte de l étude L'avènement du Web a considérablement changé la vision du monde informatique et des systèmes d'information. En effet, les "vagues" Web se succèdent à un rythme soutenu depuis la découverte d'internet par le grand public et les entreprises (voir figure ci-dessous). Conscients des potentiels technologiques et commerciaux de ces innovations, les acteurs du marché informatique se sont engouffrés dans la voie du Web avec des investissements financiers importants. Informatiques distribuées des métiers 20.. source Gartner Group (figure modifiée) Observatoire Technologique page 2 / 47

Avant Propos Le résultat est une véritable révolution technologique et sociale dont nous ne constatons, pour l'instant, que les prémisses des mutations engendrées au niveau des : télécommunications : Les communautés d'intérêts (publiques ou privées) poussent à la mise en place de voies de communications haut débit (autoroutes de l'information) et des moyens de s'y raccorder. Les entreprises se dotent de réseaux à grande capacité pour assurer des échanges intranet/internet à haut débit et mettent en place des moyens de communication avec l'extérieur via internet. Les particuliers se dotent également d'équipement leur permettant d'accéder à la société de l'information via le "grand réseau". On observe dès à présent une : utilisateurs : augmentation des capacités des réseaux et des technologies haut débit, augmentation de la capillarité des réseaux et des technologies d'accès (ADSL, XDSL, etc.) Les services développés autour des technologies du Web permettent à l'utilisateur d'être de plus en plus en contact direct avec le système d'information de l'entreprise et le monde extérieur, notamment grâce : à la banalisation de l'interface utilisateur et du poste de travail individuel au passage du mode de travail individuel au mode collaboratif et coopératif à l'aide d'outils tels que la messagerie, le forum, la base documentaire, le partage d'agendas, etc. Aujourd'hui, après les informations en ligne et l'usage d'outils de collaboration, c'est le cœur du système d'information de l'entreprise que le Web peut mettre "en ligne". En effet, d'une part en utilisant le "butineur" comme interface utilisateur, on offre l'accès aux "anciennes" bases de données existantes avec un "look" rajeuni en l'incluant dans la vision unifiée du "client universel" (une seule et même interface quelles que soient les informations auxquelles on accède). D'autre part, en mettant en rapport le monde "Objet" et les systèmes distribués, le Web joue le rôle de catalyseur des nouveaux développements. Ces deux possibilités complémentaires permettent d'intégrer l'existant et l'innovant dans une vision d'avenir, notamment en s'appuyant sur les standards émergeants de l'internet, les "middlewares", ainsi que sur la notion de composants réutilisables. Le présent rapport met en évidence les impacts de l'évolution du Web sur les architectures applicatives et la façon dont les entreprises peuvent tirer parti de ce nouveau levier technologique pour dynamiser leurs systèmes d'information. Observatoire Technologique page 3 / 47

Avant Propos GUIDE DE LECTURE En raison de la nature même des systèmes d information, ce document vise plusieurs publics. Afin d en faciliter la lecture, les chapitres regroupent (dans la mesure du possible) les thèmes relevant d une même compétence. Le lecteur trouvera donc des chapitres décrivant des technologies informatiques sous leurs aspects techniques alors que d autres décriront ces mêmes technologies sous un angle plus adapté à leur gestion. Le guide de lecture ci-dessous introduit brièvement le thème de chaque chapitre. Chapitre 1 : Introduction Thème Objectifs et limites de l'étude Contenu Description d'une décomposition possible des différentes architectures en quatre types et proposition d'une grille d analyse comme fil conducteur du rapport. Chapitre 2 : Le Web dans les systèmes d information de l entreprise Thème Quels sont les différents types d'applications Web et leurs usages en entreprise? (quoi, pourquoi et pour quels usages) Contenu Description des 4 architectures type, des techniques informatiques qu elles mettent en œuvre, des applications qu elles permettent de réaliser, et de leurs limites et cadres d usage. Chapitre 3 : Le Web dans les architectures applicatives et composants Thème Quelles sont les architectures et comment ça marche? (comment mettre en œuvre) Contenu Description technique des architectures et de leurs composants. Chapitre 4 : Les outils et standards du Web Thème Quels sont les outils et les standards utilisés? (avec quoi mettre en œuvre) Contenu Description des standards actuels et des outils nécessaires par rapport au cycle de vie du système d information. Chapitre 5 : Conclusion Thème Synthèse de l'étude & recommandations Contenu Présentation des recommandations stratégiques, opérationnelles, humaines et organisationnelles portant sur le développement et la maintenance des applications. Chapitre 6 : Etudes de cas Thème Expériences et cas pratiques Contenu Etat de Genève Banque Wells Fargo, Etats-Unis Siemens Nixdorf Chapitre 7 : Annexes Contenu Les références numériques et papier utilisées Outils actuels Glossaire Observatoire Technologique page 4 / 47

Avant Propos Tables des matières 1. OBJECTIFS ET ORGANISATION DE L'ÉTUDE...6 1.1. Mandat... 6 1.2. Objectifs et résultats attendus... 6 1.3. Déroulement de l'étude... 6 1.4. Méthode de travail... 7 2. LE WEB DANS LES SYSTEMES D'INFORMATION DE L'ENTREPRISE...8 2.1. Introduction... 8 2.2. Web Statique... 8 2.3. Web Dynamique... 10 2.4. Web Objets distribués... 11 2.5. Web Transactionnel... 12 3. LE WEB DANS LES ARCHITECTURES APPLICATIVES ET SES COMPOSANTS...13 3.1. Introduction... 13 3.2. Web Statique... 13 3.3. Web Dynamique... 15 3.4. Web Objets distribués... 19 3.5. Web Transactionnel... 21 4. LES OUTILS ET STANDARDS DU WEB...22 4.1. Introduction... 22 4.2. Web Statique... 22 4.3. Web Dynamique... 23 4.4. Web Objets distribués... 24 4.5. Web Transactionnel... 25 5. CONCLUSION...27 5.1. Le Web pour la publication d'informations... 27 5.2. Le Web pour les applicatifs d'entreprise... 28 5.3. Recommandations stratégiques... 29 5.4. Recommandations opérationnelles... 30 5.5. Recommandations relatives au contexte humain et aux compétences... 32 5.6. Récapitulation des applications type... 33 6. ETUDES DE CAS...34 6.1. Étude de cas (pages Web passives et actives)... 34 6.2. Banque Wells Fargo aux Etats-Unis... 39 6.3. Siemens Nixdorf, Allemagne... 40 7. ANNEXES...42 7.1. Résumé des outils actuellement existants... 42 7.2. Références... 43 7.3. Glossaire... 47 Observatoire Technologique page 5 / 47

Objectifs et organisation de l'étude 1. OBJECTIFS ET ORGANISATION DE L'ETUDE 1.1. Mandat Dans le contexte de l'émergence du "Web" au niveau de l'accès dynamique aux données, l'observatoire Technologique et ses partenaires ont décidé de mandater un groupe de réflexion pour étudier le thème des "Nouvelles Architectures Applicatives" avec les objectifs suivants : montrer les enjeux des nouvelles architectures applicatives pour les entreprises, décrire les principes des nouvelles architectures applicatives et leurs impacts sur les architectures applicatives traditionnelles, positionner les nouveaux outils de programmation dans les architectures applicatives, présenter au partenariat de l'observatoire Technologique un rapport contenant les résultats de ses travaux de recherche. 1.2. Objectifs et résultats attendus Après discussion et mûre réflexion, le groupe s'est accordé sur les objectifs suivants: 1) Evaluer l'impact du Web sur les nouvelles architectures applicatives en termes: d'enjeux stratégiques et de risques liés à leur mise en oeuvre dans l'entreprise, d'incidence sur l'organisation du travail et la culture d'entreprise, de contextes d'emploi typiques (études de cas), d'évolutions probables, de démarche de mise en oeuvre. 2) Produire un rapport de synthèse rassemblant les résultats obtenus. (le présent document) 1.3. Déroulement de l'étude Dans un premier temps, le groupe a cherché à caractériser les domaines sur lesquels l'impact du Web est le plus fortement marqué. La figure ci-dessous est le résultat de cette première analyse. Elle montre bien, de manière non exhaustive, comme le spectre de cette problématique est large et complexe. Humain Mainframe Existant Humain (Dvpt) Distribution Objet Impact Web Migration Architecture Outils Dvpt Sécurité Méthodes Cette diversité a conduit le groupe à catégoriser différentes architectures et à définir une grille d analyse permettant d'apprécier leurs impacts respectifs sur chaque domaine. Observatoire Technologique page 6 / 47

Objectifs et organisation de l'étude Ces catégories sont : Web statique, Web dynamique, Web objets distribués, Web transactionnel, et sont définies en détail dans le chapitre suivant. 1.4. Méthode de travail Des sous-groupes ont été constitués pour étudier ces différentes catégories, à savoir : Catégories Web statique Web dynamique Web objets distribués Web transactionnel Coordination Sous-groupes J.-P. Trabichet, D. Pittet, A. Le Grand O. Schmitt, Y. Excoffier A. Didelot, N. Barrelet, M. Rod A. Bachmann Ensuite une grille d'analyse commune à toutes les architectures a été définie et adoptée: Points analysés Détails Définition et caractéristiques de l architecture brève description technique de l architecture qui caractérise les types d applications qu elle autorise Applications type mention de quelques exemples d applications génériques Limites et cadre d'usage utilisation ad'hoc de l'architecture analysée Architecture et composants explication des schémas des architectures et description du rôle fonctionnel de ses composants Articulation interactions entre les composants de l architecture analysée Standards indication des standards du marché avec des appréciations sur leur pérennité Environnement fonctionnel description des matériels et logiciels nécessaires au fonctionnement des applications d'une architecture particulière Outils de production description des matériels et logiciels nécessaires au développement des applications d'une architecture particulière Gestion description des moyens humains et techniques nécessaire à la maintenance et l exploitation des applications d'une architecture particulière Evolution possibilités d évolution de ces architectures d un point vue fonctionnel et technique Recommandations conseils relatifs au (bon) choix de l'architecture, au développement d'applications spécifiques et à leur gestion Tout au long de l'étude, les sous-groupes ont confronté et partagé leurs points de vues et affiné les objectifs à atteindre. Le rapport final qui représente la synthèse des travaux du groupe a été établi sur la base des documents de chaque sous-groupe. Observatoire Technologique page 7 / 47

Le Web dans les systèmes d'information de l'entreprise 2. LE WEB DANS LES SYSTEMES D'INFORMATION DE L'ENTREPRISE 2.1. Introduction Le World Wide Web (ou Web) est constitué d'un ensemble de données distribuées à travers le réseau sous la forme de documents hypertexte et hypermédia. Les données sont décrites dans un format particulier appelé HTML (HyperText Markup Language) et transférées sur le réseau par un protocole standard appelé HTTP (HyperText Transfer Protocol). Il inclut également les logiciels clients permettant d'accéder à ces données, appelés navigateurs ou butineurs. A l'origine simples serveurs de fichiers, les serveurs Web permettent maintenant d'appeler des applications et d'accéder à des bases de données. Ce chapitre décrit les différentes architectures dans l'ordre croissant de complexité en termes de possibilités applicatives et de mise en œuvre. Pour chaque architecture, les points suivants sont analysés : Définition et caractéristiques de l architecture : brève description de l architecture d un point de vue technique qui caractérise les types d applications qu elle autorise, Applications type : quelques exemples d applications génériques, Limites et cadre d'usage : circonscrire l utilisation ad'hoc de chaque architecture (seront notamment considérés, les volumes d information, la sécurité, etc.). 2.2. Web Statique Définition et caractéristiques On qualifie de Web statique les architectures servant des données prédéfinies sous la forme de pages. Une page rassemble un contenu informationnel. Elle est stockée dans un ou plusieurs fichiers. Une page monomédia est composée d'un seul fichier, alors qu'une page multimédia est composée de plusieurs fichiers. Lorsque le butineur accède à une page qui correspond à plusieurs fichiers, sauf configuration contraire du butineur, il demande au serveur Web le téléchargement de l'ensemble des fichiers composant la page. Une page est désignée par le nom du fichier qui archive son contenu sous la forme d'un URL (Uniform Resource Locator). Une demande d'accès à la page fait référence à ce nom. La gestion des fichiers est laissée à la charge du système d'exploitation de la machine sur laquelle s'exécute le serveur HTTP. Les pages peuvent contenir du texte, des images, des sons, des séquences vidéo, des liens vers d autres documents sur le même site ou non. Ces documents peuvent également contenir des références sur des adresses électroniques pour envoyer des messages. Le butineur permet le parcours hypertexte de ces pages, à partir de leur nom de fichiers, c'est- à-dire en tenant compte de l'endroit où elles sont stockées. Observatoire Technologique page 8 / 47

Le Web dans les systèmes d'information de l'entreprise Applet A l'origine purement textuelles ou graphiques, ces pages prédéfinies peuvent désormais encapsuler des applications s'exécutant sur le poste client, nommées applets. Contrairement aux applications habituelles, les applets fonctionnent quels que soient l'ordinateur et son système d'exploitation. Les applets sont des applications informatiques téléchargeables sur un poste client et ne pouvant en perturber les ressources physiques. Les applications s exécutent sans accès disque et ne permettent pas de sauver des informations sur le poste client, ce qui garantit l absence de virus pour l utilisateur. Client Serveur Pages HTML & applets Navigateur WEB HTTP Serveur Environnement WEB Applications type Documentation en ligne, aide en ligne Archivage documentaire Catalogue produits Informations touristiques et/ou thématiques, actualités, journaux Renseignements (sur les procédures administratives par exemple) Rapports et publications (feuilles d avis officielles, textes de lois, comptes-rendus de commission) Règlements Formation, téléenseignement Avec l'usage d'applets: Calculs bancaires (investissements) Télébanking Version de démonstration de logiciel Service de messagerie sans abonnement Bannières d informations dynamiques Limites et cadre d'usage Partage de la même structure Etant donné le système de gestion de stockage des pages, ce type d'architecture est tout à fait adapté à la gestion d'informations, les pages pouvant être composées de manières très différentes. Volume d'information Les limites sont déterminées par la masse des documents. En effet, si les documents sont très nombreux, il est préférable gérer les pages avec un logiciel spécifique plutôt qu'avec le système Observatoire Technologique page 9 / 47

Le Web dans les systèmes d'information de l'entreprise d exploitation de l ordinateur. Un système de gestion de base de documents comme Lotus Notes/Domino convient parfaitement à cet usage. Fréquence des mises à jour Si les documents existants sont fréquemment mis à jour, la gestion des liens entre documents pose un problème important. Certains documents peuvent avoir été détruits ou déplacés, rendant caducs des liens dépendants du nom du fichier contenant le document référencé. La réorganisation des dossiers stockant les différents fichiers est une opération particulièrement sensible. Si les nouvelles informations sont régulièrment stockées dans de nouveaux fichiers, ce qui est le cas par exemple pour des applications du type journaux électroniques, le problème de la gestion ne se pose pas pour ces nouveaux documents. Applet Pour des pages contenant des applets, cette architecture est particulièrement intéressante dans le cadre des «Network computers». En effet, les NC sont basés sur du code distribuable téléchargé à chaque usage. 2.3. Web Dynamique Définition et caractéristiques Les pages Web dynamiques sont générées par un traitement applicatif au niveau du serveur. Ce traitement est déclenché automatiquement par la requête du client. Elles ne sont donc pas enregistrées explicitement comme les pages statiques de l'architecture précédente. Modèles de pages HTML Navigateur WEB HTTP Serveur WEB Interface Passerelle Application Environnement WEB Environnement classique Applications type Recherche documentaire sur internet (moteur de recherche) Interrogation de bases de données : annuaires, horaires, formulaires Réservation tenant compte des ressources disponibles (chambres d'hôtel, billeterie, agendas, ). (attention toutefois aux limites du transactionnel avec Internet!) Limites et cadre d usage Les pages Web dynamiques sont essentielles pour les développements d'applications traitant d'informations qui évoluent dans le temps, par exemple, la diffusion d'informations boursières. Observatoire Technologique page 10 / 47

Le Web dans les systèmes d'information de l'entreprise Cette architecture est bien adaptée pour des documents basés sur des structures homogènes. Les informations d'une base de données, par exemple, sont présentables de la même façon en utilisant des modèles de pages HTML. La mise à jour des informations n'implique aucune retouche des modèles de page ou des traitements. Il est évidemment possible de coupler cette architecture à la précédente. Parmi les hybridations possibles, celles qui marient le téléchargement dynamique d'applets aux interrogations de bases de données présente presque les caractéristiques d'une authentique application client-serveur. 2.4. Web Objets distribués Définition et caractéristiques Cette architecture est une combinaison des technologies Web et Objets distribués permettant le traitement coopératif entre le client et le serveur. Elle étend l architecture précédente par l ajout d une partie traitement sur les clients. Ainsi l environnement fonctionnel de ce type d architecture repose sur une coopération entre deux traitements distribués sur le serveur et sur le client. La partie sur le serveur peut elle-même être distribuée sur la même machine ou non. Les architectures basées sur les objets distribués deviennent un standard pour la mise en œuvre des applications réparties. Les apports spécifiques du Web dans le cadre de la technologie objets distribués sont: la possibilité de s'affranchir des contraintes de déploiement des objets sur les postes clients. l'inutilité du développement d'une interface client pour se connecter au "Middleware" objet. Environnement WEB Pages HTML et applets Navigateur WEB HTTP Serveur WEB Applets client Interface Passerelle Application Environnement classique Applications types Applications distribuées, Coopération d'applications existantes. "Revamping" (encapsulation d applications dans un autre environnement fonctionnel) Limites et cadre d'usage Le cadre d'usage typique est l'intégration d'applicatifs hétéroclites existants. En effet, si la technologie purement middleware rend possible la coopération entre les différents applicatifs de l'entreprise, il n'en reste pas moins nécessaire qu'un client spécifique à chaque plate-forme doit être développé pour chacune d'entre elles. D'où l'intérêt du Web de n'en nécessiter qu'un seul. Observatoire Technologique page 11 / 47

Le Web dans les systèmes d'information de l'entreprise 2.5. Web Transactionnel Définition et caratéristiques Par nature le Web standard n'est pas transactionnel, c'est-à-dire que chaque requête du client est indépendante de la précédente. Autrement dit, il n'existe pas de contexte et chaque requête est considérée comme une nouvelle requête. Or certaines applications imposent des contraintes de fonctionnement habituellement assurées par les systèmes transactionnels. La gestion des transactions qui ne peut être assurée par les protocoles du Web (HTTP) doit donc être confiée à d'autres composants installés sur le serveur (SGBD, moniteur transactionnel). Pages HTML et applets Environnement WEB Navigateur WEB HTTP Serveur WEB Moniteur Transactionnel Applets client Interface Passerelle Application Environnement transactionnel Applications types Réservations : inscriptions, locations de biens, Financier : commerce, comptabilité, Limites et cadre d'usage Le transactionnel est nécessaire pour réaliser un traitement : qui s'effectue en totalité ou pas du tout (annulation de la partie débutée), qui relie deux états cohérents du système, qui n'a pas d'effet sur d'autres traitements qui se déroulent simultanément, qui assure que les modifications ne seront pas perdues une fois celui-ci achevé. Par extension, le transactionnel est aussi souvent associé à des questions de charge. En effet, en cas de surcharge d'un serveur, l'influence d'une requête sur d'autres peut croître démesurément en l'absence d'un mécanisme de contrôle approprié. Dans ce cas, l'apport du transactionnel peut constituer une réponse à ce problème. Pour les cas simples, il est préférable d'utiliser des solutions "pseudo" transactionnelles (par ex : cookies, SGBD) plutôt que de mettre en œuvre une solution transactionnelle complexe et coûteuse. Observatoire Technologique page 12 / 47

Le Web dans les architectures applicatives et composants 3. LE WEB DANS LES ARCHITECTURES APPLICATIVES ET SES COMPOSANTS 3.1. Introduction Ce chapitre présente un bref survol des composants des différentes architectures applicatives basées sur le Web afin d illustrer les mécanismes mis en jeu. Pour ce faire on ira du plus simple au plus complexe, sans prétendre être totalement exhaustif. Il faut garder à l esprit que les classifications introduites ici ne sont pas aussi étanches qu on pourrait le croire et que dans les faits ces architectures servent parfois dans le cadre d une même application. 3.2. Web Statique Architectures et composants Architecture serveur de fichier (sans applet) Machine client Serveur HTTP documents Page Initiale Affichée Nouvelle page hyperlien affichage Navigateur Le serveur HTTP (encore appelé serveur Web) est un serveur de fichiers : un hyper-lien est l adresse d une ressource (fichier) résidant sur la machine serveur, cet hyper-lien est l adresse d une ressource hébergée sur le serveur. Lorsque le serveur reçoit une demande d accès à cette ressource, il identifie le fichier à partir de cette adresse et l envoie (éventuellement en le codant) sur la machine du poste client pour y être affiché. Les ressources sont des fichiers contenant des documents hypertextes, des images, des sons, des séquences vidéos ou des animations graphiques. Les ressources sont demandées au serveur puis affichées sur le poste client par un logiciel spécifique appelé butineur ou navigateur («browser» en anglais). Les fonctionnalités du butineur peuvent être étendus par des plugs-in. Certains sont spécialisés dans les effets sonores, d'autres dans la video ou encore dans les animations en 3 dimensions. Un plug-in dépend de la machine et de son système d exploitation. Observatoire Technologique page 13 / 47

Le Web dans les architectures applicatives et composants Architecture serveur de fichier (avec applet) Une applet est un programme Java contenu dans une page HTML qui s exécute via une machine virtuelle. Cette machine virtuelle est un plug-in du butineur. Les applets sont indépendantes d une machine et de son système d exploitation puisqu' exécutées par une machine virtuelle. Machine client Serveur HTTP documents Page Initiale Affichée Nouvelle page hyperlien affichage applet Navigateur applet Cette architecture repose également sur un serveur de fichiers, certains de ces fichiers sont des applets dont l hyperlien est contenu dans une page HTML. Lorsqu une page contenant une applet est demandée, tout se passe comme pour l architecture précédente. Le butineur qui affiche cette page, détecte un lien sur une applet, il la demande aussitôt au serveur qui la lui renvoie comme n importe quel autre fichier. Lorsque ce fichier qui contient une application est entièrement reçu sur le poste client, le butineur démarre son exécution. Gestion de l application Il faut distinguer différentes responsabilités de gestion, en termes de contenu informationnel et d exploitation de l application. En termes d information, les responsables sont le producteur de l information (auteur), le graphiste, l éditeur (celui qui assemble les contenus). Un autre rôle a trait à la mise en place de notes éditoriales ou de charte graphique. L éditeur a la responsabilité de les appliquer. La responsabilité de l exploitation de l application échoit à un webmestre («webmaster») qui est généralement et de préférence un informaticien. Applet: Le développement d applets nécessite des connaissances en programmation objet. Des informaticiens sont nécessaires. Remarque Ne pas oublier qu'au-delà d'un temps de réponse de quelques secondes, l'utilisateur perd patience et se décourage. Si lors de la consultation d informations sur un Intranet, généralement un réseau à hauts débits, la taille des pages d information n est pas critique pour les temps de réponse, il en va tout autrement dans le contexte d'internet. En effet, ceci constitue un piège pour les personnes qui fournissent de l information à destination d un internet et qui testent la consultation de ces pages dans le cadre d un intranet. Dans la mesure où l on ne maîtrise pas la qualité des communications (bande passante) disponibles pour les postes clients, ainsi que leur configuration (système d exploitation, navigateur Web), il faut rester prudent et limiter la taille des images, animation, éviter l utilisation d applets (téléchargement)... Il faut également s en tenir aux standards (HTML, JavaScript ) supportés par tous les types de navigateurs (plus petit commun dénominateur). Il faut donc utiliser judicieusement les images, les sons et les séquences vidéo car ils mettent du temps à se télécharger. Observatoire Technologique page 14 / 47

Le Web dans les architectures applicatives et composants 3.3. Web Dynamique Schéma et articulation des composants La communication avec le serveur (via l Internet ou un Intranet) est assurée par les protocoles HTTP et TCP/IP. Le serveur Web peut demander l exécution de traitements particuliers par des serveurs applicatifs (en particulier des serveurs de bases de données). Il retourne ensuite à l utilisateur le résultat du traitement sous forme de pages HTML. Dans le cas d un environnement extranet, des firewalls (de préférence à plusieurs niveaux) protégeront le réseau interne de l entreprise vis à vis de l internet. Le fonctionnement du Web dynamique peut être schématisé de la manière suivante : Machine client Serveur HTTP documents Serveur Base de données Page Initiale Affichée hyperlien applet SGBD Navigateur Nouvelle page affichage Script L utilisateur, via son navigateur, passe de l information au serveur Web. Le serveur Web transmet cette information au script CGI. Le script CGI traite l information, et si nécessaire effectue des appels à des applications extérieures. Il retourne ensuite le résultat du traitement au serveur Web. Le serveur Web retourne l information à l utilisateur (pages HTML). Les pages Web actives peuvent comporter tous les éléments décrits comme composants des pages Web passives. Elles comportent en outre des éléments (non-html) exécutés par les serveurs. Ainsi on peut diviser les composants en deux catégories : Composants exécutés par le poste client Composants Scripts Java Applets ActiveX Controls Description JavaScripts, VBScripts (Internet Explorer) Développés à l aide du JDK (Java Devpmt Kit) Nécessitent un navigateur supportant ActiveX Composants exécutés par le serveur Composants Scripts Scripts ou programmes CGI Description JavaScripts, VBScripts C, C++, Perl Scripts, Shell scripts Observatoire Technologique page 15 / 47

Le Web dans les architectures applicatives et composants ISAPI NSAPI Objets exécutés par le serveur Connexion bases de données Extensions pour un serveur Microsoft pour compléter/remplacer les Scripts CGI Extensions pour un serveur Netscape pour compléter/remplacer les Scripts CGI Java Servlets, ActiveX Design-Time Controls Au moyen de «drivers» natifs Via ODBC, JDBC Scripts exécutés (côté serveur ou côté client) Ces scripts permettent soit d effectuer directement des traitements (traitements «légers»), soit d assurer l intégration d objets (ActiveX, Java ) prenant en charge le traitement. Dans ce dernier cas, les scripts assurent l interfaçage entre la page HTML et l objet, de manière à fournir à l objet l information nécessaire au traitement (en entrée) et à récupérer le résultat du traitement effectué par l objet (en sortie). Ces scripts peuvent être de type JavaScript ou VBScript. Pour les différencier, on peut dire que VBScript est un peu plus puissant que JavaScript, mais spécifique aux plates-formes Microsoft. JavaScript est quant à lui en train de devenir un standard. Scripts CGI (Common Gateway Interface) Les scripts CGI sont des programmes externes qui sont exécutés par le serveur Web. Ils font office de passerelle entre le serveur Web et d autres applications. La complexité de l interfaçage d une application externe avec le Web est ainsi réduite à quelques procédures de base, communes, quelle que soit la plate-forme. Les scripts CGI peuvent être réalisés dans presque tous les langages capables de produire un fichier exécutable. Classiquement, ils sont écrits en C, C++, Perl ou UNIX Shell scripts. A l origine ces types de scripts étaient les seuls disponibles pour effectuer des traitements au niveau des serveurs Web. Aujourd hui, on peut souvent avantageusement remplacer l utilisation de tels scripts par l appel à des objets. On obtient ainsi un gain appréciable en termes de performance, de possibilité de réutilisation et de facilité de développement et de mise au point. Objets exécutés par le serveur De plus en plus d objets «métiers» sont développés pour effectuer des traitements «lourds» au niveau de serveurs applicatifs. Ces objets peuvent être intégrés dans des applications Client/Serveur classiques ou appelés depuis des pages HTML. Dans ce dernier cas le serveur Web demande au serveur applicatif d effectuer un traitement, récupère le résultat de ce traitement, et le retourne à l utilisateur sous forme de page HTML. L avantage de cette méthode réside dans la simplicité du client: seul un navigateur Web est requis, puisque les communications se limitent strictement au protocole HTTP. Cette approche est à privilégier lorsque l on n a pas de contrôle sur les postes clients (Internet) ou lorsque l on souhaite minimiser les coûts de mise à jour des postes clients (Intranet). Les objets exécutés par le serveur sont principalement de deux types : les «Java Servlets» et les «ActiveX Design-Time Controls» Les Java Servlets sont exécutés par le Web Server au sein d une Virtual Machine et peuvent communiquer avec d autres objets sur des systèmes distribués via différents middlewares. Les ActiveX Design-Time Controls s intègrent aux pages Web via des scripts VBScripts ou JavaScripts. Ils peuvent communiquer avec d autres objets sur des serveurs distribués principalement via Observatoire Technologique page 16 / 47

Le Web dans les architectures applicatives et composants l architecture COM/DCOM de Microsoft. Cette architecture présente l avantage d être à maturité. Par contre, elle est spécifique aux environnements Microsoft. Objets exécutés par le client Ces objets disponibles sur le serveur sont téléchargés (protocoles HTTP et TCP/IP) et exécutés par le client. Ils sont principalement de deux types : les Java Applets et les ActiveX Client Controls. Les problèmes principaux posés par cette approche sont liés d une part aux temps de réponse: seul le téléchargement d objets de petite taille est possible dans des délais raisonnables. D autre part, le fait que l application vienne s exécuter sur le client pose des problèmes de sécurité (virus, code malin...). Les approches prises concernant les Java Applets et les ActiveX Client Controls sont très différentes. Le Java Applet est chargé à chaque lecture de la page. La précompilation du programme sur le serveur en format byte code, le rend universel, indépendant du matériel, s exécutant sur n importe quelle architecture. Les navigateurs Internet disposent d une machine virtuelle Java pour l exécution des applets Java, ainsi que d une sandbox, qui isole cette machine virtuelle du disque local et du réseau. L ActiveX Client Control, n est téléchargé que s il n est pas déjà présent sur le client. Il nécessite un Navigateur Web supportant l architecture ActiveX. Il est plus puissant dans la mesure où il n est pas limité par une sandbox, mais de ce fait également moins sûr. En résumé, on peut privilégier les ActiveX dans des environnements Intranets basés sur une architecture Microsoft; ils permettront d effectuer une distribution (et mise à jour) automatique d objets à destination des postes clients. On peut privilégier les Java Applets dans des environnements Internet (hétérogènes), en se limitant à des objets de petite taille. Utilisation d autres protocoles (approche hybride): Lorsque l on a besoin de gestion des sessions, d'approche transactionnelle, de sécurité, il peut être intéressant de combiner les outils Web avec d autres outils. Des objets ActiveX ou des Applets Java se chargeront alors (au niveau du client) de communiquer avec des objets métier sur des serveurs applicatifs via des protocoles autres que HTTP. Dans ce cas, les navigateurs Web doivent impérativement supporter soit Java, soit ActiveX, et leur configuration doit être sous le contrôle du département informatique. Cette approche sera donc essentiellement utilisée dans le cadre d Intranets pour mettre à disposition via le Web des applications critiques pour l entreprise. Connexion aux bases de données L accès aux bases de données constitue l une des applications majeures des pages Web actives, et dispose de ce fait de composants spécifiques. La plupart des solutions pionnières pour l accès aux bases de données étaient basées sur la «Common Gateway Interface (CGI)» associée à des applications externes spécifiques. Cette solution présente le désavantage de nécessiter un «process» par requête, et donc de charger considérablement le serveur. Microsoft et Netscape ont alors mis à disposition des APIs pour contourner ce problème: Internet Information Server API (ISAPI) pour Microsoft et Netscape Server API (NSAPI) pour Netscape. De même les fournisseurs de SGBDR se sont rapidement intéressés à l Internet, et on a vu fleurir les solutions mettant en oeuvre des APIs propriétaires ou l API SQL natif. Aujourd hui la tendance, semble être de plus en plus à l utilisation des architectures suivantes : ODBC de Microsoft: API multi-bases permettant à un groupe unifié de fonctions d opérer avec la plupart des bases de données SQL. JDBC de Javasoft: API multi-bases également, mais ne mettant pas en oeuvre les fonctions de bas niveau utilisées par ODBC. Microsoft couple ODBC avec son architecture d accès aux données ActiveX Data Object (ADO): La plate-forme d accès aux donnéees de Microsoft permet à un serveur Web d exécuter des requêtes Observatoire Technologique page 17 / 47

Le Web dans les architectures applicatives et composants sur un serveur de bases de données en utilisant les architectures ADO et ODBC. La base de données doit donc être accessible via ODBC (disponibilité de drivers ODBC). Des composants de type ActiveX Design-Time Control se chargent d assurer le formattage des données sous forme de pages HTML retournées à l utilisateur. Accès aux données via JDBC: En environnement Java, JDBC fournit une interface standardisée d accès aux bases de données relationnelles. Une Applet Java exécutée au niveau du poste client permet alors l interrogation de la base de données et l affichage du résultat de la requête. Les éditeurs de SGBD proposent également des architectures ouvertes sur le web, par exemple Oracle Web Request Broker et Informix Web Datablade. Ces architectures reposent sur des principes différents d'un fournisseur à l'autre. Gestion de l application La gestion d applications Web mettant en oeuvre des pages Web actives concerne trois types de personnes : Les personnes qui effectuent le «design» de l application Les personnes qui gèrent l environnement technique Les personnes qui ont la charge de l information et de sa mise à jour Chacune de ces catégories comprend elle-même, un certain nombre de fonctions distinctes: Design de l application: Il sera essentiellement réalisé par des développeurs et intégrateurs et marginalement par quelques super-users (scripts, accès simples à des bases de données). La partie graphique pourra avantageusement être prise en charge par un graphiste, afin de donner un aspect plus professionnel à l application. Dans la mesure ou l image de l entreprise est en jeu (Extranet), le «design» devra répondre à des normes, mises en place généralement par une commission définissant les normes et standards de l entreprise. Gestion de l environnement technique: La gestion de l environnement technique sera assurée par des ingénieurs systèmes ou «Webmasters». Leur mission sera d assurer la disponibilité de la plate-forme technique et la sécurité de l environnement. Le spectre de connaissances requis est assez large, dans la mesure où de telles applications touchent à de nombreux domaines : réseau, communications, sécurité, base de données Les personnes en charge de l environnement technique devront absolument éviter le piège qui consiste à prendre également la responsabilité du contenu (information publiée). Observatoire Technologique page 18 / 47

Le Web dans les architectures applicatives et composants 3.4. Web Objets distribués Schéma et articulation des composants Deux cas sont à considérer : 1) Serveur Objet Machine client Serveur HTTP Serveur Base de données documents Page Initiale Affichée hyperlien applet SGBD Nouvelle page Script client Navigateur Instance de classe ActiveX, Java ou Corba Classe ActiveX, Java ou Corba JDBC/ODBC ODMG Serveur Objets L'application peut être distribuée sur un ou plusieurs serveurs. Le résultat du ou des traitements est incorporé dans une page Web retournée à l'utilisateur. Cette architecture peut être utilisée pour le Web Objet Internet en permettant à tout client possédant un butineur HTML d'utiliser l'application. 2) Client Objet Machine client Serveur HTTP Serveur Base de données documents Page Initiale Affichée hyperlien applet SGBD Navigateur Nouvelle page Script applet JDBC/ODBC ODMG Instance de classe ActiveX, Java ou Corba Classe ActiveX, Java ou Corba Serveur Objets Le poste client demande au serveur Web le chargement d une applet qui permettra un dialogue objet entre ce dernier et le serveur d objets. Le serveur d objets peut faire des requêtes auprès de serveurs de base de données au moyen d interfaces ODBC/JDBC. Observatoire Technologique page 19 / 47

Le Web dans les architectures applicatives et composants Le protocole HTTP est utilisé pour établir la communication avec le serveur Web. Le protocole de communication entre les objets dépend de leur type : COM/DCOM pour les objets ActiveX (Microsoft), IIOP pour les objets CORBA. Des passerelles existent entre COM et CORBA; elles n'offrent cependant pas toutes le même niveau d'interopérabilité. Sécurité La sécurité étant un vaste sujet, ce paragraphe s'attache à définir ce concept en rapport direct avec les objets, plutôt qu'avec les domaines des serveur Web, serveur d objets, serveur d objets transactionnels ou bases de données, ces derniers étant à la charge des architectes systèmes. Sécurité des objets standards ActiveX : les ActiveX sont des programmes en code natif, le code exécuté est le même que celui du système d exploitation. Le code peut ainsi accèder à toutes les ressources de l'ordinateur, ce qui pose des problèmes de sécurité, en particulier pour les virus. Java, Javabeans : le code Java est pré-compilé puis interprété sur la machine cliente. Ce code est constitué d instructions définies dans le document The Java Virtual Machine Specification, cette description établit les possibilités et surtout les impossibilités de Java. La sécurité de la machine cliente est assurée par une contrainte décrite dans le document qui dit ceci : Quel que soit l applet et la façon dont elle est chargée, elle ne peut modifier ou endommager votre système sans l accord de l utilisateur. La sécurité est donc assurée par la définition même de l objet. Corba : Corba est une spécification normative qui définit les couches de services et de transports caractéristiques des systèmes d objets distribués. La définition de CorbaServices s est enrichie dernièrement de composants de services de sécurité et d authentification : - service d identification, recherchant si l utilisateur est bien celui qu il prétend être, et d authentification, consistant à s assurer que l utilisateur a effectivement les droits de faire ce qu il souhaite faire, pour les utilisateurs d objets - service d autorisation et de contrôle d accès sur la base de l identification et l authentification de ses objets et des utilisateurs - service d audit, permettant de conserver la trace des interactions entre utilisateurs et objets - service de sécurité des communications entre objets - services de cryptage Malgré cela, il ne faut pas oublier que la programmation d objets Corba est possible dans de nombreux langages (C++, Java, SmallTalk, VisualBasic, ), et que de ce fait, il est possible d implémenter une méthode malveillante qui encapsule un appel à une ressource système. Si l objet est exécuté sur un système d exploitation compatible à celui de développement, cette méthode peut être appelée et exécutée, avec les conséquences que cela peut engendrer. Observatoire Technologique page 20 / 47