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 & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 2 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 3 -
Qu est ce que Java? Langage de programmation concurrente dérivé du C & C++ Modèle objet simple (langage de moins bas niveau que du C) Une fois compilé, le code est binaire, dit bytecode ( code natif compris par les processeurs) : ce bytecode est appelé classe Réduit les dépendances vis-à-vis du matériel : une fois compilés, les programmes Java sont portables Exécuté par un interpréteur, appelé Machine Virtuelle (il exécute le code comme le ferait un microprocesseur) : JVM Une plateforme de développement offrant une multitude d APIs (ensemble de fonctions, procédures ou classes mises à disposition des programmes informatiques par une bibliothèque logicielle) - 4 -
Qu est ce que Java? The IT Crew 2012 Java est à la fois un langage de programmation et une plateforme d exécution. - 5 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 6 -
Types d applications Java Applications Desktop Applications Web (Servlets*/JSP**, Portlets**, Applets***) Applications pour appareils mobiles (Midlets) Applications pour appareils embarqués (Xlets) Applications pour cartes à puce (Applets Javacard) Applications temps réel (*) Code Java produisant du code HTML (une fois compilé) (**) Java Server Page, permet d insérer du code Java dans une page HTML (***) Composant Web unitaire au sein d un conteneur (portail), chaque portlet est indépendant des autres et fonctionne comme une application Java EE indépendante (****) Permet d intégrer un programme Java dans une page Web - 7 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 8 -
Environnements Java JDK (Java Development Kit) Librairies complètes permettant de développer des programmes Java, c est un SDK (System Development Kit) Java Compiler Java Debugger Other programming tools Plusieurs outils (logiciels) existent pour faciliter le développement d applications Java, ce sont des IDE (Integrated Development Environnement) JRE (Java Runtime Environnement) Permet d exécuter des programmes Java sur des PC Java Virtual Machine Java APIs and code libraries Java Applet Viewer Supporting tools and files - 9 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 10 -
Versions de Java Java 1 Java 1.0 : Version initiale Java 1.1 : AWT, JavaBeans, JDBC, Java remote Invocation (RMI) Java 2 Java 1.2 : Strictfp, réflection, swing, JIT, Java Plug-in, Java IDL (CORBA), Collection Java 1.3 : JVM HotSpot, RMI (sur CORBA), JavaSound, JNDI, JPDA Java 1.4 : assert, expressions rationnelles (perl), chaînage d exception, API de journalisation, API Image I/O, JAXP (XSLT), JCE, JSSE, JAAS, Java Web start Java 5 Java 1.5 : programmation générique, métadata (annotations), conversion automatique entre types primitifs, enum (avec sureté de typage), Object (comme printf en C), imports statiques, extension du for Java 6 Java 1.6 : support system tray, double buffering, splash screen, moteur d execution de langage de script, APIs WebServices plus simples, JVM améliorée, gestion I/O - 11 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 12 -
Java EE, c est quoi finalement? Java Plateform J2EE JEE Java EE Java Entreprise Edition Défini les techniques de programmation Java destinées aux applications d entreprise grâce à la spécification de JCP (JSR 316) - 13 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 14 -
Standards & Spécifications JCP (Java Community Process) http://www.jcp.org Organisme chargé de faire évoluer le langage JSR (Java Specification Requests) Demandes d utilisateurs pour ajouter ou modifier des fonctionnalités de la plateforme (927 à ce jour) Oracle reste le détenteur de la marque déposée Java - 15 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 16 -
Versions des Plateformes Java Java SE (Standard Edition) - 48 JSRs Environnement d'exécution et ensemble complet d'api pour des applications de type desktop. Cette plateforme sert de base en tout ou partie aux autres plateformes. Java EE (Entreprise Edition) - 47 JSRs Environnement d'exécution reposant intégralement sur Java SE pour le développement d'applications d'entreprises. Java ME (Micro Edition) - 85 JSRs Environnement d'exécution et API pour le développement d'applications sur appareils mobiles et autres systèmes embarqués dont les capacités ne permettent pas la mise en œuvre de Java SE. - 17 -
Exemple : Fonctionnalités Java SE 6 The IT Crew 2012 JSR : Fonctionnalité ou ensemble de fonctionnalités ayant sa propre spécification API (Application Programming Interface) : Une fonctionnalité de taille moyenne qui implémente une API spécifique IMP : Une amélioration de code existant (optimisation de performance par exemple) AREA / SCOPE SYNOPSIS RFE COMPONENT api client/2d ImageIO: GIF writer 4339415 imp imp imp api api client/2d client/2d client/2d client/awt client/awt Native Text Rendering Parity Improved hardware acceleration on Windows Single-threaded rendering for OpenGL pipelines Pop-up splash screen at beginning of Java startup Java applications can access desktop applications Cliquer ici pour voir le détail - 18-4726365 5104393 6219284 4247839 6255196
Versions des Plateformes Java EE Java 1 Java 1.0 Java 1.1 JPE (Java Professionnal Edition) Java 2 Java 1.2 J2EE 1.2 (Java 2 Entreprise Edition) Java 1.3 J2EE 1.3 (Java 2 Entreprise Edition) Java 1.4 J2EE 1.4 (Java 2 Entreprise Edition) Java 5 Java 1.5 Java EE 5 (Java Entreprise Edition 5) Java 6 Java 1.6 Java EE 6 (Java Entreprise Edition 6) - 19 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 20 -
Serveurs compatibles Java EE 5 The IT Crew 2012-21 -
Serveurs compatibles Java EE 6 (Full) The IT Crew 2012-22 -
Serveurs compatibles Java EE 6 (Web) The IT Crew 2012-23 -
Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards & Spécifications Versions des Plateformes Java Serveurs Compatibles Un peu plus loin - 24 -
Qu est ce qu une JVM (Java Virtual Machine)? The IT Crew 2012 Interprète du code Java compilé (bytecode) Exécute des instructions Java sur n importe système d exploitation (dans le monde distribué ou dans le mainframe) Abstraction d un processeur Interprète une instruction (bytecode) à la fois (temps machine) Interprète plusieurs instructions à l aide de compilateurs JIT (Just In Time Compiler), le code compilé n est plus portable La spécification JCP (JSR924) définit un ensemble d instructions registres et méthodes (JSR 292), la gestion de la mémoire (JSR 133) Elément très important pour une plateforme Java - 25 -
Que définit la spécification Java EE 6? The IT Crew 2012 l architecture les types de profils les composants les types de conteneurs les adaptateurs de ressources les pré-requis pour les accès à bases de données les services standards (HTTP, RMI-IIOP, JDBC, JavaMail, etc) l interopérabilité la flexibilité les extensions les rôles (fonction humaine) les types de contrats conclus avec les éditeurs les apports par rapports aux versions précédente d une plateforme Java EE 6 (JSR 313) - 26 -
Que définit la spécification Java EE 6? The IT Crew 2012 Exemple 1 : Java EE Architecture Diagram - 27 -
Que définit la spécification Java EE 6? The IT Crew 2012 Exemple 1 : Java EE Interoperability - 28 -
Que définit la spécification Java EE 6? The IT Crew 2012 Attention : La spécification Java EE 6 ne définit pas les architectures N tiers - 29 -
IT Vous remercie de votre attention! contact@the-it-crew.com IT - The IT Crew - Conseil en Systèmes d Informations, Urbanisation, Architectures et Expertise JEE http://www.the-it-crew.com 18, rue de Montgolfier 75003 Paris EURL au capital de 15.000 euros RCS Paris B - SIRET : 519 291 595 00022 - APE : 6202A