Comment différents frameworks Java pour la conception d'applications web se lient-ils?

StackOverflow https://stackoverflow.com/questions/801977

  •  03-07-2019
  •  | 
  •  

Question

Je suis un débutant dans le développement d'applications Web Java. Jusqu'ici tout ce que j'ai utilisé est de vieux servlets, jdbc et jsps. J'ai commencé à lire sur tous les cadres et je suis totalement confus et perdu dans l'essaim de cadres? Alors, voici quelques questions que j'ai:

  1. Les technologies concurrentes EJB3 et Hibernate peuvent-elles être utilisées ensemble?
  2. Si j'ai utilisé JBoss Seam, dois-je quand même utiliser Hibernate pour mes besoins en ORM ou Seam + EJB3 s'en charge?
  3. Quels sont les cadres typiques à apprendre si je dois développer une application Web à l'aide de JBoss Seam? Est-ce une partie ou la totalité des éléments suivants: Couture (bien sûr) JSF EJB3 Hiberner Inversion de printemps du conteneur de contrôle
  4. Puis-je utiliser JBoss Seam pour développer une application sur JBoss Portal?

merci Vikas

Était-ce utile?

La solution

1. Les technologies concurrentes EJB3 et Hibernate ou peuvent-elles être utilisées ensemble?

Ils ont des API concurrentes (JPA est différent de l'API d'Hibernate), mais Hibernate peut être branché sous JPA. Ne vous attendez pas à une interopérabilité avec les éléments codés pour Hibernate. .1).

2. Si j'ai utilisé JBoss Seam, dois-je quand même utiliser Hibernate pour mes besoins en ORM ou Seam + EJB3 s’occupe de cela?

Comme je le comprends, vous pouvez le faire.

3. Quels sont les cadres typiques que je devrai apprendre si je dois développer une application Web à l'aide de JBoss Seam? Est-ce une ou plusieurs des choses suivantes: Inversion du conteneur de contrôle JSF EJB3 Hibernate Spring

JSF - essentiel pour que Seam prenne tout son sens - je recommande de privilégier les facelets comme moyen principal de créer des pages JSF. La syntaxe est simple et familière - XHTML qualifié d'ancien espace de noms, avec des composants côté serveur situés dans des espaces de noms distincts. Totalement trivial et propre, contrairement à à peu près tout ce que j'ai essayé.

EJB3 - si vous le souhaitez ou non. Ce chemin vous entraîne dans Java EE, qui me fait encore un peu peur, même si elle présente de nombreux avantages.

Hibernate - si vous voulez, à vous de choisir. Les gestionnaires d’entités JPA fournissent l’alternative.

Printemps IoC, euh ... oui, bien sûr, si vous aimez, c'est à vous de décider. Seam s'occupe des beans de la session et de la conversation avec état (généralement du niveau logique de votre présentation) et Spring convient mieux au contexte sans état, tel que les interfaces avec les services principaux tels que les bases de données et tous les clients SOA.

J’ai trouvé que Seam + JSF (facelets) + Hibernate + Spring constituait une excellente combinaison pour la création d’UI sur jBPM et également pour un autre projet de fourniture de pages de contenu, bien que ce ne soit pas vraiment le but de Seam.

  1. Puis-je utiliser JBoss Seam pour développer une application sur JBoss Portal?

Désolé, je ne peux pas vous aider.

Autres conseils

  1. Oui et non. EJB3 (ou plutôt JPA) est une spécification permettant de déclarer des mappages OU via des annotations Java5 et permettant aux interfaces de les interroger. Vous avez encore besoin d'une implémentation. Hibernate Annotations serait une implémentation du mappage, et Hibernate EntityManager est une implémentation des interfaces de requête - ils utilisent le paramètre "principal". Hibernate pour faire leur travail. Vous devriez pouvoir combiner ces éléments. Il est possible d’utiliser des annotations JPA et d’utiliser les API d’Hibernate telles que HQL et Criteria.
  2. Dépend principalement du serveur d'applications. Un serveur d'applications complet peut gérer les tâches JPA pour vous et vous pouvez le configurer via le fichier web.xml et la console du serveur d'applications. Bien sûr, cela exclut le mix-and-match. Vous pouvez toujours lancer le vôtre, quel que soit le serveur d'applications, en accédant à l'API de requête par programme / à l'aide de Spring / what.
  3. JSF est une condition préalable à l’utilisation de Seam. En ce qui concerne EJB3 / JPA contre Hibernate - question de préférence. Vous n'avez pas vraiment besoin de savoir beaucoup / n'importe quel Hibernate pour l'utiliser comme une implémentation JPA. JPA étant fortement basé sur les API d'Hibernate, la différence sera probablement minime dans les deux cas. Le printemps n’est pas strictement nécessaire, JBoss s’efforce d’obtenir une part de marché avec Web Beans. Certaines fonctionnalités de Seam se chevauchent avec certaines fonctionnalités de Spring. Cependant, Spring est très modulaire et couvre beaucoup de choses. Vous devriez donc pouvoir sélectionner les fonctionnalités de Spring que vous souhaitez.
  4. Je ne saurais pas.

JBoss Seam est un méta-framework qui combine les frameworks EJB3 et JSF, et les encapsule avec une forme d’injection de dépendance. En tant que technologie J2EE, vous le déployez généralement à l’intérieur d’un serveur d’applications - c’est là que JBoss Portal entre en jeu.

JBoss Portal est une offre commerciale de l’organisation JBoss. Il regroupe divers composants J2EE sous la forme de "modules". Ces composants incluront EJB3, JSF et JBoss Application Server .

Découvrez ce lien et faites défiler vers le bas pour savoir où Seam et Portal s’assemblent. Le site Portal décrit les modules fournis (j'imagine qu'un modèle de tarification y est associé). Le support Seam est fourni par Module de portlet .

  1. EJB3 et Hibernate sont des technologies complémentaires. EJB3 définit JPA (API) et Hibernate peut être utilisé comme fournisseur de persistance pour JPA.

  2. Vous devez toujours utiliser l'un des fournisseurs de persistance (Hibernate, OpenJPA, etc.).

  3. JSF et EJB3.

  4. En ce qui concerne le développement de Seam et de Portal: la meilleure question serait de savoir comment JSF et Portal fonctionnent ensemble?

Ils travaillent bien sûr ensemble - voici un tutoriel pertinent: Développement de portlets à l'aide de JSF, Ajax et Seam

En ce qui concerne la question 4.

JBoss Seam peut être utilisé dans JBoss Portal si un pont est utilisé.

Il existe actuellement un projet JBoss Portlet Bridge qui est au stade CR et dont la publication est imminente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top