Architectures Logicielles Java GLG203 GLG204
Objectifs GLG Créer Architecte intranet/internet J2EE Modélisation et analyse Découpage en couche, distribution Design Pattern Connaissance de plusieurs framework (Open Source) Développements (Java/J2EE/XML/SQL) Persistance / Transactions Test Sécurité
Contraintes Techniques J2EE : 18 spécifications Java : beaucoup d’APIs Design Pattern du GOF, J2EE, EJB Organisationnelles Pratique, développement Pas de Hello World 2h hebdomadaire
Historique IAGL 1997 : Langage Java + Projet fin d’UV 2001 : Ajout de J2EE + TPs hebdo Article pour workshop IEEE 2003 GLG 2005 : Suppression des cours Java, uniquement J2EE Les TPs se basent sur le Blueprint de Sun : Java PetStore 2006 : J2EE => JEE5 Livre chez Eyrolles (Java EE 5) => Plusieurs remaniements pour coller au mieux au métier d’architecte
Cours GLG203 Cours J2EE JDBC, RMI, IIOP, Sécurité, XML Web : HTML, JSP, Servlet, JSTL Enterprise : EJB Entity, EJB Stateless et Stateful Design Pattern Test unitaire Remaniement de code (Refactoring) Environnement de développement (Ant, Gradle, Eclipse)
TPs Petstore TP hebdomadaire Basé sur PetStore Sun (Blueprint) Site de commerce électronique Evolution des besoins utilisateur Développement itératif et incrémental Note hebdomadaire (système de test)
Java UML Environnement Test Présentation Serveur Web Serveur Cas d’utilisation Classes Eclipse Ant JUnit Présentation Serveur Web Serveur d’Application Couche de persistance Bases de données Java
Java UML Environnement Test Refactoring Présentation Serveur Web Cas d’utilisation Classes Séquence Déploiement Eclipse Ant Gradle JUnit Extraire paquetage Déplacer classe Présentation Serveur Web Serveur d’Application Couche de persistance Bases de données Java
JDBC Java UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Eclipse Gradle JUnit DAO Extraire paquetage Déplacer classe Extraire superclasse Présentation Serveur Web Serveur d’Application Couche de persistance Bases de données MySQL JDBC Java
Swing JDBC Java UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle (multi project) JUnit DAO Facade Template Method Extraire paquetage Déplacer classe Extraire superclasse Présentation Serveur Web Serveur d’Application Couche de persistance Bases de données MySQL Swing JDBC Java
Swing JDBC Java UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle JUnit DAO Facade Template Method DTO Business Delegate Extraire paquetage Déplacer classe Extraire superclasse Présentation Serveur Web Serveur d’Application Couche de persistance Bases de données MySQL Swing JDBC RMI IIOP Java
HTML Swing Servlet JDBC Java UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle JUnit HTTPUnit DAO Facade Template Method DTO Business Delegate Singleton Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Couche de persistance Bases de données MySQL HTML Swing Servlet JDBC RMI IIOP Java
HTML Swing Servlet JDBC Java XML UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle JUnit HTTPUnit DAO Facade Template Method DTO Business Delegate Singleton AbstractFactory Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Couche de persistance Bases de données MySQL HTML Swing Servlet JDBC RMI IIOP Java XML
HTML JSP Swing Servlet JDBC Java XML UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle JUnit HTTPUnit Selenium IDE DAO Facade Template Method DTO Business Delegate Singleton AbstractFactory MVC Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Couche de persistance Bases de données MySQL HTML JSP Swing Servlet JDBC RMI IIOP Java XML
JSTL HTML JSP Datasource Swing Servlet JDBC Java XML UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle JUnit HTTPUnit Selenium IDE DAO Facade Template Method DTO Business Delegate Singleton AbstractFactory MVC Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Couche de persistance Bases de données Custom Tag MySQL JSTL HTML JSP Datasource Swing Servlet JDBC RMI IIOP Java XML
JSTL HTML JSP Datasource Swing Servlet JDBC Java XML UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle JUnit HTTPUnit Selenium IDE DAO Facade Template Method DTO Business Delegate Singleton AbstractFactory MVC Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Couche de persistance Bases de données Http Session Custom Tag MySQL Java WebStart JSTL HTML JSP Datasource Swing Servlet JDBC RMI IIOP Java XML
JSTL HTML JSP Datasource Swing Servlet JDBC Java XML EJB Stateful UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle NetBeans JUnit HTTPUnit Selenium IDE DAO Facade Template Method DTO Business Delegate Singleton AbstractFactory MVC Session Facade Service Locator Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Glassfish Couche de persistance Bases de données Http Session Custom Tag MySQL Java WebStart JSTL EJB Stateful HTML JSP EJB Stateless Datasource Swing Servlet JNDI JDBC RMI IIOP Java XML
JSTL JPA HTML JSP Datasource Swing Servlet JDBC Java XML EJB Stateful UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle NetBeans JUnit HTTPUnit Selenium IDE DAO Facade Template Method DTO Business Delegate Singleton MVC Session Facade Service Locator Unique id Generator Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Glassfish Couche de persistance Bases de données Http Session Custom Tag MySQL Java WebStart JSTL EJB Stateful JPA HTML JSP EJB Stateless Datasource Swing Servlet JNDI JDBC RMI IIOP Java XML
JSTL JPA HTML JSP Datasource Swing Servlet JDBC Java XML Web Services UML Environnement Test Design Pattern Refactoring Cas d’utilisation Classes Séquence Déploiement Composant Activité Eclipse Gradle NetBeans JUnit HTTPUnit Selenium IDE DAO Facade Template Method DTO Business Delegate Singleton MVC Session Facade Service Locator Unique id Generator Extraire paquetage Déplacer classe Extraire superclasse Extraire classe Hide Delegate Présentation Serveur Web Tomcat Serveur d’Application Glassfish Couche de persistance Bases de données Http Session Custom Tag Web Services MySQL Java WebStart JSTL EJB Stateful JPA HTML JSP EJB Stateless Datasource Swing Servlet JNDI JDBC RMI IIOP Java XML
Projet GLG204 Réaliser un projet Modélisation UML Méthode d'Analyse (Arrington) Document d'expression des besoins Document d'analyse Document d'architecture et conception Développement Test
Java XML Présentation Serveur Web Serveur d’Application Couche de persistance Bases de données Java XML
Autres connaissances Pour compléter le métier d’architecte Gestion de projet Encadrement Communication Montée en charge Interopérabilité avec d'autres systèmes (.Net, mainframe) Réseau …