Dimension: px
Commencer à balayer dès la page:

Download ""

Transcription

1 Introduction à l'architecture L'objectif premier d'un système d'information, quel qu'il soit, est de permettre à plusieurs utilisateurs d'accéder aux mêmes informations : pour cela, il faut donc regrouper les informations utilisées par l'entreprise ; en terme technique, cela se traduit par la centralisation des données au sein d'une base de données. Un peu d'histoire... Les Années 90 : Développement des réseaux. L'efficacité et le partage des systèmes d'informations doivent être optimum (concurrence économique, etc.). Le client-serveur se situe dans ce besoin de centralisation (information cohérente, non redondante et accessible) et de décentralisation (conserver la puissance et l'interface des microsordinateurs) Module Client-Serveur 3 Module Client-Serveur 6 Architectures : Client - Serveur Partie 4 : L'architecture n-tiers La couche de persistance - SGBD La couche métier - BPM La couche de présentation IHM Le Design pattern MVC Partie 5 : Les serveurs d'applications Définitions Les services offerts Partie 6 : Les web services L'intégration entre applications - EAI L'architecture orientée services - SOA Module Client-Serveur 2 Un peu d'histoire... Les Années 80 : Parallèlement développement des micros-ordinateurs avec leur puissance de calcul décentralisée et leurs interfaces graphiques conviviales. Le maintien des gros et moyens systèmes avec les micros-ordinateurs ont rendu les communications difficiles et ont créé des désordres dans les systèmes d'informations (redondance,etc.) Module Client-Serveur 5 Architectures : Client - Serveur Partie 1 : Présentation du modèle C/S Introduction à l'architecture Un peu d'histoire Les 4 principes de base du C/S Partie 2 : Le MIDDLEWARE Définition du Middleware Architecture du Middleware Les offres Partie 3 : La Répartition des BDD Définitions des bdd réparties Gestion des transactions Module Client-Serveur 1 Un peu d'histoire... Le client serveur est l'état actuel de l'évolution des architectures informatiques : Avant les Années 80 : Système Centralisé (ordinateur central avec des terminaux passifs de type texte). Les Années 80 : Développement du transactionnel et apparition des SGBD non-propriétaires (indépendants des constructeurs) - SGBD relationnel + SQL Module Client-Serveur 4

