[J2EE] Débuter en J2EE avec ce que fournit Sun

Débuter en J2EE avec ce que fournit Sun [J2EE] - Java - Programmation

Marsh Posté le 21-05-2006 à 04:49:36    

Je suis un peu perdu, j'essaye de me lancer dans le développement en J2EE (je connais très bien le langage Java). J'ai téléchargé le SDK de Sun comme j'avais fait avec J2SE, j'installe tout ça tranquillement.
Il se trouve qu'un de mes profs d'informatique nous a montré rapidement le source d'un Servlet HelloWorld pour afficher la célèbre expression dans une page web. Très bien, je me dis que je vais essayer de mettre ça en place (le prof n'avait montré que le code source et pas la mise en place sur le serveur ...).
 
C'est là que je suis perdu, la notion de serveur d'application se profile au cours de mes recherches sur Internet, j'avais bien sur entendu parlé de Tomcat dévéloppé par Apache permettant de faire serveur d'application, j'entend parlé aussi de JBoss, etc
 
Là où est mon problème : Dans le SDK du J2EE de Sun, ils fournissent "Sun Java System Application Server Platform", est-ce que ça vaut le coup de le remplacer puisque pour l'instant c'est seulement pour avoir des connaissances de base en J2EE, tester une paire de concept ...
 
J'ai donc fait un copier/coller du HelloWorld.java :

Code :
  1. import java.io.*;
  2. import javax.servlet.*;
  3. import javax.servlet.http.*;
  4. public class HelloWorld extends HttpServlet {
  5. public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
  6.  res.setContentType("text/html" );
  7.  PrintWriter out = res.getWriter();
  8.  out.println("<HTML>" );
  9.  out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>" );
  10.  out.println("<BODY>" );
  11.  out.println("<BIG>Hello World</BIG>" );
  12.  out.println("</BODY></HTML>" );
  13. }
  14. }


J'ai compilé le fichier : javac -classpath /opt/SUNWappserver/lib/j2ee.jar HelloWorld.java
Je l'ai copier avec un peu de conviction dans le dossier : /opt/SUNWappserver/domains/domain1/docroot/HelloWorld.class
Je teste avec mon navigateur : http://localhost:8080/HelloWorld
 

type Rapport d'?tat
message /HelloWorld
description La ressource demand?e (/HelloWorld) n'est pas disponible.


 
J'essaye : http://localhost:8080/HelloWorld.class, il me propose un fichier à télécharger ...
 
J'ai vu qu'il y avait une histoire de deployement d'application avec J2EE, suis-je obligé à chaque fois de déployer mon application à chaque compile ?!?


Message édité par Olivier51 le 22-05-2006 à 13:29:33
Reply

Marsh Posté le 21-05-2006 à 04:49:36   

Reply

Marsh Posté le 21-05-2006 à 14:44:46    

Up du dimanche ...

Reply

Marsh Posté le 22-05-2006 à 13:30:00    

Up du Lundi

Reply

Marsh Posté le 22-05-2006 à 13:55:02    

Citation :

Je l'ai copier avec un peu de conviction dans le dossier ...


 
Je ne connais pas grand chose à "Sun Java System Application Server Platform" mais apparemment ce n'est pas comme ça qu'on installe une webapp
 
Cf. la doc
 
et plus particulièrement les chapitre 3  

Citation :

When a request is received by the web container it must determine which web component should handle the request. It does so by mapping the URL path contained in the request to a web application and a web component. A URL path contains the context root and an alias:


 
et le chapitre 11 (pour la servlet d'exemple)

Reply

Marsh Posté le 22-05-2006 à 14:59:25    

Dans le professionnel, on ne travaille pas avec le kit de Sun. Aujourd'hui, la mode c'est : Tomcat (conteneur de servlet) + hibernate (couche DAO) + struts (couche logique application et vue) + mySQL (couche stockage). Avec ça tu peux déjà faire de bon site en java J2EE.

Reply

Marsh Posté le 22-05-2006 à 17:52:12    

Giz a écrit :

Dans le professionnel, on ne travaille pas avec le kit de Sun. Aujourd'hui, la mode c'est : Tomcat (conteneur de servlet) + hibernate (couche DAO) + struts (couche logique application et vue) + mySQL (couche stockage). Avec ça tu peux déjà faire de bon site en java J2EE.


Avec çà tu peux déjà faire une bonne usine à gaz qui te permettra de facturer pleins d'interventions et de corrections à ton client pigeon  :D  :o

Reply

Marsh Posté le 22-05-2006 à 18:49:16    


 
Faut pas confondre : c'est pas Tomcat qui va faire que le site est bien ou "usinàgazeux", c'est le développeur !

Reply

Marsh Posté le 22-05-2006 à 19:55:43    

Maintenant que je commence à voir plus clair sur l'architecture J2EE. Les EJBs sont placés sur Hibernate ? Tomcat peut-il faire containeur d'EJB ?

Reply

Marsh Posté le 22-05-2006 à 20:45:35    

Bidem a écrit :

Faut pas confondre : c'est pas Tomcat qui va faire que le site est bien ou "usinàgazeux", c'est le développeur !

 


En partie, mais utiliser 5 produits différents pour un seul projet, justement ca n'aide pas les developpeurs à les maitriser  [:spamafote]

 

J'ai toujours été déçu par ce coté "bordel ambiant" des developpement java et J2EE plus particulièrement, ca ressemble trop souvent à du bricolage avec 50 modules bétas et version diverses et variées... [:mouais]

Reply

Marsh Posté le 23-05-2006 à 09:25:43    

Citation :

Tomcat peut-il faire containeur d'EJB ?


 
nope
 

Citation :

J'ai toujours été déçu par ce coté "bordel ambiant" des developpement java et J2EE plus particulièrement, ca ressemble trop souvent à du bricolage avec 50 modules bétas et version diverses et variées... [:mouais]


 
C'est pas faux. Des fois j'ai l'impression que faire une appli java (J2EE ou non) c'est plus du Lego que de la programmation. On ne fait qu'assembler des briques ;)

Reply

Marsh Posté le 23-05-2006 à 09:25:43   

Reply

Marsh Posté le 23-05-2006 à 09:49:58    

Ceci dit, la force d'un dev J2EE c'est sa couche métier. On parle d'ailleurs d'applications web, plus de site web. Avec java J2EE on dispose d'un véritable langage pour faire une appli côté serveur. Avec PHP, on dispose d'un langage AD-HOC optimisé pour faire des sites WEB uniquement. Avec J2EE on peut faire une appli distribuée avec RMI, utilisé des annuaires avec JNDI, programmer selon une architecture N-Tiers (diviser l'application en plusieurs partie afin de "diviser pour régner" ). Maintenant si c'est plus pour développer un site vitrine avec une faible couche métier, PHP fait très bien l'affaire. Faut savoir évaluer ses besoins et utiliser les outils adaptés. D'autre part, avec PHP tu as une étiquette de webmaster dans ton dos. Avec J2EE ce n'est pas le cas (chose que je recherche) et est plus adapté à un travail d'ingénierie.

Message cité 1 fois
Message édité par Giz le 23-05-2006 à 09:52:00
Reply

Marsh Posté le 23-05-2006 à 12:01:14    

Giz a écrit :

Ceci dit, la force d'un dev J2EE c'est sa couche métier. On parle d'ailleurs d'applications web, plus de site web. Avec java J2EE on dispose d'un véritable langage pour faire une appli côté serveur. Avec PHP, on dispose d'un langage AD-HOC optimisé pour faire des sites WEB uniquement. Avec J2EE on peut faire une appli distribuée avec RMI, utilisé des annuaires avec JNDI, programmer selon une architecture N-Tiers (diviser l'application en plusieurs partie afin de "diviser pour régner" ). Maintenant si c'est plus pour développer un site vitrine avec une faible couche métier, PHP fait très bien l'affaire. Faut savoir évaluer ses besoins et utiliser les outils adaptés. D'autre part, avec PHP tu as une étiquette de webmaster dans ton dos. Avec J2EE ce n'est pas le cas (chose que je recherche) et est plus adapté à un travail d'ingénierie.

 


Ca par contre c'est assez vrai, ayant bossé 3 ans en web agency j'essaye de me détacher justement de cette étiquette, alors que j'y étais en tant que developpeur  [:spamafote]

 

Du coup je me réoriente comme toi plutot sur d'autres languages, mais pour les raisons suscités ("bordel ambiant", etc...) j'aurais plutot tendance à me diriger vers du .net, mais après ca reste une question de choix personnels, et c'est vrai que pour le moment la demande à l'air plus forte pour du java/j2ee que du .net ...

Reply

Marsh Posté le 24-05-2006 à 17:38:27    

Pour revenir sur le topic initial, d'après mes connaissances :

 

Un serveur d'application J2EE complet doit contenir un conteneur de composants Web et un conteneur EJB.

 

Tomcat ne possède que le conteneur de composants Web.
JBoss est par contre un serveur d'application J2EE complet.

 

Mais les EJB sont finalement assez peu employés (ils sont surtout là pour répondre à des problématiques complexes et précises avec un fort aspect transactionnel). De plus, leurs spécifications sont en train de changer assez radicalement avec JEE5.

 

Pour l'apprentissage des composants Web,Tomcat semble assez idéal. Mais il faut que tu lises les bases de l'administration (arrêt/relance, etc..) et l'installation d'une Webapps. Il y a toute une arborescence et une configuration (à base de fichiers XML) à respecter. Ceci aussi risque de pas mal changer aussi avec JEE5.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed