Your SlideShare is downloading. ×
Certification De Java Enterprise Edition V1 0 1
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Certification De Java Enterprise Edition V1 0 1

5,433
views

Published on

Certification De Java Enterprise Edition V1 0 1

Certification De Java Enterprise Edition V1 0 1

Published in: Business, Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,433
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
199
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Tunsian Java User Group khaled.bendriss@net-progress.net teejug@googlegroups.com http://groups.google.com/group/teejug Livre Blanc TeeJUG La Certification en Java EE 07/11/2007 Status: V160-0 La Certification des développeurs en Java / Java EE Version <1.0> NetProgress : 12 rue Menzel Témime, 2045 L'AOUINA Tunis - Tél : 98 334 617 Tél/Fax : 71 724 905 -1
  • 2. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE Revision History Date Version Description Author 01/11/2007 0.1 Initiation du document et de la Khaled BEN DRISS discussion TeeJug 07/11/2007 1.0 Proposition pour validation par le Khaled BEN DRISS groupe de discussion java en Tunisie : teeJUG Note Interne Page 2 ©2009
  • 3. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE Licence Conditions d’utilisation et de diffusion Droits et devoirs Ce document est protégé par une licence quot;Creative Commons quot; résumée ci-dessous. Le terme « création » s’applique au document lui-même. L’auteur original est : Khaled BEN DRISS et Net-Progress, pour le document ; Les membres de TeeJug pour certains éléments du texte. Nous vous demandons de citer l’un et/ou l’autre, selon que vous extrayez une citation directe. Cette page est également disponible dans les langues suivantes : български Català Dansk Deutsch English English (CA) English (GB) Castellano Castellano (AR) Español (CL) Castellano (MX) Euskara Suomeksi français français (CA) Galego ‫ עברית‬hrvatski Magyar Italiano 日本語 Melayu Nederlands polski Português svenska slovenski jezik 简体中文 華語 (台灣) Paternité - Partage des Conditions Initiales à l'Identique 2.0 France Vous êtes libres : • de reproduire, distribuer et communiquer cette création au public • de modifier cette création • d'utiliser cette création à des fins commerciales Selon les conditions suivantes : Paternité. Vous devez citer le nom de l'auteur original. Partage des Conditions Initiales à l'Identique. Si vous modifiez, transformez ou adaptez cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci. • A chaque réutilisation ou distribution, vous devez faire apparaître clairement aux autres les conditions contractuelles de mise à disposition de cette création. • Chacune de ces conditions peut être levée si vous obtenez l'autorisation du titulaire des droits. Ce qui précède n'affecte en rien vos droits en tant qu'utilisateur (exceptions au droit d'auteur : copies réservées à l'usage privé du copiste, courtes citations, parodie...) Ceci est le Résumé Explicatif du Code Juridique (la version intégrale du contrat). Avertissement Note Interne Page 3 ©2009
  • 4. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE Table of Contents 6 1. Cadre général 6 1.1 References 2. Introduction 6 3. La certification 7 3.1 Définition 7 3.2 Liste des certifications Java de Sun 7 3.3 Certifications Java EE chez les vendeurs de plateforme 8 3.4 Combien ça coûte en Tunisie 8 3.5 La certification est elle pour la vie 8 3.6 Les certifications les plus demandées : Programmer et Architecte 8 4. La valeur réelle d'un certificat Java 8 4.1 La valeur d'un certificat pour une ressource 9 4.2 La valeur d'un certificat des Ressources pour une Entreprise 9 4.2.1 Importance d'une ressource certifié Java 9 4.2.2 Le plus important c'est le nombre de projets réalisés 9 4.2.3 La certification est une conséquence à la multiplication de projets : pas l'inverse 10 5. La certification en Tunisie et dans les pays concurrents 11 5.1 La certification en Tunisie 11 5.2 La certification dans les pays arabes 11 5.3 La certification dans les pays émergents 11 6. Comment préparer et réussir sa certification Java EE 11 6.1 Comment préparer 11 6.2 Site web de test blanc 11 6.3 Site web de test blanc 12 7. Où passer les certifications Java EE en tunsiie 12 8. Annexes 13 8.1 JAVA EE en quelques questions 13 8.1.1 JAVA EE, c'est un standard ? 13 8.1.2 Pour quelle finalité ? 13 8.1.3 Cette spécification ne concerne-t-elle que les serveurs d'applications ? 13 8.1.4 Quel rapport avec Java et les EJB ? 13 8.1.5 qui est aux commandes de JAVA EE ? 13 8.1.6 Où en est-on dans les versions de JAVA EE ? 13 8.2 Les APIs fournies par JAVA EE 13 8.2.1 JDBC 14 8.2.2 RMI 14 8.2.3 Java IDL 14 8.2.4 JNDI 14 8.2.5 EJB 14 8.2.6 Servlets 15 Note Interne Page 4 ©2009
  • 5. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE 8.2.7 JSP 15 8.2.8 JMS 15 8.2.9 JTA 15 8.2.10 JSF 15 8.2.11 Autres APIs 15 Note Interne Page 5 ©2009
  • 6. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE Présentation de JAVA EE 1. Cadre général Ce document entreprend de présenter, brièvement, la notion de certification des développeurs en Java et Java Enterprise Edition (communément appelée JAVA EE). Ce document a été élaboré dans le cadre du Tunisian Java User Groupe TeeJug. Il a été enrichi par les contributions des membres du group (qui sont +95 depuis Septembre 2007) La question de base était sur certification en Java (et dans d'autres langages de programmation) : quelles sont les certifications. Quelle est l'apport d'une certification java/JAVA EE pour un ingénieur ? Pour une entreprise? 1.1 References • Site JAVA EE de Sun:http://java.sun.com/Java EE • http://www.register.prometric.com/Index.asp?cookie%5Ftest=1 • http://java.sun.com/learning/index.html • http://www.sun.com/training/certification/java/index.xml 2. Introduction Java EE (pour Java Enterprise Edition) est un ensemble d'APIs dédiées au développement d'applications d'entreprise. Certaines de ces APIs sont incluses dans le Java Standard Edition (la version quot;standardquot; du langage Java), comme par exemple JDBC (pour Java DataBase Connectivity, dont le package est java.sql) ou encore RMI (pour Remote Methods Invocation, dont le package est java.rmi). D'autres ne sont pas distribuées avec le JDK ou JRE standard mais avec le SDK Java EE. C'est le cas par exemple des EJBs (pour Enterprise Java Beans) ou les Servlets pour la création de contenu web dynamique. Java est simplement le Langage de la plateforme JAVA EE (on dit maintenant Java EE) L'objectif de Java EE est de faciliter la réalisation d'quot;applications d'entreprisequot; robustes, maintenables et sécurisées, sous forme d'applications distribuées, qui interagissent par l'intermédiaire d'un réseau. Les plus grands fournisseurs de logiciel, de plateforme et les SSII ont montré un engouement sans précèdent à Java EE. La simplicité du langage Java permet à tout développeur (au prix de quelques efforts tout de même) de se mettre au développement d'applications distribuées. D'autre part, l'étendue des APIs JAVA EE de Sun permet de couvrir l'ensemble des besoins en la matière. La communauté qui s'est crée autour de Java et Java EE a dépassé le créateur de la Java, qui a été contraint en 2006 à adopter le modèle open Source pour toute la plateforme Java (et même tous ses logiciels proposent leur propre solution. JAVA EE est la réponse de Sun en la matière. Les spécifications Java EE sont actuellement à la version 5 et le langage Java est à la version 6. Note Interne Page 6 ©2009
  • 7. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE 3. La certification 3.1 Définition La certification Java / java EE atteste des compétences techniques, des engagement professionnel et de la motivation d'un développeur, intégrateur, administrateur ou d'un architecte ; autant d'éléments que les employeurs sont prêts à récompenser financièrement. Reconnue par l'ensemble de l'industrie, les certification pour la technologie Java apporte les compétences nécessaires pour relever efficacement les défis du développement professionnelles des d'applications d'Entreprises selon les standards du marché En java, il y a une série de certifications proposées par Sun qui sont passées par de nombreux développeurs chaque année. Mais beaucoup de personnes se demandent si la principale certification, Sun Certified Java Programmer, a un intérêt ou non? Dans les certifications, il y a 4 niveaux. Le niveau 1 étant le plus bas niveau et le niveau 4 étant le plus haut. Dans chaque niveau, il y a une ou plusieurs certifications possibles et pour pouvoir accéder à des certifications du niveau supérieur, il est nécessaire d’en réussir au moins une du niveau inférieur. Vous allez comprendre 3.2 Liste des certifications Java de Sun Sun propose les certifications suivantes : - Sun Certified Java Associate (SCJA) - Sun Certified Java Programmer (SCJP) - Sun Certified Java Developer (SCJD) - Sun Certified Web Component Developer (SCWCD) - Sun Certified Business Component Developer (SCBCD) - Sun Certified Developer For Java Web Services (SCDJWS) - Sun Certified Mobile Application Developer (SCMAD) - Sun Certified Enterprise Architect (SCEA) Rappelons, pour comprendre ce schéma, que JAVA EE signifie Java 2 Enterprise Edition et qu'il repose donc sur Java, langage objet conçu pour être quot;portablequot;. Une caractéristique qui passe notamment par l'utilisation d'un module client (baptisé machine virtuelle) pour assurer l'exécution des programmes sur n'importe quel type de serveurs et de systèmes d'exploitation... pour peu que ces derniers supportent l'outil en question. D'ou le slogan lancé par la firme de Palo Alto : quot;Write Once, Run Anywherequot; (développé une fois, exécutable partout). Note Interne Page 7 ©2009
  • 8. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE A la suite de cette première expérience, Sun décide en 1999 de réorganiser l'environnement d'exécution Java autour de trois briques : • Java Micro Edition (Java ME) qui cible les terminaux portables, • Java Standard Edition (Java SE) qui vise les postes clients, • Java Enterprise Edition (Java EE) qui définit le cadre d'un serveur d'applications et d'intégration Bâties à partir de J2SE et de J2ME, les spécifications JAVA EE définissent neuf services applicatifs, couvrant pèle mêle les tâches d'exécution (EJB), d'affichage client (Servlet et JSP), de connexion applicative (JCA et JMS) et de dialogue avec les bases de données (JDBC). Objectif de cette refonte pour Sun : fournir un cadre de développement, tirant parti d'une communauté Open Source, qui permette au secteur de l'édition de mettre au point des applications exécutables par des serveurs eux-mêmes fidèles à cette spécification. Bref, il s'agit avant tout de faciliter la compatibilité des programmes. 3.3 Certifications Java EE chez les vendeurs de plateforme Java EE est une plateforme qui a besoin d'un serveur d'application : là apparaît un autre besoin de certification: certifier les administrateur de serveur d'application : Websphere, Oracle Application Server, Weblogic … Un autre profil émerge aussi : Administrateur de Portail Java EE : Websphere Protal, Oracle Application Protal, Weblogic Protal … 3.4 Combien ça coûte en Tunisie Pour java, la certification coûte entre 300 et 600 Dinars Tunisien (faute à l'Euro, en 2005 c'était 150 DT) selon le niveau. Ces montants sont à vérifier avec TMI – Représentant officiel de Sun en Tunisie 3.5 La certification est elle pour la vie Non. Une certification ne concerne qu'une version du langage java ou de la plateforme Java EE En, effet, l'une des caractéristiques de java EE est son évolution et son adaptation et la version 5 l'a montrée. En effet, la version 5 du langage a vue l'arrivée des generics, des annotations, de l'import static… 3.6 Les certifications les plus demandées : Programmer et Architecte Notons une méconnaissance générale du détail des certifications, lorsqu'une entreprise cible des ingénieurs / techniciens elle demande généralement quot; Sun Certified Java Programmer (SCJP)quot;. Son obtention est obligatoire pour passer les autres certifications. L'autre certification très apprécié (mais aussi très rare) est quot;Sun Certified Enterprise Architect (SCEA)quot;, pour l'obtenir il faut avoir au moins 2 autres certification (Niveau Foundation + Speciality) 4. La valeur réelle d'un certificat Java Avant tout il faut savoir qu'on certifie les personnes et pas les entreprises Note Interne Page 8 ©2009
  • 9. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE 4.1 La valeur d'un certificat pour une ressource Il est indéniable qu'un programmeur certifié SCJP, connaît très bien le langage Java, est ce pour autant un excellent développeur ? Mais attention, le fait d’avoir réussi cette certification ne fait pas de vous un bon développeur. Pour les applications d'entreprises, Il n'y pas que le langage Java enjeux : on a besoin de SQL, de la fluidité du maniement des outils IDE (Eclipse par exemple) de la connaissance du métier et beaucoup de bon sens. Certains pensent que le, le plus important dans une certification JAVA est de l'avoir préparer, et pas de la réussir. En passant des quizz qui se trouvent sur le net, dans des livres, des CDs, on découvre à chaque fois des détails auquel on a jamais pensé. Peut être c'est un avantage sur le CV d'avoir une certificat, par exemple des certif d'architecte donnent plus de chance d'avoir un post d'architecte !. D'autre part, dans le microcosme java le langage est la base les frameworks sont les fondations. Maîtriser Java EE exige la maîtrise et la capacité d'assemblage, de dizaines de framework (Strus, Spring, hibernate, Log4j, junit, la connaissance du langage aide, mais n'est pas suffisante, il faut beaucoup d'expérience et une continuelle veille technique. En consultant des entreprises tunisiennes, nous constatons que pour un salarié ayant un Certificat Java, ne justifierait pas une augmentation de salaire substantielle (de 50% par exemple), ce n'est pas comme pour les équipement télécommunications ou les routeurs Cisco. C'est un plus indéniable, mais pas une nécessité, peut être par la rareté et par le grand quot;turn overquot; des ces ressources certifiées. 4.2 La valeur d'un certificat des Ressources pour une Entreprise 4.2.1 Importance d'une ressource certifié Java Certains, en Tunisie, ne voient pas quot;le fameux grand d'apportquot; pour une entreprise, d'avoir en son sein des ingénieurs certifiés Java. Après tout cela c'est de l'ingénierie qui reste une discipline d'équipe (je ne dis pas sport d'équipe) et une SSII doit avoir des architecte en interne pour fixer les standards de développement et les méthodes de production de logiciels. Avoir des ingénieurs Certifiés Java est un plus mais pas une nécessité. Recruter et intégrer (c'est plus difficile), des ingénieurs certifiés architectes (SCEA), peut avoir un impact sur le niveau de compétence générale de l'entreprise. Mais, attention ici on parle d'un ingénieur qui a au moins 5 ans d'expériences, en ce temps de pénurie un quot;presque-Séniorquot; ; il ne s'agit plus de la maîtrise du langage Java de base mais de la construction architecturale adapté à la situation d'un projet particulier et à une plateforme 4.2.2 Le plus important c'est le nombre de projets réalisés Pour une entreprise tunisienne (ou ailleurs dans le monde) le plus important c'est le nombre de projets réalisés dans les technologies Java EE et pas le nombre d'ingénieurs. Nous Parlons de projets réalisés, Note Interne Page 9 ©2009
  • 10. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE installés, et en production… La notion de certification n'a pas de sens dans l'état actuelle du marché : manque (pour ne pas dire absence totale) de vraie projet Java EE. La certification des ressources en java EE n'a pas d'importance en l'absence de projets réelles. On parle d'un grand nombre de projets réelles, qui va inciter les entreprises à recourir aux Parler et promouvoir les certifications dans l'état actuel, n'aura pas plus d'effet que de créer de nouveaux master, augmenter significativement le nombre de projets aura un effet visible sur le nombre de certifications, pas l'inverse. 4.2.3 La certification est une conséquence à la multiplication de projets : pas l'inverse L'administration, principal client des entreprises TIC en Tunisie, (on parle de 80% du marché !) est capable de contribuer à augmenter les chances d'internationalisation de nos entreprises (pour ne pas dire micro-entreprises). Comment ? Simplement par réaliser (je dis bien mettre en œuvre) les projets planifiés, ceux budgétisés dans le par l'administration pour l'année encours, ne pas différer continuellement. En effet, la grande partie des projets budgétisés (oui je parle de projets ayant un budget, donc dont l'administration a besoin, pas de nouveaux besoins) ne sont pas lancés ou se trouve retardés ( 40% des Appels d'offres sont infructueux). Pour créer le grand changement tant espéré, il ne suffit pas de lancer les projets, mais de leurs donner une orientation technologique claire et univoque, Il est possible de faire en sorte que la majorité des projets de développement de logiciels, au sein de l'administration, soit réalisés dans une plateforme technologique cible cohérente : 1) choisir une technologie cible (PHP, .net ou Java EE), prenons le temps de bien choisir, mais choisissons une cible, 2) fixer une architecture technique unifiée pour l'administration -ATUA 3) Lancer des projets pour créer la plateforme de référence mutualisé de l'administration- PRMA 4) Certifier les ATUA et PRMA (les logiciels) dans l'architecture cible 5) lancer, en même temps, quelques dizaines de projets dans cette technologie cible, et exiger le respect du ATUA et PRMA c'est, ainsi on pourra créer un gisement d'expert dans le domaine et des centaines de quot;très bonquot; ingénieurs et promouvoir la certficiation Investir dans le remboursement de certification, n'a aucun sens en l'absence de projets (de beaucoup de projets). Il faut se mettre à la place d'une entreprise qui n'a pas de projet (en vois pas venir) en Java EE, pour quelle raison va-t-elle investir Pour cela l'administration aura peut être besoin de plus d'assistance à maîtrise d'ouvrage. Note Interne Page 10 ©2009
  • 11. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE 5. La certification en Tunisie et dans les pays concurrents 5.1 La Disponibilité de ressources Java EE en Tunisie La réponse, en 2007 (comme en 2006) est sans équivoque : une pénurie à tout les niveaux. Aucune entreprise tunisienne connaissant l'état du marché, n'ose plus penser pouvoir recruter un ingénieur Certifié Java, c'et la perle rare. On se contente de recruter des ingénieurs quot;avec une petite connaissance en java et quelque frameworkquot; et en s'arrache les quelques ingénieurs confirmés, ces derniers ne tardant pas à quitter le pays vers d'autres cieux où l'herbe est plus verte. Tout cela au détriment du marché et par manque de projets mobilisateurs. 5.2 La certification en Tunisie Le développement de la certification Java reste très faible, et n'a ps de chance de s'améliorer pour deux raisons -l’augmentation des prix, suite à la flambée de l'Euro / Dollars face au dinars - depuis que les entreprises tunisiennes ont constaté la quot;volatilité des ressources certifiésquot;, et l'appel de vent venant de l'Europe pour ces ressources rares (toute nouvelles technologies confondues), est ce qu'une entreprise tunisienne, va investir massivement ( certifier une ressource ou deux ne change rien) dans la certification Java alors que la marché interne n'est pas demandeur D'autre part, certains ingénieurs confondent certification et expérience, et commencent à exgier un traitement spéciale à cause d'une certification. De plus, ne jamais oublier, que la majorité des développeurs tunisiens certifiés en Java atterrissent en Europe. 5.3 La certification dans les pays arabes Il y a un manque d'information sur le sujet,. Mais il parait que l'Egypte est le pays arabe qui sort du lot et qui dépasse tout le monde sur le sujet Java /Java EE. 5.4 La certification dans les pays émergents Dans les pays émergent, le Brésil est de loin le pays qui compte le plus de ressources java et de certifications Java EE. C'est Un pays qui a opté effectivement et dans la pratique au couple gagnant quot;Java EE / Open Sourcequot;. 6. Comment préparer et réussir sa certification Java EE 6.1 Comment préparer A faire 6.2 Site web de test blanc A faire Note Interne Page 11 ©2009
  • 12. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE 6.3 Site web de test blanc A faire 7. Où passer les certifications Java EE en tunsiie Acheter un ticket chez TMI Passer dans u centre habilité Prometric Note Interne Page 12 ©2009
  • 13. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE 8. Annexes 8.1 JAVA EE en quelques questions 8.1.1 JAVA EE, c'est un standard ? En fait, c'est un ensemble de standards. Java EE (pour Java Enterprise Edition) peut être considéré comme un intitulé générique qui couvre plus d'une dizaine de services techniques. Ces services définissent par exemple comment accéder à un annuaire, à une base de données, comment faire dialoguer des machines virtuelles Java ou encore quelles interfaces un composants doit présenter pour être réutilisable dans un tel environnement. C'est la combinaison de tous ces services techniques qui constitue l'architecture Java EE. 8.1.2 Pour quelle finalité ? Le but du jeu est clair : il s'agit de rendre interopérables les composants développés dans le cadre des architectures distribuées, aussi appelées architectures multi-niveaux - celles qui, grossièrement, associent une base de données, un serveur d'applications et des serveurs Web. Théoriquement, un composant conforme aux services techniques JAVA EE doit pouvoir s'exécuter dans n'importe quel environnement estampillé quot;JAVA EEquot;. 8.1.3 Cette spécification ne concerne-t-elle que les serveurs d'applications ? Non. Tous les logiciels qui, dans le contexte d'une application distribuée, s'appuient sur un serveur d'applications sont potentiellement concernés par JAVA EE. 8.1.4 Quel rapport avec Java et les EJB ? JAVA EE capitalise sur les technologies historiquement poussées par Sun. Le langage Java donc, mais aussi les Java Server Pages qui, sur le modèle des Active Server Pages (ASP) de Microsoft, combinent HTML et des appels à des composants pour générer des pages dites dynamiques. Les EJB (pour Enterprise Java Beans) sont étroitement liés à JAVA EE puisqu'ils définissent un modèle de composants : autrement dit, une enveloppe logicielle standard dans laquelle glisser un composant afin qu'il puisse fonctionner au sein d'un environnement comprenant les spécifications EJB. Les EJB représentent l'un des chapitres clefs de JAVA EE. 8.1.5 qui est aux commandes de JAVA EE ? L'élaboration des briques techniques de JAVA EE a été initiée par Sun. Aujourd'hui, la mise à jour des spécifications respecte une méthodologie qui permet aux éditeurs de soumettre des requêtes. Des tests sont également disponibles pour éprouver la rigueur des implémentations. Dans la pratique, la force de JAVA EE tient à son adoption par de grands éditeurs comme IBM, Oracle, Borland ou Bea. En se rassemblant autour d'une spécification commune, ces éditeurs travaillent à constituer une communauté de développeurs au moins équivalente à celle de Microsoft qui, avec sa stratégie quot; .net quot;, représente l'autre voie technologique. 8.1.6 Où en est-on dans les versions de JAVA EE ? Où en est-on dans les versions de JAVA EE ? La version actuelle de la plateforme cible est Java EE 5 Pour l'heure, les tests de compatibilité sont disponibles pour la version 5 de la spécification. Elle a été adoptée le 02 mai 2005 est la version 5 : Java Enterprise Edition 5 La version encours de Java (le langage) est 6. 8.2 Les APIs fournies par JAVA EE Nous allons maintenant entreprendre un tour d'horizon des APIs couvertes par l'API quot;entreprisequot; Note Interne Page 13 ©2009
  • 14. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE de Sun. 8.2.1 JDBC JDBC (Java Database Connectivity) est une API permettant de travailler avec des bases de données relationnelles. Elle permet d'envoyer des requêtes SQL à une base, de récupérer et d'exploiter le résultat ainsi que d'obtenir des information sur la base elle même et les tables qu'elle comporte. Le code Java utilisant l'API JDBC est indépendant de la base elle même grâce à l'utilisation de drivers spécifiques fournis par les vendeurs. Bien sûr, les requêtes JDBC utilisées doivent être standards (et ne pas exploiter des fonctionnalités spécifiques à la base utilisée) pour que l'ensemble reste portable. L'API JDBC est fournie en standard avec le JDK depuis la version 1.1 de Java. Les versions ultérieures fournissent de nouvelles fonctionnalités (comme la manipulation de résultats de requêtes comme des Java Beans, la gestion de pools de connections, les traitements par batchs ou la sérialisation d'objets Java en base). 8.2.2 RMI RMI (Remote Method Invocation) est une API fournissant une approche de haut niveau de la programmation distribuée. On peut ainsi invoquer des méthodes d'un objet distant (résidant sur un serveur) de la même manière que l'on appelle les méthodes d'un objet local. Cette API est présente dans le JDK standard depuis la version 1.1 et a été améliorée dans la version 1.2. 8.2.3 Java IDL l'utilisation de RMI ne peut s'envisager que si le client et le serveur sont écrits en Java. Si ce n'est pas le cas, il est possible d'appeler des méthodes sur un objet distant en utilisant une solution basée sur CORBA (Common Object Request Broker Architecture), standard défini par l'OMG. La plateforme Java 2 inclue un ORB (Object Request Broker) permettant à un programme Java de communiquer avec d'autres ORBs et donc avec d'autres objets CORBA. L'interface d'un objet CORBA est décrite dans un langage indépendant de la plateforme et du langage d'implémentation appelé IDL (pour Interface Description Language). Sun fournit un compilateur IDL permettant de générer les classes nécessaires à un objet Java pour communiquer avec un ORB. 8.2.4 JNDI JNDI (pour Java Naming and Directory Interface) est une API pour communiquer avec les services de nommage et d'annuaire en réseau. On peut ainsi y chercher des objets Java par un chemin ou des valeurs d'attributs. Il existe des ponts avec les principaux services d'annuaires (comme LDAP, NIS ou NDS) et avec les registry de RMI ou CORBA. Dans la pratique, JNDI est utilisé couramment dans la plateforme JAVA EE pour récupérer des objets par un nom symbolique (on peut ainsi récupérer une connexion à une base de données, une instance d'une interface distante, etc.). 8.2.5 EJB Les EJB (Enterprise Java Beans) sont des composants destinés à tourner dans un serveur d'application EJB pour encapsuler des services de données ou logique métier. Il est en effet souvent intéressant de déporter la logique métier du client vers le tiers du milieu d'une application distribuée. La valeur ajoutée des EJBs réside dans les services fournis par le serveur. Le framework EJB est ainsi tenu d'assurer, de manière transparente, la sécurité, la persistance, le support réseau et la gestion des transactions aux composants. On enlève ainsi une épine du pied du développeur qui peut se consacrer pleinement à l'implémentation de la logique métier. L'API EJB et les services assurés par le serveur sont décrits dans des spécifications (actuellement 2.0). Les EJBs sont donc plus qu'une simple API, ils forment aussi un framework Note Interne Page 14 ©2009
  • 15. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE pour objets métiers. Ils forment une pièce maîtresse de la plateforme JAVA EE à tel point qu'on identifie parfois JAVA EE aux EJBs. 8.2.6 Servlets Les Servlets peuvent être comparées à des Applets côté serveur: ce sont des objets tournant sur un serveur pour répondre aux requêtes du client de manière dynamique. Les avantages des Servlets par rapport à d'autres technologies sont: la portabilité (entre systèmes d'exploitation et serveurs), la persistance entre les requêtes qui leur donne un avantage en termes de performance par rapport à d'autres technologies comme les CGI, et enfin l'accès à l'ensemble de la plate-forme Java (qui leur permet ainsi d'accéder aisément à des bases de données avec JDBC). 8.2.7 JSP Les JSPs (pour Java Server Pages) sont comparables aux ASP de Microsoft: ce sont des pages HTML comportant du code imbriqué. Elles rendent les mêmes services que des Servlets mais elles présentent l'avantage d'être beaucoup plus proche du document HTML que du code Java. On peut ainsi en confier l'écriture à des designer web puis envoyer le résultat à des développeurs pour y insérer les appels au code Java. Les JSP sont compilées automatiquement, lors du premier appel, en Servlets. De plus, les serveurs gérant les Servlets sont souvent capables de servir des JSPs. 8.2.8 JMS JMS (pour Java Message Service) est une API d'échange asynchrone de message ou d'évènements critiques entre applications. Comme JNDI et JDBC, JMS est une API construite pour reposer sur des services de messagerie existants fournis par divers vendeurs. JMS permet maintenant de gérer les transactions et est utilisée pour la communication asynchrone entre EJBs (des EJBs pilotés par messages ou message driven beans, nouveauté de la version 2.0 des spécifications EJB). 8.2.9 JTA JTA (pour Java Transaction API) est une API permettant de gérer les transactions distribuées. Elle utilise un service de gestion des transactions distribuées avec lequel elle communique au travers de l'API XA (standard défini par l'Open Group). L'utilisation directe de l'API JTA reste cependant complexe, et les serveurs d'application gèrent les transactions de manière transparente pour l'utilisateur. JTA peut donc être vue comme une API bas niveau utilisée par les développeurs de serveurs d'applications plutôt que par les développeurs d'applications d'entreprise. 8.2.10 JSF Les JavaServer Faces étendent les capacités des JSP pour faciliter la création et la mise à jour d'objets au sein de l'interface (barre de navigation, etc.). 8.2.11 Autres APIs Les implémentations JAVA EE doivent aussi fournir un certain nombre d'autres APIs, parmi lesquelles: • JavaMail: Permet d'envoyer des emails. Doit inclure aussi Java Activation Framework (JAF). • JAXP: Java API for XML Parsing est une API qui unifie les différentes implémentations de parsers XML (parsers SAX, DOM et processeurs XSLT). • JCA: Java Connector Architecture permet l'interconnexion d'une application JAVA EE avec un système d'information d'entreprise par la gestion de pools, des transactions et de la Note Interne Page 15 ©2009
  • 16. Documents TeeJug Version: <1.0> La Certification des développeurs en Java / Java EE Date: 3/15/2009 Java EE sécurité. • JAAS: Java Authentication and Authorization Service fournit une implémentation Java du standard PAM (Plugable Authentication Module). Note Interne Page 16 ©2009