JAVA Chapitre4
-
Upload
mohamed-ferchichi -
Category
Education
-
view
862 -
download
3
description
Transcript of JAVA Chapitre4
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
1
MASTER PROFESSIONNEL
NOUVELLES TECHNOLOGIES DES TELECOMMUNICATIONS ET RESEAUX
(N2TR)
Cours JAVA © FST
Plate-forme JAVA et librairies (API)
Objectif :
Ce chapitre vous permettra de comprendre ce qu’est une API, de
pouvoir identifier les API’s à travers leurs besoins. Outre
l’identification des API’s, il vous permettra de connaitre quelques
plateformes de développement JAVA.
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
2
Sommaire
Qu’est ce qu’une API ? ............................................................................................................................ 3
Exemple de quelques API : ...................................................................................................................... 3
java.lang.* : ............................................................................................................................................. 3
java.lang.String : .................................................................................................................................. 4
java.lang.StringBuffer : ........................................................................................................................ 4
java.lang.Thread : ................................................................................................................................ 4
Java.util.* ................................................................................................................................................. 5
java.util.StringTokenizer : .................................................................................................................... 6
java.util.Vector : .................................................................................................................................. 6
java.applet.* ............................................................................................................................................ 6
java.applet.Applet : ............................................................................................................................. 6
java.awt.* ................................................................................................................................................ 7
java.awt.Component : ......................................................................................................................... 7
java.awt.Panel : ................................................................................................................................... 7
java.io.* ................................................................................................................................................... 8
java.io.File : .......................................................................................................................................... 8
java.io.File(Input|Output)Stream : ...................................................................................................... 8
java.io.Data(Input|Output)Stream : .................................................................................................... 9
java.io.PrintStream : ............................................................................................................................ 9
Java.net.* ................................................................................................................................................. 9
java.net.Socket : .................................................................................................................................. 9
java.net.ServerSocket : ...................................................................................................................... 10
java.net.URL :..................................................................................................................................... 10
Les Plates-formes JAVA : ....................................................................................................................... 10
La plate-forme Jbuilder : ................................................................................................................... 10
La plate-forme Eclipse : ..................................................................................................................... 11
La plate –forme NetBeans : ............................................................................................................... 12
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
3
Qu’est ce qu’une API ?
Une interface de programmation (Application Programming Interface ou API) est un
ensemble de fonctions, de procédures ou de classes mises à la disposition des programmes
informatiques par une bibliothèque logicielle, d’un système d'exploitation ou d’un service.
La connaissance des API est indispensable à l'interopérabilité entre les composants logiciels.
Dans le cas d'une bibliothèque, il s'agit généralement de fonctions considérées comme utiles
pour d'autres composants.
Exemple de quelques API :
java.lang.* :
JAVA.LANG.
Character
Class
Math
Process
Runtime
String
StringBuffer
System
Thread
ThreadGroup
Throwable
Number
Clonable
Boolean
Runnable
Process
Runtime
Double
Float
Integer
oat
Long
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
4
Ce package rassemble les classes de base de Java. Toutes les classes et interfaces de java.lang
sont automatiquement importées par le compilateur.
java.lang.String :
La classe String gère des chaînes de caractères (char).
Une classe String n’est pas modifiable (final).
Les valeurs littérales ("abc") sont transformées en String.
L'opérateur + permet la concaténation de 2 String.
java.lang.StringBuffer :
Il est très souvent utile de modifier des objets String.
La classe StringBuffer gère des chaînes de caractères (char) modifiable (setCharAt(),
ppend(), insert()).
La méthode toString() convertie une StringBuffer en String (le même tableau est
partagé, jusqu'à la modification).
java.lang.Thread :
Un Thread permet l’exécution en parallèle d’une suite d’instructions.
Deux possibilités : soit hériter de Thread soit implémenter de Runnable.
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
5
Java.util.*
Ce package rassemble des classes d'utilitaires (gestion des collections de données, génération
de nombres aléatoires, énumération, date,...). Il définit aussi les classes d'exceptions
EmptyStackException et NoSuchElementException.
java.util.Hashtable :
Afin de faciliter les tris, Java propose une classe ‘ table de hachage ’.
Cette classe gère une collection d'objets au travers d'une table de hachage dont les clés
sont des String et les valeurs associées des Object.
java.util.*
BitSet
Date
Dictionary
Observable
Random
StringToke
nizer
Vector
Properties
Hashtable
Stack
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
6
java.util.StringTokenizer :
Afin de faciliter la recherche d’information dans des fichiers, chaînes de caractères, la
classe StringTokenizer permet de spécifier les caractères séparateurs facilitant le
découpage.
java.util.Vector :
Il est fréquent d’avoir à stocker une liste « variable » d’éléments quelconques
Cette classe gère une collection d'objets dans un tableau dynamique.
La classe Applet et les interfaces de ce package permettent de programmer une applet Java et
d'intégrer une applet dans un navigateur.
java.applet.*
La classe Applet et les interfaces de ce package permettent de programmer une applet Java et
d'intégrer une applet dans un navigateur.
java.applet.Applet :
Une Applet permet de faire exécuter du Java au sein d’un navigateur (Netscape, IE,
Opéra, …).
Son appel est inclus dans le code HTML de la page.
Le browser récupère le ‘.class’ de l ’Applet et l’exécute via la JVM qu’il implémente.
Une applet est une classe compilée héritant de java.applet.Applet.
java.applet.*
AppletStub
AppletContext
Applet
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
7
java.awt.*
Ce package est développé dans le chapitre sur les composants AWT et les suivants. Les
classes de ce package permettent de programmer l'interface graphique d'un programme ou
d'une applet Java. IL définit aussi les classes d'exceptions AWTException et AWTError.
java.awt.Component :
Cette classe abstract est la super classe de toutes les classes de composants citées ci-
dessus, et implémente l'interface ImageObserver. Elle comporte un très grand nombre
de méthodes, qui sont souvent outrepassées par les classes dérivées de Component.
java.awt.Panel :
Cette classe qui dérive des classes Container et Component, permet de créer un
container utilisé comme zone d'affichage pour y ajouter des composants ou pour
dessiner directement avec les méthodes de classe Graphics. Le layout utilisé par défaut
par la classe Panel est la classe FlowLayout. Cette classe est la super classe Applet.
java.awt.*
Component
Containe
Pane
Applet
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
8
java.io.*
Ce package rassemble les classes permettant de gérer les entrées-sorties (accès fichiers,
gestion de répertoires,...). Il définit aussi les classes d'exceptions IOException,
EOFException, FileNotFoundException, InterruptedIOException.
java.io.File :
Afin d’assurer la portabilité des applications, Java fournit une classe permettant un
accès identique aux fichiers quelque soit l ’OS sur lequel elle s’exécute.
java.io.File(Input|Output)Stream :
Ces classes permettent d'accéder en lecture et en écriture à un fichier.
java.io.*
InputStream
File
FileDescript
or
RandomAc
cessFile
OutputStream
StreamTokenizer
ByteArrayInputStream
FileInputStream
FilterInputStream
PipedInputStream
SequenceInputStream
StringBufferInputStream
ByteArrayOutput
Stream
FileOutputStream
FilterOutputStream
PipedOutputStream
BufferedOutputStream
DataOutputStream
PrintStream
BufferedInputStream
DataInputStream
LineNumberInputStream
PushbackInputStream
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
9
java.io.Data(Input|Output)Stream :
Ces classes permettent de lire et d'écrire des types primitifs et des lignes sur des flux.
java.io.PrintStream :
Cette classe permet de manipuler un OutputStream au travers des méthode print() et println().
Java.net.*
Ce package rassemble les classes permettant de gérer les accès réseaux. Il définit aussi les
classes d'exceptions MalformedURLException, ProtocolException, SocketException,
UnknownHostException et UnknownServiceException.
java.net.Socket :
Cette classe implémente une socket TCP coté client.
java.net.*
URLConnection
DatagramPacket
DatagramSocket
InetAddress
ServerSocket
Socket
URL
URLConnection
URLEncoder
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
10
java.net.ServerSocket :
Cette classe implémente une socket TCP coté serveur.
java.net.URL :
permet l’accès aux URL
Les Plates-formes JAVA :
Il existe plusieurs plates-formes JAVA et chacune a ses propres avantages ; nous pouvons
citer quelques environnements de développements tels que Jbuilder, Eclipse , Netbeans…
La plate-forme Jbuilder :
JBuilder est un environnement de développement intégré pour Java, permettant le RAD, et
édité par Borland. L'application est elle-même développée en grande partie en Java.
JBuilder apporte certaines fonctionnalités spécifiques, disposant notamment d'une JVM
propre, permettant notamment l'exécution de code Java pas à pas.
Selon les éditions, il ne permet que la réalisation d'applications clientes (J2SE) ou également
serveur (J2EE). Des modules supplémentaires pour les applications mobiles, en particulier
pour les téléphones mobiles et les PDA, ou pour les services Web, sont également
disponibles.
Certaines versions intègrent des solutions de conception UML ou des outils de débogage et de
test.
JBuilder est disponible sur Windows, Linux, Solaris et Mac OS X.
La version 2008 de JBuilder n'est pas éditée par Borland mais par Codegear, la dernière
version éditée par Borland est JBuilder 2007. Codegear a été achetée par l'éditeur
Embarcadero en mai 2008.
JBuilder est un environnement graphique de développement Java 2. Très visuel compatible
avec les JDK standard.
C’est l’environnement de développement Java qui prend en charge plusieurs plateformes et
serveurs d'applications. Il permet le développement d'applications EJB, XML, services Web et
bases de données.
Il permet de construire des applications et des applets pour différentes versions du JDK
(JDK1.1x et plus). Tout programme existant, entièrement conforme à Java 2, peut être ajouté,
travaillé et exécuté dans l’environnement JBuilder.
JBuilder assure le support de l’intégralité des langages pour le développement en XML ou en
Java.
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
11
Les fonctionnalités XML de JBuilder se répartissent entre les catégories suivantes :
Présentation, transformation et validation des documents XML
Liaison des données et manipulation par programme des documents XML
Interface avec les données de l’entreprise stockées dans des bases de données
Les fonctionnalités XML dépendent de l’édition de JBuilder.
Le support JBuilder du langage Java comprend :
• JavaBeans pour la réutilisation des composants
• Composants JFC/Swing pour le développement des interfaces utilisateur Java
Le support JBuilder Professionnel comprend de plus :
• JDBC
• Servlets
• JDK (Java Development Kit) multiples
JBuilder Entreprise ajoute le support des éléments de langages suivants :
• Enterprise JavaBeans (EJB) pour l’architecture des composants côté serveur
• CORBA
• Pages JavaServer (JSP) pour les applications basées sur le web
La plate-forme Eclipse :
Eclipse est un environnement de développement intégré libre, extensible, universel et
polyvalent, permettant de créer des projets de développement mettant en œuvre n'importe quel
langage de programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la
bibliothèque graphique SWT, d'IBM), ce langage grâce à des bibliothèques spécifiques, est
également utilisé pour écrire des extensions.
La spécificité d'Eclipse IDE vient du fait de son architecture totalement développée autour de
la notion de plugin (en conformité avec la norme OSGi) : toutes les fonctionnalités de cet
atelier logiciel sont développées en tant que plug-in.
La base de cet environnement de développement intégré est l'Eclipse Platform, composée de :
Platform Runtime démarrant la plateforme et gérant les plug-ins
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
12
SWT, la bibliothèque graphique de base de l'EDI JFace, une bibliothèque graphique de plus haut niveau basée sur SWT
Eclipse Workbench, la dernière couche graphique permettant de manipuler des
composants, tels que des vues, des éditeurs et des perspectives.
De nombreux langages sont supportés par Eclipse en 2008 (la plupart grâce à l'ajout de
plugins), parmi lesquels :
Java,
GAP pour system i,
C#,
Ada,
C++,
C,
Cobol,
Objective Caml,
Python,
Perl (EPIC),
Ruby,
COBOL,
Pascal,
PHP (PDT),
Javascript,
XML,
HTML,
XUL,
SQL,
Action script,
Coldfusion,
Magik.
La plate –forme NetBeans :
NetBeans est un environnement de développement intégré (IDE) pour Java, placé en open
source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development and
Distribution Licence). En plus de Java, NetBeans permet également de supporter différents
autres langages, comme Python, C, C++, XML, Ruby, PHP et HTML. Il comprend toutes les
caractéristiques d'un IDE moderne (éditeur en couleur, projets multi-langage, refactoring,
éditeur graphique d'interfaces et de pages web).
Chapitre 4 : Plate-forme JAVA et librairies (API)
Riadh Bouhouchi
13
Conçu en Java, NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC),
Mac OS X et Open VMS.
La version actuelle, Netbeans 6.7, est disponible en 20 langues, la plupart étant réalisées par la
communauté d'utilisateurs.