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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

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

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

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

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

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

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

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

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

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

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

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

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

Plus en détail

Architectures d'intégration de données

Architectures d'intégration de données Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration

Plus en détail

Module BDR Master d Informatique (SAR)

Module BDR Master d Informatique (SAR) Module BDR Master d Informatique (SAR) Cours 6- Bases de données réparties Anne Doucet Anne.Doucet@lip6.fr 1 Bases de Données Réparties Définition Conception Décomposition Fragmentation horizontale et

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

Architectures Client-Serveur

Architectures Client-Serveur Architectures Client- Bernard ESPINASSE Professeur à l'université d'aix-marseille 2011 Introduction : pourquoi le Client-? Evolution des organisations : 1980-1990 1985-1995 1995-2000 Introduction : pourquoi

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

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Chapitre 3: UML pour la description et la documentation d une architecture logicielle Année universitaire 2013/2014 Semestre 1 Rappel L architecture d un programme ou d un système

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

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

Architectures n tiers Intergiciels à objets et services web

Architectures n tiers Intergiciels à objets et services web UMIN406 : thèmes abordés Architectures n tiers Intergiciels à objets et services web Clémentine Nebut LIRMM / Université de Montpellier 2 LIRMM Clementine.nebut@lirmm.fr 1 Distribution d objets Java RMI,.net

Plus en détail

Mercredi 15 Janvier 2014

Mercredi 15 Janvier 2014 De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est

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

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

Examen Construction d Applications Réparties

Examen Construction d Applications Réparties Examen Construction d Applications Réparties Maîtrise Informatique Université des Sciences et Technologies de Lille 2003-2004 Session Septembre 2004-3 heures Tous documents autorisés 1. Gestion d'un Parking

Plus en détail

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan

Présentation du module. Base de données spatio-temporelles. Exemple. Introduction Exemple. Plan. Plan Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Partie 1 : Notion de bases de données (Conception

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Introduction à la conception de systèmes d information

Introduction à la conception de systèmes d information Introduction à la conception de systèmes d information 2008-2009 M1 MIAGE SIMA / M1 Informatique MIF17 Yannick Prié UFR Informatique - Université Claude Bernard Lyon 1 Objectifs de ce cours Présentation

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

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

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

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

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

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 : Progiciels de Gestion Intégrés Sommaire Définition... 2 ERP... 2 Objectifs

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

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

Plus en détail

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26 Services Web Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web p.1/26 Plan du cours 1. Introduction 2. SOAP 3. WSDL 4. UDDI Site du cours : http://apiacoa.org/teaching/webservices/

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

1. QCM (40 points) (1h)

1. QCM (40 points) (1h) Examen 1ère session 2012-2013 page 1 NSY 102 - AISL IPST-CNAM Intranet et Designs patterns NSY 102 Vendredi 26 Avril 2013 Durée : 3 heures Enseignants : LAFORGUE Jacques 1. QCM (40 points) (1h) Mode d'emploi

Plus en détail

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)

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) 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) Module 1 : Programmer une application informatique Durée

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

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

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

Modélisation des réseaux : Le modèle OSI et ses dérivés

