JAVA Chapitre4

  • 809 views
Uploaded on

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

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

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
809
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
53
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Chapitre 4 : Plate-forme JAVA et librairies (API) 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. 1Riadh Bouhouchi
  • 2. Chapitre 4 : Plate-forme JAVA et librairies (API) SommaireQu’est ce qu’une API ? ............................................................................................................................ 3Exemple de quelques API : ...................................................................................................................... 3java.lang.* : ............................................................................................................................................. 3 java.lang.String : .................................................................................................................................. 4 java.lang.StringBuffer : ........................................................................................................................ 4 java.lang.Thread : ................................................................................................................................ 4Java.util.* ................................................................................................................................................. 5 java.util.StringTokenizer : .................................................................................................................... 6 java.util.Vector : .................................................................................................................................. 6java.applet.* ............................................................................................................................................ 6 java.applet.Applet : ............................................................................................................................. 6java.awt.* ................................................................................................................................................ 7 java.awt.Component : ......................................................................................................................... 7 java.awt.Panel : ................................................................................................................................... 7java.io.* ................................................................................................................................................... 8 java.io.File :.......................................................................................................................................... 8 java.io.File(Input|Output)Stream :...................................................................................................... 8 java.io.Data(Input|Output)Stream :.................................................................................................... 9 java.io.PrintStream : ............................................................................................................................ 9Java.net.*................................................................................................................................................. 9 java.net.Socket : .................................................................................................................................. 9 java.net.ServerSocket : ...................................................................................................................... 10 java.net.URL :..................................................................................................................................... 10Les Plates-formes JAVA : ....................................................................................................................... 10 La plate-forme Jbuilder : ................................................................................................................... 10 La plate-forme Eclipse : ..................................................................................................................... 11 La plate –forme NetBeans : ............................................................................................................... 12 2Riadh Bouhouchi
  • 3. Chapitre 4 : Plate-forme JAVA et librairies (API)Qu’est ce qu’une API ?Une interface de programmation (Application Programming Interface ou API) est unensemble de fonctions, de procédures ou de classes mises à la disposition des programmesinformatiques par une bibliothèque logicielle, d’un système dexploitation ou d’un service.La connaissance des API est indispensable à linteropérabilité entre les composants logiciels.Dans le cas dune bibliothèque, il sagit généralement de fonctions considérées comme utilespour dautres composants.Exemple de quelques API : java.lang.* : Boolean Character Double Class Float Math Integer Process Process oat Long JAVA.LANG. Runtime Runtime String StringBuffer System Thread ThreadGroup Throwable Number Clonable Runnable 3Riadh Bouhouchi
  • 4. Chapitre 4 : Plate-forme JAVA et librairies (API)Ce package rassemble les classes de base de Java. Toutes les classes et interfaces de java.langsont 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.  Lopé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. 4Riadh Bouhouchi
  • 5. Chapitre 4 : Plate-forme JAVA et librairies (API) Java.util.* BitSet Date Dictionary Hashtable java.util.* Observable Properties Random StringToke nizer Vector StackCe package rassemble des classes dutilitaires (gestion des collections de données, générationde nombres aléatoires, énumération, date,...). Il définit aussi les classes dexceptionsEmptyStackException et NoSuchElementException.java.util.Hashtable :  Afin de faciliter les tris, Java propose une classe ‘ table de hachage ’.  Cette classe gère une collection dobjets au travers dune table de hachage dont les clés sont des String et les valeurs associées des Object. 5Riadh Bouhouchi
  • 6. Chapitre 4 : Plate-forme JAVA et librairies (API)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 dobjets dans un tableau dynamique.La classe Applet et les interfaces de ce package permettent de programmer une applet Java etdintégrer une applet dans un navigateur. java.applet.* AppletStub java.applet.* AppletContext AppletLa classe Applet et les interfaces de ce package permettent de programmer une applet Java etdinté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. 6Riadh Bouhouchi
  • 7. Chapitre 4 : Plate-forme JAVA et librairies (API) java.awt.* Component Containe java.awt.* Pane AppletCe package est développé dans le chapitre sur les composants AWT et les suivants. Lesclasses de ce package permettent de programmer linterface graphique dun programme oudune applet Java. IL définit aussi les classes dexceptions 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 linterface 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 daffichage 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. 7Riadh Bouhouchi
  • 8. Chapitre 4 : Plate-forme JAVA et librairies (API) java.io.* BufferedInputStream InputStream ByteArrayInputStream FileInputStream DataInputStream File FilterInputStream LineNumberInputStream PipedInputStream PushbackInputStream FileDescript or SequenceInputStreamjava.io.* StringBufferInputStream RandomAc cessFile ByteArrayOutput Stream OutputStream BufferedOutputStream FileOutputStream FilterOutputStream DataOutputStream StreamTokenizer PipedOutputStream PrintStreamCe 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 dexceptions 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 daccéder en lecture et en écriture à un fichier. 8Riadh Bouhouchi
  • 9. Chapitre 4 : Plate-forme JAVA et librairies (API)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.* URLConnection DatagramPacket DatagramSocket InetAddress java.net.* ServerSocket Socket URL URLConnection URLEncoderCe package rassemble les classes permettant de gérer les accès réseaux. Il définit aussi lesclasses dexceptions MalformedURLException, ProtocolException, SocketException,UnknownHostException et UnknownServiceException.java.net.Socket :  Cette classe implémente une socket TCP coté client. 9Riadh Bouhouchi
  • 10. Chapitre 4 : Plate-forme JAVA et librairies (API)java.net.ServerSocket :  Cette classe implémente une socket TCP coté serveur.java.net.URL :  permet l’accès aux URLLes Plates-formes JAVA :Il existe plusieurs plates-formes JAVA et chacune a ses propres avantages ; nous pouvonsciter 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. Lapplication est elle-même développée en grande partie en Java.JBuilder apporte certaines fonctionnalités spécifiques, disposant notamment dune JVMpropre, permettant notamment lexécution de code Java pas à pas.Selon les éditions, il ne permet que la réalisation dapplications clientes (J2SE) ou égalementserveur (J2EE). Des modules supplémentaires pour les applications mobiles, en particulierpour les téléphones mobiles et les PDA, ou pour les services Web, sont égalementdisponibles.Certaines versions intègrent des solutions de conception UML ou des outils de débogage et detest.JBuilder est disponible sur Windows, Linux, Solaris et Mac OS X.La version 2008 de JBuilder nest pas éditée par Borland mais par Codegear, la dernièreversion éditée par Borland est JBuilder 2007. Codegear a été achetée par léditeurEmbarcadero en mai 2008.JBuilder est un environnement graphique de développement Java 2. Très visuel compatibleavec les JDK standard.C’est l’environnement de développement Java qui prend en charge plusieurs plateformes etserveurs dapplications. Il permet le développement dapplications EJB, XML, services Web etbases 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 enJava. 10Riadh Bouhouchi
  • 11. Chapitre 4 : Plate-forme JAVA et librairies (API)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éesLes 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 JavaLe support JBuilder Professionnel comprend de plus : • JDBC • Servlets • JDK (Java Development Kit) multiplesJBuilder 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 webLa plate-forme Eclipse :Eclipse est un environnement de développement intégré libre, extensible, universel etpolyvalent, permettant de créer des projets de développement mettant en œuvre nimporte quellangage de programmation. Eclipse IDE est principalement écrit en Java (à laide de labibliothèque graphique SWT, dIBM), ce langage grâce à des bibliothèques spécifiques, estégalement utilisé pour écrire des extensions.La spécificité dEclipse IDE vient du fait de son architecture totalement développée autour dela notion de plugin (en conformité avec la norme OSGi) : toutes les fonctionnalités de cetatelier logiciel sont développées en tant que plug-in.La base de cet environnement de développement intégré est lEclipse Platform, composée de :  Platform Runtime démarrant la plateforme et gérant les plug-ins 11Riadh Bouhouchi
  • 12. Chapitre 4 : Plate-forme JAVA et librairies (API)  SWT, la bibliothèque graphique de base de lEDI  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 à lajout deplugins), 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 opensource par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development andDistribution Licence). En plus de Java, NetBeans permet également de supporter différentsautres langages, comme Python, C, C++, XML, Ruby, PHP et HTML. Il comprend toutes lescaractéristiques dun IDE moderne (éditeur en couleur, projets multi-langage, refactoring,éditeur graphique dinterfaces et de pages web). 12Riadh Bouhouchi
  • 13. Chapitre 4 : Plate-forme JAVA et librairies (API)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 lacommunauté dutilisateurs. 13Riadh Bouhouchi