Pregunta

Soy un novato en el desarrollo de aplicaciones web Java. Hasta ahora, todo lo que he usado son servlets antiguos, jdbc y jsps. Empecé a leer sobre todos los marcos y estoy totalmente confundido y perdido en el enjambre de marcos. Así que aquí hay algunas preguntas que tengo:

  1. ¿Las tecnologías EJB3 e Hibernate compiten entre sí o pueden usarse juntas?
  2. Si uso JBoss Seam, ¿todavía necesito usar Hibernate para mis necesidades de ORM o Seam + EJB3 se encarga de eso?
  3. ¿Cuáles son los marcos típicos que necesitaré aprender si tengo que desarrollar una aplicación web usando JBoss Seam? ¿Es alguno o todos los siguientes? Costura (por supuesto) JSF EJB3 Hibernar Resorte de inversión del contenedor de control
  4. ¿Puedo usar JBoss Seam para desarrollar una aplicación en JBoss Portal?

gracias Vikas

¿Fue útil?

Solución

1. ¿Compiten las tecnologías EJB3 e Hibernate o pueden usarse juntas?

Tienen API que compiten (JPA es diferente de la API de Hibernate) pero Hibernate se puede conectar por debajo de JPA, simplemente no esperes interoperabilidad con las cosas codificadas para Hibernate, especialmente jBPM (3.2) no interoperar completamente incluso bajo Seam (2.1 .1).

2. Si usé JBoss Seam, ¿todavía necesito usar Hibernate para mis necesidades de ORM o Seam + EJB3 se encarga de eso?

A medida que lo entiendo, puedes hacer lo mismo.

3. ¿Cuáles son los marcos típicos que necesitaré aprender si tengo que desarrollar una aplicación web usando JBoss Seam? ¿Es alguno o todos los siguientes ?: Seamos (por supuesto) JSF EJB3 Hibernate Spring Inversión del contenedor de control

JSF: esencial para que Seam tenga un sentido real: recomiendo centrarse en facetas como forma principal de crear páginas JSF. La sintaxis es agradable y familiar: el XHTML liso del antiguo espacio de nombres con componentes del lado del servidor se encuentra en espacios de nombres separados. Absolutamente trivial y limpio, a diferencia de casi todo lo demás que he probado.

EJB3: si te gusta o no, depende de ti. Ir de esta manera te arrastra a Java EE, que todavía me asusta un poco, aunque tiene muchos beneficios.

Hibernar - si quieres, depende de ti. Los administradores de entidades JPA ofrecen la alternativa.

Spring IoC, er ... sí, claro que si te gusta, otra vez depende de ti. Seam se encarga de los frijoles de la sesión con estado y de la conversación (generalmente parte de su nivel de lógica de presentación) y Spring es mejor para el contexto sin estado, como interfaces para servicios de back-end, como bases de datos y cualquier cliente SOA.

Creo que Seam + JSF (facelets) + Hibernate + Spring es una buena combinación para crear interfaces de usuario a través de jBPM y también en otro proyecto para entregar páginas de contenido, aunque eso no es realmente para lo que es Seam.

  1. ¿Puedo usar JBoss Seam para desarrollar una aplicación en JBoss Portal?

Lo siento, no puedo ayudarte allí.

Otros consejos

  1. Sí y no. EJB3 (o, más bien, JPA) es una especificación para declarar asignaciones OR a través de anotaciones Java5, y para interfaces para consultarlas. Todavía necesitas una implementación. Hibernate Annotations sería una implementación de la asignación, y Hibernate EntityManager es una implementación de las interfaces de consulta: usan la " main " Hibernate para hacer su trabajo. Debería poder mezclarlos y combinarlos; es posible usar las anotaciones JPA y las API de Hibernate como HQL y Criteria.
  2. Depende, principalmente del servidor de aplicaciones. Un servidor de aplicaciones con todas las funciones podría ocuparse de las cosas de JPA por usted y configuraría las cosas a través de web.xml y la consola del servidor de aplicaciones. Por supuesto, eso excluye mezclar y combinar. Sin embargo, aún puede rodar el suyo independientemente del servidor de aplicaciones, accediendo a la API de consulta programáticamente / usando Spring / lo que sea.
  3. JSF es un requisito previo para usar Seam. En cuanto a EJB3 / JPA versus Hibernate - cuestión de preferencia. Realmente no necesita saber mucho / ningún Hibernate para usarlo como una implementación JPA. JPA se basa en gran medida en las API de Hibernate, por lo que es probable que la diferencia sea bastante pequeña en ambos sentidos. La primavera no es estrictamente necesaria, JBoss está haciendo todo lo posible para obtener parte de su cuota de mercado con Web Beans. Algunas características de Seam se superponen con algunas características de Spring. Sin embargo, Spring es altamente modular y cubre mucho, por lo que deberías poder seleccionar las características de Spring que desees.
  4. No sabría.

JBoss Seam es un meta-marco que combina los marcos EJB3 y JSF, y los envuelve con una forma de inyección de dependencia. Como tecnología J2EE, normalmente la implementa dentro de un servidor de aplicaciones; aquí es donde entra en juego JBoss Portal.

JBoss Portal es una oferta comercial de la organización JBoss. Reúne varios componentes J2EE en forma de "módulos", estos componentes incluirán EJB3, JSF y Servidor de aplicaciones JBoss .

Consulte este enlace , y desplácese hasta la parte inferior para averiguar dónde encajan Seam y Portal. El sitio del Portal describe los módulos que proporciona (asumo que hay un modelo de precios adjunto), el soporte de Seam lo proporciona Módulo de portlet .

  1. EJB3 e Hibernate son tecnologías complementarias. EJB3 define JPA (API) y Hibernate puede usarse como proveedor de persistencia para JPA.

  2. Aún debe utilizar uno de los proveedores de persistencia que podrían ser Hibernate, OpenJPA, etc.

  3. JSF y EJB3.

  4. Con respecto al desarrollo de Seam y Portal: lo mejor sería preguntar si JSF y Portal funcionan bien juntos.

Por supuesto que funcionan juntos. Aquí hay un tutorial relevante: Desarrollar portlets utilizando JSF, Ajax y Seam

Con respecto a la pregunta # 4.

JBoss Seam puede usarse dentro de JBoss Portal si se usa un puente.

Actualmente hay un proyecto de JBoss Portlet Bridge que se encuentra en la etapa de CR y se aproxima a la versión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top