CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java...

43
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert

Transcript of CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java...

Page 1: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT

UV Java

DSI ETUDES Module Java Expert

Page 2: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 2 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Module Java

Vue d’ensemble du langage Java Le langage Java : syntaxe et sémantique Programmation multi-tâche : les threads Accéder aux bases de données Composants réutilisables : le modèle MVC Développement Client/Serveur Présentation d’un IDE : WSAD / Forté / JBuilder Les serveurs d’applications J2EE Les Enterprise JavaBeans Ré-ingénierie d’applications Java

Page 3: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 3 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Résumé

Java 2 est une mise à jour de la plate-forme Java, dans le but d’accroître les performances de Java, ses fonctionnalités, et la sécurité.

Dans ce cours, je propose une vue d’ensemble des nouvelles caractéristiques de Java.

Page 4: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 4 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Plan

Points forts Histoire et Compatibilité Caractéristiques Questions & Réponses

Page 5: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 5 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Vue d’ensemble Java 2

Page 6: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 6 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Points Forts de Java

JFC et Swing– Un framework pour la construction d’applications GUI

professionnelles.

Collections Framework– Un ensemble de structures de données standards et

d’algorithmes, basés sur des interfaces.

Sécurité– modèle de sécurité fine, cryptographie.

Page 7: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 7 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Points Forts (suite)

Enterprise Java– JDBC, CORBA, JNDI, et RMI ont été améliorés et font partis du

”noyau"

Encore plus!– Objets Référence, amélioration des performances, extensions des

Standards, Javadoc, les variables ThreadLocal, la correction de bogues, et l’amélioration des classes existantes.

Page 8: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 8 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Stratégie Java

Page 9: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 9 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Quels avantages ?

Stable Nouvelles caractéristiques compatible avec les versions précédentes VM plus rapide

Page 10: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 10 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Une Brève Définition

L’environnement de développement Java comprend– La Machine Virtuelle (VM)– Le Langage– Les librairies Noyaux

• les classes java.*, javax.*

Page 11: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 11 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Histoire du Kit de Développement Java

Alpha, Beta (1995) JDK 1.0 (Jan. 1996) JDK 1.1 (Fév. 1997) JDK 1.2, Java 2 (Déc. 1998) J2EE, J2SE 1.4, J2ME (Sept. 2001)

Page 12: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 12 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Evolution JDK

JDK 1.0 - Spécification VM finalisée JDK 1.1 - Langage et librairies améliorés

– classes internes, reflection– RMI, Events, composants légers

JDK 1.2 (Java 2) - une version performantes avec de nouvelles librairies

Page 13: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 13 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Compatibilité JDK

Toutes les anciennes caractéristiques sont disponibles dans JDK 1.2

La plupart des nouvelles caractéristiques sont compatibles avec le JDK 1.1– ajouter les nouvelles classes dans le CLASSPATH

Page 14: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 14 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Compatibilité côté Client

Java était supposé révolutionner la distribution de logiciels– Surf sur le web, et download la dernière version

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

Page 15: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 15 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Java Plug-In (Activator)

Browser VM automatiquement mis à jour Distribution de logiciels en Intranet et sur Internet

Page 16: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 16 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Améliorations de la Performance

Support des Threads Natifs Compression de la Mémoire pour les classes

chargées Allocation Mémoire et Garbage Collection plus rapide Augmentation de la rapidité de gestion des Moniteurs

Page 17: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 17 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Autres améliorations

Extensions du Framework améliorations des JAR, JNI, Reflection, pont JDBC-

ODBC Servlets Javadoc (un outil)

Page 18: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 18 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Une Architecture Technique

Page 19: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 19 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Architecture Java

JDK 2.0

JAVA Beans

Serveurs

API deSécurité

RMI JDBC JNI Internationalisation

Java Core ReflectionJNDI

ServerAPI

JavaIDL

Machine ViruelleJava OS + Embedded API +

Personal API

PCs NC PDA Puces Java

Horizontale

Couche système

Plates-formes cibles

MediaAPI

CommerceAPI

Management APITransaction

ServicesAutres API Verticale

JDK1.0/1.1

Page 20: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 20 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Machine Virtuelle : émulateur

Byte-Code MicroProcesseur logiciel

– Jeu d'instructions

– Registres

– Pile, Heap

– Ramasse-miettes

– Espace de stockage des méthodes

– Tas de constantes ==> Compilé ou Interprété

Compilateurjavac

Byte-Code.class

MVInterpréteur

SE

Matériel

Source.java

Page 21: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 21 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Caractéristiques du langage Java 2

Module Java

Page 22: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 22 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Swing

Réécriture complète de l’ensemble des composants graphiques:– JButton, JFrame, JLabel…

les classes basiques AWT peuvent toujours être utilisées– Window, Graphics, Image

