java chapitre4

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

Upload: mohamed-ferchichi

Post on 22-May-2015

870 views

Category:

Education


3 download

DESCRIPTION

Riadh Bouhouch Mastere pro : réseaux et télécommunication

TRANSCRIPT

Page 1: 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.

Page 2: JAVA Chapitre4

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

Page 3: JAVA Chapitre4

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

Page 4: JAVA Chapitre4

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.

Page 5: JAVA Chapitre4

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

Page 6: JAVA Chapitre4

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

Page 7: JAVA Chapitre4

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

Page 8: JAVA Chapitre4

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

Page 9: JAVA Chapitre4

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

Page 10: JAVA Chapitre4

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.

Page 11: JAVA Chapitre4

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

Page 12: JAVA Chapitre4

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

Page 13: JAVA Chapitre4

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.