Introduction aux composants logiciels : JavaBeans Master des Technologies de l'internet
|
|
- Arlette Dorothée Lamontagne
- il y a 8 ans
- Total affichages :
Transcription
1 Introduction aux composants logiciels : JavaBeans Franck.Barbier@FranckBarbier.com Pauware Research Group Master des Technologies de l'internet Université de Pau et des Pays de l'adour
2 ( Components are for composition, Szyperski et al.) JavaBeans Component Model Inspiration de Model-View-Controller (MVC) Modèle de composant technologique ou industriel (monde Java) Modèle de composant canonique permettant : manipulation uniforme dans outillage : Beans Development Kit (BDK) The Bean Builder Instrumentation et support pour la composabilité
3 MVC Classes abstraites Model, View et Controller de Smalltalk-80 Patron Observer de Gamma et al. Classes CDocument et CView de Visual C++ Programmation événementielle, notion de callback Librairie Swing de Java Note : MVC ne se limite à la programmation des interfaces homme/machine (IHM) bien que sa création soit justifiée par cela
4 Architecture MVC en IHM Model : une instance de classe Java dans lequel des états sont maintenus, des constantes sont définies... sans préjuger de la façon dont ces données sont affichées View : une ou plusieurs instances de classes graphiques qui incarne(nt) une représentation sur écran du modèle Controller : une instance de classe chargée d'écouter des événements tiers en relation avec le système de fenêtrage (clic souris, entrée clavier...)
5 Peut-on faire sans MVC? Agglomérer dans un même objet données graphiques et données business (i.e. métier ) rend les objets difficilement maintenables. Avec MVC, les vues, qui sont propres aux applications, peuvent changer sans changer les modèles qui sont partagés par les applications (réutilisation). Finalement, MVC encourage un regroupement logique lui même engendrant une meilleure isolation des objets aux fautes (fiabilité). En conclusion, MVC est un bon support de la maintenabilté, la réutilisabilité et la fiabilité
6 Physics Model (analyse, conception et programmation) «create» Temperature ascelsius() : Real asfahrenheit() : Real askelvin() : Real increment() decrement() =(t : Temperature) : Boolean <(t : Temperature) : Boolean <=(t : Temperature) : Boolean >(t : Temperature) : Boolean >=(t : Temperature) : Boolean Temperature() Temperature(value : Real,unit : Symbol) {asfahrenheit() = (ascelsius() + 32.) * 9. / 5. askelvin() = ascelsius() - ( ) Physics::Temperature «refine» Temperature -_value : Real = 0. -_step : Real = 0.1 «const» -Min : Real = #LiteralCelsius : String = " C" #LiteralFahrenheit : String = " F" #LiteralKelvin : String = " K" +ascelsius() : Real +asfahrenheit() : Real +askelvin() : Real +increment() +decrement() +equals(t : Temperature) : Boolean {redefines = +lessthan(t : Temperature) : Boolean {redefines < +lessthanorequal(t : Temperature) : Boolean {redefines <= +greaterthan(t : Temperature) : Boolean {redefines > +greaterthanorequal(t : Temperature) : Boolean {redefines >= +asstringcelsius() : String +asstringfahrenheit() : String +asstringkelvin() : String «create» Temperature() Temperature(value : Real,unit : Symbol) public final class Temperature implements Cloneable { public static final byte Celsius = 0; public static final byte Fahrenheit = 1; public static final byte Kelvin = 2; protected static String[] _Literals = new String[3]; static { _Literals[Celsius] = new String(" C"); _Literals[Fahrenheit] = new String(" F"); _Literals[Kelvin] = new String(" K"); private final static float Min = F; // in Celsius private float _value; // in Celsius private float _step; // creation public Temperature() { _value = 0.F; _step = 0.1F;... Le code qui précède est hétéroclite au sens où sa forme est libre et plus précisément ne se conforme pas au modèle JavaBeans. Néanmoins, la classe Temperature ne comporte aucune donnée liée à des formes et/ou contraintes d'affichage
7 View et Controller Représentation Données propres à la vue qui graphique de données du contraint les possibilités modèle (champ _value) d'évolution des données, le genre de données que l'on veut afficher... Slider assurant la connexion entre le système de fenêtrage et le modèle (événements temp down et temp up)
8 Flot d'interaction Model Mettre à jour l'ihm car la nouvelle valeur de Target temperature enregistrée dans Model n'est pas celle actuellement affichée Slider a bougé (événement). Voici la nouvelle valeur de Target temperature dans l'intervalle 40 F et 90 F imposé par View View Controller En fonction du mode d'affichage, de ce qui est affiché à un instant t et de contraintes imposées à l'écran, envoyer ces types d'événements et des types d'information à Model
9 JavaBeans et Swing Swing dispose d'une architecture MVC particulière (i.e. la distinction conceptuelle entre View et Controller, contrairement à Smalltalk-80, est faible ) et assez déconnectée de JavaBeans JavaBeans est foncièrement dédié à la fabrication de classes Model Note : la difficulté de compréhension de MVC provient de son instanciation sur les cas particuliers VVC (Swing sans nécessité absolue de JavaBeans) et MMC (JavaBeans sans Swing purement et simplement)
10 Paradigmes VVC et MMC Métaphore VVC : à l'écran, si telle option est choisie alors telle option est indisponible, si tel choix est fait alors tel bouton doit être inhibé (look grisé/opaque)... Métaphore MMC : e.g. communication EJB -> Message-Driven Bean (Controller) -> EJB (voir cours EJB à suivre)
11 JavaBeans : principe Modèle de composant canonique signifie que JavaBeans offre un cadre structurant de programmation (patron, formatage, accès via outil...) des composants mais le principe peut être mis en oeuvre de façon légère. Ex. classe Run_indicator : public interface Run_indicator_client extends java.beans.propertychangelistener { public class Programmable_thermostat extends implements Run_indicator_client, { public class Run_indicator implements java.io.serializable { public Run_indicator(Run_indicator_client programmable_thermostat) throws Statechart_exception { propertysupport = new java.beans.propertychangesupport(this); propertysupport.addpropertychangelistener(programmable_thermostat); public void off() throws Statechart_exception { _Run_indicator.fires(_Something_on,_Everything_off); _Run_indicator.run_to_completion(); setstatus(_run_indicator.current_state()); private void setstatus(string newvalue) { String oldvalue = status; status = newvalue; propertysupport.firepropertychange("run indicator status",oldvalue,newvalue);
12 JavaBeans, éléments clefs, persistance Les JavaBeans sont persistants et donc implémentent l'interface java.io.serializable Attention à des champs qui référencent d'autres JavaBeans (marqueur transient utile) Attention à la gestion de version au moment du chargement dynamique des JavaBeans (cf. static final long Serial_version_id =...L;) Rappel : en stockage binaire supporté par java.io.serializable, les champs indiqués static et transient ne sont pas sauvegardés
13 JavaBeans, éléments clefs, encodage/décodage XML Les JavaBeans sont persistants de façon binaire (fichier sérializé.ser obtenu via java.io.objectoutputstream et désérializé via java.io.objectinputstream) ou de façon textuelle grâce aux classes java.beans.xmlencoder et java.beans.xmldecoder XMLEncoder e = new XMLEncoder(new BufferedOutputStream(new FileOutputStream ("JOL_ball.xml"))); e.writeobject(_jol_ball); e.close(); XMLDecoder d = new XMLDecoder(new BufferedInputStream(new FileInputStream ("JOL_ball"))); JOL_ball _jol_ball = (JOL_ball)d.readObject(); d.close();
14 Types de propriété Simple ou indexée (tableau Java) De façon orthogonale : liée (bound) et éventuellement contrainte Liée : nécessité d'une notification aux écouteurs Contrainte : possibilité de refus de changement à la notification
15 Propriété liée, exemple Dans le jeu JOL, la classe JOL_meteorite a un champ _shape de type java.awt.polygon. La zone de jeu (_jol_space) de la fenêtre globale du jeu faisant apparaître à l'écran la météorite doit être prévenue lorsque _shape voit ses coordonnées modifiées (chute de la météorite régulée par un timer) -> recoloriage
16 Propriété contrainte Les objets intéressés par les changements d'état d'une propriété contrainte peuvent poser un veto au changement Ils écoutent, s'ils refusent le changement, ils lèvent une exception de type java.beans.propertyvetoexception L'émetteur est notifié du refus dans la clause catch (java.beans.propertyvetoexception pve) { ou alors c'est qu'il y a eu acceptation du changement
17 Propriété contrainte, exemple Dans le jeu JOL, la classe JOL_ball a un champ _shape de type java.awt.polygon. La zone de jeu (_jol_space) de la fenêtre globale du jeu faisant apparaître à l'écran la balle, l'empêche, contrairement aux météorites, de descendre au delà du sol. La balle se déplace en haut, à gauche et à droite en fonction du joueur mais se déplace en bas (i.e., retombe), inexorablement (timer), si le joueur ne l'utilise pas
18 JavaBeans, éléments clefs, type d'écouteur Interfaces java.beans.propertychangelistener java.beans.vetoablechangelistener Lien Swing : des composants Swing de base et par défaut implémentent l'interface PropertyChangeListener La classe java.beans.propertychangeevent porte les attributs des événements
19 JavaBeans, éléments clefs, utilitaires Des implémentations par défaut des interfaces incontournables de JavaBeans permettent de gagner du temps si l'on rentre dans le moule standard : java.beans.propertychangesupport java.beans.vetoablechangesupport Exemple en multicast sans veto : private java.beans.propertychangesupport propertychangesupport = new java.beans.propertychangesupport(this); public void addpropertychangelistener(java.beans.propertychangelistener listener) {propertychangesupport.addpropertychangelistener(listener); public void removepropertychangelistener(java.beans.propertychangelistener listener) {propertychangesupport.removepropertychangelistener(listener);
20 JavaBeans, éléments clefs, abonnement/désabonnement Unicast : un seul écouteur (avec veto ci-dessous) private transient java.beans.vetoablechangelistener vetoablechangelistener = null; public synchronized void addvetoablechangelistener(java.beans.vetoablechangelistener listener) throws java.util.toomanylistenersexception { if(vetoablechangelistener!= null) throw new java.util.toomanylistenersexception(); vetoablechangelistener = listener; public synchronized void removevetoablechangelistener(java.beans.vetoablechangelistener listener) { vetoablechangelistener = null; Multicast : plusieurs écouteurs (transparent précédent)
21 JavaBeans, éléments clefs, notification Unicast, propriété contrainte private void firevetoablechangelistenervetoablechange(java.beans.propertychangeevent event) throws java.beans.propertyvetoexception { if(vetoablechangelistener == null) return; vetoablechangelistener.vetoablechange(event); // la balle JOL est translatée de _offset pixels en descente : down() java.awt.polygon shape = new java.awt.polygon(_shape.xpoints,_shape.ypoints,_shape.npoints); _shape.translate(0,_offset); // on descend de _offset pixels try { firevetoablechangelistenervetoablechange(new java.beans.propertychangeevent (this,"_shape",shape,_shape)); catch(java.beans.propertyvetoexception pve) { _shape.translate(0,-_offset); // on remonte de _offset pixels Multicast sur base utilitaire, propriété liée java.awt.polygon shape = new java.awt.polygon(_shape.xpoints,_shape.ypoints,_shape.npoints); _shape.translate(0,1); propertychangesupport.firepropertychange("_shape",shape,_shape);
22 JavaBeans, éléments clefs, capture La fenêtre de jeu se déclare écouteur des mouvements de la balle JOL et définit la méthode de l'écouteur, jusqu'ici abstraite, informant d'un changement : _jol_ball.addvetoablechangelistener(new java.beans.vetoablechangelistener() { public void vetoablechange(java.beans.propertychangeevent propertychangeevent) throws java.beans.propertyvetoexception { // handling code here... );
23 Code se trouvant dans le détecteur d'événement (i.e. Controller) : private transient java.util.arraylist _jol_ball_crashes_jol_meteorite_listeners; public synchronized void add_jol_ball_crashes_jol_meteorite_listener(jol_ball_crashes_jol_meteorite_listener listener) { if(_jol_ball_crashes_jol_meteorite_listeners == null) _jol_ball_crashes_jol_meteorite_listeners = new java.util.arraylist(); _jol_ball_crashes_jol_meteorite_listeners.add(listener); public synchronized void remove_jol_ball_crashes_jol_meteorite_listener(jol_ball_crashes_jol_meteorite_listener listener) { if(_jol_ball_crashes_jol_meteorite_listeners!= null) _jol_ball_crashes_jol_meteorite_listeners.remove(listener); private void crash(jol_ball_crashes_jol_meteorite_event event) { java.util.arraylist copy_of_jol_ball_crashes_jol_meteorite_listeners; synchronized(this) { if(_jol_ball_crashes_jol_meteorite_listeners == null) return; // avoiding timing race: copy_of_jol_ball_crashes_jol_meteorite_listeners = (java.util.arraylist)_jol_ball_crashes_jol_meteorite_listeners.clone(); for(int i = 0;i < copy_of_jol_ball_crashes_jol_meteorite_listeners.size();i++) ((JOL_ball_crashes_JOL_meteorite_listener)copy_of_jOL_ball_crashes_JOL_meteorite_listeners.get(i)).crash(event); JavaBeans, interaction avancée public class JOL_ball_crashes_JOL_meteorite_event extends java.util.eventobject { public JOL_ball_crashes_JOL_meteorite_event(JOL_ball source) { super(source); public interface JOL_ball_crashes_JOL_meteorite_listener extends java.util.eventlistener { void crash(jol_ball_crashes_jol_meteorite_event event);
24 Eléments de Java sur lesquels s'adosse JavaBeans «class» java::util::eventobject «class» java::beans::propertychangeevent «class» java::awt::actionevent «interface» java::util::eventlistener «interface» java::awt::event::actionlistener actionperformed(ae : ActionEvent) «interface» javax::swing::action «interface» java::beans::propertychangelistener propertychange(pce : PropertyChangeEvent) «class» javax::swing::abstractaction
25 Documentation programmatique Interface fondamentale java.beans.beaninfo Classe utilitaire java.beans.simplebeaninfo Principe : documenter un JavaBean X via une classe Java héritant le plus souvent de java.beans.simplebeaninfo. Cette classe nommée par convention XBeanInfo établit, à l'exécution (pour des outils en fait) et à la demande (choix de ce qui est documenté ou non) : les champs et leurs propriétés (getter, setter...) les méthodes et leurs propriétés les événements et leurs modalités... Mode de documentation fixé pour chaque catégorie dans la classe XBeanInfo Introspection, voire aussi classe java.beans.introspectionexception Lazy initialization
26 Bean: Documentation programmatique, exemple public class JOL_ meteorite extends com. FranckBarbier. Java._ Composytor. Timer_ monitor implements Serializable {... BeanInfo: public class JOL_ meteoritebeaninfo extends SimpleBeanInfo { // lazy initialization ( la convention de nommage peut sauter car la classe du Bean est donnée) private static BeanDescriptor getbdescriptor() { BeanDescriptor beandescriptor = new BeanDescriptor ( JOL_ meteorite. class, null); // Here you can add code for customizing the BeanDescriptor. return beandescriptor; // introspection pour les champs private static PropertyDescriptor[] properties = null; private static PropertyDescriptor[] getpdescriptor() { return properties; // informations récupérables au niveau instance public BeanDescriptor getbeandescriptor() { return getbdescriptor(); public PropertyDescriptor[] getpropertydescriptors() { return getpdescriptor();...
27 Documentation de JOL_ball, champs en mode lazy initialization // Property identifiers private static final int PROPERTY color = 0; // Property array private static PropertyDescriptor[] properties = new PropertyDescriptor[1]; private static PropertyDescriptor[] getpdescriptor() {return properties; static { try { properties[property color] = new PropertyDescriptor ( "_color", WYX_ball.class, "get_color", null); properties[property color].setdisplayname ( "_color" ); properties[property color].setshortdescription ( "WYX ball color" ); catch(introspectionexception ie) { // Here you can add code for customizing the properties array. public PropertyDescriptor[] getpropertydescriptors() {return getpdescriptor();
28 Compléments La classe java.beans.beans fournit des facilités de contrôle (e.g., création) de JavaBeans. Ex. : instantiate La classe java.beans.introspector crée automatiquement des informations de JavaBeans (cf. getbeaninfo) Interface java.beans.propertyeditor et classe java.beans.propertyeditorsupport fournissent des composants graphiques pour manipuler les champs des JavaBeans La classe utilitaire java.beans.propertyeditormanager enregistre et localise les éditeurs PropertyEditor pe = PropertyEditorManager.findEditor(java.awt.Color); // OK car type connu PropertyEditorManager.registerEditor (an_instance_of_a_type.class,an_instance_of_my_property_editor.class);
29 Déploiement Packaging dans fichier.jar pour déploiement avec avec fichier manifest optionnel et fichiers divers (.ser, icon 16x16, HTML, audio, vidéo...) Exemple de contenu de fichier manifest : Java- Bean: True Exemple : glisser/lâcher Timer (composant logiciel offert par dans l'ide NetBeans
30 Technologies connexes JavaBeans Activation Framework (JAF) Génération automatique de JavaBeans à partir de sources de données hétérogènes : classe DataHandler, interfaces DataSource et CommanMap JAF s'appuie sur le format MIME pour caractériser (typer) la nature profonde des sources de données Adresse Web de JAF : JavaBeans Bridge for ActiveX ActiveX est le modèle de composants logiciels de Microsoft
Programmation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailApplet pour visualiser les variables «automate» notifiées
Applet pour visualiser les variables «automate» notifiées Sommaire 1. Introduction...2 2. Lecture de variables «automate» notifiées...2 2.1. IHM servant au test :...2 2.2. Codage de l'applet :...2 3. Codage
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailAuto-évaluation Programmation en Java
Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailDéveloppement Logiciel
Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles
Plus en détailRemote 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étailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailAlfstore workflow framework Spécification technique
Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date
Plus en détailComposants Logiciels. Le modèle de composant de CORBA. Plan
Composants Logiciels Christian Pérez Le modèle de composant de CORBA Année 2010-11 1 Plan Un rapide tour d horizon de CORBA 2 Introduction au modèle de composant de CORBA Définition de composants CORBA
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailas 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étailProgrammation Par Objets
Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets
Plus en détailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailHéritage presque multiple en Java (1/2)
Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailTP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet
TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailBases Java - Eclipse / Netbeans
Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement
Plus en détail2 Chapitre 1 Introduction
1 Introduction Ce livre présente les Enterprise JavaBeans 2.0 et 1.1 qui constituent la troisième et la deuxième version de la spécification des Enterprise JavaBeans. Tout comme la plate-forme Java a révolutionné
Plus en détailOutils, langage et approche Android Une introduction. Nicolas Stouls nicolas.stouls@insa lyon.fr
Outils, langage et approche Android Une introduction Nicolas Stouls nicolas.stouls@insa lyon.fr Webographie La bible contenant «tout» : http://developer.android.com/index.html Les supports cette intervention
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailProgrammation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13
Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie
Plus en détail1. Installation d'un serveur d'application JBoss:
EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download
Plus en détailIntroduction à 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étailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailPlan 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étailINITIATION AU LANGAGE JAVA
INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal
Plus en détailLes Utilisateurs dans SharePoint
Les Utilisateurs dans SharePoint La gestion des utilisateurs dans SharePoint SharePoint dont le cœur est l'outil collaboratif, Windows SharePoint Services. Chaque utilisateur (ou collaborateur) peut créer
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailDébuter avec EXPRESS. Alain Plantec. 1 Schema 2
Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détail[APPLICATON REPARTIE DE VENTE AUX ENCHERES]
2012 Polytech Nice- Sophia El Hajji Khalil Yousfi Hichem SI4 - Log [APPLICATON REPARTIE DE VENTE AUX ENCHERES] Sommaire Architecture de l application... 3 Le Serveur... 3 Le Client... 4 Passage en CORBA...
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailGénéralités sur le Langage Java et éléments syntaxiques.
Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...
Plus en détailAndroid 4 Les fondamentaux du développement d'applications Java
La plateforme Android 1. Présentation 13 2. Historique 14 3. Google Play 15 3.1 Création d'un compte développeur 16 3.2 Publication d'une application 16 3.3 Suivi et mise à jour d'une application 18 Environnement
Plus en détailCréation d une application JEE
Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document
Plus en détailProgrammation MacOSX / ios
Programmation MacOSX / ios Master Ingénierie Informatique 2011-2012 Jean-Baptiste.Yunès@liafa.jussieu.fr deux extensions objets de C : C++ (Stroustrup) Objective-C (Cox & Love) ajout de constructions à
Plus en détailDesktop Intégration. Rémi Forax
Desktop Intégration Rémi Forax 1 Intégration au bureau L intégration de l application au bureau de l utilisateur se fait en combinant plusieurs techniques L écran d annonce de l application (SplashScreen)
Plus en détailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailTP SIN Programmation sur androïde Support : eclipse
TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale
Plus en détailINTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE
INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE 1 Introduction aux tests de performance et de charge Sommaire Avertissement...2 Aperçu...3 1. Création du scénario de navigation web (Test web)...4 2.
Plus en détailLOG4430 : Architecture logicielle et conception avancée
LOG4430 : Architecture logicielle et conception avancée Yann-Gaël Guéhéneuc Cours 3 Bibliothèques et chargement Dynamique de composants Département de génie informatique et de génie logiciel École Polytechnique
Plus en détailReporting Services - Administration
Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons
Plus en détail.NET - Classe de Log
.NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de
Plus en détailCréation d'une interface graphique
Introduction Matlab - Compléments GUI 1 Création d'une interface graphique Une interface graphique permet de contrôler une application interactivement avec la souris, plutôt que par lancement des commandes
Plus en détailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailIngénierie des Modèles. Méta-modélisation
Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr
Plus en détailDesign patterns. Design patterns - définition. Design patterns - avantages
Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern
Plus en détailServeur d'application Client HTML/JS. Apache Thrift Bootcamp
Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailINTRODUCTION 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étailObjets et Programmation. origine des langages orientés-objet
Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève
Plus en détailInstitut 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étailEncapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.
Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres
Plus en détailMise 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étailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailInterfaces graphiques avec l API Swing
Interfaces graphiques avec l API Swing Les Swing Les classes graphiques Swing dérivent de la classe JComponent, qui hérite ellemême de la classe AWT (Abstract Window Toolkit). Tous les composants Swing
Plus en détailMaîtriser le menu contextuel dans un OfficeBean
Maîtriser le menu contextuel dans un OfficeBean Diffusé Par Le Projet Documentation d'openoffice.org Version 1.0 Aurélie Schröder Université de Genève Division informatique AurelieSch@netcourrier.com Table
Plus en détailRMI. 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étailFlux de données Lecture/Ecriture Fichiers
Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d
Plus en détailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
Plus en détailUTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»
UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE» url : http://colleges.ac-rouen.fr/cahingt/partages/ UN PRINCIPE : le stockage est privé, le partage est public > tant que l'on ne partage pas,
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailFOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29
FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS Confidentiel Titre du document : Monetico
Plus en détailProgrammation en Java IUT GEII (MC-II1) 1
Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailTutoriel: Création d'un Web service en C++ avec WebContentC++Framework
Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailTutoriel d installation de Hibernate avec Eclipse
Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création
Plus en détailFORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères
FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant
Plus en détailJava 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étailTD/TP PAC - Programmation n 3
Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html
Plus en détailSYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8
SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8 INTRODUCTION Bonjour à tous; Aujourd hui je publie une nouvelle version de l adaptation de la Sync Framework Toolkit,
Plus en détailCours 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étailApplications distribuées: le retour du client "riche"
Applications distribuées: le retour du client "riche" Markus Jaton, Olivier Liechti Olivier Liechti / Markus Jaton /1 Agenda Java a-t-il un avenir sur le "desktop"? Swing vs. AJAX: idées préconçues? Architecture
Plus en détailPackage Java.util Classe générique
Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object
Plus en détailEducation Delivery Intelligent Tool
Education Delivery Intelligent Tool Projet AMO2 Maxence RAOUX Joachim SEGALA RICM 4 Avril 2012 Sommaire I. Presentation du projet... 2 1. Contexte... 2 2. Demande... 2 3. Spécifications... 2 II. Guide
Plus en détailAvant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
Plus en détailProgrammation par les Objets en Java
Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée
Plus en détailIntroduction à Expression Web 2
Introduction à Expression Web 2 Définitions Expression Web 2 est l éditeur HTML de Microsoft qui répond aux standard dew3c. Lorsque vous démarrez le logiciel Expression Web 2, vous avez le choix de créer
Plus en détailJava Aspect Components (JAC) http://jac.objectweb.org
Java Aspect Components (JAC) JAC http://jac.objectweb.org 2 Lionel Seinturier Lionel.Seinturier@lip6.fr Université Pierre & Marie Curie 23/2/06 Un framework de programmation par aspect pour Java Projet
Plus en détailModélisation et Gestion des bases de données avec mysql workbench
Modélisation et Gestion des bases de données avec mysql workbench par novembre 2011 Table des matières 1 Installation 3 1.1 Ecran de chargement 3 1.2 Page d accueil 3 2 Réalisation d une base de données
Plus en détailAtelier «personnaliser l environnement de l ordinateur mai 2015
Sous windows 7 La barre des tâches Elle est composé du bouton démarrer, des accès rapides à certains programmes et options. Cette barre peut être placée en bas de l écran mais aussi sur les côtés ou en
Plus en détailLangage Java. Classe de première SI
Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les
Plus en détailCompte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Plus en détailPROGRAMMATION PAR OBJETS
PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)
Plus en détailitalc supervision de salle
italc italc supervision de salle 01 Présentation générale : italc est un logiciel de supervision de salles d'ordinateurs. Il fonctionne en mode poste «maitre» et postes «élèves». Avec votre serveur AbulEdu,
Plus en détailUne introduction à la technologie EJB (2/3)
Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce
Plus en détailArchitecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Plus en détail< Atelier 1 /> Démarrer une application web
MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailCréer un rapport pour Reporting Services
Créer un rapport pour Reporting Services Comment créer des rapports pour SSRS Maintenant que nous avons vu que la version de SQL Server 2005 Express Edition with Advanced Services intègre SQL Server Reporting
Plus en détailCTIconnect PRO. Guide Rapide
CTIconnect PRO Guide Rapide Version 01.02.2013 CTIconnect PRO est une application de communication permettant aux utilisateurs du système de voir le statut de leurs collègues et de les contacter en 1 clic
Plus en détail