Bonjour
Tout est dans le titre
Merci
Bonjour
Tout est dans le titre
Merci
Java = langage, avec machine virtuelle
JavaEE = nouveau nom de J2EE = techniques pour les serveurs d'applications (jboss, glassfish, weblogic,...) = JSP, Servlet, EJB,...
Java, comme l'a dit sewatech, est un langage de programmation qui s'appuie sur une machine virtuelle pour son exécution (ce qui le rend portable)
JEE peut être vu comme un ensemble d'API (de spécifications) pour le développement d'applications java d'entreprise.
Certaines de ces spécifications sont destinées aux serveurs, d'autres sont également utilisées par des clients (JDBC, JavaMail, ...)
Ci-dessous certaines des spécifications (les plus connues)
- Servlet : Conteneur Web
- Portlet : Conteneur Web (extension de l’API Servlet)
- JavaServer Pages (JSP) : Framework Web
- JavaServer Faces (JSF) : Java Server Face, Framework Web, extension des JSP
- EJB : Composants distribués transactionnels
- JNDI : API de connexion à des annuaires, notamment des annuaires LDAP, et espace de noms d’objet (ENC)
- JDBC : API de connexion à des bases de données
- Java Message Service (JMS) : API de communication asynchrone par message
- JCA : API de connexion, notamment à des PGI
- JavaMail : API de gestion des mails
- JMX : Extension d’administration des applications
- JTA : API de gestion des transactions
- Java API for XML Processing (JAXP) : API d’analyse XML
- JAXM : API de communication asynchrone par XML
- JAX-RPC : API de communication synchrone par XML, par exemple à l’aide du protocole SOAP
- JAXB : API de sérialisation par XML
- JAXR : API de gestion des registres XML, permettant d’enregistrer des Web Services en ebXML
- Java RMI : API de communication distante entre des objets Java
- Java IDL : API de communication entre objets Java et objets non-Java, via le protocole CORBA
A+
Ca dépend de ce que tu veux faire. Si tu veux écrire une application web les outils de JAVA ne sont pas suffisant il tu auras besoin de certaines API J2EE. Par contre si tu veux écrire une calculatrice en mode desktop les outils de JAVA (swing par exemple) seront suffisant.
C'est très simple...
JAVA : tout le temps (puisque c'est le language)
JEE : en fonction de ce que tu développes...
Si par exemple, tu développes un client lourd (avec SWING par exemple) et que tu veux accéder à des données de base de données, tu utiliseras JDBC (sous forme d'un jar inclut dans ton application ou référencé).
Si tu veux développer une application web, tu utiliseras SERVLET (directement ou indirectement), éventuellement EJB, JNDI, JTA, ...
Ensuite, il y a les frameworks, ce ne sont pas des spécifications JEE mais c'est très proche (un jour peut-être, certains seront "normalisés")
On trouve (entre autres), Hibernate, wicket, tapestry, struts, ...
Bref, java (and Cie) propose un ensemble d'outils assez extraordinaire, une richesse fonctionnelle énorme, la contre partie étant qu'au début, on s'y perd peut-être... il faut apprendre à chercher avant de développer...
C'est plus clair ?
Les EJBs et autres ne sont pas restreints au développement Web. Dans une entreprise, je peux très bien avoir un client dit lourd qui se connecte à un EJB, et ce n'est pas rare, notamment dans le secteur bancaire.
Il faudrait vraiment que cette vision des EJB comme étant une exclusivité du Web se dissipe...
Partager