2 Le modèle Client-Serveur Client/Serveur : définition E C R A N CLIENT INTELLIGENCE INTELLIGENCE SERVEUR Est conforme au modèle client-serveur tout processus utilisant des services offerts par un autre processus, et communiquant avec lui à l aide de messages. Répartition judicieuse de la puissance de traitement entre le serveur et les différentes stations inter-connectées. Module Client-Serveur 9 Module Client-Serveur 12 Le modèle réseau local traditionnel E C R A N CLIENT INTELLIGENCE SERVEUR Serveur = Gère le réseau et stocke les bases de données sans les gérées. Client = Les stations effectuent tous les traitements Pourquoi le Client-Serveur? Prise en compte des évolutions technologiques Aspect ouvert et modulaire du Client-serveur. Mais. Réduire les coûts? L'architecture C/S coûte plus cher qu'une architecture centralisée : Postes de travail Réseau local Formation des développeurs (SGBD, Middleware, l'objet et les interfaces graphiques) Techniciens de maintenance réseau et PC Module Client-Serveur 8 Module Client-Serveur 11 Le modèle Multi-Utilisateur centralisé Pourquoi le Client-Serveur? E C R A N CLIENT INTELLIGENCE SERVEUR Contraintes sur l'entreprise Contraintes externes : compétitivité, exigence de la clientèle, produire mieux et plus vite, etc. Contraintes internes : Compression des budgets (limitation des ressources), manque de temps, absorption des technologies nouvelles Serveur = Ordinateur central qui effectue tous les traitements Client = Terminal sans puissance locale de traitement Module Client-Serveur 7 Mieux maîtriser le système d'information Une architecture ouverte C/S bâtie autour d'un moteur relationnel améliore cette maîtrise : présentation naturelle des données, meilleure productivité des développeurs avec le SQL Module Client-Serveur 10

3 Client/Serveur : définition CLIENT Processus qui demande l'exécution d'une opération par l'envoi d'une demande. SERVEUR Processus qui exécute la demande du client et qui transmet la réponse. REQUÊTE (Request) Message transmis par le client. REPONSE (Reply) Message transmis par le serveur. Module Client-Serveur 15 Les 4 principes de base du C/S Principe 4 : Permettre une séparation physique entre les actions d'un programme liées à l'interaction avec les utilisateurs et les autres actions. Gestion du dialogue par le client (interface) Gestion des données par le serveur Il s'agit d'un modèle de traitement coopératif. Module Client-Serveur 18 Client/Serveur : définition La présence d'un réseau n'est pas obligatoire dans la définition. On peut néanmoins considérer qu'une architecture C/S ne se construit qu'autour d'un réseau. Le terme SERVEUR fait référence à tout processus qui reçoit une demande de service (requête) venant d'un client via un réseau, traite cette demande et renvoie le résultat (réponse) au demandeur (le CLIENT). Les 4 principes de base du C/S Principe 3 : Utiliser au niveau de chaque station (cliente ou serveur) l'ensemble matériel/logiciel le plus adapté. Chaque machine est adaptée à des besoins précis (implique l'hétérogénéité des matériels). Optimisation de l'outil. Diversité des services offerts à l'utilisateur. Minimisation des coûts (le sophistiqué là où il est nécessaire. Module Client-Serveur 14 Module Client-Serveur 17 Client/Serveur : définition Les 4 principes de base du C/S E C R A N CLIENT REQUÊTE Approche Puriste CLIENT REQUÊTE Approche Pragmatique REPONSE SERVEUR REPONSE SERVEUR Principe 1 : Rendre l'architecture matérielle transparente vis à vis des développeurs et des utilisateurs finaux. Principe 2 : Rendre le niveau physique (et logique dans une moindre mesure) des bases de données transparent pour les développeurs et les utilisateurs. Module Client-Serveur 13 Module Client-Serveur 16

4 Le schéma du Gartner Group Le schéma du Gartner Group Client/Serveur de données Type 4 et 5 : Système popularisé par les SGBDR associés au SQL. Dans ce contexte le serveur gère les données, leur intégrité, la sécurité, etc. Il envoie seulement les données correspondant à la requête (opposition avec le serveur de fichiers). Le client traite ces données pour éventuellement, en retour, mettre à jour la base. Un partie de la base de données pour être sur le client -type 5 Module Client-Serveur 21 Module Client-Serveur 24 Découpage des applications client-serveur La répartition de ces 3 modules variera entre le client et le serveur et sera fonction : Des types d architecture retenus De la capacité des machines De la capacité du réseau Le Gartner Group a proposé les cas de figure suivants : Module Client-Serveur 20 Le schéma du Gartner Group Client/Serveur de Traitements Type 3 : Les données restent centralisées mais les traitements sont répartis entre le client et le serveur. Les applications Web rentrent dans cette catégorie avec : du côté client les scripts intégrés dans les pages HTML, les plug-in et/ou les composants. du côté serveur les divers programmes (accès aux bases de données, ) qui transmettent leurs résultats aux clients Module Client-Serveur 23 Découpage des applications client-serveur Le schéma du Gartner Group On reconnaît traditionnellement dans une application 3 modules : DONNEES TRAITEMENT PRESENTATION Client/Serveur de présentation Type 1 : Représente un système Serveur/terminal classique. Ce dernier présente un écran "calculé" par le serveur. Le type 1 n'est pas un système client/serveur. Type 2 : L'affichage effectué par le client se fait à la suite d'un échange de requêtes avec le serveur (type de fenêtre sa taille, son titre, etc.) X-Windows est le système représentatif du type 2 Module Client-Serveur 19 Module Client-Serveur 22

5 Ressources indépendantes Utilisation Les ressources ne sont pas dédiées à une utilisation particulière Partage des ressources facilité Définition du middleware L'ensemble des services logiciels construits au-dessus d'un protocole de transport afin de permettre l'échange de requêtes et des réponses associées entre client et serveur de manière transparente. Module Client-Serveur 27 Module Client-Serveur 30 Ressources indépendantes Hébergement Toute plate-forme matérielle peut devenir serveur Tout système d exploitation peut héberger un service Toutes configurations matérielles ou logicielles envisageables Localisation Les ressources peuvent être n importe où sur le réseau Architecture plus modulaire Administration plus complexe Les protocoles L'importance du réseau les placent au premier plan : Définissent le fonctionnement des réseaux Couvrent 3 types de services les services d application les services de transport les services de liaison Respectent le modèle OSI (interconnexion des systèmes ouverts) défini par l ISO Module Client-Serveur 26 Module Client-Serveur 29 Conclusion : partie 1 Modèle client/serveur se caractérise donc par : Des ressources indépendantes, L'importance du dialogue entre le client et le serveur, La place centrale du réseau. Importance du Dialogue Importance accrue des communications Le réseau devient «le centre de gravité du SI» Le réseau devient «la clé de voûte» du modèle client-serveur Complexification du dialogue Dialogue entre systèmes hétérogènes Dialogue à distance Nécessité de couches intermédiaires Pour gérer la complexité Pour rendre «transparent» le dialogue Module Client-Serveur 25 Module Client-Serveur 28

6 Définition du middleware Une triple transparence : Transparence aux réseaux. Transparence aux serveurs. Transparence aux langages. Les fonctions appelées doivent être aussi indépendantes que possible des langages. Application(s) MIDDLEWARE RESEAU Serveur(s) Module Client-Serveur 33 L'architecture type du Middleware L'IPC (Inter Processus Communication) est l'autre nom du middleware. L'IPC se compose : L'interface API (Application Programming Interface) - Interface de programmation au niveau applicatif. Interface entre un programme et le système qui propose un ensemble de fonctions standards pour accéder à un service local ou distant. Module Client-Serveur 36 Définition du middleware Une triple transparence : Transparence aux réseaux. Transparence aux serveurs. Tous le SGBD (avec leur SQL souvent différents) doivent être accessibles. Application(s) MIDDLEWARE RESEAU Serveur(s) Module Client-Serveur 32 Le Middleware : à quoi ça sert? Avantages Offre des services de «haut niveau» aux applications Rend portable les applications (avec certaines limites) Prend en charge les protocoles de conversion de caractères et d établissement de sessions entre clients et serveurs hétérogènes C est la «glue» qui rend possible le client-serveur C est la boîte à outils pour le développement des applications. Module Client-Serveur 35 Définition du middleware Une triple transparence : Transparence aux réseaux. Tous les types de réseaux doivent être supportés. Pourquoi le Middleware? La complexité du dialogue client/serveur est à l'origine du middleware. Complexité due à la présence : Des Systèmes hétérogènes Des Systèmes propriétaires Du dialogue à distance Application(s) Serveur(s) MIDDLEWARE RESEAU Module Client-Serveur 31 Module Client-Serveur 34

7 Client serveur et modèle OSI Le dialogue avec session Couche 7 - Couche Application 6 - Présentation Couche 5 - Session Couche 4 - Transport Couche 3 - Réseau Couche 2 - Liaison Couche 1 - Physique API FAP Par Ex : TCP Par Ex : IP Par Ex : CSMA/CD Par Ex : Paire torsadée Dans les dialogues avec session (ou avec connexion). Les échanges d informations sont subordonnés à l ouverture d une «session» par le client vers le serveur. IPC avec connexion : Protocole APPC de l architecture réseau SNA d IBM (Application Programm to Progamm Application) Protocole RDA, basé sur SQL défini par l ISO (Remote Data Access) Module Client-Serveur 39 Module Client-Serveur 42 L'architecture type du Middleware Le dialogue avec session Client Réseau Serveur Application Demande de connexion Requête Résultats Synchronisation Requête Résultats Synchronisation Déconnexion Prise en compte de demande et création d'un contexte Exécution des requêtes et gestion de la synchronisation Fin du contexte Module Client-Serveur 38 Module Client-Serveur 41 L'architecture type du Middleware Client serveur et modèle OSI L'interface FAP (Format And Protocols) - Protocoles de communication et format des données. Ce module assure : la synchronisation entre client et serveur, la reconnaissance du format des données échangées l'appel aux fonctions de transport du réseau. Module Client-Serveur 37 Module Client-Serveur 40

8 Le dialogue sans connexion : les RPC L offre Middleware» Client Application Appel de la procédure distante Réseau Requête Serveur Prise en compte de la demande Les offres multi-clients, multi-serveurs. Elles permettent aux clients d'accéder en toute transparence à plusieurs bases hétérogènes, situées éventuellement sur des serveurs différents. SEQUELINK : Techgnosis propose une API sur presque toutes les architectures clientes ou serveurs Réception du résultat poursuite de l'exécution Réponse Exécution de la procédure EDA/SQL : Information Builders propose d accéder à tout type de bases de données à partir de plates-formes hétérogènes Module Client-Serveur 45 Module Client-Serveur 48 Le dialogue avec session Les ordres SQL "COMMIT" ou "ROLL BACK" sont des exemples de points de synchronisation. A la suite d'une requête le : COMMIT confirmera la transaction, ROLL BACK l'annulera. Le serveur mettra réellement à jour la base de données qu'à la suite de ces ordres de synchronisation (avant cela les transactions s'appliquent dans le "contexte") L offre Middleware» Les offres Middleware sont variées : Offres propriétaires, Offres d'accès universel aux bases, Offres pour des accès multi-bases Les offres propriétaires aux SGBDR : ORACLE avec Sql*Net SYBASE avec Db-lib Module Client-Serveur 44 Module Client-Serveur 47 Le dialogue avec session Si le serveur accepte la connexion, il crée un contexte propre à chaque application cliente connectée. Le dialogue sans connexion : les RPC Les dialogues sans connexion avec appels de procédures distantes (RPC - Remote Procedure Call). Client et serveur s'échangent des requêtes, des réponses et des points de synchronisation. Le processus client invoque une procédure distante située sur le serveur. Le client a la responsabilité de conduire les phases successives de l'échange Le serveur a la responsabilité de garantir le contexte perçu par le client. Module Client-Serveur 43 La requête contient tous les éléments nécessaires au serveur (nom de la procédure, paramètres, identité du processus). Le message en retour contient toute la réponse. Module Client-Serveur 46

