Présentation de Java. Olivier de Pertat IT GROUP

Dimension: px
Commencer à balayer dès la page:

Download "Présentation de Java. Olivier de Pertat IT GROUP"

Transcription

1 Présentation de Java Olivier de Pertat IT GROUP

2 Qu'est-ce que Java? Un langage de programmation orienté objets Une architecture de Virtual Machine Un ensemble d'api variées Un ensemble d'outils : le Java Runtime Enviromnent le Java SDK Standard Edition le Java SDK Entreprise Edition

3 Historique 1991 : Sun "Green Projet" (informatisation de l électronique grand public) 1993 : projet Oak (langage embarqué indépendant CPU) 1994 : recentrage sur Internet, réalisation d un browser en Oak 1995 : Mai 95 : Java (23 mai). WebRunner -> HotJava Mai 95 : Netscape prend la licence Sept. 95 : JDK 1.0 b1 (200 Classes) Déc. 95 : Microsoft se dit intéressé Début des API spécialisées (multimédia, commerce) et JavaComputing (JavaOS )

4 Historique 1996 : Java Classes Janv. 96 : JDK Eté 96 : Java Study Group ISO/IEC JTC 1/SC22 Fin 96 : RMI, JDBC, JavaBeans, : JDK 1.1 nouveaux services quelques modifications du langage : Plateforme Java 2 - JDK classes consolidation vers maturité 2000 : Plateforme Java 2 version 1.3 : amélioration des performances, incorporation d extensions dans le noyau 2002 : Plateforme Java 2 version 1.4.1

5 Principe de compilation C

6 Principe de compilation Java

7 Principe : Code Source $ cat Hello.java public class Hello { public static void main(string [] args) { System.out.println("Hello World!"); } }

8 $ od -x Hello.class feca beba e00 1d00 000a f a c06 6e e f c0f 6e69 4e d c d e b28 6a4c f61 616c 676e f e69 3b a 756f c a c6c 2e6f a c c c c6c f 646c c1a 1b00 1c [ EOF ] Principe : Byte Code

9 Les points faibles de Java Les JVM sont beaucoup plus lentes que du code C compilé ; Java est très gourmand en mémoire ; Certaines constructions du langage sont décevantes ; Certaines API sont décevantes ; Java est extrêmement vaste ; Java est tributaire de son évolution rapide.

10 Les caractéristiques du langage Java Orienté objets Interprété Portable Simple Robuste Sécurisé Multi-threads Distribué

11 Un langage orienté objets Tout est classe (pas de fonctions) sauf les types primitifs (int, float, double,...) et les tableaux Toutes les classes dérivent de java.lang.object Il respecte : l encapsulation, communication par message, polymorphisme et hérite Les objets se manipulent via des références Une API objet standard est fournie La syntaxe est proche de celle de C

12 Java est portable Le compilateur Java génère du byte code. La Java Virtual Machine (JVM) est présente sur Unix, Win32, Mac, OS/2, Netscape, IE,... Le langage a une sémantique très précise. La taille des types primitifs est indépendante de la plate-forme. Java supporte un code source écrit en Unicode. Java est accompagné d'une librairie standard.

13 Java est robuste A l origine, c'est un langage pour les applications embarquées. Gestion de la mémoire par un garbage collector. Pas d accès direct à la mémoire. Mécanisme d'exception. Accès à une référence null exception. compilateur contraignant (erreur si exception non gérée, si utilisation d une variable non affectée,...). Tableaux = objets (taille connue, débordement exception). Seules les conversions sûres sont automatiques. Contrôle des cast à l'execution.

14 Java est sécurisé Indispensable avec le code mobile. Pris en charge dans l'interpréteur. Trois couches de sécurité : Verifier : vérifie le byte code. Class Loader : responsable du chargement des classes. Security Manager : accès aux ressources. Code certifié par une clé.

15 Java est multi-thread Intégrés au langage et aux API : synchronized garbage collector dans un thread de basse priorité java.lang.thread, java.lang.runnable Accès concurrents à objet gérés par un monitor. Implémentation propre à chaque JVM. Difficultés pour la mise au point et le portage.

