Java EE comme exemple.

Download Report

Transcript Java EE comme exemple.

02/10/2014
Développement avancé
(Orienté composants,
Orienté aspects)
Java EE comme exemple.
Cours et TPs disponibles sur le lien Web :
http://www.issats-docs.tk
Enseignant de cours
Mohamed Lamine Jellad
[email protected]
Enseignante de TPs
Fatma Nakbi
[email protected]
Année universitaire
2014-2015
• Chapitre 0: Rappel de cours (POO, Java 2).
• Chapitre 1: Introduction au développement
avancé.
Plan de cours
• Chapitre 2: L’architecture Java EE et ses
composants.
• Chapitre 3: Le développement Web en Java EE.
• Chapitre 4: Le développement par composants
EJBs en Java EE.
• Chapitre 5: Le développement basé sur des
Frameworks Java EE.
1
02/10/2014
Rappel de cours
(POO, JAVA 2)
Chapitre 0
Package
Importation
Classe
Héritage
Opérateur de
visibilité
Chapitre 0 Attribut statique
Généralités
Applets
Treahds
Collections
Attribut
Signature d’une
méthode
Constructeur par
défaut
Constructeur
paramétré
Mohamed Lamine Jellad
1/13
Implémentation
Méthode
Méthode statique
Méthode principale
Instanciation d’objet
Méthode surchargée
2
02/10/2014
•
Une applet : un programme Java qui peut être
téléchargé et exécuté par un navigateur équipé d’un
plugin contenant une JVM.
•
Une applet hérite de la classe Java
javax.swing.Japplet.
•
Une applet ne nécessite pas de constructeur, ni de
méthode main( ).
•
Méthodes à redéfinir (void):
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
2/13
 init( ) lancée une fois au chargement (obligatoire),
 start( ) lancée pour démarrer (ou redémarrer) l'animation,
 stop( ) lancée par le navigateur si la page a été changée ou
par le programmeur pour arrêter temporairement l'applet,
 destroy( ) lancée par le navigateur (pour fermer des threads
par ex.).
• Un exemple d’applet
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
3/13
3
02/10/2014
 Inclusion d'une applet sur une page web
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
4/13
• Un thread est :
 une unité d'exécution faisant partie d'un
programme.
 autonome et parallèlement à d'autres threads.
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
• Différences entre threads et processus :
 Communication entre threads plus rapide que la
communication entre processus.
 Les threads partagent un même espace de
mémoire (de travail) entre eux.
 Les processus ont chacun un espace mémoire
personnel.
5/13
4
02/10/2014
•
Développement des threads en java :
 La classe java.lang.Thread
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
6/13
Méthode
Rôle
sleep(long ms)
endort le thread pendant ms millisecondes
wait()
suspend le thread
notify()
réveille un thread suspendu de la liste
notifyAll()
réveille tous les threads de la liste
setPriority( int)
change la priorité du thread(entre 1 et 10)
yield()
le thread ''laisse passer son tour''
join()
attente de la fin du thread avant de
reprendre (mode synchrone)
Le thread meurt quand la méthode run()
se termine.
• Un exemple d’une Classe Thread
Chapitre 0
Généralités
Applets
Treahds
Collections
Object
Thread
Start()
…
Mohamed Lamine Jellad
7/13
IssatThread
Run()
5
02/10/2014
 L'interface java.lang.Runnable à implémenter.
Utilisation facile de l’interface Runnable :
Il suffit de surcharger la méthode run() dans une
classe Java qui implémente java.lang.Runnable
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
8/13
Chapitre 0
Généralités
Applets
Treahds
Collections
•
Une collection est un objet qui contient d'autres
objets. Ces objets proposent une solution au
stockage de données et permettent une
manipulation de celles-ci
•
Les classes et interfaces de collection se trouvent
dans le paquetage : java.util.
•
Premières versions de Java :
 Tableaux
 Vector : tableaux dynamiques (listes)
 Hashtable : tables associatives
•
Mohamed Lamine Jellad
9/13
A partir de Java2, existence d'une infrastructure pour
la gestion de collections.
6
02/10/2014
• Les collections permettent de :
Améliorer la qualité et la performance des
applications.
 Réduire l'effort lors de l'implémentation.
 Faciliter l'apprentissage de nouvelles API.
 Réduire le coût de conception de nouvelles
API.
Encourager le réutilisation de logiciels.
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
10/13
• Quelques classes de Collections :
Un groupe d'objets
où la duplication
peut-être autorisée.
Chapitre 0
Généralités
Applets
Treahds
Collections
Un ensemble ne
contenant que des
valeurs et ces valeurs
ne sont pas
dupliquées.
Un Set trié.
Mohamed Lamine Jellad
11/13
Un groupe de paires
contenant une clé et une
valeur associée à
cette clé. Une Collection
traite des données simples
alors que Map des données
composées
(clé,valeur).
Un Map trié.
Autorise la duplication. un
système d'indexation a été
introduit pour permettre l'accès
(rapide) aux éléments.
7
02/10/2014
Chapitre 0
•
Exemple d’utilisation de la classe ArrayList
•
C’est possible de développer votre collection
personnalisée! Via l’implémentation de l’interface
Collection.
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
12/13
Chapitre 0
Généralités
Applets
Treahds
Collections
Mohamed Lamine Jellad
13/13
8
02/10/2014
• Histoire
James Gosling
Fondateur de langage Java :
 un informaticien Canadien, connu comme le père
fondateur du langage de programmation Java chez
Sun Microsystems, Gosling a quitté Sun le jours de son
achat par la société Oracle.
Chapitre 0 +
il a travaillé en free lance, juste quelque mois après le
rachat par Oracle, entre-temps il a refusé de
nombreuses propositions en provenance
d’autres sociétés pour finalement choisir Google
comme employeur.
Mohamed Lamine Jellad
+/++
•
Evolution de Java EE
Chapitre 0 +
Mohamed Lamine Jellad ++/++
9