9 Le Standard ODBC Exemple de Sybase Application API : db-lib (lié au SE - db-lib pour OS2, pour Windows, etc) FAP : net-lib (lié au SE et au réseau) Réseau Application API : ODBC DataBase Driver FAP : net-lib (lié au SE et au réseau) Réseau Définitions On parlera ainsi de : Client de SGBD Répartie Application qui accède aux informations distribuées par les interfaces du SGBD Réparti. Serveur de SGBD Répartie SGBD gérant une base de données locale intégrée dans une base de données répartie D'une façon générale on parlera de SITE (client ou serveur) Module Client-Serveur 51 Module Client-Serveur 54 Le Standard ODBC ODBC (Open DataBase Connectectivity) est présenté en 1992 par Microsoft comme une interface universelle aux bases de données. Il ne s'agit pas d'un middleware à proprement parlé mais d'une API que l'on utilise en lieu et place des API des éditeurs de SGBDR Définitions Base de données répartie Ensemble de bases de données gérées par des sites différents et apparaissant à l'utilisateur comme une base unique. SGBD Réparti (ambiguïté de SGBDR) Système qui gère des collections de BD logiquement reliées, distribuées sur un réseau, en fournissant un mécanisme d'accès qui rend la répartition transparente aux utilisateurs Module Client-Serveur 50 Module Client-Serveur 53 L offre Middleware» Le Standard ODBC DRDA (Distributed Relational Database Architecture) d'ibm pour fédérer les bases IBM (DB2) et non IBM. IDAPI (Integrated Database Application Programming Interface) de Borland en collaboration avec Novell et IBM. Note : Évidemment l'accès multibases permet également l'accès monobase. Module Client-Serveur 49 Module Client-Serveur 52

10 Conception des BdD Réparties Conception ascendante Dans ce cas une base de données globale fédère des base de données locales afin de créer un ou plusieurs schémas globaux. (Le plus souvent il y refonte des schémas locaux) Base de données Globale La gestion des transactions Validation en deux phases Cette validation est basée sur un principe centralisé. L'exécution de la transaction est contrôlée par un site coordinateur, rôle joué par le client. Base de données locale 1 Base de données locale 2 Base de données locale 3 Les autres sites intéressés par la transaction sont des participants, rôle joué par les sites serveurs. Module Client-Serveur 57 Module Client-Serveur 60 Conception des BdD Réparties Il existe deux types de conception : Conception descendante Conception d'un schéma global Distribution des objets de ce schéma sur les différents sites pour obtenir des schéma locaux Base de données locale 1 Base de données Globale Base de données locale 2 Base de données locale 3 La gestion des transactions Propriétés des transactions ATOMICITE : Une transaction doit effectuer toutes ses mises à jour ou ne rien faire. COHERENCE : La transaction doit faire passer la base de données d'un état cohérent à un autre. ISOLATION : Les résultats d'une transaction ne doivent être visibles aux autres transactions qu'une fois la transaction validée. DURABILITE : Dés qu'une transaction valide ses modifications, le système doit garantir que ces modifications seront conservées en cas de panne. Module Client-Serveur 56 Module Client-Serveur 59 Pourquoi répartir les données? La performance d accès aux bases est limitée Par le nombre d accès disques nécessaires Par le volume de données transmis (débit du réseau) Par le nombre d accès concurrents Les performances peuvent se dégrader rapidement Au-delà de 30 postes clients Pour des consultations très fréquentes ou très importantes Dans le cadre d accès à distance (réseau étendu) Module Client-Serveur 55 Conception des BdD Réparties Les deux cas reviennent à partager, fragmenter la base de données globale entre plusieurs sites. Fragment Un fragment est une sous-table obtenue par sélection de lignes et de colonnes à partir d'une table globale, localisée sur un site unique. (peut correspondre également à la table entière) Module Client-Serveur 58

11 La gestion des transactions Commentaires : Les bases de données dupliquées Les inconvénients de la duplication Une non-réponse est assimilée à un refus (time out). Le serveur 2 annule la transaction car il ne l'a pas accepté (PREPARE mais pas de OK). Il faut assurer la convergence des copies. Il faut assurer la transparence aux utilisateurs qui ne doivent percevoir qu'une seule copie. Module Client-Serveur 63 Module Client-Serveur 66 La gestion des transactions Serveur 1 Client Coordinateur Serveur 2 PREPARE COMMIT OK ACK ACK OK Validation en deux étapes avec succès PREPARE COMMIT Les bases de données dupliquées Les bases de données dupliquées (ou répliquées) posent donc un problème particulier celui de la MISE A JOUR des bases pour obtenir cette convergence. Les avantages de la duplication Améliorer les performances : L'utilisation de la base la plus proche permet de limiter les transferts et de répartir la charge de travail. Augmenter la disponibilité : en cas de panne en particulier. Utiliser des serveurs plus petits et moins chers. Module Client-Serveur 62 Module Client-Serveur 65 La gestion des transactions Validation en deux phases Le client coordinateur demande aux autres sites (serveurs) s'ils sont prêts à mettre à jour leur base (ordre PREPARE). Si tous les participants répondent positivement (ordre OK) alors le site coordinateur envoie l'ordre COMMIT. Les serveurs envoient un acquittement au coordinateur (ordre ACK). Si l'un des participant répond négativement (ordre KO) alors le site coordinateur envoie l'ordre d'annulation (ordre ABORT). Les bases de données dupliquées La réplication entraîne la création de copies multiples d'une base de données sur plusieurs sites. La duplication peut concerner la base entière, une ou plusieurs tables ou des fragments. A la suite de transactions les copies peuvent diverger à un instant donné mais doivent converger vers un état identique et cohérent à terme. Module Client-Serveur 61 Module Client-Serveur 64

