SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
Java Enterprise Edition
  et son écosystème
  Stéphane Traumat (Scub)
Plan de la présentation

 Qu'est ce que Java et JEE ?
 Comment se fait l'évolution de Java ?
 Les architectures SOA.
 Les technologies (JSR).
 Les frameworks.
 Le middleware.
 Les outils.
Avant de commencer...
une courte présentation de
   Scub et de moi même
Scub - Présentation

Notre métier depuis 2003 : Conception, réalisation et mise
en œuvre du système d'information des entreprises et des
administrations.

Nos services sont centrés sur le développement d'applications
et l'intégration de systèmes avec une spécialisation sur les
frameworks légers et les architectures orientées services
(SOA).

Nous sommes une équipe de 9 personnes basée à
Angoulême.
Scub - Présentation

Trois métiers :

   Conseil (SDI, Open Source, Socle technique...).

   Ingénierie Java (Architecture, SOA, formation...).

   Décisionnel (ETL, Infocentres, OLAP...).
Stéphane Traumat

 Dirigeant de la société Scub.

 Architecte Java sur d'importants projets (RATP, SMATIS...)

 Conseil en technologie (CNAV, Objectweb...).

 Commiteur sur le serveur d'applications JOnAS.

 Auteur du livre JOnAS Live (publié par Sourcebeat).

 Conférencier (Solutions Linux, Free software meeting, Foss-
 bridge, Université de La Rochelle...)
Qu'est ce que Java et JEE ?
Qu'est ce que Java ?

Java est à la fois :
   Un langage de programmation.
   Une plateforme d'exécution.
Qu'est ce que Java ?

Java offre une API (Interface de programmation) qui est une
collection de composants prêt à l'emploi.
Qu'est ce que JEE ?

JEE est la version quot;entreprisequot; de Java, elle a pour but de
faciliter le développement d'applications distribuées.
Mais en fait, JEE est avant tout une norme.

C'est un ensemble de standard décrivant des services
techniques comme, par exemple, comment accéder à un
annuaire, à une base de données, à des documents...

Important : JEE définit ce qui doit être fournit mais ne dit
pas comment cela doit être fournit.
Qu'est ce que JEE ?

Exemple de services :

   JDBC (Java DataBase Connectivity) est une API d'accès
   aux bases de données relationnelles.

   JNDI (Java Naming and Directory Interface) est une API
   d'accès aux services de nommage et aux annuaires
   d'entreprises tels que DNS, NIS, LDAP...

   JTA (Java Transaction API) est une API définissant des
   interfaces standard avec un gestionnaire de transactions.
Qu'est ce que JEE ?

JEE définit ce qui doit être fournit mais ne dit pas
comment cela doit être fournit.

Ceci est une différence majeure par rapport aux précédentes
plateformes. En PHP, VB, Delphi... vous utilisez les fonctions
fournies par l'éditeur.
Vous utilisez à la fois la fonction et son implémentation : si vous
n'êtes pas content de la façon dont Delphi se connecte à
LDAP, vous n'y pouvez rien, ou alors, vous devez vous passer
de l'API et ré écrire du code.
Qu'est ce que JEE ?

 Le principe de séparation est celui de la prise de courant
Qu'est ce que JEE ?

La prise électrique correspond à ce qu'on appelle en Java une
interface.

La prise permet à la cafetière et à la centrale nucléaire de
travailler ensemble sans se connaître l'un l'autre. Le
concepteur de la centrale nucléaire n'a pas à savoir comment
marche un cafetière et vice et versa.

La cafetière peut être remplacée par un aspirateur et la
centrale nucléaire par une éolienne.
Qu'est ce que JEE ?

Le même principe appliquée à la programmation :
import javax.naming.*;

public class Lookup {                                         Ce qu'il faut noter
    public static void main(String[]   args) {             Le code est indépendant
        Context initialContext = new   InitialContext(props); de l'implémentation.

        Object obj = initialContext.lookup(quot;testquot;);

        if (name.equals(quot;quot;))                             On peut changer de
            System.out.println(quot;Pas trouvé !quot;);           fournisseur sans
        else                                             changer son code !
            System.out.println(quot;Trouvé);

    }                                                  la méthode lookup est
}                                                     différente chez oracle et
                                                              chez ibm...
Qu'est ce que JEE ?

Généralement, les applications JEE fonctionnent à l'intérieur
d'un serveur d'applications (appelé aussi conteneur) qui offre
les services JEE à ces mêmes applications.
Qu'est ce que JEE ?

Exemple de serveurs d'applications JEE :
   IBM Websphere
   BEA Weblogic
   Oracle 9i AS
   JBoss
   JOnAS
   Geronimo
   ...

Une application JEE quot;standardquot; peut fonctionner dans n'importe
quel conteneur en modifiant seulement sa configuration.
Qu'est ce que JEE ?

Ce qu'il faut retenir :
   JEE est en ensemble de standard.

   JEE décrit des services techniques pour bâtir des
   applications d'entreprise.

   Tout le monde peut écrire sa propre implémentation du
   standard.

   Une application JEE s'exécute dans un serveur
   d'applications qui est un environnement d'exécution.
Comment se fait l'évolution de
         Java ?
Comment se fait l'évolution de Java ?

L'évolution du langage Java est piloté par le Java Community
Process (JCP).

Des sociétés, des associations ou des individus peuvent
rejoindre le groupe pour participer et influencer l'évolution du
langage.

