Déploiement de Systèmes d’Information sur Intranet/Internet Patrick Valduriez INRIA, Rocquencourt Patrick.Valduriez@inria.fr http://rodin.inria.fr/personnes/patrick.valduriez/
Ouvrages de Référence M. Bouzeghoub, G. Gardarin, P. Valduriez. Object Technology. Thomson International Publishing, 1997. D. Chappell. Understanding ActiveX and OLE. Microsoft Press, 1996. Computer Technology Research Corp. Intranets: technical issues and business applications, 1996. G. Gardarin. Maîtriser les Bases de données. Eyrolles, 1993. G. Gardarin, O. Gardarin. Le Client-Serveur. Eyrolles, 1996. J. Gray, A. Reuter. Transaction Processing: concepts and techniques. Morgan Kaufman, 1992. M.T. Özsu, P. Valduriez. Principles of Distributed Database Systems. Prentice Hall, 1990. R. Orfali, D. Harkey, J. Edwards. The Essential Distributed Objects Survival Guide. John Wiley & Sons, 1995. O. Sims. Business Objects. Mc Graw-Hill, 1994. C. Szyperski. Component Software: beyond Object-oriented Programming. Addison Wesley, 1998.
Plan Enjeux des systèmes d’information Intranets Le Web Java Bases de données réparties Le client-serveur à trois niveaux L’exemple d’Oracle
Evolution des entreprises Société de l’information différentiateur = réactivité et créativité besoin d’accès rapide à l’information pertinente Le client au centre de l’entreprise vision globale des clients produits sur mesure Coopétition coopération entre entreprises concurrentes
Restructuration des entreprises Moins de hiérarchie décentralisation du management projets transversaux réhabilitation de la personne Plus de communication télétravail entreprise virtuelle prédominance du réseau Système d’information indépendant de l’organisation réactif évolutif
Enjeux des SI Accès rapide, intégré et généralisé à l’information pertinente en interne en externe Développement rapide d’applications (RAD) Construire un système ouvert en réduisant les coûts développement et maintenance administration du système
Le Web (ou World Wide Web) Système hypermédia distribué fonctionnant sur TCP/IP simple à utiliser navigateurs graphiques, interactifs: Netscape, Explorer portable faible coût standard HTTP, URL, HTML évolutions controlées par le W3C (MIT, Inria) accès aux applications Internet objets répartis : Java, ActiveX permettent de télécharger du code
Impact du Web Client-serveur universel un seul outil pour la communication inter- et intra-entreprise la base des systèmes ouverts Adopté par toute l’industrie du logiciel nombreux produits nombreux fournisseurs De nombreux serveurs Web information et services
Intranet Définition: utilisation du Web pour les besoins internes de l’entreprise réseau privé ouverture sécurisée à Internet et aux serveurs Web externes utilisateurs identifiés possibilité de services avancés: visioconférence services internes Utilisé par plus de 50% des grandes entreprises
Applications Intranet Très diverses publication et circulation de l’information forums de discussion serveur Web interne, accessible par Internet aux partenaires de l’entreprise messagerie interconnexion de systèmes d’information travail coopératif
Motivations des entreprises Sondage Information Week, 1996 moins cher que Lotus 31% économie en communication 52% augmente l’efficacité 75%
Internet et Intranets accès ouvert Fire- wall Fire- wall Intranet accès sécurisé accès sécurisé
Services des Intranets Accès aux informations et aux applicatifs Développement applicatif Annuaires Communication et travail coopératif Sécurité Administration Transport
Exemples d’Intranet Silicon Junction (Silicon Graphics) source d’information globale de l’entreprise 600 serveurs 7000 utilisateurs applications interactives achat: permet d’anticiper la production ressources humaines Century 21 (société immobilière professionnelle) communication entre les 500 franchisés du groupe messagerie, forums, annuaire d’entreprises élargissement du périmètre local des agences un agent peut proposer les offres d’une agence voisine
Avantages des Intranets Continuité des flux d’information Standardisation dynamique du marché Facilité de communication et de partage information à jour Simplification et unification de l’accès au SI Indépendance à l’infrastructure Gains immédiats réduction des coûts d’impression, de courrier, etc.
Limites Immaturité des technologies Administration distribuée complexe Beaucoup de produits et de producteurs d’information Ouverture de l’entreprise au monde extérieur
Impact sur l’entreprise Communication accès généralisé à l’information navigation hypertexte réhabilitation de l’écrit dialogue asynchrone Organisation moins d’intermédiaires travail en groupe télétravail
Serveur Web Définition un programme qui accepte des connections HTTP, traite les requêtes et renvoie les réponses Fonctions contrôle d’accès: mots de passe, droits d’accès stockage de documents HTML interface CGI API pour le développement d’applications NAPI de Netscape, ISAPI de Microsoft administration: journaux, audit index pour la hiérarchie de répertoires multithread
Architecture d’un serveur Web Index Administration Requête Répertoire Interface Contrôle Accès Traducteur Document HTTP d'Accès document HTML Interface CGI Réponse Programme externe
Serveurs Web Apache HTTP Server freeware, plus de 60% du marché Netscape Communications O’Reilly WebSite Microsoft Internet Information Server Process Software Purveyor Open Market Webserver Lotus Domino
Accès base de données HTTP CGI URL+inputs call query Serveur Web Browser Gateway HTML form HTML form query tuples Dynamic SQL Serveur BD
Le langage Java Origine Sunsoft, 1994; évolution par Javasoft Objectif applications distributées sur Internet/Intranets Propriétés simple portable sûr robuste multi-thread
Java et la distribution Client applet formulaire HTML Serveur CGI servlet middleware: RMI ou CORBA JDBC: accès aux BD relationnelles
RMI versus Corba RMI Corba architecture simple tout en Java tout Java est supporté ramasse-miette distribué nouveau non standard Corba architectures sophistiquées multi-langage uniquement les types IDL gestion mémoire locale mûr standard
SGBD réparti SGBDR SGBD1 SGBD2 Mécanisme d'accès qui rend la répartition (ou distribution) transparente dictionnaire des données réparties traitement des requêtes réparties gestion de transactions réparties gestion de la cohérence et de la sécurité
Evaluation de l'approche BDR avantages extensibilité partage des données hétérogènes et réparties performances avec le parallélisme disponibilité avec la réplication inconvénients complexité manque d'expérience distribution du contrôle difficulté de migration
Migration vers une BDR Décomposition en BD locales Intégration logique des BD locales existantes BD BD1 BD2 BD3
Architecture de schémas application 1 application 2 Schéma global Schéma local 1 Schéma local 2 Schéma local 3 indépendance applications/BDR schéma global lourd à gérer
Architecture fédérée moyen contrôlé de migration application 1 Schéma fédéré 1 Schéma fédéré 2 Schéma local 1 Schéma local 2 Schéma local 3 moyen contrôlé de migration
SGBD réparti hétérogène Outils SGBDR Interface réseau Interface réseau Interface réseau Interface SGBD1 Interface SGBD2 SGBD1 SGBD2
Middlewares standards Remote Procedure Call (RPC) Message Oriented Middleware (MOM) CORBA de l’OMG DCOM de Microsoft RMI de Sun
Moniteur Transactionnel Objet Le moniteur inclut un MOM, supporte les transactions et l’équilibrage de charge entre les serveurs Client Platform Server Platform Procedure IDL Stub Skeleton IDL Object Transaction Manager Queue
Intégrité et flexibilité Transaction Processing Monitors IBM ’s Transaction Server (Encina + CICS) BEA ’s Tuxedo Object Transaction Monitors Iona ’s Orbix-OTM BEA ’s M3 OTM Microsoft ’s COM+ (MSTS 2) RPC et MOM DCE RPC IBM ’s MQSeries Digital ’s MessageQ Suite Software ’s DOME Object Request Brokers Iona ’s Orbix Inprise’s Visibroker BEA ’s ObjectBroker Data Integrity Greater Flexibility source Gartner Group
Client-serveur à trois niveaux PC Serveur d'applications Serveur de données NC Application Données IHM 13 13 13
L’exemple d’Oracle NCA = architecture à trois niveaux (3-tier) basée sur les standards: Corba, DCOM support des composants Web: ActiveX, Java Beans composants branchables : cartridges cartridge = types, opérations, interfaces implémentés en PL/SQL, C/C++, Java (avec mapping IDL) sûrs: exécutés à l’extérieur du serveur Sedona: outil de développement support de SQL3 dans Oracle V8
Network Computing Architecture Development Environment Client Cartridge Application Server Cartridge Data Cartridge Inter-Cartridge Exchange Any Client Universal Server Universal Application Server Management Environment ® 12
Web Application Server User Interface, Graphic NCA et Internet Verifone Payment System Payment Cartridge Advertising Cartridge Electronic Store Cartridge Java Shopping Cart Applet Client Browser Database Server Order Entry Logic Web Request Broker is an object infrastructure for HTTP Web Application Server User Interface, Graphic Controls and Logic Application Logic and Transaction Logic Data and Program Logic ® 32 11
Conclusion De nombreuses technologies pour SI distribués Web et Intranets Java middlewares moniteurs transactionnels bases de données et CS à trois tiers Besoin d’intégration des composants distribués ActiveX vs Enterprise Java Beans de nombreux outils arrivent