12 Les bases de données dupliquées Le synchronisme se combine au concept de symétrie qui permet de créer une hiérarchie dans les bases. Dans la réplication SYMETRIQE toutes les bases ont le même degré hiérarchique. Les bases de données dupliquées Exemple de mise à jour symétrique asynchrone Chaque département met régulièrement à jour les données des autres départements. Commercial Copie Maître Dans la réplication ASYMETRIQUE on distingue un site primaire chargé de centraliser les mises à jour. Financier Stocks Copie Maître Copie Maître Module Client-Serveur 69 Module Client-Serveur 72 Les bases de données dupliquées Mise à jour ASYNCHRONE On préfère le plus souvent le mode asynchrone (ou mode différé). Les mises à jour sont effectuées dès que possible ou à des instants fixés. Les bases de données dupliquées Exemple de mise à jour asymétrique synchrone (Diffusion d informations centralisées) Les informations appartiennent au site primaire, qui a le monopole des mises à jour Les données sont diffusées automatiquement vers les sites qui ont un droit de lecture seulement Copie PRIMAIRE Siège Social Cours des devises Copies SECONDAIRES Agence Agence Agence Module Client-Serveur 68 Module Client-Serveur 71 Les bases de données dupliquées Deux types de mise à jour : Mise à jour SYNCHRONE Toute transaction entraîne la mise à jour en temps réel de toutes les copies de la base. Les bases de données dupliquées Exemple de mise à jour asymétrique asynchrone (Consolidation d informations) Les données comptables tenues à jour dans les agences sont dupliquées en lecture seulement vers le siège pour consolidation. Avantage : convergence immédiate Inconvénient : Coûteux en ressources et complexité du système (gestion des reprises sur panne) Module Client-Serveur 67 Mise à jour en fin de journée par exemple Dépôts & Retraits Siège Social Agence Agence Agence Module Client-Serveur 70

13 SOA : Service Oriented Architecture Aujourd hui : plat de spaghettis «Une vision d un système destinée à traiter toute application comme un fournisseur de services» Tout traitement applicatif est vu comme un service potentiellement utilisable par un client Le client est découplé de l architecture technique du service qu il invoque Serveur Web Base commerciale Progiciel intégré SOA véhicule des Messages et non des objets Pour adapter les technologies hétérogènes, on fait appel à des Connecteurs/Adaptateurs Module Client-Serveur 75 Messagerie Application spécifique X Application spécifique Y Module Client-Serveur 78 Industrialisation d applications Analyse Use Case Modèles UML Développement Architecture/Design Test/Recette Bénéfices du SOA Meilleur retour sur investissement Mobilité du code Séparation des rôles Sécurité accrue Support de clients hétérogènes Plus de réutilisation et de maintenabilité Itération(s) L avenir nous emmène vers un seul et même outil pour remplir toutes ces tâches Module Client-Serveur 74 La clé : l agilité Module Client-Serveur 77 Les bases de données dupliquées Exemple de mise à jour symétrique synchrone Chaque site modifie la donnée PRIX puis diffuse immédiatement la modification. Modification du PRIX Produit Copie Maître Produit Temps réel Copie Maître Produit Copie Maître Module Client-Serveur 73 SOA Service Oriented Architecture «Une vision d un système destinée à traiter toute application comme un fournisseur de services» Tout traitement applicatif est vu comme un service potentiellement utilisable par un client Le client est découplé de l architecture technique du service qu il invoque SOA véhicule des Messages et non des objets Pour adapter les technologies hétérogènes, on fait appel à des Connecteurs/Adaptateurs Module Client-Serveur 76

14 Niveau d'urbanisation Démarche itérative et incrémentale Basée sur les invariants de l entreprise, cette vue est souvent une cible à atteindre en se basant sur la cartographie, état actuel 1 ère Etape n Etapes Module Client-Serveur 81 Cible Système urbanisé Architecture logicielle * Ilots autonomes Systèmes en région Système EDI fournisseur (*)gestionnaire de flux Hub pour les données Serveurs WEB isolé pour des contraintes de sécurité Architecture technique Serveur Datawharehouse Grand public Serveur client Temps Design Quick & Dirty vs Code évolutif utilise MonFournisseurTrace ; MaClasseCliente { public mamethode1() { MonFournisseur.Trace("ceci") public mamethode2() { MonFournisseur.Trace("cela") public mamethoden() { MonFournisseur.Trace() utilise MonAbstractionTrace MaClasseCliente { public mamethode1() { MonAbstraction.Trace("ceci") public mamethode2() { MonAbstraction.Trace("cela") public mamethoden() { MonAbstration.Trace() Changer de fournisseur de trace revient à modifier exponentiellement le code client : x méthodes * y lignes Module Client-Serveur 84 Urbanisation et cartographie «L urbanisation a pour objectif de faire évoluer le Système d'information et sa composante informatique au même rythme que la stratégie et l'organisation des métiers de l'entreprise» La cartographie permet de déceler les redondances des flux, les doubles saisies, les incohérences applicatives Pourquoi ne pas imaginer plus tard des Design Patterns pour SOA/EAI? (finalement, on monte toujours l abstraction d un niveau) Le Design Un bon Design est toujours la garantie de l évolutivité d une application Trop de Design tue le design Évitez les architectures anti-pattern Faire du Design c est un peu comme faire une recette de cuisine, il faut choisir les bons ingrédients Un bon design est souvent associé à une bonne architecture technique (séparation des couches, n- tiers, etc ) Module Client-Serveur 80 Module Client-Serveur 83 Demain : Architecture urbanisée Client Serveur Web Messagerie Application spécifique X Workflow Processus métier Middleware Asynchrone Base commerciale Progiciel intégré Module Client-Serveur 79 C on n ec t e u r Beaucoup d inconnus Quelle granularité adopter? Comment intégrer un SI boîte noire? lorsqu un seul progiciel prend en charge l ensemble des processus métier (SAP, etc ) Comment urbaniser un SI sans risquer de bloquer son fonctionnement? Où se situe les interfaces graphiques clientes? Quelle méthodologie pour l urbanisation et la cartographie? Langage de modélisation? Le risque n est-il pas de déplacer la complexité du SI au niveau de l EAI? Module Client-Serveur 82