Site : http://www.jcp.org
Comment se fait l'évolution de Java ?

Le JCP émet des Java Specification Requests (JSR), qui
décrivent les spécifications et technologies proposées pour un
ajout à la plateforme Java.

Exemple : la JSR 168 est la spécification des portlets
définissant le contrat entre les conteneurs de portlets et les
portlets.
Comment se fait l'évolution de Java ?

Des revues publiques formelles des JSRs sont menées avant
qu'une JSR ne devienne finale et qu'elle ne soit votée par le
comité exécutif du JCP.
Comment se fait l'évolution de Java ?

Une JSR finale fournit une implémentation de référence qui
offre :

   Une implémentation gratuite de la technologie sous la forme
   de code source.

   Un ensemble de tests - le Technology Compatibility Kit
   (TCK) - pour vérifier la compatibilité d'une implémentation
   avec la spécification.
Comment se fait l'évolution de Java ?

La question...

Étant donné l'existence du JCP qui est un processus ouvert, y
a t-il une vie en dehors du JCP ?
Comment se fait l'évolution de Java ?

La réponse : OUI

Pourquoi ?
   Erreurs du JCP (Hibernate...)
   Nouvelles façons (Spring...)
   Sujets non couverts (Maven...)
Comment se fait l'évolution de Java ?

Mais ceci est une bonne nouvelle car les membres du JCP sont
désormais intelligent !

Cas des EJB 2.1:
  Sortie des EJB 2.1, tout le monde se lance et il s'avère que
  c'est une mauvaise norme.
  Création du projet libre Hibernate => Succès.
  Invitation des membres d'Hibernate au JCP sur EJB 3.
  Les EJB 3 prennent le meilleur d'hibernate => Succès.
Comment se fait l'évolution de Java ?

Ce qu'il faut retenir :
   Le JCP fait la norme JEE.

   L'industrie et le monde du libre ne passent pas forcément
   par le JCP.

   Le JCP intègre souvent les bonnes idées mais cela peut
   prendre du temps.
Les architectures SOA
Les architectures SOA

La Service Oriented Architecture est le nouveau mode de
développement des applications.

Dans ce modèle, chaque fonction de chaque application existe
sous forme de service indépendants (creerClient(),
SupprimerFacture()...) et chaque service peut communiquer
avec n'importe quel autre service par message.

Une architecture orientée services consiste essentiellement en
une collection de services qui interagissent et communiquent
entre eux
C'est la fin des silos !
Les architectures SOA

Conséquence de l'avènement du SOA : de nouveaux besoins !
  Transaction distribuée.
  Authentification et autorisation.
  Messages asynchrones.
  Webservices.
  Annuaires.
  ...

Tous ces services sont des services standard JEE.
Les architectures SOA

Ce qu'il faut retenir :
   Les architectures SOA sont l'avenir.

   JEE répond aux besoins de ce type d'architecture.

   Dans une architecture SOA, il n'y aura pas que du Java !
Les technologies
      (JSR)
Les technologies

Servlet
Les servlets sont des applications Java qui fonctionnent dans
un serveur web et qui répondent aux requêtes client.

Le conteneur reçoit la requête du client, et sélectionne la
servlet qui aura à la traiter. Le conteneur fournit également tout
un ensemble de services standards pour simplifier la gestion
des requêtes et des sessions.

Conteneur le plus connu : Tomcat.
Les technologies

Exemple de Servlet :
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet {

    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
      PrintWriter out = resp.getWriter();
      out.println(quot;<html><head><title>Servlet</title></head><body>test</body></html>quot;);
      out.close();
    }

}
Les technologies

Portlet
Une portlet est une application Java qui fonctionne et s'intègre
dans un portail. Chaque portlet est indépendant des autres
portlets s'affichant dans la même page.

Exemple de portail : Websphere portal, JBoss portal, Pluto...
Exemple de portail
Les technologies

Exemple de Porlet :
import   java.io.IOException;
import   javax.portlet.GenericPortlet;
import   javax.portlet.PortletException;
import   javax.portlet.RenderRequest;
import   javax.portlet.RenderResponse;

public class HelloWorldPortlet extends GenericPortlet {

    protected void doView(RenderRequest request, RenderResponse response)
     throws PortletException, IOException {
         response.setContentType(quot;text/htmlquot;);
         response.getWriter().write(quot;Hello World!quot;);
     }
}
Les technologies

Java Server Pages (JSP)
Cette technologie permet aux développeurs d'insérer du code
java dans des pages web.

Fonctionne dans un conteneur web.
Les technologies

Exemple de page JSP
<%@page contentType=quot;text/htmlquot;%>
<%@page import=quot;java.util.*quot;%>
<html>
<head><title>Page JSP</title></head>
<body>

<%! int nombreVisites = 0; %>

<% // Code Java
Date date = new Date();
nombreVisites++;
%>

<h1>Exemple de page JSP</h1>

<p>Au moment de l'exécution de ce script, nous sommes le <%= date %>.</p>
<p>Cette page a été affichée <%= nombreVisites %> fois!</p>
</body>
</html>
Les technologies

Java Server Face (JSF)
Cette technologie est un framework qui a pour but de simplifier
le développement d'interfaces utilisateurs. Bien qu'il permette
de faire tout type d'interface, il est surtout vu comme une
amélioration des JSP.