16 Java est distribué API réseau (java.net.socket, java.net.url,...). Chargement / génération de code dynamique. Applet. Servlet. Protocole / Content handler. Remote Method Invocation. JavaIDL (CORBA).

17 Les performances Actuellement le byte code est interprété. Plusieurs types de génération de code machine : Compilation en code machine à la volée (JIT, HotSpot) ; Machine Virtuelle spécifiques aux Application Servers commerciaux ; Conversion statique en C (j2c, Tabo,...) ; Conversion statique en code natif.

18 Les différences avec C++ Pas de structures ni d unions Pas de types énumérés Pas de typedef Pas de préprocesseur Pas de variables ni de fonctions en dehors des classes Pas de fonctions à nombre variable d arguments Pas d'héritage multiple de classes Pas de types paramétriques (template) Pas de surcharge d opérateurs Pas de passage par copie pour les objets Pas de pointeurs, seulement des références

19 Les fausses rumeurs sur Java Java n'a rien de commun avec HTML Java n'est pas un langage de script (type Perl ou TCL) Le JavaScript n est pas du Java! Java est un langage généraliste type C++ Java!= C++ (c'est un langage purement objet, de plus haut niveau, plus proche de SmallTalk)

20 Les outils Environnements de développement : Java 2 standard edition SDK 1.4.x Editeur de texte : VIM, java-mode emacs, Ultra Edit, JEdit Environnements de compilation : ANT, make Outils de test : JUnit IDE : Forte, JBuilder, Visual Age, WebGain, CodeWarrior Atelier UML : Together, Rational Rose Décompileur de byte-code : jad Browsers : Sun HotJava Netscape Navigator 4 et 6 Internet Explorer 4 et 5 (plus pour la prochaine version) Java-Plug-in (tous les browsers)

21 Java 2 Standard Edition SDK 1.4 javac : compilateur de sources java java : interpréteur de byte code (JVM) appletviewer : interpréteur d'applet jar : fabrique les fichier distribuables (bin & lib) jarsigner : signatures numérique des fichiers JAR javadoc : générateur de documentation (HTML, MIF) javah : générateur de header pour l'appel de méthodes natives javap : désassembleur de byte code jdb : debugger keytool : gestion des clefs et des certificats orbd :ORB Corba rmic : compilateur de stubs RMI rmiregistry : "Object Request Broker" RMI servertool : Outil d administration du bus CORBA

22 Les options de la JVM C:\>java Usage: java [-options] class [args...] (to execute a class) or java -jar [-options] jarfile [args...] (to execute a jar file) where options include: -client to select the "client" VM -server to select the "server" VM -hotspot is a synonym for the "client" VM [deprecated] The default VM is client. -cp -classpath <directories and zip/jar files separated by ;> set search path for application classes and resources -D<name>=<value> set a system property -verbose[:class gc jni] enable verbose output -version print product version and exit -showversion print product version and continue -? -help print this help message -X print help on non-standard options -ea[:<packagename>... :<classname>] -enableassertions[:<packagename>... :<classname>] enable assertions -da[:<packagename>... :<classname>] -disableassertions[:<packagename>... :<classname>] disable assertions -esa -enablesystemassertions enable system assertions -dsa -disablesystemassertions disable system assertions C:\>java -X -Xmixed mixed mode execution (default) -Xint interpreted mode execution only -Xbootclasspath:<directories and zip/jar files separated by ;> set search path for bootstrap classes and resources -Xbootclasspath/a:<directories and zip/jar files separated by ;> append to end of bootstrap class path -Xbootclasspath/p:<directories and zip/jar files separated by ;> prepend in front of bootstrap class path -Xnoclassgc disable class garbage collection -Xincgc enable incremental garbage collection -Xloggc:<file> log GC status to a file with time stamps -Xbatch disable background compilation -Xms<size> set initial Java heap size -Xmx<size> set maximum Java heap size -Xss<size> set java thread stack size -Xprof output cpu profiling data -Xrunhprof[:help] [:<option>=<value>,...] perform JVMPI heap, cpu, or monitor profiling -Xdebug enable remote debugging -Xfuture enable strictest checks, anticipating future default -Xrs reduce use of OS signals by Java/VM (see documentation) -Xcheck:jni perform additional checks for JNI functions

23 Intégration Windows

24 Intégration Internet Explorer

25 Exécutables Java Applications autonomes classiques (Stand Alone applications) Applications sont directement exécutées depuis le système hôte. Possèdent une méthode main Signature : public static void main(string [] args) Composants : Programme hébergé par une autre application. Respecte un protocole défini au préalable (Interfaces). Applets : application Java s éxecutant au sein d une page WEB dans un navigateur Internet (Internet Explorer, Mozilla, Netscape ) ; Servlets : application Java traitant des requêtes client dans un serveur d application. But généraliste, mais le plus traite des requêtes HTTP. EJB (Entreprise Java Bean) : Application Java Distribuée reflétant l état d une session utilisateur (Session Bean), d une donnée (Entity Bean) ou d un message (Message Driven Bean). Composant géré par uniquement par des Serveurs d application Java. Peuvent être transactionnels

26 Application Autonome Programme Java : Exemple : class HelloWorld { public static void main(string args) { System.out.println("Hello World!"); } } Invocation classique : $ java -classpath. HelloWorld Hello World!

27 Exécutables Java (2/2) Applet : exécution dans un Navigateur Internet public class HelloWorldApplet extends Applet { public void paint(graphics g) { g.drawstring("hello World!", 50, 20); } } Servlet : exécution dans un serveur d application (Web Container) public class HelloWorldExample extends HttpServlet { public void doget(httpservletrequest request, HttpServletResponse response) throws IOException, ServletException { } } out.println("<html>hello world!</html>");

28 JAR Invocation depuis une Archive JAR : $ cat MANIFEST.MF Manifest-Version: 1.0 Main-Class: HelloWorld $ jar cfm MyHelloPack.jar MANIFEST.MF HelloWorld.class $ jar i MyHelloPack.jar $ java -jar MyHelloPack.jar Hello World!

29 Rendre exécutable les JAR FICHIER JARFile.reg : Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\JARFile] "EditFlags"=dword: Java ARchive (exécutables)" Files\\Java\\j2re1.4.1\\bin\\jinstall.exe,0" [HKEY_CLASSES_ROOT\JARFile\shell\open] -jar \"%1\""

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA)