15 Rappel sur les besoins Tout système d'information nécessite la réalisation de trois groupes de fonctions: La couche de présentation Présentation : le stockage des données, la logique applicative et la présentation des données. La présentation est la partie la plus immédiatement visible pour l'utilisateur. Elle a donc une importance primordiale pour rendre attrayante l'utilisation de l'informatique. Son évolution a été très importante depuis les débuts de l'informatique et des systèmes d information. Module Client-Serveur 87 Module Client-Serveur 90 Architectures multi-couches La couche métier Logique applicative : Historique Anti-patterns d'architecture Patterns d'architecture La logique applicative est la réalisation informatique du mode de fonctionnement de l'entreprise. Cette logique constitue les traitements nécessaires sur l'information afin de la rendre exploitable par chaque utilisateur. Module Client-Serveur 86 Module Client-Serveur 89 Design Quick & Dirty vs Code évolutif utilise MonFournisseurTrace ; MaClasseCliente { public mamethode1() { MonFournisseur.Trace("ceci") public mamethode2() { MonFournisseur.Trace("cela") public mamethoden() { MonFournisseur.Trace() utilise MonAbstractionTrace MaClasseCliente { public mamethode1() { MonAbstraction.Trace("ceci") public mamethode2() { MonAbstraction.Trace("cela") public mamethoden() { MonAbstration.Trace() Changer de fournisseur de trace revient à modifier exponentiellement le code client : x méthodes * y lignes Module Client-Serveur 85 La couche de persistance Stockage et accès aux données : Le système de stockage des données a pour but de conserver une quantité plus ou moins importantes de données de façon structurée. On peut l'utiliser pour cette partie des systèmes (très variés) qui peuvent être : des systèmes de fichiers, des bases de données relationnelles, etc... Module Client-Serveur 88

16 Architecture à deux niveaux Architecture à trois niveaux Aussi appelée architecture 2-tier, «tier» signifiant rangée en anglais, Elle caractérise les systèmes clients/serveurs pour lesquels : le client demande une ressource (GET), et le serveur la lui fournit directement (OUT), en utilisant ses propres ressources. Cela signifie que le serveur ne fait pas appel à une autre application afin de fournir une partie du service. Module Client-Serveur 93 Dans l'architecture à 3 niveaux, appelée architecture 3-tiers, il existe un niveau intermédiaire, c'est une architecture partagée entre : Un client, c'est-à-dire l'ordinateur demandeur de ressources, équipée d'une interface utilisateur (généralement un navigateur web); Le serveur d'application (ou middleware), chargé de fournir les ressources mais faisant appel à un autre serveur; Le serveur de données (ou database server) qui va fournir au serveur d'application les données dont il a besoin. Module Client-Serveur Architecture 2-tiers 2. Architecture 3-tiers GET GET GET Ressources OUT OUT OUT Ressources Module Client-Serveur 92 Module Client-Serveur 95 Architectures n-tiers L'architecture à deux niveaux est donc une architecture client/serveur dans laquelle : Constituent une étape importante dans l'évolution des systèmes d'informations le serveur est polyvalent, c'est-à-dire qu'il est capable de fournir directement l'ensemble des ressources demandées par le client. Module Client-Serveur 91 Module Client-Serveur 94

17 Architecture n-tiers : Client léger : L'origine du terme provient de la limitation du langage HTML, qui ne permet de faire des interfaces relativement pauvres en interactivité, si ce n'est pas le biais du langage javascript, DHTML, XHTML, etc.. Module Client-Serveur 99 Module Client-Serveur 102 Architecture multi-niveaux Client léger : Constat : dans l'architecture à 3 niveaux, chaque serveur (niveaux 2 et 3) effectue une tâche (un service) spécialisée : Un serveur peut donc utiliser les services d'un ou plusieurs autres serveurs afin de fournir son propre service. Par conséquent, l'architecture à trois niveaux est potentiellement une architecture à N niveaux... Le terme «client léger», parfois «client pauvre», en anglais «thin client» par opposition au client lourd, désigne une application accessible via une interface web (en HTML) consultable à l'aide d'un navigateur web, où la totalité de la logique métier est traitée du côté du serveur. Pour ces raisons, le navigateur est parfois appelé client universel. Module Client-Serveur 98 Module Client-Serveur 101 Architecture à trois niveaux Dans l'architecture à trois niveaux, les applications au niveau serveur sont délocalisées, c'est-à-dire, que chaque serveur est spécialisé dans une tâche : serveur web, serveur de base de données. Une plus grande flexibilité/souplesse ; Une sécurité accrue car elle peut être définie à chaque niveau ; De meilleures performances, étant donné le partage des tâches entre les différents serveurs. Module Client-Serveur 97 Client lourd : Le terme «client lourd», en anglais «fat client» ou «heavy client» par opposition au client léger, désigne une application cliente graphique exécutée sur le système d'exploitation de l'utilisateur. Un client lourd possède généralement des capacités de traitement évoluées et peut posséder une interface graphique sophistiquée. Néanmoins, ceci demande un effort de développement et tend à mêler la logique de présentation (l'interface graphique) avec la logique applicative (les traitements). Module Client-Serveur 100

18 Quels technologies? Responsabilités logiques XML comme format de données standard, J2EE,.Net, PHP comme environnement de dev, Linux/Windows comme système d'exploitation Apache comme serveur web, MySQL, Oracle comme serveur de base de données, HTML, JavaScript, Ajax comme langage de scripts, SOAP, CORBA, DCOM, comme langage de communication, Multi-threading comme technique de répartition de charge entre serveurs. Visualisation Présentation Services Concepts métier Intégration Accès aux données??? Stockage Module Client-Serveur 105 Module Client-Serveur 108 Client riche : Victimes de la mode Il existe des standards permettant de définir une application riche : XAML (extensible Application Markup Language), prononcez «zammel», un standard XML proposé par Microsoft ; XUL, prononcez «zoul», un standard XML proposé par la fondation Mozilla ; Il a existé plusieurs courants architecturaux Client passif - Serveur omniscient Client sexy - Serveur de données, Objets distribués Architectures client léger revisitées (pour le Web) Ces "modes architecturales" Sont structurantes pour les systèmes d'information La transition d'une mode à l'autre est complexe Flex, un standard XML proposé par la société Macromedia Module Client-Serveur 104 Module Client-Serveur 107 Client riche : Un «client riche» est un compromis entre le client léger et le client lourd. L'objectif du client riche est donc de : proposer une interface graphique, décrite avec une grammaire de description basée sur la syntaxe XML, Quels enjeux? Avec des exigences fortes : Robustesse Sécurité Évolutivité obtenir des fonctionnalités similaires à celles d'un client lourd (glisser déposer, onglets, multi fenêtrage, menus déroulants, ). Module Client-Serveur 103 Module Client-Serveur 106