Fonctionne dans un conteneur web comme tomcat.
Les technologies

Exemple de page JSF :
<%@ page contentType=quot;text/html; charset=Cp1252quot; %>
<%@ taglib uri=quot;http://java.sun.com/jsf/htmlquot; prefix=quot;hquot; %>
<%@ taglib uri=quot;http://java.sun.com/jsf/corequot; prefix=quot;fquot; %>
<html>
<head>
<meta http-equiv=quot;Content-Typequot; content=quot;text/html; charset=Cp1252quot;/>
<title>jsf-title</title>
</head>
<body>
<f:view>
<h:form>
UserID: <h:inputText value=quot;#{mgr.userID}quot;/>
<br/>Password: <h:inputText value=quot;#{mgr.password}quot;/>
<br/> <h:commandButton value=quot;Loginquot; action=quot;#{mgr.loginAction}quot;/>
</h:form>
</f:view>
</body>
</html>
Les technologies

Enterprise Java Bean (EJB)
Les EJB sont des composants logiciels résidant sur le serveur.
Ils permettent :
    De représenter des données (Entité).
    D'offrir des services (Session).
    De réaliser des traitements asynchrones (MDB).

Ils sont accessibles à distance et sont répertoriés dans un
annuaire.

Ils s'exécutent dans un serveur d'application comme Oracle
AS, BEA Weblogic ou IBM Websphere...
Les technologies

Exemple d'un EJB entité /
@Entity
@Table(name=quot;bookquot;)
public class Cat {

    @Id
    private Integer id;
    private String name;

}
Les technologies

Exemple d'un EJB de session :
@Stateless
public class StatelessSessionBeanImpl implements StatelessSessionBean {

    public String sayHello() {
        return (quot;Hello world !quot;);
    }

}
Les technologies

Exemple d'un EJB orienté message :
@MessageDriven(name=quot;LongProcessMessageBeanquot;, activationConfig = {
    @ActivationConfigProperty(propertyName=quot;destinationquot;, propertyValue=quot;fileAttentequot;)
})
public class LongProcessMessageBean implements MessageListener {

    @Resource
    private MessageDrivenContext context;

    public void onMessage(Message message) {
        System.out.println(quot;Message reçu !quot;);
    }

}
Les technologies

Java Naming and Directory Interface (JNDI)
JNDI est une API de connexion à des annuaires comme LDAP.

En JEE, les objets sont souvent référencés dans un l'annuaire
du serveur d'applications. Un objet peut donc en retrouver un
autre grâce à l'annuaire.
Les technologies

Java DataBase Connectivity (JDBC)
Cette API permet aux applications Java d'accéder aux bases
de données.

Il s'agit de la même interface pour toutes les bases de
données, seul le driver change.
Les technologies

Java Message Service (JMS)
Cette technologie permet d'envoyer et de recevoir des
messages de manière asynchrone entre applications ou
composants Java.

Cette technique est utilisée pour gérer les déconnexions, les
montées en charge ou pour découpler les développements.

Cette technologie est utilisée par les EJB MDB.
Les technologies

JavaMail
Cette API permet l'envoi et la réception d'emails.
Les technologies

Java Management Extensions (JMX)
Cette technologie permet de gérer le fonctionnement d'une
application Java en cours d'exécution.

Vous pouvez :
   Modifier dynamiquement le comportement de l'application.
   Générer des statistiques d'utilisation.
   Exécuter des méthodes.
Les technologies

Java Transaction API (JTA)
Cette technologie permet de piloter les transactions sans avoir
à connaître les détails du gestionnaire de transactions.

Cette API gère aussi transactions distribuées, c'est à dire les
transactions qui peuvent démarrer sur un système et dépendre
du résultat d'autres systèmes.
Les technologies

XML
Java dispose de toutes les API nécessaires au traitement du
XML.
Les technologies

Remote Method Invocation (RMI)
Il s'agit d'une API qui permet à des objets Java de
communiquer à distance.

Il s'agit de quelque chose de similaire à Corba ou RPC.
Les technologies

Ce qu'il faut retenir :
   Java dispose d'API pour à peu près tout.

   Nous n'avons vu qu'une partie des API disponibles.
Avant de continuer...
Un avertissement...

Le plus gros avantage de Java est aussi son plus gros
inconvénient, il s'agit de :

  Sa richesse !

Vous trouverez un nombre impressionnant de façon de faire
une même chose.

Exemple :   Comment faire une page web ?
            Ça dépend...
             Au moins 35 frameworks existent !
Les frameworks
Les frameworks

Définition : On va dire qu'il s'agit d'une infrastructure logicielle
qui facilite la conception des applications par l'utilisation de
bibliothèques, de modèles de convention...

De manière plus générale, il s'agit d'une quot;structurequot; qui soutient
quelque chose d'autre. Une sorte de squelette qui sert de base
à quelque chose qui est construit.
Les frameworks

Y a t'il beaucoup de frameworks Java ?
  Enormément.

Pourquoi ?
   Très grande communauté.
   De nombreux besoins.
   Différents points de vues.
   ...
Les frameworks

Struts, le plus vieux et l'un des plus répandus !

Il permet de développer des applications web en Java en
suivant l'archiecture Modèle-Vue-Contrôleur.
Les frameworks

Hibernate, celui qui a fait changer le JCP.

Hibernate permet de gérer la persistence des données, c'est à
dire : plus besoin de SQL . On laisse Java stocker
automatiquement les objets dans la base.
Les frameworks