Page 23: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 23 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

AWT = Peer Architecture

Chaque composants ne s’affiche pas lui-même– possède un objet “peer”

– Peer interagit avec les composants graphiques natifs de l’OS

– Les composants natifs effectuent l’affichage et la gestion des événements

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

Page 24: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 24 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Swing = Portabilité

Tous les composants sont 100% Pure Java– pas de composants peers– Utilise le Graphics pour afficher

“J” versions de tous les composants de base– JButton, JFrame, JList, etc.

Page 25: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 25 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Swing = Consistant

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

Page 26: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 26 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Swing = Consistant (suite)

JButtons et JLabels peuvent contenir des icônes– construit à partir des fichiers GIF.

JPanels possèdent des bordures standards JMenus et JMenuBars peuvent être ajoutées à

n’importe quel container

Page 27: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 27 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Nouveaux composants Swing

JTree– Liste Hiérarchique

JTable – Ligne-colonne– Re-dimensionnable / colonnes déplaçables

Page 28: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 28 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Nouveaux composants Swing

JScrollPane– Possibilité de défilement pour n’importe quel composant ou

container, juste en l’ajoutant au JScrollPane

JToolbar– panel flottant contenant des petites icônes

JEditorPane– éditeur texte– rendu complet et fonctionnel HTML (!!!)

Page 29: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 29 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Concepts Conception Swing

MVC– Possibilité d’utiliser ses propres modèles de données pour

quelque soit le composant graphique

– E.g. utilisation d’une base de données pour remplir une JTable Pluggable Look And Feel (“PLAF”)

– Affichage comme Macintosh ou Windows, ou Metal Events et Java Beans

– Utilise les standards JDK1.1

Page 30: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 30 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

JFC vs. Swing

JFC = Swing + Drag-and-drop + Java2D + Accessibilité + d’autres services (navigation par le clavier, Undo, Redo).

Swing est dans JFC, mais JFC n’est pas Swing

Page 31: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 31 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

JFC

Drag-and-drop– et copy-and-paste

Java2D– librairies graphiques - mises à l’échelle, rotations, fontes– ne fonctionnent pas parfaitement

Accessibilité– utilisateurs particuliers (aveugles, etc.)

Page 32: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 32 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Le Framework Collections

Module Java

Page 33: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 33 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Types de données Abstraits

Structures de données et algorithmes standards Facilement compréhensible Efficaces Exemples

– Piles, queue, liste liée

Page 34: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 34 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Conception orientée Interface

Séparation de l’interface et de l’implémentation Polymorphisme

– List l = new LinkedList();

– Appel de l.add() invoque une méthode de la classe LinkedList

Page 35: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 35 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Le Framework Collections

Architecture pour la définition et la manipulation de collections

Réduit les efforts pour apprendre les APIs Réduire l’effort nécessaire pour concevoir et implémenter

les APIs réutilisation

Page 36: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 36 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Buts du Framework

Petites API en terme de :– Nombre d’interfaces– Nombre de méthodes par interface

Construction basée sur des collections existantes Java (Vector, Hashtable)

Possibilité de conversions avec des tableaux Java

Page 37: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 37 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Résumé: Interfaces Noyaux

Collection Set List Map SortedSet SortedMap

Page 38: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 38 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Java Entreprise

Java devient le standard pour l’informatique d’Entreprise.

Large, distribué, fiable, extensible, haute-performance, orienté bases de données, transaction, etc.

Page 39: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 39 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Eléments Java Enterprise

CORBA (JavaIDL)– Maintenant un paquetage Java– ORB Java2 100% Pure Java

RMI– sockets Personnalisables (SSL, IIOP)– Activation d’objets distants

Page 40: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 40 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Enterprise Java (cont.)

Transactions (OTS/JTS)– support de transactions distribuées– Compatible avec le standard CORBA

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

Page 41: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 41 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Enterprise Java Beans

API Commune pour le développement de composants orientés business

serveurs EJB indépendant du Vendeur 100% Pure Java Sécurité

Page 42: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 42 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Conclusion

Augmente la productivité– moins coûteux pour les décideurs

– plus intéressant pour les programmeurs (comparer) Langage d'avenir pour :

– les applications distribuées (portabilité, sécurité)

– le développement OO• simple, puissant, outillé, bibliothèques

– les applications embarquées Introduit tous les mécanismes des langages de programmation

modernes Langage universel

Page 43: CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV Java DSI ETUDES Module Java Expert.

Module UV JavaPage 43 / 43

Deruelle LaurentCopyright © 2002 Laurent Deruelle

Quelques adresses pour obtenir de l’Information:

sites Web

– http://www.Developer.com/ (Gamelan)– http://www.JavaWorld.com/ (magazine)– http://java.sun.com/ (sun)– http://www.alphaworks.ibm.com/alphaBeans