19 Anti-pattern d architecture Architecture d objets distribués Distribuer les objets du domaine est à proscrire Ils exposeraient des méthodes de granularité trop fine Il ne faut distribuer que des services Synchrones Asynchrones Module Client-Serveur 111 Le risque du non-objet Adopter une approche procédurale Nuit à l évolutivité Tout doit être prévu au moment de la compilation du programme Chaque modification a un impact sur le code Ne facilite pas le lien entre les rôles Techniques (concepteurs/développeurs, architectes techniques) Et fonctionnels (analystes, architectes fonctionnels) L objet est donc incontournable sur de gros projets à spécifications évolutives Module Client-Serveur 114 Architectures multi-niveaux Conception Orientée Objet Le contenu d une couche de responsabilité doit être Orienté Objet Héritage et polymorphisme permettent extensibilité et généralisation Atteindre le même niveau de généricité et de robustesse avec un langage non Objet est très difficile Module Client-Serveur 110 Module Client-Serveur 113 Client Serveur, première Anti-pattern d architecture Les architectures orientées services distribués Ne doivent pas nuire aux performances Doivent renvoyer aux couches de présentation des agrégats de données d une finesse adéquate : des DTO (Data Transfer Object) Faut-il créer un DTO par objet du domaine? Bonnes performances Faible maintenabilité (sauf à les générer) Module Client-Serveur 109 Module Client-Serveur 112

20 Les web services Application 1 Application 2 Service 1 Message à traiter Message traité Contrat Service Implémentation SOA tactique ou stratégie La mise en place de services web est du domaine tactique, elle est opportuniste. Il existe très peu de sociétés qui ont une vision stratégique SOA. Think big, start small! Service 2 Module Client-Serveur 117 Module Client-Serveur 120 Quelques patterns d'architecture Couplage faible Abstract factory Commande Adaptation, enrichissement Decorateur Persistance Lazy loading «Tissage» de services techniques Proxy, intercepteur Parsing Visiteur (attention au piège du polymorphisme) SOA ou Web Services? Une bonne SOA est une histoire de conception pas de technologie. Il est très facile de construire des services web médiocres. Beaucoup le feront. La technologie Services Web ne fait pas votre architecture. Un bon service doit être «abstrait» : il n est pas lié à une implémentation. Les services web forment un très bon ensemble de spécifications pour construire une SOA : indépendance, sécurité, transaction, orchestration, Module Client-Serveur 116 Module Client-Serveur 119 Design Patterns : enjeux Apprendre les Design Patterns et les appliquer, c est : Apprendre à «bien» concevoir Objet Acquérir des réflexes, gagner du temps Mieux cerner un problème (simplification) Limiter le couplage, augmenter l évolutivité Élever le niveau de langage, faciliter les échanges Les web services SOA n est pas un concept neuf. Les sites centraux utilisaient déjà la notion de services. Module Client-Serveur 115 Module Client-Serveur 118

Cours : Enjeux de la documentation et pratiques documentaires

Cours : Enjeux de la documentation et pratiques documentaires Cours : Enjeux de la documentation et pratiques documentaires COURS N 2 EC 3 : LOGICIELS DOCUMENTAIRES PAR : SAHBI SIDHOM MCF.Université de Lorraine & Lab. LORIA / KIWI Cours en ligne : www.loria.fr/~ssidhom/

Plus en détail

Architectures et Web

Architectures et Web Architectures et Web Niveaux d'abstraction d'une application En règle générale, une application est découpée en 3 niveaux d'abstraction : La couche présentation ou IHM (Interface Homme/Machine) gère les

Plus en détail

Chapitre 5 : Les relations Client-Serveur. Support des services et serveurs

Chapitre 5 : Les relations Client-Serveur. Support des services et serveurs SI 5 BTS Services Informatiques aux Organisations 1 ère année Chapitre 5 : Support des services et serveurs Objectifs : Les relations Client-Serveur Comprendre les échanges entre client et serveur. Savoir

Plus en détail

Présentation générale des Web Services

Présentation générale des Web Services Présentation générale des Web Services Vue Globale Type d'architecture reposant sur les standards de l'internet Alternative aux architectures classiques : Client/serveur n/tiers Orientée services permettant

Plus en détail

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

Plus en détail

Programmation Web Avancée Introduction aux services Web

Programmation Web Avancée Introduction aux services Web 1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Architectures web pour la gestion de données

Architectures web pour la gestion de données Architectures web pour la gestion de données Dan VODISLAV Université de Cergy-Pontoise Plan Le Web Intégration de données Architectures distribuées Page 2 Le Web Internet = réseau physique d'ordinateurs

Plus en détail

Qu'est-ce qu'un Web Service?

Qu'est-ce qu'un Web Service? WEB SERVICES Qu'est-ce qu'un Web Service? Un Web Service est un composant implémenté dans n'importe quel langage, déployé sur n'importe quelle plate-forme et enveloppé dans une couche de standards dérivés

Plus en détail

Architecture des systèmes d information