Modélisation des réseaux : Le modèle OSI et ses dérivés Chapitre 1 1 Modélisation des réseaux : Le modèle OSI et ses dérivés Le modèle OSI de l ISO 2 Le modèle d'interconnexion des Systèmes Ouverts (Open Systems Interconnection) a été proposé par l'iso (International

Plus en détail

Architectures n-tiers Intergiciels à objets et services web

Architectures n-tiers Intergiciels à objets et services web Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 Clementine.nebut@lirmm.fr Introduction Architectures classiques

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 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet

Cahier de charges (Source : Java EE - Guide de développement d'applications web en Java par Jérôme Lafosse) Module. Site Web dynamique JSP / Servlet Cahier de charges (Source : "Java EE - Guide de développement d'applications web en Java" par Jérôme Lafosse) Module Site Web dynamique JSP / Servlet Sujet : betaboutique Soutenance le 04 / 01 /2013 &

Plus en détail

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE ORACLE DATA INTEGRATOR ENTERPRISE EDITION offre de nombreux avantages : performances de pointe, productivité et souplesse accrues pour un coût total de

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

Chapitre 1. Présentation générale de l Internet

Chapitre 1. Présentation générale de l Internet Chapitre 1. Présentation générale de l Internet Sommaire Chapitre 1. Présentation générale de l Internet... 1 1. Vue d ensemble d Internet... 2 1.1. Introduction... 2 1.2. Définition de l Internet... 2

Plus en détail

CQP Développeur Nouvelles Technologies (DNT)

CQP Développeur Nouvelles Technologies (DNT) ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,

Plus en détail

SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea

SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea Gartner 1992 : styles of client-server computing L origine du SOA? Presentation Presentation

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 4 : Web Service Sommaire Introduction... 1 Web Service... 1 Les technologies des

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Livre Blanc WebSphere Transcoding Publisher

Livre Blanc WebSphere Transcoding Publisher Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,

Plus en détail

OFFRE DE FORMATION L.M.D.

OFFRE DE FORMATION L.M.D. REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE OFFRE DE FORMATION L.M.D. MASTER PROFESSIONNEL ET ACADEMIQUE Systèmes d Information

Plus en détail

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Présentation générale de NatStar. Nat Systems

Présentation générale de NatStar. Nat Systems Présentation générale de NatStar 1 L'atelier NatStar Pourquoi NatStar Composants de NatStar Ade et le référentiel Graphical Builder : modéliser les fenêtres Process Modeling : modéliser les traitements

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

Les services Web vers l'interopérabilité des applications réparties sur internet. Tarek Melliti

Les services Web vers l'interopérabilité des applications réparties sur internet. Tarek Melliti Les services Web vers l'interopérabilité des applications réparties sur internet Tarek Melliti Plan de la présentation Introduction aux services Web Approche conceptuel orienté service : SOA Les services

Plus en détail

Plan : divers exemples

Plan : divers exemples INF347 Langages XML et technologies WEB exemples Sylvie Vignes, ENST École Nationale Supérieure des Télécommunications Département Informatique et Réseaux Plan : divers exemples! Rendre accessible une

Plus en détail

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire FICHE PRODUIT Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire BENEFICES POUR LES DSI Réussir les projets de gouvernance dans les délais et les budgets Démarrer de manière tactique tout en

Plus en détail

Programme du cycle ingénieur Cnam spécialité informatique par l alternance Année 2015-2016

Programme du cycle ingénieur Cnam spécialité informatique par l alternance Année 2015-2016 Programme du cycle ingénieur Cnam spécialité informatique par l alternance Année 2015-2016 Ingénieur en Informatique en Contrat de Professionnalisation - Année I1 RSX102 Technologies pour les applications

Plus en détail

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr]

10. Base de données et Web. OlivierCuré [ocure@univ-mlv.fr] 10. Base de données et Web 313 Evolution de l'information Ordre de grandeur : 314 1Mo : 1 gros roman 200Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une

Plus en détail

STACCINI Pascal UFR Médecine Nice Université Nice-Sophia Antipolis

STACCINI Pascal UFR Médecine Nice Université Nice-Sophia Antipolis 2.3 : Apprécier les normes et standards et les technologies permettant l interopérabilité et le travail en réseau Chapitre 2 : Travail collaboratif en santé Normes et technologies de l interopérabilité

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Notre Catalogue des Formations IT / 2015

Notre Catalogue des Formations IT / 2015 Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119

Plus en détail

Bases de données réparties

Bases de données réparties Bases de données réparties J. Akoka - I. Wattiau 1 Contexte Technologique : des solutions de communication efficace entre les machines des SGBD assurent la transparence des données réparties standardisation

Plus en détail

Chapitre 5 CORBA (Common Object Request Broker Architecture)

Chapitre 5 CORBA (Common Object Request Broker Architecture) DÉVELOPPEMENT D APPLICATIONS RÉPARTIES CORBA (Common Object Request Broker Architecture) Amen Ben Hadj Ali amenbha@hotmail.com ISI-L3SIL 2011-2012 Plan 2 Architecture CORBA Le langage IDL CORBA en Java

Plus en détail