Introduction à JAVA. Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Introduction à JAVA Philippe Roose (IUT Bayonne) Olivier Dedieu (INRIA) Mais JAVA c est quoi? Langage OO Exécuté dans une Machine Virtuelle Possède un ensemble complet d API (réseau, graphique, sécurité,

Plus en détail

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International

PRESENTATION DE JAVA. Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références. Software Associates International PRESENTATION DE JAVA Qu est-ce que java? Les caractéristiques du langage java Les outils Les API Références 1 Qu est-ce que java? Un langage de programmation orienté objets Une architecture de Virtual

Plus en détail

Programmation servlet

Programmation servlet Programmation servlet Olivier Aubert 1/23 Références http://developer.java.sun.com/developer/onlinetraining/servlets/fundamenta http://www.servlets.com http://java.sun.com/products/jsp/index.html http://www.servletcentral.com/

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java

RN2-Programmation Orientée Objet - JAVA CH 1 Introduction à la POO et Java RN2-Programmation Orientée Objet - JAVA CH 1 à la POO et Java Licence Professionnelle 2006 Agnès Guerraz INRIA Rhône-Alpes agnes.guerraz@inria.fr LP UPMF, Grenoble Septembre 2006 Ce cours reprend en grande

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Architecture des systèmes d information répartis

Architecture des systèmes d information répartis Architecture des systèmes d information répartis L architecture multi-tiers Sorina Ionica 1 Présentation du cours Répartition des cours Cours + TD Services web Cours + TD J2EE Contrôle des connaissances

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java 1 / 24 1 Vue générale La technologie Java Le langage Java La machine virtuelle Java Résumé Plan 2 Hello World Prérequis Premier programme : 3 étapes Résumé 3 HelloWorld en

Plus en détail

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

TP Java RMI. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 TP Java RMI Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Paradigme RMI RMI (Remote Method Invocation) RPC orientés objet (encapsulation, héritage,...) objet :

Plus en détail

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Cours client-serveur Web : Java et RMI (Remote Method Invocation)

Cours client-serveur Web : Java et RMI (Remote Method Invocation) Cours client-serveur Web : Java et RMI (Remote Method Invocation) 1 Java: Rappel sur les threads Cycle de vie d un thread (1) Né -> prêt appel de la méthode start du thread Prêt Exécution Distribution

Plus en détail

Sensibilisation à RMI (Remote Method Invocation)

Sensibilisation à RMI (Remote Method Invocation) Jini Sensibilisation à RMI (Remote Method Invocation) Le rêve de tout système distribué L idéal serait d avoir un système distribué utilisant la technologie objet et permettant : 1) d invoquer une méthode