Architecture des systèmes d information Architecture des systèmes d information Table des matières 1 La décennie 70 1 2 Le modèle relationnel (les années 80) 1 3 Enrichissement du relationnel (les années 80/90) 2 4 Système d informations (les

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard

par Philippe Poulard Web services 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard 0 Philippe.Poulard@sophia.inria.fr Philippe Poulard Sommaire Qu est-ce? Middleware XML Web Services in situ Couches de services Architecture des Web Services avec Java JAX-RPC JAXR JAXM Outils 1 Présentation

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Technologies du Multimédia et du Web

Technologies du Multimédia et du Web 3 ème Année Licence appliquée Technologies du Multimédia et du Web MoezBEN HAJ HMIDA ISSAT Sousse 2009/2010 Plan Les systèmes e-services Évolution des architectures d applications Les architectures client/serveur

Plus en détail

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base

SOA et Services Web. 23 octobre 2011. SOA: Concepts de base SOA et Services Web 23 octobre 2011 1 SOA: Concepts de base 2 Du client serveur à la SOA N est Nest pas une démarche entièrement nouvelle: années 1990 avec les solutions C/S Besoins d ouverture et d interopérabilité

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Service Web (SOAP) Urbanisation des SI NFE107. Fiche de lecture Y. BELAID

Service Web (SOAP) Urbanisation des SI NFE107. Fiche de lecture Y. BELAID Service Web (SOAP) Urbanisation des SI NFE107 Fiche de lecture Y. BELAID Plan Définitions Web Service Terminologie Communication avec les Web Service REST XML-RPC SOAP Qu est ce qu un Web Service Un Web

Plus en détail

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer Bases de Données Réparties Définition Architectures Outils d interface SGBD Réplication SGBD répartis hétérogènes BD réparties Principe : BD locales, accès locaux rapides accès aux autres SGBD du réseau

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

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

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs Jean-Pierre Meinadier Professeur du CNAM, meinadier@cnam.fr Révolution CS : l utilisateur

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Le web dans l entreprise Sommaire Introduction... 1 Intranet... 1 Extranet...

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Modèle spagetthi et solution EAI

Modèle spagetthi et solution EAI EAI Définition L'EAI est une notion ancienne mais toujours d'actualité. En effet, le besoin de faire communiquer des applications développées à des moments différents, dans des technologies différentes

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

Systèmes d Information Avancés (et répartis)

Systèmes d Information Avancés (et répartis) Systèmes d Information Avancés (et répartis) Université Lyon 1 MIAGE L. Médini, mars 2005 Plan des cours Protocole HTTP et programmation serveur Architectures réparties Objets distribués Introduction aux

Plus en détail

LE TRIPTYQUE SOAP/WSDL/UDDI

LE TRIPTYQUE SOAP/WSDL/UDDI LE TRIPTYQUE SOAP/WSDL/UDDI Eric van der Vlist (vdv@dyomedea.com) Le triptyque SOAP/WSDL/UDDI Web Services Convention Juin 2004 Eric van der Vlist (vdv@dyomedea.com) SOAP-- WS Convention 2004 -- Page 1

Plus en détail

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Les serveurs d applications :une introduction

Les serveurs d applications :une introduction Les serveurs d applications : une introduction Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX Claude.Duvallet@gmail.com Octobre 2006 Plan de la présentation

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Applications Réparties. Département Sciences Informatiques SI 4 ème année

Applications Réparties. Département Sciences Informatiques SI 4 ème année Applications Réparties Département Sciences Informatiques SI 4 ème année 1 Applications Réparties? Ensemble de processus (objets, agents, acteurs) qui: Communiquent entre eux via un réseau Evoluent de

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Annuaires LDAP et méta-annuaires

Annuaires LDAP et méta-annuaires Annuaires LDAP et méta-annuaires Laurent Mynard Yphise 6 rue Beaubourg - 75004 PARIS yphise@yphise.com - http://yphise.fr T 01 44 59 93 00 F 01 44 59 93 09 LDAP020314-1 Agenda A propos d Yphise Les annuaires

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Intégration d'applications d'entreprise (INTA)

Intégration d'applications d'entreprise (INTA) Master 2 SITW - Recherche Intégration d'applications d'entreprise (INTA) Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A Département TLSI Faculté des NTIC Université

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

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

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Introduction aux S.G.B.D.

Introduction aux S.G.B.D. NFE113 Administration et configuration des bases de données - 2010 Introduction aux S.G.B.D. Eric Boniface Sommaire L origine La gestion de fichiers Les S.G.B.D. : définition, principes et architecture

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Fiche de l'awt Intégration des applications

Fiche de l'awt Intégration des applications Fiche de l'awt Intégration des applications Aujourd'hui, plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr

Web (Persistance) Andrea G. B. Tettamanzi. Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Web (Persistance) Andrea G. B. Tettamanzi Université de Nice Sophia Antipolis Département Informatique andrea.tettamanzi@unice.fr Andrea G. B. Tettamanzi, 2014 1 CM - Séance 8 Organisation logicielle d'une

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI

Plus en détail

Les serveurs applicatifs et les architectures Java

Les serveurs applicatifs et les architectures Java 03 Lucas Part 02 Page 179 Lundi, 20. août 2001 2:58 14 Chapitre 15 Les serveurs applicatifs et les architectures Java Nous avons vu jusqu ici, dans les chapitres précédents, que les utilisateurs accèdent

Plus en détail

*4D, quand c est la solution qui compte. 4D démocratise les services Web

*4D, quand c est la solution qui compte. 4D démocratise les services Web *4D, quand c est la solution qui compte. 4D démocratise les services Web Table des matières I. INTRODUCTION page 3 II. VERS UNE DEFINITION DES SERVICES WEB 1. Qu est ce que c est? page 3 2. A quoi ça sert?

Plus en détail

Introduction aux systèmes répartis

Introduction aux systèmes répartis Introduction aux systèmes répartis Grappes de stations Applications réparties à grande échelle Systèmes multicalculateurs (1) Recherche de puissance par assemblage de calculateurs standard Liaison par

Plus en détail

Système d Information

Système d Information 1 sur 9 Brandicourt sylvain formateur Unix,apache,Algorithme,C,Html,Css,Php,Gestion de projet,méthode Agile... sylvainbrandicourt@gmail.com Système d Information Architecture Technique Architecture Logiciel

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Systèmes d'informations historique et mutations

Systèmes d'informations historique et mutations Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN

Plus en détail

ARCHITECTURE CLIENT / SERVEUR

ARCHITECTURE CLIENT / SERVEUR ARCHITECTURE CLIENT / SERVEUR ARCHITECTURE CLIENT/SERVEUR Définition : L'architecture client serveur s'appuie sur un poste central, le serveur, qui envoit des données aux machines clientes. Des programmes

Plus en détail

Création d un WebService. Tp WinDev Numéro 13

Création d un WebService. Tp WinDev Numéro 13 Tp WinDev Numéro 13 Objectifs : Création d un WebService Paramétrage d un serveur Web, Création du Service Web, Création du client consommateur, Approche XML, SOAP Outils : Un serveur d application Ce

Plus en détail

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication.

10/04/2011. Serveur de données. Serveur de données. Client. Programme d'application Logiciel intermédiaire Pilote de télécommunication. 1 BD locale BD locale Programme d'application Logiciel intermédiaire Client SGBD réparti Logiciel intermédiaire données SGBD réparti Logiciel intermédiaire données 2 Bénéfices potentiels Performance Fiabilité

Plus en détail

Langages du Web. Que savez vous???

Langages du Web. Que savez vous??? Langages du Web Que savez vous??? Le WEB World Wide Web ouwww ouweb Toile d'araignée mondiale ou la toile Le Web utilise le réseau Internet pour relier des serveurs qui, grâce aux protocoles HTTP, HTTPS,

Plus en détail

Unité de formation 1 : Structurer une application. Durée : 3 semaines

Unité de formation 1 : Structurer une application. Durée : 3 semaines PROGRAMME «DEVELOPPEUR LOGICIEL» Titre professionnel : «Développeur Logiciel» Inscrit au RNCP de niveau III (Bac+2) (JO du 23 Octobre 2007) (32 semaines) Unité de formation 1 : Structurer une application

Plus en détail

SOA Services Web Etendus SOAP : Communiquer

SOA Services Web Etendus SOAP : Communiquer SOA Services Web Etendus SOAP : Communiquer Mickaël BARON 2010 (Rév. Janvier 2011) mailto:baron.mickael@gmail.com ou mailto:baron@ensma.fr Licence Creative Commons Contrat Paternité Partage des Conditions

Plus en détail

Gestion des immeubles

Gestion des immeubles RAPPORT DE CONCEPTION Gestion des immeubles BOUSSRHAN YOUSSEF & BENZITI WALID Email : Youssefboussrhan@gmail.com GSM : 0678510690, 0611347597 ISTA NTIC SYBA CRJJ GROUPE B Annexe : Figure 1: Diagramme de

Plus en détail

Système de base de données

Système de base de données Système de base de données 1. INTRODUCTION Un système de base de données est un système informatique dont le but est de maintenir les informations et de les rendre disponibles à la demande. Les informations

Plus en détail

Urbanisation des Systèmes d'information

Urbanisation des Systèmes d'information Urbanisation des Systèmes d'information Des composants technologiques disponibles Urbanisation des Systèmes d'information - Henry Boccon-Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus

Plus en détail

Architectures. 28/12/02 CPI 1A : WEB Présentation 1

Architectures. 28/12/02 CPI 1A : WEB Présentation 1 Architectures 28/12/02 CPI 1A : WEB Présentation 1 Modèle Maître Esclave Utilisation du poste client, un simple terminal passif Le serveur gère l'affichage sur le terminal en fonction. Terminaux spécifiques

Plus en détail

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

Plus en détail

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

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise Lucid e-globalizer, solution globale de gestion de contenu multilingue. Ce document a pour objectif de vous présenter Lucid e-globalizer, la solution de gestion de contenu multilingue de Lucid i.t., ses

Plus en détail

Les clients légers. Exposé Système - Ingénieurs 2000 Informatique & Réseaux 2007-2008. Pierre Verron. CFAI INGÉNIEURS 2000 Caribbean's Pirates Crew

Les clients légers. Exposé Système - Ingénieurs 2000 Informatique & Réseaux 2007-2008. Pierre Verron. CFAI INGÉNIEURS 2000 Caribbean's Pirates Crew Les clients légers Exposé Système - Ingénieurs 2000 Informatique & Réseaux 2007-2008 Pierre Verron CFAI Sommaire Définitions Objectifs Historique Les architectures Inventaire des avantages et des inconvénients

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

Plus en détail

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Serveur de partage de documents Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents. Table des matières Introduction... 3 L existant... 3 Les besoins de l entreprise...

Plus en détail

Architecture client/serveur

Architecture client/serveur Architecture client/serveur Table des matières 1. Principe du client/serveur...2 2. Communication client/serveur...3 2.1. Avantages...3 2.2. Inconvénients...3 3. HTTP (HyperText Transfer Protocol)...3

Plus en détail

de survie du chef de projet

de survie du chef de projet KIT de survie du chef de projet 01 1 2 3 4 5 6 04 03 07 07 03 03 LE SERVEUR LE CLIENT TECHNOLOGIE WEB CLIENT LE SERVEUR WEB TECHNIQUES & CADRE DE TRAVAIL APPLICATIONS 101 LE SERVEUR Un serveur informatique

Plus en détail

Tout pour monter son site Web. IUFM de Bourgogne

Tout pour monter son site Web. IUFM de Bourgogne Tout pour monter son site Web IUFM de Bourgogne Pourquoi utiliser les technologies Web? Visible par toutes les plates-formes (PC, Mac, Unix ) Technologies simples et descriptives Contenu principalement

Plus en détail

Conservatoire Nationale des Arts et Métiers

Conservatoire Nationale des Arts et Métiers Conservatoire Nationale des Arts et Métiers Centre d enseignements de Grenoble Année Universitaire: 2008-2009 SERVICE WEB SOAP Cours : NFE107 Urbanisation & Architecture des Systèmes d Information Auditeurs

Plus en détail

CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2

CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2 Table des matières CARTE HEURISTIQUE...1 ARCHITECTURES APPLICATIVES...2 CLIENT/SERVEUR :... 2 Les principes de base...2 MIDDLEWARE... 3 VUE EN NIVEAUX... 3 1 Tier...3 2 Tier...3 3 Tier...3 n Tier...4 L'ÉVOLUTION

Plus en détail

Nouvelles Plateformes Technologiques

Nouvelles Plateformes Technologiques Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.

Plus en détail

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

Plus en détail

Gestion Projet : Cours 2

Gestion Projet : Cours 2 Gestion Projet : Cours 2 Le Système d Information «Ensemble d acteurs humains et/ou applicatifs en interaction les uns avec les autres ayant pour but de traiter, diffuser, persister l information afin

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 46 NFP111 Systèmes et Applications Réparties Cours 2 - Les appels de procédure distants (Partie 1) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Systèmes d information documentaires distribués

Systèmes d information documentaires distribués Systèmes d information documentaires distribués Yannick Prié UFR Informatique Université Claude Bernard Lyon 004-005 Master SIB M UE 3 / Bloc 4 Cours 6-7 Systèmes d information documentaires distribués

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

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

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Mobilité, Portabilité, Pérennité

Mobilité, Portabilité, Pérennité Journée JoSy Mars 2007 1 / 30 Mobilité, Portabilité, Pérennité David Delavennat, Philippe Depouilly Centre de Génétique Moléculaire, Institut de Mathématiques de Bordeaux Journée JoSy Mars 2007 Journée

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

VisualAge Pacbase 3.0 et WebSphere

VisualAge Pacbase 3.0 et WebSphere VisualAge Pacbase 3.0 et WebSphere Conférence VisualAge Pacbase 13 décembre 2001 Fernand Bonaguidi Jean-François Lévi 1 La plateforme logicielle WebSphere Applications de s et de Partenaires Accélérateurs

Plus en détail