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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

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

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

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

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

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

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

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

1. Introduction à la distribution des traitements et des données

1. Introduction à la distribution des traitements et des données 2A SI 1 - Introduction aux SI, et à la distribution des traitements et des données Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de

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

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

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

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

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com Les Services Web Jean-Pierre BORG EFORT http://www.efort.com 1 Introduction Un "Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur

Plus en détail

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

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

Introduction à la plateforme J2EE

Introduction à la plateforme J2EE Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting Oussama.essefi@expert-consulting.biz Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi

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

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

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

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

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

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

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

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2

Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2 Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

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

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49 Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique

Plus en détail

Software Engineering and Middleware A Roadmap

Software Engineering and Middleware A Roadmap Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems

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

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

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

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

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

Plus en détail

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO Page 1 Introduction Sommaire I- Présentation de la technologie II- Architectures classiques et étude du marché III- Implémentation en entreprise IV- Présentation de systèmes SSO Annexes Page 2 Introduction

Plus en détail

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

1.2 - Définition Web 2.0 ( wikipedia )

1.2 - Définition Web 2.0 ( wikipedia ) 1.2 - Définition Web 2.0 ( wikipedia ) Web 2.0 est un terme souvent utilisé pour désigner ce qui est perçu comme une transition importante du World Wide Web, passant d'une collection de sites web à une

Plus en détail

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Intégration d'applications à gros grain Unité d'intégration : le service (interface + contrat) Motivations Motivations Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat) Contraintes Applications conçues indépendamment, sans avoir prévu une intégration

Plus en détail

Workflow et Service Oriented Architecture (SOA)

Workflow et Service Oriented Architecture (SOA) White Paper Workflow et Service Oriented Architecture (SOA) Présentation Cet article offre une approche pragmatique de la SOA et du workflow à travers des problématiques d'entreprises, une méthodologie

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 sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org Les sites Internet dynamiques contact : Patrick VINCENT pvincent@erasme.org Qu est-ce qu un site Web? ensemble de pages multimédia (texte, images, son, vidéo, ) organisées autour d une page d accueil et

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

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

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Catalogue des Formations

Catalogue des Formations Catalogue des Formations When skills meet your need Pilotage et management SI Base de donnée et Aide à la décision Développement www.intellectus.ma www.fb.com/intellectusconsulting contact@intellectus.ma

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

BPEL Orchestration de Web Services

BPEL Orchestration de Web Services Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience

Plus en détail

Programmation Web. Introduction

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

Plus en détail

Nouvelles technologies pour l intégration : les ESB

Nouvelles technologies pour l intégration : les ESB 10, avenue de l Europe Parc Technologique du Canal 31520 Ramonville st Agne 05.61.28.56.20 05.61.28.56.00 www.ebmwebsourcing.com Nouvelles technologies pour l intégration : les ESB EBM Websourcing Sommaire

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

La démarche SOA et l interopérabilité applicative

La démarche SOA et l interopérabilité applicative La démarche SOA et l interopérabilité applicative Retour d'expérience des projets RITA / PRESTO de la Direction Générale de la Modernisation de l'état Abdelaziz Skalli Consultant Tél : +33.630.78.54.75

Plus en détail