Plus en détail

Support de Cours Christophe Dony Université Montpellier-II

Support de Cours Christophe Dony Université Montpellier-II Cours de base d Ingéniérie des applications objet. Généralités sur le langage Java - Modèle d exécution - Syntaxe Support de Cours Christophe Dony Université Montpellier-II 1 Le langage Java 1.1 Langage

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr 1 Plan Principes généraux Modèle

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Java RMI : Techniques et utilisations avancées de RMI Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE

Plus en détail

PIM-INF1 Java. Cours 1 : Java en bref. Damien MASSON http://esiee.fr/~massond/teaching/pim-inf1. 12 octobre 2011

PIM-INF1 Java. Cours 1 : Java en bref. Damien MASSON http://esiee.fr/~massond/teaching/pim-inf1. 12 octobre 2011 PIM-INF1 Java Cours 1 : Java en bref Damien MASSON http://esiee.fr/~massond/teaching/pim-inf1 12 octobre 2011 Références Les cours de Rémi Forax disponibles sur http://forax.org 2/33 La technologie Java

Plus en détail

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année

Java RMI. Programmation des applications réparties. Olivier Flauzac URCA. Master EEAMI-Informatique première année Java RMI Programmation des applications réparties Olivier Flauzac URCA Master EEAMI-Informatique première année Olivier Flauzac (URCA) PAR : Java RMI MSTIC-INFO 1 1 / 30 1 RMI 2 Architecture 3 Développement

Plus en détail

Modèle client-serveur

Modèle client-serveur Modèle client-serveur Daniel Hagimont IRIT/ENSEEIHT 2 rue Charles Camichel - BP 7122 31071 TOULOUSE CEDEX 7 Daniel.Hagimont@enseeiht.fr http://hagimont.perso.enseeiht.fr Remerciements Michel Riveill 1

Plus en détail

Programmation Java. Madalina Croitoru

Programmation Java. Madalina Croitoru Programmation Java Madalina Croitoru Madalina Croitoru 2002 2006 Univ. Aberdeen 2006 2008 Univ. Southampton Depuis 2008 Univ. Montpellier II Contact: Page web: www.lirmm.fr/~croitoru/teaching.html Email:

Plus en détail

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web

JAVA PROGRAMMATION. Programme. 1. Java, HTML et World Wide Web PROGRAMMATION PUBLIC Professionnels informatiques qui souhaitent développer des applications et «applets» Java DUREE 4 jours 28 heures OBJECTIF Créer divers «applets» à intégrer dans un site Web dynamique,

Plus en détail

JAVA 6. Les fondamentaux du langage Java. Résumé. Thierry GROUSSARD. ENI Editions - All rigths reserved

JAVA 6. Les fondamentaux du langage Java. Résumé. Thierry GROUSSARD. ENI Editions - All rigths reserved JAVA 6 Les fondamentaux du langage Java Thierry GROUSSARD Résumé Ce livre s adresse à tout informaticien désirant développer sous Java. Que le lecteur soit débutant ou qu il ait déjà une première expérience

Plus en détail

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

La plate-forme Java RMI

La plate-forme Java RMI La plate-forme Java RMI Frank Singhoff Bureau C-202 Université de Brest, France Lab-STICC/UMR 3192 singhoff@univ-brest.fr UE systèmes à objets répartis, Université de Brest Page 1/25 Sommaire 1. Le modèle