Spring, le conteneur léger.

Spring a été crée avec l'idée que JEE était bien trop compliqué
et qu'il vallait mieux coder par Interface que par héritage. Ils ont
rencontré un véritable succès et ils ont popularisé les
approches IOC et AOP qui sont repris dans la nouvelle norme
JEE.
Les frameworks

GWT, framework de Google pour les applications Ajax.

Vous permet de développer des applications web Ajax,
directement en Java, aussi facilement que vous feriez une
application de bureau classique.
Plus besoin de connaître HTML, Javascript, les navigateurs...
Les frameworks

Ce qu'il faut retenir :
   Java dispose d'un nombre impressionnant de frameworks. Il
   y en a même trop.

   Cependant, certains de ces frameworks sont tout
   simplement fantastiques et il ne faut pas s'en priver.

   Tout projet Java utilise des frameworks Open Source.
Le middleware
Le middleware

Définition wikipedia : Un intergiciel (en anglais middleware) est
un logiciel servant d'intermédiaire de communication entre
plusieurs applications, généralement complexes ou distribuées
sur un réseau informatique.

Le middleware est le socle nécessaire à la mise en oeuvre des
applications.
Le middleware

Les serveurs d'applications JEE.

Le serveur d'applications est le conteneur où vont s'exécuter
les applications JEE.

Il offre à ces applications l'ensemble des services JEE.
Anatomie d'un serveur JEE
Le middleware

Serveurs d'applications du marché :
   JBoss (Fondation JBoss)
   Apache Geronimo (Fondation Apache)
   JOnAS (Objectweb)
   Oracle Application Server 10g
   Resin
   SAP NetWeaver
   Glassfish (Sun)
   WebSphere Application Server (IBM)
   WebLogic (BEA)
   ...
Le middleware

Les portails.

Les portails permettent d'éxecuter les portlets.

   Oracle Portal
   Apache Pluto
   BEA Weblogic Portal
   Vignette portals
Le middleware

Enterprise Service Bus (ESB) - quot;Anciennement EAIquot;

L'ESB a pour but de permettre aux applications de
communiquer entre elles à travers un bus qui offre un
ensemble de services.
Schéma de fonctionnement d'un ESB
Le middleware

Ce qu'il faut retenir :
   Les serveurs d'application sont la pierre angulaire de ces
   architectures.

   Les ESB ont remplacé les EAI.
Les outils
Les outils

Environnement de développement IDE

Il s'agit des outils qui permettent de développer en Java.

Comme pour les serveurs d'applications, il en existe
beaucoup...
   Eclipse (IBM)
   Netbeans (Sun)
   WSAD (IBM)
   IntelliJ (Idea)
   JDev (Oracle)

Eclipse avec son ouverture remporte un grand succès.
Les outils

Ant & Maven, Deux outils d'industrialisation des projets.

Ant permet d'automatiser les tâches d'un projet (compilation,
construction, validation, déploiement, lancement...).
Maven, lui, offre une structure de projets et un ensemble de
tâches pré définies.
Les outils

Ce qu'il faut retenir :
   Comme pour tous les autres quot;composantsquot;, il existe un
   nombre impressionnant d'outils pour le développement.

   Eclipse a tout de même le vent en poupe grâce aux
   nombres impressionnant de plugins existants.
Questions ?


 Questions / Réponses ?

 Visitez notre blog : http://www.scub.net/blog !

Más contenido relacionado

La actualidad más candente

Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...ENSET, Université Hassan II Casablanca
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)Heithem Abbes
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiENSET, Université Hassan II Casablanca
 
Conception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceConception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceAHMEDBELGHITH4
 

La actualidad más candente (20)

Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Maven et industrialisation du logiciel
Maven et industrialisation du logicielMaven et industrialisation du logiciel
Maven et industrialisation du logiciel
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Architecture .net
Architecture  .netArchitecture  .net
Architecture .net
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Java Server Faces (JSF)
Java Server Faces (JSF)Java Server Faces (JSF)
Java Server Faces (JSF)
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
Gestion comptes bancaires Spring boot
Gestion comptes bancaires Spring bootGestion comptes bancaires Spring boot
Gestion comptes bancaires Spring boot
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Conception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerceConception et réalisation d'une application web et mobile de e-commerce
Conception et réalisation d'une application web et mobile de e-commerce
 

Similar a Présentation de JEE et de son écosysteme

Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partageraliagadir
 
Certification java oracle java se 7 programmer
Certification java oracle   java se 7 programmerCertification java oracle   java se 7 programmer
Certification java oracle java se 7 programmerEGILIA Learning
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage LicenceMathias Kluba
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)Ahmed Charef
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1ATHMAN HAJ-HAMOU
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfngombeemmanuel
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfRachida19
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreStéphane Traumat
 

Similar a Présentation de JEE et de son écosysteme (20)

Support cours j2_ee
Support cours j2_eeSupport cours j2_ee
Support cours j2_ee
 
Presentation Spring
Presentation SpringPresentation Spring
Presentation Spring
 
Java j2ee
Java j2eeJava j2ee
Java j2ee
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
tp-spring.pdf
tp-spring.pdftp-spring.pdf
tp-spring.pdf
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Certification java oracle java se 7 programmer
Certification java oracle   java se 7 programmerCertification java oracle   java se 7 programmer
Certification java oracle java se 7 programmer
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
Soutenance Stage Licence
Soutenance Stage LicenceSoutenance Stage Licence
Soutenance Stage Licence
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)
 
Introduction à Hibernate p.1
Introduction à Hibernate p.1Introduction à Hibernate p.1
Introduction à Hibernate p.1
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Programmation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdfProgrammation_JEE_Version_imprimable.pdf
Programmation_JEE_Version_imprimable.pdf
 
gradle_lavajug
gradle_lavajuggradle_lavajug
gradle_lavajug
 
Java Entreprise Edition
Java Entreprise EditionJava Entreprise Edition
Java Entreprise Edition
 
J2 ee
J2 eeJ2 ee
J2 ee
 
cours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdfcours-gratuit.com--id-1964.pdf
cours-gratuit.com--id-1964.pdf
 
Support de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfiSupport de cours entrepise java beans ejb m.youssfi
Support de cours entrepise java beans ejb m.youssfi
 
Scub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libreScub Foundation, usine logicielle Java libre
Scub Foundation, usine logicielle Java libre
 

Más de Stéphane Traumat

Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...
Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...
Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...Stéphane Traumat
 
Bitcoin : comment ça marche et pourquoi c’est une révolution ?
Bitcoin : comment ça marche et pourquoi c’est une révolution ?Bitcoin : comment ça marche et pourquoi c’est une révolution ?
Bitcoin : comment ça marche et pourquoi c’est une révolution ?Stéphane Traumat
 
Introduction au cloud computing
Introduction au cloud computingIntroduction au cloud computing
Introduction au cloud computingStéphane Traumat
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantiqueStéphane Traumat
 
Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Stéphane Traumat
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationStéphane Traumat
 

Más de Stéphane Traumat (9)

Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...
Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...
Blockchain : qu'est ce que c'est, comment ça marche et quels usages dans l'av...
 
Bitcoin : comment ça marche et pourquoi c’est une révolution ?
Bitcoin : comment ça marche et pourquoi c’est une révolution ?Bitcoin : comment ça marche et pourquoi c’est une révolution ?
Bitcoin : comment ça marche et pourquoi c’est une révolution ?
 
Conférence big data
Conférence big dataConférence big data
Conférence big data
 
Introduction au cloud computing
Introduction au cloud computingIntroduction au cloud computing
Introduction au cloud computing
 
Introduction au web sémantique
Introduction au web sémantiqueIntroduction au web sémantique
Introduction au web sémantique
 
Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?Comment integrer les applications de votre Systeme Information entre elles ?
Comment integrer les applications de votre Systeme Information entre elles ?
 
Presentation de Scub
Presentation de ScubPresentation de Scub
Presentation de Scub
 
Presentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub FoundationPresentation du socle technique Java open source Scub Foundation
Presentation du socle technique Java open source Scub Foundation
 
Présentation de SaaS
Présentation de SaaS Présentation de SaaS
Présentation de SaaS
 

Présentation de JEE et de son écosysteme

  • 1. Java Enterprise Edition et son écosystème Stéphane Traumat (Scub)
  • 2. Plan de la présentation Qu'est ce que Java et JEE ? Comment se fait l'évolution de Java ? Les architectures SOA. Les technologies (JSR). Les frameworks. Le middleware. Les outils.
  • 3. Avant de commencer... une courte présentation de Scub et de moi même
  • 4. Scub - Présentation Notre métier depuis 2003 : Conception, réalisation et mise en œuvre du système d'information des entreprises et des administrations. Nos services sont centrés sur le développement d'applications et l'intégration de systèmes avec une spécialisation sur les frameworks légers et les architectures orientées services (SOA). Nous sommes une équipe de 9 personnes basée à Angoulême.
  • 5. Scub - Présentation Trois métiers : Conseil (SDI, Open Source, Socle technique...). Ingénierie Java (Architecture, SOA, formation...). Décisionnel (ETL, Infocentres, OLAP...).
  • 6. Stéphane Traumat Dirigeant de la société Scub. Architecte Java sur d'importants projets (RATP, SMATIS...) Conseil en technologie (CNAV, Objectweb...). Commiteur sur le serveur d'applications JOnAS. Auteur du livre JOnAS Live (publié par Sourcebeat). Conférencier (Solutions Linux, Free software meeting, Foss- bridge, Université de La Rochelle...)
  • 7. Qu'est ce que Java et JEE ?
  • 8. Qu'est ce que Java ? Java est à la fois : Un langage de programmation. Une plateforme d'exécution.
  • 9. Qu'est ce que Java ? Java offre une API (Interface de programmation) qui est une collection de composants prêt à l'emploi.
  • 10. Qu'est ce que JEE ? JEE est la version quot;entreprisequot; de Java, elle a pour but de faciliter le développement d'applications distribuées. Mais en fait, JEE est avant tout une norme. C'est un ensemble de standard décrivant des services techniques comme, par exemple, comment accéder à un annuaire, à une base de données, à des documents... Important : JEE définit ce qui doit être fournit mais ne dit pas comment cela doit être fournit.
  • 11. Qu'est ce que JEE ? Exemple de services : JDBC (Java DataBase Connectivity) est une API d'accès aux bases de données relationnelles. JNDI (Java Naming and Directory Interface) est une API d'accès aux services de nommage et aux annuaires d'entreprises tels que DNS, NIS, LDAP... JTA (Java Transaction API) est une API définissant des interfaces standard avec un gestionnaire de transactions.
  • 12. Qu'est ce que JEE ? JEE définit ce qui doit être fournit mais ne dit pas comment cela doit être fournit. Ceci est une différence majeure par rapport aux précédentes plateformes. En PHP, VB, Delphi... vous utilisez les fonctions fournies par l'éditeur. Vous utilisez à la fois la fonction et son implémentation : si vous n'êtes pas content de la façon dont Delphi se connecte à LDAP, vous n'y pouvez rien, ou alors, vous devez vous passer de l'API et ré écrire du code.
  • 13. Qu'est ce que JEE ? Le principe de séparation est celui de la prise de courant
  • 14. Qu'est ce que JEE ? La prise électrique correspond à ce qu'on appelle en Java une interface. La prise permet à la cafetière et à la centrale nucléaire de travailler ensemble sans se connaître l'un l'autre. Le concepteur de la centrale nucléaire n'a pas à savoir comment marche un cafetière et vice et versa. La cafetière peut être remplacée par un aspirateur et la centrale nucléaire par une éolienne.
  • 15. Qu'est ce que JEE ? Le même principe appliquée à la programmation : import javax.naming.*; public class Lookup { Ce qu'il faut noter public static void main(String[] args) { Le code est indépendant Context initialContext = new InitialContext(props); de l'implémentation. Object obj = initialContext.lookup(quot;testquot;); if (name.equals(quot;quot;)) On peut changer de System.out.println(quot;Pas trouvé !quot;); fournisseur sans else changer son code ! System.out.println(quot;Trouvé); } la méthode lookup est } différente chez oracle et chez ibm...
  • 16. Qu'est ce que JEE ? Généralement, les applications JEE fonctionnent à l'intérieur d'un serveur d'applications (appelé aussi conteneur) qui offre les services JEE à ces mêmes applications.
  • 17. Qu'est ce que JEE ? Exemple de serveurs d'applications JEE : IBM Websphere BEA Weblogic Oracle 9i AS JBoss JOnAS Geronimo ... Une application JEE quot;standardquot; peut fonctionner dans n'importe quel conteneur en modifiant seulement sa configuration.
  • 18. Qu'est ce que JEE ? Ce qu'il faut retenir : JEE est en ensemble de standard. JEE décrit des services techniques pour bâtir des applications d'entreprise. Tout le monde peut écrire sa propre implémentation du standard. Une application JEE s'exécute dans un serveur d'applications qui est un environnement d'exécution.
  • 19. Comment se fait l'évolution de Java ?
  • 20. Comment se fait l'évolution de Java ? L'évolution du langage Java est piloté par le Java Community Process (JCP). Des sociétés, des associations ou des individus peuvent rejoindre le groupe pour participer et influencer l'évolution du langage. Site : http://www.jcp.org
  • 21. Comment se fait l'évolution de Java ? Le JCP émet des Java Specification Requests (JSR), qui décrivent les spécifications et technologies proposées pour un ajout à la plateforme Java. Exemple : la JSR 168 est la spécification des portlets définissant le contrat entre les conteneurs de portlets et les portlets.
  • 22. Comment se fait l'évolution de Java ? Des revues publiques formelles des JSRs sont menées avant qu'une JSR ne devienne finale et qu'elle ne soit votée par le comité exécutif du JCP.
  • 23. Comment se fait l'évolution de Java ? Une JSR finale fournit une implémentation de référence qui offre : Une implémentation gratuite de la technologie sous la forme de code source. Un ensemble de tests - le Technology Compatibility Kit (TCK) - pour vérifier la compatibilité d'une implémentation avec la spécification.
  • 24. Comment se fait l'évolution de Java ? La question... Étant donné l'existence du JCP qui est un processus ouvert, y a t-il une vie en dehors du JCP ?
  • 25. Comment se fait l'évolution de Java ? La réponse : OUI Pourquoi ? Erreurs du JCP (Hibernate...) Nouvelles façons (Spring...) Sujets non couverts (Maven...)
  • 26. Comment se fait l'évolution de Java ? Mais ceci est une bonne nouvelle car les membres du JCP sont désormais intelligent ! Cas des EJB 2.1: Sortie des EJB 2.1, tout le monde se lance et il s'avère que c'est une mauvaise norme. Création du projet libre Hibernate => Succès. Invitation des membres d'Hibernate au JCP sur EJB 3. Les EJB 3 prennent le meilleur d'hibernate => Succès.
  • 27. Comment se fait l'évolution de Java ? Ce qu'il faut retenir : Le JCP fait la norme JEE. L'industrie et le monde du libre ne passent pas forcément par le JCP. Le JCP intègre souvent les bonnes idées mais cela peut prendre du temps.
  • 29. Les architectures SOA La Service Oriented Architecture est le nouveau mode de développement des applications. Dans ce modèle, chaque fonction de chaque application existe sous forme de service indépendants (creerClient(), SupprimerFacture()...) et chaque service peut communiquer avec n'importe quel autre service par message. Une architecture orientée services consiste essentiellement en une collection de services qui interagissent et communiquent entre eux
  • 30. C'est la fin des silos !
  • 31. Les architectures SOA Conséquence de l'avènement du SOA : de nouveaux besoins ! Transaction distribuée. Authentification et autorisation. Messages asynchrones. Webservices. Annuaires. ... Tous ces services sont des services standard JEE.
  • 32. Les architectures SOA Ce qu'il faut retenir : Les architectures SOA sont l'avenir. JEE répond aux besoins de ce type d'architecture. Dans une architecture SOA, il n'y aura pas que du Java !
  • 34. Les technologies Servlet Les servlets sont des applications Java qui fonctionnent dans un serveur web et qui répondent aux requêtes client. Le conteneur reçoit la requête du client, et sélectionne la servlet qui aura à la traiter. Le conteneur fournit également tout un ensemble de services standards pour simplifier la gestion des requêtes et des sessions. Conteneur le plus connu : Tomcat.
  • 35. Les technologies Exemple de Servlet : import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { PrintWriter out = resp.getWriter(); out.println(quot;<html><head><title>Servlet</title></head><body>test</body></html>quot;); out.close(); } }
  • 36. Les technologies Portlet Une portlet est une application Java qui fonctionne et s'intègre dans un portail. Chaque portlet est indépendant des autres portlets s'affichant dans la même page. Exemple de portail : Websphere portal, JBoss portal, Pluto...
  • 38. Les technologies Exemple de Porlet : import java.io.IOException; import javax.portlet.GenericPortlet; import javax.portlet.PortletException; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; public class HelloWorldPortlet extends GenericPortlet { protected void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { response.setContentType(quot;text/htmlquot;); response.getWriter().write(quot;Hello World!quot;); } }
  • 39. Les technologies Java Server Pages (JSP) Cette technologie permet aux développeurs d'insérer du code java dans des pages web. Fonctionne dans un conteneur web.
  • 40. Les technologies Exemple de page JSP <%@page contentType=quot;text/htmlquot;%> <%@page import=quot;java.util.*quot;%> <html> <head><title>Page JSP</title></head> <body> <%! int nombreVisites = 0; %> <% // Code Java Date date = new Date(); nombreVisites++; %> <h1>Exemple de page JSP</h1> <p>Au moment de l'exécution de ce script, nous sommes le <%= date %>.</p> <p>Cette page a été affichée <%= nombreVisites %> fois!</p> </body> </html>
  • 41. Les technologies Java Server Face (JSF) Cette technologie est un framework qui a pour but de simplifier le développement d'interfaces utilisateurs. Bien qu'il permette de faire tout type d'interface, il est surtout vu comme une amélioration des JSP. Fonctionne dans un conteneur web comme tomcat.
  • 42. Les technologies Exemple de page JSF : <%@ page contentType=quot;text/html; charset=Cp1252quot; %> <%@ taglib uri=quot;http://java.sun.com/jsf/htmlquot; prefix=quot;hquot; %> <%@ taglib uri=quot;http://java.sun.com/jsf/corequot; prefix=quot;fquot; %> <html> <head> <meta http-equiv=quot;Content-Typequot; content=quot;text/html; charset=Cp1252quot;/> <title>jsf-title</title> </head> <body> <f:view> <h:form> UserID: <h:inputText value=quot;#{mgr.userID}quot;/> <br/>Password: <h:inputText value=quot;#{mgr.password}quot;/> <br/> <h:commandButton value=quot;Loginquot; action=quot;#{mgr.loginAction}quot;/> </h:form> </f:view> </body> </html>
  • 43. Les technologies Enterprise Java Bean (EJB) Les EJB sont des composants logiciels résidant sur le serveur. Ils permettent : De représenter des données (Entité). D'offrir des services (Session). De réaliser des traitements asynchrones (MDB). Ils sont accessibles à distance et sont répertoriés dans un annuaire. Ils s'exécutent dans un serveur d'application comme Oracle AS, BEA Weblogic ou IBM Websphere...
  • 44. Les technologies Exemple d'un EJB entité / @Entity @Table(name=quot;bookquot;) public class Cat { @Id private Integer id; private String name; }
  • 45. Les technologies Exemple d'un EJB de session : @Stateless public class StatelessSessionBeanImpl implements StatelessSessionBean { public String sayHello() { return (quot;Hello world !quot;); } }
  • 46. Les technologies Exemple d'un EJB orienté message : @MessageDriven(name=quot;LongProcessMessageBeanquot;, activationConfig = { @ActivationConfigProperty(propertyName=quot;destinationquot;, propertyValue=quot;fileAttentequot;) }) public class LongProcessMessageBean implements MessageListener { @Resource private MessageDrivenContext context; public void onMessage(Message message) { System.out.println(quot;Message reçu !quot;); } }
  • 47. Les technologies Java Naming and Directory Interface (JNDI) JNDI est une API de connexion à des annuaires comme LDAP. En JEE, les objets sont souvent référencés dans un l'annuaire du serveur d'applications. Un objet peut donc en retrouver un autre grâce à l'annuaire.
  • 48. Les technologies Java DataBase Connectivity (JDBC) Cette API permet aux applications Java d'accéder aux bases de données. Il s'agit de la même interface pour toutes les bases de données, seul le driver change.
  • 49. Les technologies Java Message Service (JMS) Cette technologie permet d'envoyer et de recevoir des messages de manière asynchrone entre applications ou composants Java. Cette technique est utilisée pour gérer les déconnexions, les montées en charge ou pour découpler les développements. Cette technologie est utilisée par les EJB MDB.
  • 50. Les technologies JavaMail Cette API permet l'envoi et la réception d'emails.
  • 51. Les technologies Java Management Extensions (JMX) Cette technologie permet de gérer le fonctionnement d'une application Java en cours d'exécution. Vous pouvez : Modifier dynamiquement le comportement de l'application. Générer des statistiques d'utilisation. Exécuter des méthodes.
  • 52. Les technologies Java Transaction API (JTA) Cette technologie permet de piloter les transactions sans avoir à connaître les détails du gestionnaire de transactions. Cette API gère aussi transactions distribuées, c'est à dire les transactions qui peuvent démarrer sur un système et dépendre du résultat d'autres systèmes.
  • 53. Les technologies XML Java dispose de toutes les API nécessaires au traitement du XML.
  • 54. Les technologies Remote Method Invocation (RMI) Il s'agit d'une API qui permet à des objets Java de communiquer à distance. Il s'agit de quelque chose de similaire à Corba ou RPC.
  • 55. Les technologies Ce qu'il faut retenir : Java dispose d'API pour à peu près tout. Nous n'avons vu qu'une partie des API disponibles.
  • 57. Un avertissement... Le plus gros avantage de Java est aussi son plus gros inconvénient, il s'agit de : Sa richesse ! Vous trouverez un nombre impressionnant de façon de faire une même chose. Exemple : Comment faire une page web ? Ça dépend... Au moins 35 frameworks existent !
  • 59. Les frameworks Définition : On va dire qu'il s'agit d'une infrastructure logicielle qui facilite la conception des applications par l'utilisation de bibliothèques, de modèles de convention... De manière plus générale, il s'agit d'une quot;structurequot; qui soutient quelque chose d'autre. Une sorte de squelette qui sert de base à quelque chose qui est construit.
  • 60. Les frameworks Y a t'il beaucoup de frameworks Java ? Enormément. Pourquoi ? Très grande communauté. De nombreux besoins. Différents points de vues. ...
  • 61. Les frameworks Struts, le plus vieux et l'un des plus répandus ! Il permet de développer des applications web en Java en suivant l'archiecture Modèle-Vue-Contrôleur.
  • 62. Les frameworks Hibernate, celui qui a fait changer le JCP. Hibernate permet de gérer la persistence des données, c'est à dire : plus besoin de SQL . On laisse Java stocker automatiquement les objets dans la base.
  • 63. Les frameworks Spring, le conteneur léger. Spring a été crée avec l'idée que JEE était bien trop compliqué et qu'il vallait mieux coder par Interface que par héritage. Ils ont rencontré un véritable succès et ils ont popularisé les approches IOC et AOP qui sont repris dans la nouvelle norme JEE.
  • 64. Les frameworks GWT, framework de Google pour les applications Ajax. Vous permet de développer des applications web Ajax, directement en Java, aussi facilement que vous feriez une application de bureau classique. Plus besoin de connaître HTML, Javascript, les navigateurs...
  • 65. Les frameworks Ce qu'il faut retenir : Java dispose d'un nombre impressionnant de frameworks. Il y en a même trop. Cependant, certains de ces frameworks sont tout simplement fantastiques et il ne faut pas s'en priver. Tout projet Java utilise des frameworks Open Source.
  • 67. Le middleware Définition wikipedia : Un intergiciel (en anglais middleware) est un logiciel servant d'intermédiaire de communication entre plusieurs applications, généralement complexes ou distribuées sur un réseau informatique. Le middleware est le socle nécessaire à la mise en oeuvre des applications.
  • 68. Le middleware Les serveurs d'applications JEE. Le serveur d'applications est le conteneur où vont s'exécuter les applications JEE. Il offre à ces applications l'ensemble des services JEE.
  • 70. Le middleware Serveurs d'applications du marché : JBoss (Fondation JBoss) Apache Geronimo (Fondation Apache) JOnAS (Objectweb) Oracle Application Server 10g Resin SAP NetWeaver Glassfish (Sun) WebSphere Application Server (IBM) WebLogic (BEA) ...
  • 71. Le middleware Les portails. Les portails permettent d'éxecuter les portlets. Oracle Portal Apache Pluto BEA Weblogic Portal Vignette portals
  • 72. Le middleware Enterprise Service Bus (ESB) - quot;Anciennement EAIquot; L'ESB a pour but de permettre aux applications de communiquer entre elles à travers un bus qui offre un ensemble de services.
  • 74. Le middleware Ce qu'il faut retenir : Les serveurs d'application sont la pierre angulaire de ces architectures. Les ESB ont remplacé les EAI.
  • 76. Les outils Environnement de développement IDE Il s'agit des outils qui permettent de développer en Java. Comme pour les serveurs d'applications, il en existe beaucoup... Eclipse (IBM) Netbeans (Sun) WSAD (IBM) IntelliJ (Idea) JDev (Oracle) Eclipse avec son ouverture remporte un grand succès.
  • 77. Les outils Ant & Maven, Deux outils d'industrialisation des projets. Ant permet d'automatiser les tâches d'un projet (compilation, construction, validation, déploiement, lancement...). Maven, lui, offre une structure de projets et un ensemble de tâches pré définies.
  • 78. Les outils Ce qu'il faut retenir : Comme pour tous les autres quot;composantsquot;, il existe un nombre impressionnant d'outils pour le développement. Eclipse a tout de même le vent en poupe grâce aux nombres impressionnant de plugins existants.
  • 79. Questions ? Questions / Réponses ? Visitez notre blog : http://www.scub.net/blog !