2010-07-27 23 views
1

écouteur de longue durée, premier appelant ici.Java EE 6 avec GlassFish v3 et MyEclipse 8.5: la meilleure façon de structurer des projets?

Nous sommes sur le point de passer de BEA WebLogic 10 à GlassFish v3. Nous avons déplacé avec succès un projet massif sur GlassFish, et tout fonctionne, mais maintenant nous prévoyons le futur. En particulier, nous utilisons MyEclipse 8.5 avec un seul projet d'application d'entreprise (DCMHub) qui produit un fichier EAR et un seul projet d'application Web (DCMWeb) qui va dans le fichier EAR. Cependant, DCMWeb est en fait un tas d'applications connexes toutes regroupées dans un énorme gâchis gluant de jsps, fichiers de classe et bocaux. Ce que nous aimerions faire est de les diviser en unités logiques. Par exemple, au lieu de n'avoir qu'une seule application Web (DCMWeb), nous voudrions en avoir plusieurs, disons DCMWeb_A, DCMWeb_B et DCMWeb_C, ainsi que certains services Web (DCMWebService_A, DCMWebService_B), etc. (Évidemment, nous n'utiliserons pas ces noms particuliers, je les appelle simplement pour faciliter la pose de la question.)

Maintenant, voici le petit problème. Toutes ces applications Web et services Web partageront certaines fonctionnalités communes. Par exemple, nous voulons une connexion unique, de sorte que le concept d'utilisateur, d'authentification et d'autorisations doit être le même. De même, nous souhaitons partager certaines classes, telles que le département dans lequel un utilisateur se trouve ou dans quel bureau il travaille, etc.

S'il ne s'agissait que d'une simple application Java, je pourrais créer un tas de bocaux pour le présentation, par exemple, DCMWeb_A, DCMWeb_B, DCMWeb_C, DCMWebService_A, DCMWebService_B, et quelques pots supplémentaires pour les classes partagées et la logique métier, par exemple, CommonClasses.jar, UserAndDeskLogic.jar, etc.

Mais cette n'est pas une ancienne application Java simple. C'est une application d'entreprise, et je voudrais structurer ceci pour que a) il nous soit facile de faire la transition du projet moche au beau projet en étapes simples sans casser quelque chose d'important en cours de route, et b) quelque chose qui finit par aboutir Nous sommes entièrement conformes à la "bonne" façon de faire les choses en Java EE 6 afin que nous puissions tirer parti de tous les derniers gadgets de Java, GlassFish et MyEclipse dès qu'ils sont disponibles.

En ce moment, voici la structure approximative de ce que nous avons à MyEclpse 8.5:

DCMHub (Enterprise Application)
      META-INF
            application.xml
            MANIFEST.MF

DCMWeb (Application Web)
      src (tous les fichiers source java)
      WebContent
      css (tous nos fichiers de style)
      images (toutes nos. jpgs, .gifs, etc.)
      comprennent (tous nos fragments jsp)
      javascript (tous sur les fichiers .js)
      META-INF
            MANIFEST.MF
      sécurisé (tous les jsps nécessitant une authentification pour voir)
      WEB-INF
            Cours
            lib
            tlds
            applicationCo ntext.xml
            dcmweb-servlet.xml
            faces-config.xml
            log4j.properties
            log4j. xml
            oscache.properties
            soleil jaxws.xml
            sun-web.xml
            web.xml
      XMLHTTP
      login.jsp (notre page de connexion utilisateur non authentifié)

Maintenant, de toute évidence, l'une des choses que nous envisageons d'utiliser pour encapsuler une partie de la logique métier est l'utilisation des EJB 3 de. Mais comment puis-je les présenter? Mes tentatives précédentes ont toutes échoué. Soit je ne peux pas obtenir MyEclipse pour les déployer dans le cadre de l'EAR, ou plus souvent, je ne peux pas obtenir le projet d'application Web pour "voir" les classes dans le projet EJB. (Bien que je puisse Goto-Définition sur eux, assez curieusement, mais MyEclipse marque toujours comme une erreur.Donc, désolé pour la question vraiment longue, mais ce est le meilleur moyen d'organiser cette application afin que nous puissions aller de l'avant, mais pas casser ce que nous travaillons actuellement comme nous le faisons?

Merci beaucoup!

Jeff G 

P.S. J'ai pu charger mon EJB et mon projet MyEclipse pour le référencer, afin que cette partie soit résolue. Mais je suis toujours après la grande question: à savoir, quelle est la meilleure façon d'aller de l'avant?

Répondre

0

Java EE Eclipse simple peut faire des projets utilitaires dans les oreilles avec des fonctionnalités communes. Est-ce que MyEclipse a un concept similaire?