Plus en détail

Java Avancé. Le langage Java. Rémi Forax forax@univ-mlv.fr

Java Avancé. Le langage Java. Rémi Forax forax@univ-mlv.fr Java Avancé Le langage Java Rémi Forax forax@univ-mlv.fr 1 Java Avancé 2 La technologie Java En quelques mots : Orienté Objet Simple, Robuste, Dynamique et Sécurisé Indépendant de la Plateforme (VM) Semi

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Java Enseignant : Ramzi Mahmoudi mahmoudr@esiee.fr Année Universitaire: 2012/2013 Plan des chapitres 1. Introduction 2. Les bases du langage 3. La Programmation Objet avec

Plus en détail

Cours de Java. Benjamin FAUCHER Cubis-Helios Consulting

Cours de Java. Benjamin FAUCHER Cubis-Helios Consulting Cours de Java Benjamin FAUCHER Cubis-Helios Consulting Cours 1 : Les bases du Langage Java 1/2 I. Introduction II. Compilation III. Rappel sur la POO IV. Les classes Java V. Syntaxe de base du Java Langage

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static

Plan. Environnement Client/Serveur. Cours 6 Rappels Java (suite) Appel de méthode à distance. Utilité. static Plan Environnement Client/Serveur Cours 6 Rappels Java (suite) Appel de méthode à distance kn@lri.fr http://www.lri.fr/~kn 1 Rappels sur les systèmes d'exploitations / Communication par mémoire partagée

Plus en détail

Java - la plateforme

Java - la plateforme Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java Nicolas Dumoulin nicolas.dumoulin@cemagref.fr Cemagref Laboratoire d ingénierie pour les systèmes complexes 2010 Notes aux lecteurs Ce document est un support de cours qui

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 7 : RMI iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 7 : RMI Nom(s) : Groupe : Date : Objectifs : savoir créer des applications client-serveur mettant en jeu des machines

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T

Généralités Composants élémentaires d'un programme Instructions simples. JL Damoiseaux - Dpt R&T JAVA - I Généralités Composants élémentaires d'un programme Instructions simples 2 JAVA? Un langage de programmation (orienté objets) Une architecture basée sur une Machine Virtuelle Un ensemble très important

Plus en détail

Objets distribués et Appel de Méthodes à Distance 2009-2010

Objets distribués et Appel de Méthodes à Distance 2009-2010 Objets distribués et Appel de Méthodes à Distance 2009-2010 1 Objectif : construire une application où différents modules peuvent être situés sur des machines différentes, en utilisant un modèle à objets

Plus en détail

Architecture Logicielle

Architecture Logicielle Architecture Logicielle Les applications d'entreprise exemple : La technologie JEE Année universitaire 2013/2014 Semestre 1 Introduction Une application d'entreprise a généralement les caractéristiques

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Programmation Orientée Objet

Programmation Orientée Objet Programmation Orientée Objet Mohamed Tounsi Institut Supérieur d'informatique et de Multimédia Sfax Septembre 2014 Mohamed Tounsi (ISIMS) Programmation Orientée Objet Septembre 2014 1 / 16 Responsable

Plus en détail

JAVA Première approche

JAVA Première approche Année 2008-2009 JAVA Première approche Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Qu'est ce que Java? C'est le nom d'une technologie mise au point

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Partie 2.2: Servlet et Tomcat

Partie 2.2: Servlet et Tomcat Partie 2.2: Servlet et Tomcat 1 Plan du cours Servlets Présentation Exemple 2 Plan du cours Tomcat Des servlets à Tomcat: pourquoi Tomcat? Architecture Tomcat Installation et configuration de Tomcat Configuration

Plus en détail

PPOOGL. Florent de Dinechin. Java pour les nuls

PPOOGL. Florent de Dinechin. Java pour les nuls PPOOGL Florent de Dinechin Java pour les nuls Java en 30 minutes Introduction Grands principes Pour en finir avec l organisation Types de base et objets Le reste est dans le manuel PPOOGL 1 Introduction

Plus en détail

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1

Cours1 +Cours 2. Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Cours1 +Cours 2 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction

Plus en détail

Programmation par RPC et Java-RMI :

Programmation par RPC et Java-RMI : 2A-SI 3 Prog. réseau et systèmes distribués 3.2 et JavaRMI Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de l équipe pédagogique du

Plus en détail

Outils et langages de développement géo-informatique (GMT-4101) Cadres de développement logiciel en géomatique (GMT-7020)

Outils et langages de développement géo-informatique (GMT-4101) Cadres de développement logiciel en géomatique (GMT-7020) Outils et langages de développement géo-informatique (GMT-4101) Cadres de développement logiciel en géomatique (GMT-7020) Capsule 01 Introduction, historique et premier programme en langage Java Thierry

Plus en détail

Technologies du Multimédia et du Web

Technologies du Multimédia et du Web 3 ème Année Licence appliquée Technologies du Multimédia et du Web MoezBEN HAJ HMIDA ISSAT Sousse 2009/2010 Plan Les systèmes e-services Évolution des architectures d applications Les architectures client/serveur

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Introduction au langage Java.

Introduction au langage Java. Introduction au langage Java. Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {pnom.nom}@univ-st-etienne.fr FI2_INFO4 2015 2016 1 / 51 Disclaimer

Plus en détail

Environnements de développement

Environnements de développement Environnements de développement Mihaela Sighireanu UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/edi/ Introduction aux EDI, la plateforme

Plus en détail

Systeme d'exploitation

Systeme d'exploitation Introduction au dévellopement de Methodes Natives Partie I : appelle de methodes C++ sous windows Auteur: Frank Sauvage. 1 \ introduction aux methodes natives : Les methodes natives sont des methodes devellopées

Plus en détail

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6

LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 LOT03P6 - Domino 8.5 : XPages dans Domino Designer 8.5 - Partie 6 Objectifs du développement en 8.5 Fournir un outil de développement moderne Faire pour les développeurs ce que Notes 8 a fait pour l'utilisateur

Plus en détail

Remote Method Invocation (RMI)

Remote Method Invocation (RMI) Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe

Plus en détail

Les architectures N-tiers

Les architectures N-tiers Les architectures N-tiers 1 SOMMAIRE DU COURS XML ET LES ARCHITECTURES N-TIER Introduction aux architectures N-tier Serveurs d applications Déploiement d applications J2EE Tiers applicatif : servlets Tiers

Plus en détail

Analyse statique de programmes Typage et analyse statique au sein de Java

Analyse statique de programmes Typage et analyse statique au sein de Java Analyse statique de programmes Typage et analyse statique au sein de Java Master Professionnel Informatique spécialité FSIL/FSI Jean-Marc Talbot jean-marc.talbot@lif.univ-mrs.fr Aix-Marseille Université

Plus en détail

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Ce support est très largement inspiré du livre et du cours de S. Krakowiak S. Krakowiak Java Remote Method Invocation 1 / 25 Intérêt des objets pour la construction d applications

Plus en détail

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1

JDBC. Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC Daniel Tschirhart : Programmation Java V1.35 1.1 JDBC JDBC est l'acronyme de Java DataBase Connectivity et désigne une API définie par Sun pour permettre un accès aux bases de données avec Java Accès

Plus en détail

Les Systèmes et Applications Réparties et leur Programmation

Les Systèmes et Applications Réparties et leur Programmation Les Systèmes et Applications Réparties et leur Programmation Samia Bouzefrane Maître de Conférences Laboratoire CEDRIC Conservatoire National des Arts et Métiers 292 rue Saint Martin 75141 Paris Cédex

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

Plus en détail

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique

JEE - Cours et TP. Mickaël Montassier. 15 février 2007. Institut Universitaire de Technologie Département Informatique et TP Institut Universitaire de Technologie Département Informatique 15 février 2007 J2EE? J2EE : Java 2 Enterprise Edition Norme prosposée par SUN visant à définir un standard de développement d applications

Plus en détail

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz

Dr. Djamel Benmerzoug. Email : djamel.benmerzoug@univ-constantine2.dz Master 2 SITW Les services Web Dr. Djamel Benmerzoug Email : djamel.benmerzoug@univ-constantine2.dz Maitre de Conférences A, Département TLSI Faculté des NTIC Université Constantine 2 Abdelhamid Mehri

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Java de base 1. Université de Nice - Sophia Antipolis. Version 7.1.1 11/6/13 Richard Grin http://deptinfo.unice.fr/~grin

Java de base 1. Université de Nice - Sophia Antipolis. Version 7.1.1 11/6/13 Richard Grin http://deptinfo.unice.fr/~grin Java de base 1 Université de Nice - Sophia Antipolis Version 7.1.1 11/6/13 Richard Grin http://deptinfo.unice.fr/~grin Remerciements à Michel Buffa, avec lequel j ai eu le plaisir d enseigner mes premiers

Plus en détail

Java de base 1. Plan du cours Java. Plan de cette partie. Autres propriétés importantes. Principales propriétés de Java

Java de base 1. Plan du cours Java. Plan de cette partie. Autres propriétés importantes. Principales propriétés de Java Java de base 1 Université de Nice - Sophia Antipolis Version 7.1.1 11/6/13 Richard Grin http://deptinfo.unice.fr/~grin Remerciements à Michel Buffa, avec lequel j ai eu le plaisir d enseigner mes premiers

Plus en détail

Derrière toi Une machine virtuelle!

Derrière toi Une machine virtuelle! Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

PLAN. I. Pourquoi : les besoins, les types d applications

PLAN. I. Pourquoi : les besoins, les types d applications PLAN I. Pourquoi : les besoins, les types d applications II. Comment : les technos et pratiques dont on dispose pour mettre en œuvre les applications III. Avec quels outils III.1 Introduction aux IDE III.2

Plus en détail

Les servlets Le langage Java Les Servlets XVII-1 JMF

