CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert
Module UV Java Page 2 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Module Java n Vue densemble du langage Java n Le langage Java : syntaxe et sémantique n Programmation multi-tâche : les threads n Accéder aux bases de données n Composants réutilisables : le modèle MVC n Développement Client/Serveur n Présentation dun IDE : WSAD / Forté / JBuilder n Les serveurs dapplications J2EE n Les Enterprise JavaBeans n Ré-ingénierie dapplications Java
Module UV Java Page 3 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Résumé n Java 2 est une mise à jour de la plate-forme Java, dans le but daccroître les performances de Java, ses fonctionnalités, et la sécurité. n Dans ce cours, je propose une vue densemble des nouvelles caractéristiques de Java.
Module UV Java Page 4 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Plan n Points forts n Histoire et Compatibilité n Caractéristiques n Questions & Réponses
Module UV Java Page 5 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Vue densemble Java 2
Module UV Java Page 6 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Points Forts de Java n JFC et Swing –Un framework pour la construction dapplications GUI professionnelles. n Collections Framework –Un ensemble de structures de données standards et dalgorithmes, basés sur des interfaces. n Sécurité –modèle de sécurité fine, cryptographie.
Module UV Java Page 7 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Points Forts (suite) n Enterprise Java –JDBC, CORBA, JNDI, et RMI ont été améliorés et font partis du noyau" n Encore plus! –Objets Référence, amélioration des performances, extensions des Standards, Javadoc, les variables ThreadLocal, la correction de bogues, et lamélioration des classes existantes.
Module UV Java Page 8 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Stratégie Java
Module UV Java Page 9 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Quels avantages ? n Stable n Nouvelles caractéristiques n compatible avec les versions précédentes n VM plus rapide
Module UV Java Page 10 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Une Brève Définition n Lenvironnement de développement Java comprend –La Machine Virtuelle (VM) –Le Langage –Les librairies Noyaux les classes java.*, javax.*
Module UV Java Page 11 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Histoire du Kit de Développement Java n Alpha, Beta (1995) n JDK 1.0 (Jan. 1996) n JDK 1.1 (Fév. 1997) n JDK 1.2, Java 2 (Déc. 1998) n J2EE, J2SE 1.4, J2ME (Sept. 2001)
Module UV Java Page 12 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Evolution JDK n JDK Spécification VM finalisée n JDK Langage et librairies améliorés –classes internes, reflection –RMI, Events, composants légers n JDK 1.2 (Java 2) - une version performantes avec de nouvelles librairies
Module UV Java Page 13 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Compatibilité JDK n Toutes les anciennes caractéristiques sont disponibles dans JDK 1.2 n La plupart des nouvelles caractéristiques sont compatibles avec le JDK 1.1 –ajouter les nouvelles classes dans le CLASSPATH
Module UV Java Page 14 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Compatibilité côté Client n Java était supposé révolutionner la distribution de logiciels –Surf sur le web, et download la dernière version n Toutefois, il y a eu des problèmes –Bande passante Limitée –Technique de cache pauvre –La JVM dans le browser nétait jamais mise à jour
Module UV Java Page 15 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Java Plug-In (Activator) n Browser VM automatiquement mis à jour n Distribution de logiciels en Intranet et sur Internet
Module UV Java Page 16 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Améliorations de la Performance n Support des Threads Natifs n Compression de la Mémoire pour les classes chargées n Allocation Mémoire et Garbage Collection plus rapide n Augmentation de la rapidité de gestion des Moniteurs
Module UV Java Page 17 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Autres améliorations n Extensions du Framework n améliorations des JAR, JNI, Reflection, pont JDBC- ODBC n Servlets n Javadoc (un outil)
Module UV Java Page 18 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Une Architecture Technique
Module UV Java Page 19 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Architecture Java JDK 2.0 JAVA Beans Serveurs API de Sécurité RMIJDBCJNI Internationa lisation Java Core Reflection JNDI Server API Java IDL Machine Viruelle Java OS + Embedded API + Personal API PCsNCPDAPuces Java Horizontale Couche système Plates-formes cibles Media API Commerce API Management API Transaction Services Autres API Verticale JDK 1.0/1.1
Module UV Java Page 20 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Machine Virtuelle : émulateur n Byte-Code n MicroProcesseur logiciel –Jeu d'instructions –Registres –Pile, Heap –Ramasse-miettes –Espace de stockage des méthodes –Tas de constantes n ==> Compilé ou Interprété
Module UV Java Page 21 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Caractéristiques du langage Java 2 Module Java
Module UV Java Page 22 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Swing n Réécriture complète de lensemble des composants graphiques: –JButton, JFrame, JLabel… n les classes basiques AWT peuvent toujours être utilisées –Window, Graphics, Image
Module UV Java Page 23 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle AWT = Peer Architecture n Chaque composants ne saffiche pas lui-même –possède un objet peer –Peer interagit avec les composants graphiques natifs de lOS –Les composants natifs effectuent laffichage et la gestion des événements n 2 problèmes majeurs –Impossible détendre les composants graphiques (sous classes) –Comportements différents sur les plate-formes Look différent, agissements différents, bugs différents
Module UV Java Page 24 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Swing = Portabilité n Tous les composants sont 100% Pure Java –pas de composants peers –Utilise le Graphics pour afficher n J versions de tous les composants de base –JButton, JFrame, JList, etc.
Module UV Java Page 25 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Swing = Consistant n Tous les composants graphiques partagent des fonctionnalités communes –Double-buffer –Tooltips –Extensible via les sous classes –Gère la touche tab pour le focus –Supporte les raccourcis clavier –Internationalisable
Module UV Java Page 26 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Swing = Consistant (suite) n JButtons et JLabels peuvent contenir des icônes –construit à partir des fichiers GIF. n JPanels possèdent des bordures standards n JMenus et JMenuBars peuvent être ajoutées à nimporte quel container
Module UV Java Page 27 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Nouveaux composants Swing n JTree –Liste Hiérarchique n JTable –Ligne-colonne –Re-dimensionnable / colonnes déplaçables
Module UV Java Page 28 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Nouveaux composants Swing n JScrollPane –Possibilité de défilement pour nimporte quel composant ou container, juste en lajoutant au JScrollPane n JToolbar –panel flottant contenant des petites icônes n JEditorPane –éditeur texte –rendu complet et fonctionnel HTML (!!!)
Module UV Java Page 29 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Concepts Conception Swing n MVC –Possibilité dutiliser ses propres modèles de données pour quelque soit le composant graphique –E.g. utilisation dune base de données pour remplir une JTable n Pluggable Look And Feel (PLAF) –Affichage comme Macintosh ou Windows, ou Metal n Events et Java Beans –Utilise les standards JDK1.1
Module UV Java Page 30 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle JFC vs. Swing n JFC = Swing + Drag-and-drop + Java2D + Accessibilité + dautres services (navigation par le clavier, Undo, Redo). n Swing est dans JFC, mais JFC nest pas Swing
Module UV Java Page 31 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle JFC n Drag-and-drop –et copy-and-paste n Java2D –librairies graphiques - mises à léchelle, rotations, fontes –ne fonctionnent pas parfaitement n Accessibilité –utilisateurs particuliers (aveugles, etc.)
Module UV Java Page 32 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Le Framework Collections Module Java
Module UV Java Page 33 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Types de données Abstraits n Structures de données et algorithmes standards n Facilement compréhensible n Efficaces n Exemples –Piles, queue, liste liée
Module UV Java Page 34 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Conception orientée Interface n Séparation de linterface et de limplémentation n Polymorphisme –List l = new LinkedList(); –Appel de l.add() invoque une méthode de la classe LinkedList
Module UV Java Page 35 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Le Framework Collections n Architecture pour la définition et la manipulation de collections n Réduit les efforts pour apprendre les APIs n Réduire leffort nécessaire pour concevoir et implémenter les APIs n réutilisation
Module UV Java Page 36 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Buts du Framework n Petites API en terme de : –Nombre dinterfaces –Nombre de méthodes par interface n Construction basée sur des collections existantes Java (Vector, Hashtable) n Possibilité de conversions avec des tableaux Java
Module UV Java Page 37 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Résumé: Interfaces Noyaux n Collection n Set n List n Map n SortedSet n SortedMap
Module UV Java Page 38 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Java Entreprise n Java devient le standard pour linformatique dEntreprise. n Large, distribué, fiable, extensible, haute- performance, orienté bases de données, transaction, etc.
Module UV Java Page 39 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Eléments Java Enterprise n CORBA (JavaIDL) –Maintenant un paquetage Java –ORB Java2 100% Pure Java n RMI –sockets Personnalisables (SSL, IIOP) –Activation dobjets distants
Module UV Java Page 40 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Enterprise Java (cont.) n Transactions (OTS/JTS) –support de transactions distribuées –Compatible avec le standard CORBA n JDBC amélioré –pool de connections, rowsets (sorte de vue de bases de données Bean), transactions distribuées, types de données supplémentaires, etc..
Module UV Java Page 41 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Enterprise Java Beans n API Commune pour le développement de composants orientés business n serveurs EJB n indépendant du Vendeur n 100% Pure Java n Sécurité
Module UV Java Page 42 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Conclusion n Augmente la productivité –moins coûteux pour les décideurs –plus intéressant pour les programmeurs (comparer) n Langage d'avenir pour : –les applications distribuées (portabilité, sécurité) –le développement OO simple, puissant, outillé, bibliothèques –les applications embarquées n Introduit tous les mécanismes des langages de programmation modernes n Langage universel
Module UV Java Page 43 / 43 Deruelle Laurent Copyright © 2002 Laurent Deruelle Quelques adresses pour obtenir de lInformation: n sites Web – (Gamelan) – (magazine) – (sun) –