Patrons de Conception (Design Patterns)
|
|
|
- Gaspard Mercier
- il y a 10 ans
- Total affichages :
Transcription
1 Patrons de Conception (Design Patterns) Introduction 1
2 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques bien éprouvées, qui ont déjà montré leur capacité à résoudre des problèmes de développement récurrents Les Patrons de Conception («Design Patterns») sont des canevas («frameworks») qui aident à saisir, spécifier et mettre en œuvre ces techniques éprouvées 2
3 Observations Les développeurs de logiciel se confrontent à des problèmes qui sont largement indépendants de l application elle même Ex: logiciel réparti problèmes de communication, tolérance aux fautes, gestion de la concurrence, initialisation de services Les bons développeurs résolvent ces problèmes en s appuyant sur les patrons de conception appropriés Par contre, ces patrons de conception ont été traditionnellement : Implicites dans les connaissances des experts Mélangés avec le code source des applications 3
4 Définition Patron /modèle /motif de conception (design pattern) : une solution réutilisable à un problème récurrent de conception logiciel, dans un certain contexte la documentation d une expérience de conception validée par la spécification d une architecture réutilisable un concept de génie logiciel, associé (la plupart du temps) avec la programmation orientée objet 4
5 Utilité Aide au développement de logiciels par la réutilisation de l expérience collective des ingénieurs expérimentés en informatique Aide à promouvoir les bonnes pratiques de conception, en capturant les expériences existantes et bien validées en développement logiciel Aide à la gestion de la complexité du logiciel Facilite la communication entre les développeurs 5
6 Historique Les patrons de conception Tirent leur origine des travaux de l'architecte Christopher Alexander dans les années 70 Formalisés pour la première fois en 1995 dans le livre du «Gang of Four» (GoF) GoF : Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides «Design Patterns - Elements of Reusable Object-Oriented Software» 6
7 Constitution Un patron de conception est défini par: un Contexte : une situation qui engendre le problème un Problème : le problème récurrent qui apparaît dans ce contexte une Solution : une résolution validée du problème Le patron de conception extrait les aspects statiques et dynamiques de la structure et de la coopération entre les participants clés de la conception d application 7
8 Sommaire Proxy Usine («Factory») Adaptateur («Adapter») Intercepteur («Interceptor») Chaîne de Responsabilités («Chain of Responsibility») 8
9 Une très brève introduction à UML Unified Modelling Language Spécification de l OMG (Object Management Group) Langage standard de modélisation d applications à objets: Structure, comportement, architecture, processus métier, structures de données, Plusieurs notations pour plusieurs diagrammes / modèles: Diagramme de cas d utilisation Diagramme de classes Diagramme de séquence Diagramme d activités Diagramme d état... 9
10 Diagramme de classes Modélise la structure statique de l application: Les classes et les relations entre les classes Qui interagit avec qui? (mais pas comment) classe abstraite généralisation association nom de la classe attributs de la classe méthodes de la classe multiplicité (d une extrémité d une association) > association : une instance d une classe doit connaître une instance de l autre classe > généralisation : un lien d héritage une classe est la super classe de l autre > multiplicité : le nombre d instances de la classe qui peuvent être associés avec une instance de l autre classe 10
11 Diagramme de séquence Modélise le comportement dynamique de l application : Les objets et les interactions entre les objets Quels messages sont échangés et quand? objet message Les messages sont ordonnés par rapport au temps création d objet barre d activation message ligne de vie («lifeline») destruction d objet 11
12 Proxy Offre un substitut ou représentant d un autre objet, afin de contrôler l accès à cet objet 12
13 Proxy Exemples Proxy distant Est le représentant local d un objet situé dans un autre espace d adressage Ex: le Stub de RMI, CORBA, Java EE,.NET, Proxy virtuel Crée des objets coûteux à la demande (lazy loading, caching, ) Ex: reporter la création d un client jusqu à la première utilisation Ex: utiliser un cache local d images Proxy de protection Contrôle l accès au composant (plusieurs droits d accès sont possibles) Ex: Serveur d Application le traitement d une requête client n est pas démarré si les droits d accès du client sont insuffisants 13
14 Proxy Contexte Le client a besoin d accéder aux services d un autre composant (ex. objet, base de données, page html ou image) L accès direct est possible du point de vue technique mais sans être la meilleure solution Problème L accès direct à un composant n est souvent pas pratique des procédures additionnelles de contrôle sont nécessaires (ex. authentification, localisation) Le code client doit rester simple et l accès aux composants transparent et efficace Solution Le client communique avec le représentant (proxy) plutôt qu avec le composant Le proxy offre l interface du composant mais exécute des procédures additionnelles avant (pre) et après (post) l invocation du composant 14
15 Proxy Diagramme de classes UML 15
16 Proxy Rôles Proxy Offre aux clients l interface de l Original Assure l accès sécurisé, efficace et correct à l Original AbstractOriginal Définit l interface (ou la classe de base) pour l Original et le Proxy Ainsi, le Proxy peut être utilisé à tout endroit où l Original est attendu Original Implémente les services décrits dans l AbstractOriginal Définit l objet réel représenté par le Proxy Client Utilise l interface du Proxy pour requérir les services de l Original 16
17 Proxy Diagramme de séquence UML 17
18 Méthode Usine («Factory Method») Fournir une interface pour la création d un objet, mais laisser les sous-classes décider quelle classe instancier Déléguer l'instanciation aux sous-classes 18
19 Usine («Factory») Exemples : Créer et utiliser des Connecteurs pour communiquer avec les objets distants, en utilisant différents intergiciels (ex : Sockets, RMI ou CORBA) Créer et utiliser des gestionnaires de sauvegarde sans savoir à l avance si le gestionnaire utilisé sera basé sur un système de fichiers ou une base de données 19
20 Usine («Factory») Contexte Un des buts de l orientation objet est de déléguer la responsabilité du traitement des requêtes entre plusieurs objets Problème Parfois, une application ne peut pas anticiper la classe concrète d objet qu elle doit instancier (seulement l interface ou la classe abstraite) Solution Définir une interface pour créer des objets d un certain type mais laisser les sous-classes décider quel sous-type de classe concrète instancier 20
21 Usine («Factory») Diagramme de classes UML 21
22 Usine («Factory») Rôles Product Interface Définit l interface des objets crées par l Usine ConcreteProduct Classe Concrète Implante l interface Product Factory Interface Définit la méthode de création qui retourne un objet de type Product ConcreteFactory Classe Concrète Crée une instance d un ConcreteProduct 22
23 Usine («Factory») Diagramme de séquence UML création objet utilisation objet destruction objet (optionnel) 23
24 Adaptateur Transforme l interface d une classe en une autre interface, connue par les clients 24
25 Adaptateur Exemple Adaptation des logiciels «legacy» pour l intégration dans des nouveaux systèmes Intégration des systèmes hétérogènes CORBA - Portable Object Adapters (POA) Java Connector Architecture (JCA) Resource Adapters 25
26 Adaptateur Contexte Un service est défini par une interface; les clients appellent le service via cette interface; les servants implantent l interface Problème Réutiliser un servant qui implante une interface non-conforme à l interface attendue par les clients Solution Introduire un composant (adapter ou wrapper) représentant une couche de transformation entre les clients et le servant L adapter intercepte les requêtes et réponses du servant et les adapte de façon à les rendre conformes avec l interface attendue 26
27 Adaptateur Diagramme de classes UML 27
28 Adaptateur Rôles Target - Interface Définit l interface utilisée par les clients Client Utilise des objets conformes à l interface Target Adaptee Définit une interface existante qui exige une adaptation Adapter Adapte l interface d Adaptee à l interface Target 28
29 Adaptateur Diagramme de séquence UML Interface standard Interface spécialisée (non-conforme) 29
30 Intercepteur Permet l insertion transparente de services dans un canevas et l activation automatique de ces services lors de l occurrence de certains événements. 30
31 Intercepteur Exemple Surveiller le fonctionnement d une application Remplacer un service de sécurité par un autre Utiliser ou désactiver un service de journalisation (Logging) CORBA Portable Interceptors Aspect-Oriented Programming (AOP) 31
32 Intercepteur Contexte Développement de canevas extensibles de façon transparente Problème Certains canevas ne peuvent pas anticiper tous les services qu ils doivent offrir aux clients => permettre l intégration de nouveaux services sans avoir besoin de modifier l architecture de base L intégration de nouveaux services ne doit pas affecter les services existants Solution Permettre l extension transparente d un canevas par l enregistrement des services via des interfaces prédéfinies Permettre au canevas de déclencher automatiquement l exécution de ces services lors de l occurrence de certains événements Définir des objets «contexte» qui permettent la transmission de l état interne du canevas aux services 32
33 Intercepteur Diagramme de classes UML (simplifié) 33
34 Intercepteur Rôles Interceptor Interface Définit les méthodes de services d interception (appelées automatiquement lors de l occurrence de certains événements) ConcreteInterceptor Classe Concrète Implante un certain service d interception Utilise l objet Context pour connaître son contexte d exécution Dispatcher Classe Concrète Permet l enregistrement et le retrait d Intercepteurs Distribue les appels de méthodes vers les Intercepteurs enregistrés, lors de l occurrence d événements Context Classe Concrète Permet aux services d obtenir des informations sur (ou de modifier) leur contexte d exécution 34
35 Intercepteur Dynamique Application ConcreteInterceptor1 Dispatcher ConcreteInterceptor2 événement1 événement 2 ConcreteInterceptor3 35
36 Intercepteur Diagramme de séquence UML 36
37 Chaîne de Responsabilités Eviter le couplage entre l expéditeur d une requête et son destinataire en donnant à plusieurs objets la possibilité de traiter la requête. Chaîner les objets traitants et faire passer la requête à travers ces objets jusqu à ce qu elle soit traitée. 37
38 Chaîne de Responsabilités Exemple - transformer le format d un document Faire passer le document initial via plusieurs filtres afin d obtenir le document dans le format final Chaque filtre exécute certaines transformations sur le document entrant et produit un nouveau fichier sortant Un nouveau filtre peut être facilement inséré dans la chaîne Exemple système de sécurité Plusieurs critères possibles pour autoriser l accès Les critères peuvent changer selon la configuration donnée 38
39 Chaîne de Responsabilités Contexte Le système doit traiter une requête La requête peut être traitée de plusieurs façons (par plusieurs objets) Problème Différents objets peuvent traiter une requête et on ne sait pas a priori lequel L'ensemble des objets pouvant traiter une requête doit être facilement modifiable Solution Isoler les différents parties d un traitement dans différents objets Faire passer la requête via une chaîne d objets (maillons) Chaque maillon peut traiter la requête et/ou la faire passer au maillon suivant 39
40 Chaîne de Responsabilités Diagramme de classes UML 40
41 Chaîne de Responsabilités Rôles Handler (Maillon) classe abstraite Définit l interface d un maillon de la chaîne Implante la gestion de la succession des maillons ConcreteHandler sous-classe concrète Définit le comportement d un maillon de la chaîne A la responsabilité d une partie d un traitement de requête Client Appelle le premier maillon dans la chaîne 41
42 Bibliographie Design Patterns - Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides POSA 1 - Pattern-Oriented Software Architecture A System of Patterns, Vol. 1, Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerland, Michael Stal POSA 2 - Pattern-Oriented Software Architecture Patterns for oncurrent and Networked Objects, Vol. 2, Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann POSA 3, POSA 4, POSA 5, 42
43 Cas d étude Simulation d un serveur d application élémentaire 43
44 Objectif Simulation d un serveur d application élémentaire Chaque objet est géré par un conteneur («container») Un conteneur peut utiliser plusieurs services non-fonctionnels (ex: sécurité, journalisation ou supervision) Vue générale d'un containeur 44
45 Défis L utilisation du conteneur et des services nonfonctionnels doit rester transparente aux clients Les services utilisés par le conteneur doivent pouvoir être changés souvent et facilement Insertion, modification ou retrait des services Changement de l ordre d exécution des services 45
46 Cas d application Magasin (réutilisation de l application du TP RMI) un client interroge plusieurs magasins (GerantMagasin) sur le prix d un certain produit (ou ingrédient) afin de déterminer le magasin le moins cher (par rapport au produit) Hébergement d'un objet GerantMagasin dans un container 46
47 Conception (1) Combinaison de trois patrons de conception Chaîne de Responsabilité Chaque appel d une méthode du Magasin passe par une chaîne de maillons (proxies) Ex: Un maillon pour le service de sécurité, un maillon pour la journalisation et un pour la supervision Proxy Le container, ainsi que chaque maillon de la chaîne d interception implantent l interface Magasin la même interface implantée par le GerantMagasin Intercepteur Chaque service non-fonctionnel est implanté par un intercepteur Chaque maillon joue le rôle d un Dispatcher pour un certain type d intercepteur 47
48 Conception (2) Conception du container du GerantMagasin 48
49 Implantation Squelette du code source disponible Code de l application Magasin: Réutilisation du code du TP RMI (mises à jour mineures) Paquet shop Code du conteneur et des services Paquet container 49
50 Travaux Pratiques 1. Reconfiguration du serveur Utilisation d un fichier de configuration 2. Utilisation du service de sécurité Modification de l authentification client Modification du service de sécurité 3. Implantation des services d interception Développement des services de supervision et de journalisation Transmission de paramètres par le Context du container 4. Extension de la chaîne d interception Implantation et introduction d un nouveau service non-fonctionnel 50
Plan. Patrons de conception. Motivations. Design Pattern : principe. Philippe Collet
Plan Patrons de conception Philippe Collet Master 1 Informatique 2005-2006 http://deptinfo.unice.fr/twiki/bin/view/minfo/gloo Introduction Premier exemple Principes et classification Présentation des patrons
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,
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 ([email protected]), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime
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
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
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
NSY102. Conception de logiciels Intranet Introduction
Conception de logiciels Intranet Introduction Cnam Paris jean-michel Douin, douin au cnam point fr 6 Février 2009 Une Introduction 1 Sommaire Introduction Généralités Tendances historique API & Intergiciel
Cours en ligne Développement Java pour le web
Cours en ligne Développement Java pour le web We TrainFrance info@wetrainfrance Programme général du cours Développement Java pour le web Module 1 - Programmation J2ee A) Bases de programmation Java Unité
Le passage à l échelle de serveur J2EE : le cas des EJB
Le passage à l échelle de serveur J2EE : le cas des EJB Sylvain Sicard, Noël De Palma, Daniel Hagimont CFSE 4 5-8 Avril 2005 LSR 1 Plan de la présentation 1. Architecture de serveur J2EE en grappe 2. Problématique
Chapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
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
Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language
Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric
Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Architecture à base de composants pour le déploiement adaptatif des applications multicomposants
Architecture à base de composants pour le déploiement adaptatif des applications multicomposants Dhouha Ayed, Chantal Taconet, et Guy Bernard GET / INT, CNRS Samovar 5157 9 rue Charles Fourier 91011 Évry,
Chapitre 2 - Architecture logicielle et construction d applications client-serveur
Chapitre 2 - Architecture logicielle et construction d applications client-serveur «Toute technologie suffisamment avancée est indiscernable de la magie» (Arthur Clarke) Résumé La méthodologie MEDEVER
IFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Vérifier la qualité de vos applications logicielle de manière continue
IBM Software Group Vérifier la qualité de vos applications logicielle de manière continue Arnaud Bouzy Kamel Moulaoui 2004 IBM Corporation Agenda Analyse de code Test Fonctionnel Test de Performance Questions
Prise en compte des ressources dans les composants logiciels parallèles
Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec [email protected] Action RASC Plan de cet exposé Contexte Motivations
Classeur de suivi de l auditeur. Architecture et Ingénierie des Systèmes et des Logiciels
Classeur de suivi de l auditeur Architecture et Ingénierie des Systèmes et des Logiciels 04/12/2012 2 Sommaire Introduction... 4 Objectifs... 4 Méthodologie... 4 Coordonnées... 5 Curriculum vitae de l
Chapitre 1 Windows Server 2008 11
Chapitre 1 Windows Server 2008 11 1.1. Les fondations du système... 15 1.2. La virtualisation... 16 1.3. La sécurité... 18 1.4. Le Web... 20 1.5. Fonctionnalité disponible dans Windows Server 2008... 21
C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.
1- RAD Quelle sont les avantages que apporte la méthode RAD à l entreprise? Une méthode RAD devrait, d après son auteur, apporter trois avantages compétitifs à l entreprise : Une rapidité de développement
Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration
Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML
basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes
Intergiciel - concepts de base
Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques
Analyse,, Conception Objet
Analyse,, Conception Objet Design Patterns Introduction Sommaire Conception Réutilisabilité Bibliothèque de classe vs. Framework Design Pattern Historique Catégories de Patterns Bibliographie O. Boissier,
Développement d un interpréteur OCL pour une machine virtuelle UML.
ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,
Information utiles. [email protected]. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : [email protected] webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Intégration de systèmes
Intégration de systèmes Préparé par: Marc Barassi, Michel Fraser, Louis Martin, Martin Simoneau Collaboration spéciale: François Boucher et Richard Boutin 3/18/14 Intégration de systèmes «L ensemble des
Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction
Plan du cours Autres modèles pour les applications réparties Introduction [email protected] http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant
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 [email protected] Introduction Architectures classiques
Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon
L Y O N Département Informatique Année 2011/2012 Rapport de Synthèse Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon Laboratoire Ptidej de L Ecole Polytechnique de Montréal
Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Cours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
Environnements de Développement
Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus
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:...
MEAD : temps réel et tolérance aux pannes pour CORBA
MEAD : un intergiciel temps-réel et tolérant aux pannes pour CORBA Master 2 Informatique Recherche Université de Marne-la-Vallée Vendredi 3 mars 2006 Plan 1 Introduction 2 Solutions existantes 3 Concilier
Introduction à LDAP et à Active Directory... 15. Étude de cas... 37
Introduction à LDAP et à Active Directory... 15 Généralité sur l annuaire et LDAP... 16 Qu est-ce qu un annuaire?... 16 Un peu d histoire sur le protocole... 16 LDAP version 2 et version 3... 17 Le standard
2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational
IBM Software Group Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational Fernard Bonaguidi [email protected]
Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle
2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle [email protected] http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation
Analyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
UML (Paquetage) Unified Modeling Language
UML (Paquetage) Unified Modeling Language Sommaire Introduction Objectifs Paquetage Espace de nommage d un paquetage Dépendances entre paquetages 2 Notion introduite véritablement par UML car superficiellement
SECTION 5 BANQUE DE PROJETS
SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION
Projet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
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
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
Auto-évaluation Aperçu de l architecture Java EE
Auto-évaluation Aperçu de l architecture Java EE Document: f1218test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION APERÇU
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
Ingénierie des Modèles. Méta-modélisation
Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique [email protected]
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,
Refonte front-office / back-office - Architecture & Conception -
Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table
Le développement d'applications informatiques
Le développement d'applications informatiques Des bibliothèques de fonctions aux "design patterns" Copyright 2011-2015 Yves Marcoux 1 Sources bibliographiques Ramon, Jorge. "Preface". Ext JS 3.0 Cookbook:
Intégration et Déploiement de Systèmes d Information
Voie d'approfondissement Intégration et Déploiement de Systèmes d Information ( VAP DSI ) Directeur de Programme : Dr. Claire LECOCQ Objectifs : La voie d approfondissement DSI prépare au métier d Assistant
Créer et partager des fichiers
Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation
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
OCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect [email protected]. 2010 IBM Corporation
Perspectives pour l entreprise Desktop Cloud JC Devos IBM IT Architect [email protected] Principe technique Disposer d un poste de travail virtuel accessible par la plupart des terminaux disponibles Ce
Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.
Analyse et conception objet du logiciel : Méthode de conception objet et notation UML Rémy Courdier Email : [email protected] Rémy Courdier V2.1 1 Plan du cours Introduction au Génie Logiciel
RAPPORT DE CONCEPTION UML :
Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions
Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant
Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans
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
Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique
Master Informatique et Systèmes Architecture des Systèmes d Information 03 Architecture Logicielle et Technique Damien Ploix 2014-2015 Démarche d architecture SI : structuration en vues Quels métiers?
Traduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Université de Bangui. Modélisons en UML
Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et
Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
4. Utilisation d un SGBD : le langage SQL. 5. Normalisation
Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :
Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier
Master MIDO 2ème année Spécification et Conception en UML Maude Manouvrier Spécifications initiales Analyse Conception du système Conception des classes Bibliographie Modélisation et conception orientées
Conception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
WEA Un Gérant d'objets Persistants pour des environnements distribués
Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et
Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2
Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD
GEI 465 : Systèmes répartis
Université de Sherbrooke GEI 465 : Systèmes répartis Travaux à effectuer Ahmed Khoumsi Automne 2004 Page 1 Les deux premiers travaux que vous effectuerez vous donneront, respectivement, l occasion d utiliser
Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <[email protected]> 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
Introduction à la plateforme J2EE
Introduction à la plateforme J2EE Auteur : Oussama Essefi Directeur technique Expert Consulting [email protected] Copyright 2010 Expert Consulting Page 1 1. Introduction 1.1. Pourquoi
Intergiciels orientés composants.
Intergiciels orientés composants. Introduction à CCM (CORBA Component Model) Ada Diaconescu [email protected] Plan Motivation Introduction aux intergiciels orientés composant Définition
SQL SERVER 2008, BUSINESS INTELLIGENCE
SGBD / Aide à la décision SQL SERVER 2008, BUSINESS INTELLIGENCE Réf: QLI Durée : 5 jours (7 heures) OBJECTIFS DE LA FORMATION Cette formation vous apprendra à concevoir et à déployer une solution de Business
Générer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
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
18 TCP Les protocoles de domaines d applications
18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles
Java - RMI Remote Method Invocation. Java - RMI
Remote Method Invocation Yann Viémont Université de Versailles St-Quentin Plan 1. Introduction 2. Rappels sur les RPC 3. Le modèle objet de Java-RMI 4. Architecture générale 1. Introduction = Disponible
Smart Notification Management
Smart Notification Management Janvier 2013 Gérer les alertes, ne pas uniquement les livrer Chaque organisation IT vise à bien servir ses utilisateurs en assurant que les services et solutions disponibles
Patrons d architecture des Systèmes d Information
P7 : Projet Bibliographique Dans le cadre du Mastère ASIG Patrons d architecture des Systèmes d Information Serveur Base de données Clients Mortier Mélanie 15 mai 2008 Mastère ASIG / Projet bibliographique
Meta Object Facility. Plan
Meta Object Facility Gestion de «meta objets» & meta meta modélisation Xavier Le Pallec Plan 1 Auteur : MOF : généralités L OMG en 1997-1998. Acteur principal DSTC : Centre Recherche sur les Systèmes distribués
CNAM cours NFE107 : Urbanisation et architecture des SI Xavier Godefroy, Rapport sur le BPM, mai 2009. Le BPM
Le BPM 1 Introduction... 2 1.1 Dissiper l ambiguïté... 2 1.2 Quelques définitions... 2 1.3 Définition du BPM... 3 1.4 Modélisation BPMN... 4 1.4.1 Les briques de la modélisation... 4 1.4.2 Des patterns
UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013
UML Diagramme de communication (communication diagram) 2013 Diagramme de communication (communication diagram) Utilisation / objectifs Sens Ce diagramme présente des objets, des acteurs, des liens et des
ECLIPSE ET PDT (Php development tools)
ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement
Automatisation de l administration système
Automatisation de l administration système Plan Problèmatique : trop de systèmes, trop de solutions Typage des solutions Puppet : gestion de configuration de systèmes Capistrano : déploiement d applications
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é[email protected]
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
Chapitre I : le langage UML et le processus unifié
I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
Les diagrammes de modélisation
L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse
Mettre en place un accès sécurisé à travers Internet
Mettre en place un accès sécurisé à travers Internet Dans cette partie vous verrez comment configurer votre serveur en tant que serveur d accès distant. Dans un premier temps, les méthodes pour configurer
Architectures Ouvertes pour l Adaptation des Logiciels
Architectures Ouvertes pour l Adaptation des Logiciels Frédéric Duclos 1, Jacky Estublier 2, Rémy Sanlaville 1 Published in review Génie Logiciel And proceedings ICSSEA, Paris 2001 1 Dassault Systèmes
Remote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Visual Paradigm Contraintes inter-associations
Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor
Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT
Administration Réseau Niveau routage Intérêt du NAT (Network Address Translation) Possibilité d utilisation d adresses privées dans l 4 2 1 Transport Réseau Liaison Physique Protocole de Transport Frontière
RTDS G3. Emmanuel Gaudin [email protected]
RTDS G3 Emmanuel Gaudin [email protected] PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,