Les servlets Le langage Java Les Servlets XVII-1 JMF Les Servlets XVII-1 servlet =? Une servlet est un programme (plug-in) à ajouter à un serveur (quel qu'il soit). Ce cours a trait à la programmation Java coté serveur (J2EE ) Pour l'instant les serveurs

Plus en détail

Sécurité informatique

Sécurité informatique Sécurité informatique Université Kasdi Merbah Ouargla Département Mathématique et informatique Les packages crypto en C/C++ et en Java Master informatique industrielle Mai 2013 Master informatique industrielle

Plus en détail

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information

SOA et Services Web. 23 octobre 2011. Evolution des Systèmes d Information SOA et Services Web 23 octobre 2011 1 Evolution des Systèmes d Information 2 Qu est ce qu une application répartie? Il s agit d une application découpée en plusieurs unités Chaque unité peut être placée

Plus en détail

IV. Les objets répartis

IV. Les objets répartis IV. Les objets répartis 1 Plan 1. Client/Server OO 2. Java RMI 2 1 Modèle de prog. Client/Serveur OO 1.1 Nommage 1.2 Sécurité d accès 1.3 Durée de vie 1.4 Objets concurrents 1.5 Synchronisation 3 1 Modèle

Plus en détail

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA JAVA Introduction à la programmation objet avec java 1/4 Nadir BOUSSOUKAIA v1.04 SOMMAIRE Caractéristiques de java (40mn) Eléments du langage (40mn) Les core API java (20mn) 2 Partie 1 Caractéristiques

Plus en détail

Contenu du cours. Informatique de l Internet. Plan du cours (1) Organisation du cours. Plan du cours (2) Plan du cours (3)

Contenu du cours. Informatique de l Internet. Plan du cours (1) Organisation du cours. Plan du cours (2) Plan du cours (3) Contenu du cours Informatique de l Internet Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Les compétences visées : Programmer en réseau Programme : Notion de Système informatique Réseaux

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

Plus en détail

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Diagnostiquer et Surveiller WebSphere

Diagnostiquer et Surveiller WebSphere Philippe THOMAS, Supervision ITCAM chez Tivoli Diagnostiquer et Surveiller WebSphere IBM Tivoli Composite Application Manager Guide Share WebSphere Mars 2011 Applications Composites Des processus métiers

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 16 NFP111 Systèmes et Applications Réparties Cours 10 - Les Enterprise Java Beans ( aux serveurs ) Claude Duvallet Université du Havre UFR Sciences et Techniques

Plus en détail

Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations

Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations Sécurité de la plate-forme d exécution Java : limites et proposition d améliorations Guillaume Hiet, Frédéric Guihéry, Goulven Guiheux, David Pichardie, Christian Brunette AMOSSYS-INRIA-SILICOM 10 juin

Plus en détail

Programmation Orientée Objet avec JAVA

Programmation Orientée Objet avec JAVA Programmation Orientée Objet avec JAVA Présenté par Abdoul Aziz Ciss Docteur en Cryptologie, Consultant ITSec Dept GIT EPT Email: aaciss@ept.sn Web : www.alekciss.com Tel: 77 451 92 95 Plan 1. Introduction

Plus en détail

WWW - Intérêts du Web

WWW - Intérêts du Web WWW - Intérêts du Web client universel facilité d'emploi standards ouverts intégration des autres services Internet extensibilité du système faibles coûts logiciel et réseau utilisation au sein d'une entreprise

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Introduction aux Machines Virtuelles avec VMKit

Introduction aux Machines Virtuelles avec VMKit Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime

Plus en détail

Programmation du Web : Présentation du Web dynamique

Programmation du Web : Présentation du Web dynamique Programmation du Web : Présentation du Web dynamique Jean-Baptiste Vioix (Jean-Baptiste.Vioix@u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-8 Présentation Nécessité du web dynamique

Plus en détail

Initiation au langage Java. Patrick Cégielski cegielski@u-pec.fr

Initiation au langage Java. Patrick Cégielski cegielski@u-pec.fr Initiation au langage Java Patrick Cégielski cegielski@u-pec.fr Mai 2010 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université Paris Est Créteil - IUT Route forestière Hurtault

Plus en détail

Programmation RMI Ph. Truillet

Programmation RMI Ph. Truillet http://www.irit.fr/~philippe.truillet Ph. Truillet Octobre 2015 v. 1.7 0. déroulement du TP RMI (Remote Method Invocation) est une technologie développée et fournie par Sun à partir du JDK 1.1 pour permettre

Plus en détail

CORBA avec OpenORB. Samir Torki et Patrice Torguet

CORBA avec OpenORB. Samir Torki et Patrice Torguet CORBA avec OpenORB Samir Torki et Patrice Torguet 1 Présentation de CORBA CORBA (Common Object Request Broker Architecture) est un standard décrivant une architecture pour la mise en place d objets distribués.

Plus en détail

Remote Method Invocation en Java (RMI)

Remote Method Invocation en Java (RMI) Remote Method Invocation en Java (RMI) Modélisation et construction des applications réparties (Module M-4102C) J. Christian Attiogbé Fevrier 2015 J. Christian Attiogbé (Fevrier 2015) Remote Method Invocation

Plus en détail

La page générale de téléchargement se trouve à l adresse http://developers.sun.com/resources/downloads.html

La page générale de téléchargement se trouve à l adresse http://developers.sun.com/resources/downloads.html Site de Sun La page générale de téléchargement se trouve à l adresse http://developers.sun.com/resources/downloads.html Toutes les SDK et les run-time sont téléchargeable à l adresse : http://java.sun.com/downloads/

Plus en détail

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\

Avant de programmer en Java DOS Set Path=C:\JDK\bin Path=C:\JDK\bin C:\JDK\bin Set Path=%Path%;C:\JDK\bin C:\JDK\bin C:\JDK\ Exercices corrigés de programmation OO Java Préparés par : Mlle Imene Sghaier Année Académique : 2006-2007 Premiers Pas I. Avant de programmer en Java Le JDK de Sun (Java Development Kit) est l outil essentiel

Plus en détail

Objectif du cours. Bases de la programmation. Plan de cette partie

Objectif du cours. Bases de la programmation. Plan de cette partie Objectif du cours Bases de la programmation Université de Nice - Sophia Antipolis Richard Grin Version 1.2.5 24/9/11 http://deptinfo.unice.fr/~grin Introduction à la programmation orientée objet pour pouvoir

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail