Programmation objet - Java : présentation
Le langage Java
1. Historique
Java a été développé par Sun Microsystems en 1991.
Il s’agissait de développer un langage de programmation qui permette de contrôler des appareils électroniques. Java se devait donc d’être un langage peu encombrant, performant et facile à porter pour un large éventail d’appareils.
2. Les caractéristiques principales
a. La portabilité
La compilation classique
Quand on compile un programme écrit en C ou dans la plupart des autres langages, le compilateur traduit le fichier source en code machine (des instructions spécifiques au processeur que votre ordinateur utilise). Si vous compilez le code source sur un ordinateur reposant sur un processeur, le programme résultant ne fonctionnera que sur d’autres ordinateurs reposant sur le même processeur.
Pour utiliser le même programme sur une autre plateforme, il faut transférer le code source vers la nouvelle plateforme et le recompiler pour produire du code machine spécifique à ce système.
La compilation Java
Le compilateur Java génère un pseudocode indépendant de la plate-forme de développement. La machine virtuelle, dépendante du processeur, interprète ce pseudocode.
On remarque que dans ce système, il faut qu’il y ait impérativement une machine virtuelle Java (JVM) pour chacune...
Les objectifs du cours Java - Java EE
1. La programmation objet - Java
a. Les bases de la programmation objet en Java
Maîtriser les bases du langage Java.
Concevoir et développer des applications en utilisant les principes de la programmation objet.
b. La programmation graphique - MVC
Développer des applications graphiques en Swing.
Structurer un programme en respectant le modèle MVC.
c. Les bases de données relationnelles - JDBC
Développer des applications qui accèdent à une base de données relationnelle.
Développer une couche d’accès aux données (Data Access Object).
Développer les classes permettant d’assurer le mapping objet/relationnel.
d. La programmation réseau - Architecture 3-tiers
Concevoir et développer un serveur d’objets sérialisés.
Concevoir et développer un serveur XML.
Développer des applications clientes de ces serveurs.
2. Java EE
a. La programmation web
Concevoir et développer des applications web écrites en Java, en utilisant les servlets et les JSP.
b. Les EJB
Concevoir et développer des applications utilisant les Enterprise Java Beans 3 (objets distants).
Concevoir des architectures 3-tiers et 4-tiers.
Le chapitre Objets distants - RMI - EJB contient un exemple d’accès à des objets distants avec RMI (Java SE).
Les architectures développées
1. 2-tiers client lourd
Une application graphique développée en Java communique avec un serveur de bases de données.
2. 3-tiers client lourd
Une application graphique développée en Java communique avec un serveur d’application développé en Java. Le client envoie une requête SQL au serveur qui renvoie des objets Java sérialisés.
Le serveur d’application communique avec un serveur de bases de données.
3. 3-tiers client lourd (XML)
Une application graphique développée en Java communique avec un serveur d’application développé en Java. Le client envoie une requête SQL au serveur qui renvoie un flux XML.
Le serveur d’application communique avec un serveur de bases de données.
4. 3-tiers client lourd (objets distants)
Une application Java communique avec un serveur d’objets distants.
Le serveur d’objets distants communique avec un serveur de bases de données.
5. 3-tiers client léger
Une application graphique développée en HTML communique avec le conteneur web d’un serveur Java EE.
Le conteneur web du serveur Java EE communique avec un serveur de bases de données.
6. 3-tiers client lourd
Une application graphique développée en Java communique avec le conteneur d’EJB d’un serveur Java EE.
Le conteneur d’EJB du serveur...
Organisation des dossiers, pour les applications Java et Java EE
-
Le dossier Cours contient les exemples de cours Java Standard Edition.
-
Le dossier CoursJavaEE contient les exemples de cours Java Enterprise Edition.
-
Le dossier TP contient les exemples de travaux pratiques Java Standard Edition.
-
Le dossier TPJavaEE contient les exemples de travaux pratiques Java Enterprise Edition.
-
Le dossier Utilitaires contient deux sous-dossiers :
-
UtilitairesMG contient les programmes utilitaires généraux utilisés dans l’ouvrage. Ces programmes peuvent être utilisés pour toute application Java.
-
UtilitairesDivers contient des programmes utilitaires spécifiques aux applications de l’ouvrage.
UtilitairesMG est le nom du dossier qui contient les classes utilitaires développées par l’auteur, dont les initiales sont MG. Pardon pour cette personnalisation !
Cette organisation, utilisée pour l’ouvrage, est indicative.
Les programmes utilitaires : packages UtilitairesMG et UtilitairesDivers
Les dossiers UtilitairesMG et UtilitairesDivers contiennent des packages, regroupant de nombreuses classes utiles aux développements. Ces classes sont présentées ou développées au fur et à mesure des besoins des applications de l’ouvrage.
1. UtilitairesMG : liste des classes utilitaires
Les packages de ce dossier sont utilisables dans n’importe quelle application Java. Ils "complètent" les packages de Java SE et Java EE pour faciliter les développements.
En gras : le nom du package
-
En maigre, sous forme de liste : les classes
Les packages dont le nom commence par utilitairesMG.graphique contiennent des classes qui facilitent les développements graphiques en Swing.
utilitairesMG.graphique
-
EcouteFenetre
-
FlowLayoutMG
-
LF
utilitairesMG. graphique.fenetreinterne
-
DesktopManagerMG
-
JDesktopPaneMG
-
JScrollPaneMG
utilitairesMG. graphique.table
-
AbstractRenduCellule
-
Editeur
-
EditeurBigDecimal
-
EditeurDate
-
EditeurDouble
-
EditeurFloat
-
EditeurInteger
-
EditeurLong
-
EditeurObject
-
LignesComparator
-
ModeleColonneTable
-
ModeleTable
-
RenduBigDecimal
-
RenduBoolean
-
RenduDate
-
RenduDouble
-
RenduFloat
-
RenduInteger
-
RenduLong
-
RenduObject
utilitairesMG. graphique.texte
-
DocumentSaisieLimitee
Le package utilitairesMG.divers contient quelques classes utilitaires diverses.
utilitairesMG. divers
-
Clavier
-
Colonne
-
Conversion
-
CreationObjet
-
DateFr
-
Fichier...