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.
Tu leurs donne le noms que tu veux, bibliothèque, API, outils, spécification,...
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...
Tu as plein de tutoriels qui parles d'hibernates des EJB, de JBBC et j'en passe dans la section java de ce site. C'est sur que tu ne trouvera pas un tutoriel "Apprendre le J2EE" c'est beaucoup trop vaste.
Sinon pour les livres il y a un topic sur les critiques de livres ici tu y trouvera peut être ton bonheur.
Je ne connais pas de livre traitant de JEE (d'ailleurs, il serait tellement lourd et volumineux qu'il faudrait le livrer par camion)
As-tu essayé ceci ?
Si bien sur mais il y a tellement de chose que l'on peut faire que les API et concepts sont très nombreux. Si on voulais refaire la même choses sans les API de bases ce serait des milliers de lignes à chaque fois.
Mais vous-même !
En fait, vous ne l'avez pas prétendu mais, si l'on lit votre message, Swing utilisera JDBC pour se connecter à une base de données, excluant de facto l'EJB, JNDI et d'autres technologies JavaEE.
Vous précisez en outre plus bas que dans le cas des applications web, on utilisera EJB, JNDI, JTA (et d'autres).
Le choix des mots était sans doute malheureux et ne reflétait sans doute pas votre véritable pensée, mais écrit comme cela, l'idée des frameworks JavaEE réservés au web ne peut que persister.
On va dire que mes propos ont été interprétés, ce qui arrive souvent il faut bien le reconnaître dans cette jungle de termes et concepts...
Mais bon, ce n'est pas bien grave, je donnais des exemples d'utilisations, en aucun cas des limites...
La vrai problématique serait plutôt :
- de quoi j'ai besoin
- quelles sont les possibilités offertes par jee
- quelles sont les contraintes de ces différentes solutions
- y a-t-il de fortes contraintes de sécurité
- etc...
et ensuite, on se tourne vers telle ou telle solution et/ou framework.
On est d'accord ?
A+
Partager