Ce fichier (support_cours_v1.2.odt) est le support de cours de l ...
44 pages
Français

Ce fichier (support_cours_v1.2.odt) est le support de cours de l ...

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
44 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

TP, Supérieur, TP
  • cours - matière potentielle : l' initation java
  • mémoire
Support de formation de l'initiation Java web Conception Pascal Cauquil Modifications Fabrice Benedet Date création : 21/05/08 Référence: - Dernière modif. : 25/06/08 Pages 44 Diffusion : IS, formateurs et participants à la formation Bases de données scientifiques Présentation/résumé Ce fichier (support_cours_v1.2.odt) est le support de cours de l'initation Java/web pour la formation IS/DSI Bases de données scientifiques.
  • code source de la jvm de sun
  • office de référence en matière d'implémentation des spécifications java
  • multiples cadriciels de développement java
  • code html
  • morceaux de code java
  • implémentation
  • java
  • base de donnée
  • base donnée
  • bases de données
  • base des données
  • base données
  • bases de donnée
  • base de données
  • classe
  • classes
  • référence
  • références

Sujets

Informations

Publié par
Nombre de lectures 64
Langue Français
Poids de l'ouvrage 1 Mo

Extrait

Date création : Référence:
-21/05/08
Conception
Pascal Cauquil
Dernière modif. : PagesModifications
4425/06/08Fabrice Benedet
Support de formation de l'initiation Java web
Diffusion : IS, formateurs et participants à la formation Bases de données scientifiques
Présentation/résumé
Ce fichier (support_cours_v1.2.odt) est le support de cours de l'initation Java/web
pour la formation IS/DSI Bases de données scientifiques.
Durée : ½ journée.
Il aborde :
• une présentation de Java
• les méthodes de développement d'applications web avec Java
• un TP d'initiation au framework Struts 2
Note : Certaines définitions sont tirées de Wikipédia.
25 juin 2008 – IRD-IS/DSI - support_cours_v1.2.odt
1/441. Découverte de Java
1. Qu'est-ce que Java ?
Java est un langage de programmation mis au point par Sun Microsystems dans les années
90. La première version sort en 1995.
A présent, il est plus juste de considérer que Java est non seulement un langage de pro-
grammation, mais surtout une sphère autour de laquelle gravitent des concepts, des techno-
logies, des acteurs industriels, des serveurs, dont le but est de permettre l'application du lan-
gage Java à un ensemble très varié de contextes d'utilisation.
2. Particularités
Comparé à d'autres langages, Java présente les caractéristiques suivantes.
1. Indépendance vis-à-vis de la plate-forme d'exécution
Le code compilé par le compilateur, appelé bytecode Java, est indépendant de la plate-
forme d'exécution (du matériel comme du système d'exploitation).
Cette caractéristique n'est rendue possible que par l'entremise d'une machine virtuelle
(JVM), à savoir un programme qui s'intercale entre le programme Java à exécuter et le sys-
tème d'exploitation, et dont le rôle est de traduire le bytecode Java dans un code compré-
hensible par le système cible.
Illustration 1 : Pricincipe d'exécution du bytecode Java
La machine virtuelle, quant à elle, reste évidemment spécifique à chaque couple
machine/système d'exploitation. Cependant, cette dépendance est à relativiser car des ma-
chines virtuelles existent pour une grande variété de systèmes :
– PC sous Windows et Linux
– Macintosh : architectures PPC et x86
– Systèmes Unix : IBM AIX, HP-UX, Sun Solaris...
– Périphériques mobiles sous Symbian, Linux, Windows Mobile...
– et bien d'autres...
25 juin 2008 – IRD-IS/DSI - support_cours_v1.2.odt
2/44La contrepartie de cette architecture est une vitesse d'exécution notablement inférieure à
celle d'un code natif.
2. Un environnement libéré
Initialement, Java n'est pas une technologie libre. Jusqu'en novembre 2006, les codes
sources du compilateur et de la machine virtuelle HotSpot VM, machine de référence, sont la
propriété de Sun Microsystems. Pour autant, leur utilisation est gratuite, même en environne-
ment professionnel ou à but commercial.
Par ailleurs, s'il est vrai que le code source de la JVM de Sun est privé, Sun publie l'en-
semble des spécifications qui permettent à des tiers la conception de leur propre machine
virtuelle.
Ces deux facteurs ont permis l'émergence d'un marché décentralisé et même d'une commu-
nauté autour de cette technologie, malgré ses aspects propriétaires.
En novembre 2006, Sun annonce qu'il va progressivement libérer tous les aspects de la
plate-forme : codes sources du compilateur, de sa JVM, du serveur J2EE GlassFish et tout
1le code Java son désormais sous licence GNU GPL . Ceci laisse espérer un accroissement
de la communauté.
3. Développement exclusivement orienté obje t
Certains langages, comme le PHP, permettent de programmer en objet, sans y contraindre.
L'objet lui est une surcouche. D'autres, comme le C++, sont une évolution objet d'un langage
procédural. A l'inverse, l'approche objet a dicté la conception de Java, et il n'est pas envisa-
geable de programmer avec ce langage dans le style procédural.
3. Les applications possibles
Java est un langage versatile. Il s'applique à une grande variété d'utilisations.
1. Les applications web
C'est actuellement le domaine dans lequel Java se développe le plus. Beaucoup de sites
web d'envergure fonctionnent avec cette technologie.
En programmation Internet se pose toujours la question de la plate-forme d'hébergement,
souvent imposée par le fournisseur de service. Par son indépendance vis-à-vis de la plate-
forme d'exécution, Java répond bien à cette problématique.
2. Les application graphiques dites "lourdes"
Java permet de construire des applications fenêtrées traditionnelles, avec le principe d'indé-
pendance par rapport au système hôte.
Néanmoins, l'utilisation de Java pour le développement d'application fenêtrées est toujours
restée, jusqu'à présent, assez limitée.
Sun propose depuis longtemps deux librairies graphiques :
2
• AWT : c'est la bibliothèque historique. Elle exploite les composants natifs de la plate-
forme d'exécution. L'avantage est que la réactivité de l'interface est bonne, compa-
rable aux autres types d'interfaces. Mais comme l'application doit pouvoir s'exécuter
1L'extension ClassPath à la licence GNU GPL permet d'utiliser cette JVM GPL sans pour au-
tant que les applications soient elles aussi nécessairement sous licence GPL
2boutons, listes déroulantes, champs texte...
25 juin 2008 – IRD-IS/DSI - support_cours_v1.2.odt
3/44sur toutes les systèmes, on ne peut utiliser que les composants graphiques représen-
tant le dénominateur commun à toutes les plates-formes : on est donc très limité.
• Swing : Au lieu de faire appel aux éléments graphiques (widgets) proposés par le
3système hôte, Swing les dessine elle-même . Il n'y a donc plus de limite à la créativié.
Par contre cela induit une lourdeur et des temps d'affichage qui grèvent les perfor-
mances de façon non négligeable. Par ailleurs, Swing n'est pas esthétiquement très
flatteur.
Illustration 2 : Exemple d'application Swing s'exécutant sous
Linux : PDFSAM
Depuis quelques années, IBM propose une alternative intéressante : SWT. SWT réunit le
meilleur des deux mondes en utilisant les composants natifs lorsqu'ils existent, et en dessi-
nant elle-même les widgets lorsque c'est nécessaire. Les applications SWT sont esthétiques
et performantes. Le frein à la démocratisation de SWT est à imputer à Sun qui refuse tou-
jours d'inclure SWT comme bibliothèque standard dans les spécifications Java.
4L'environnement de développement Eclipse est bâti sur SWT .
3. Les applications mobiles
Des JVM existent pour les terminaux de petite taille. On distingue deux types de terminaux :
• Ceux dont la puissance est suffisante pour implémenter la totalité des spécifications
5Java, comme les PDA ou les téléphones portables évolués (smart phones) . Dans ce
cas la portabilité des applications entre ces terminaux et le reste des plates-formes
plus conventionnelles est assurée.
• Ceux dont la puissance est limitée et qui n'implémentent qu'une partie des spécifica-
6tions Java . Ces terminaux ne peuvent exécuter que des applications de type CLDC.
A titre d'exemple, les jeux pour téléphones portables, de même que le navigateur
OperaMini ou GoogleEarth Mobile sont développés en Java CLDC.
3On parle de composants pur Java
4C'est d'ailleurs pour réaliser Eclispe qu'IBM a développé SWT
5plates-formes dites CDC
6plates-formes dites CLDC
25 juin 2008 – IRD-IS/DSI - support_cours_v1.2.odt
4/444. Les applications en ligne de commande
Il est tout à fait possible de réaliser des applications de type console, qui peuvent s'exécuter
sur des systèmes sans interface graphique, voir même sans système d'affichage (modem,
robot...).
5. Convergence des technologies
Quelque soit le média visé, on emploie le même langage de programmation. Ainsi, en déve-
loppement web, on programme la couche métier des applications web avec le même lan-
gage et les mêmes bibliothèques de fonctions que l'on utiliserait pour développer une appli-
cation fenêtrée traditionnelle.
Illustration 3 : Schéma d'une appl i -
cation web Java
Un corollaire intéressant est que l'on peut réutiliser pour le web les bibliothè

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents