2010-04-19 20 views
5

Spring mvc es un marco que lleva mucho tiempo en el mercado, es una tecnología bien documentada y probada. Muchos sitios web usan la primavera.spring mvc vs seam

Seam es un marco basado en jsf: implementación de caras enriquecidas. Tiene muchos componentes basados ​​en ajax. Utiliza algunas cosas pesadas como EJB, JPA. Todo esto es propenso a errores y este marco es tan lento (en mi computadora es casi imposible desarrollar algo porque es muy lento, especialmente volver a implementar en jboss) Pero es muy bueno para aplicaciones administrativas.

¿Alguien tiene una experiencia profesional con estos dos marcos? ¿Puedes recomendar el mejor? ¿Por qué?

Saludos

+0

Con Seam puede usar POJO en lugar de EJB. ¿Y qué es lento sobre JPA? –

+0

Todo el framework es lento, no jpa. Si prueba la página más simple con ab en comparación con otros marcos obtendrá 10 veces menos solicitudes. – darpet

+0

También para costura. He buscado muchas aplicaciones de costura productivamente. Puedo encontrar errores fácilmente – darpet

Respuesta

7

Puedo utilizar: Primavera-MVC (2.5) y la costura

Debido a la costura utiliza Java Server Faces Tecnología (una tecnología basada en el lado del servidor), detrás de las escenas, Es mejor diseñado para aplicaciones pequeñas y medianas. (Cada Árbol de vista JSF se almacena en la Sesión - Puede almacenar en el lado del cliente, pero tenga en cuenta los problemas de ancho de banda).Pero tiene algunas ventajas:

aplicación Normalmente web utiliza la siguiente ruta

view >> controller >> service >> domain 

con un cierre, puede obtener

view >> service >> domain 

O incluso (mediante el uso de patrón de mediador proporcionado por Seam Framework)

No controller, No service 

view >> domain 

Además de eso,

  • JSF 2 soporta JSR 303 - Bean Validation
  • Usted puede utilizar peatonal incorporada en lugar de JSF si quieres
  • apoyo Conversación y gestión de procesos de negocios
  • uso puede utilizar primavera DI si quieres

primavera-MVC

tiene una potente infraestructura de capa web

  • Handler Mapping (Se elige qué controlador se debe manejar la petición)
  • Ver resolver (Se elige qué vista va a hacer que la respuesta)
  • Se puede utilizar para aplicaciones a gran
  • Potente enlace de datos
  • Spring 3.0 soporta controlador basado en anotación (JSR 303 - Bean Validation, próximamente)

Pero todavía no uso Spring 3.0 porque

  • Mediante el uso (y que se extiende cuando sea necesario) MultiActionController, puedo conseguir convención sobre configuración y sin ninguna configuración XML para definir el controlador (sólo tiene que configurar su MultiActionController como @Component)
  • SimpleFormController proporciona un comportamiento similar encontrado en la primavera de controlador basado en 3,0 anotación

...

Sobre el camino de aprendizaje, creo que ambos son similares.

+2

'' Porque Seam usa la tecnología Java Server Faces (una tecnología basada en el lado del servidor), detrás de las escenas ". ¿Puedes probar este punto? Sí, Seam utiliza JSF y lo convierte en un puente, pero puede usar Seam sin tocar JSF o cualquiera de las funcionalidades JSF. Todo depende de qué filtros, servlets e interceptores habilites. Por supuesto, hay toneladas de componentes incorporados que son específicos de JSF, pero lo mismo es cierto para seguridad, primavera, RESTO, etc. –

+0

@Shervin Tienes razón cuando dijiste: Todo depende de qué filtros, servlets y interceptores que habilitas Pero note que he incluido Wicket en su lugar. –

+0

@ArthurRonaldFDGarcia - ¿Utiliza costura integrada con Spring o sola? – ziggy

1

he trabajado profesionalmente con Seam y es un marco asesino. Realmente aumenta tu productividad. Puede usar POJOs en lugar de EJBs, si cree que EJBs le están ralentizando. Acerca de la implementación, solo considere implementar en Tomcat en lugar de JBoss. En mi redistribución de la máquina en Tomcat se hace en un par de segundos. Pero todavía no he usado Spring MVC para compararlos.

+0

¿Tiene algún problema con el botón Atrás? Mi cliente realmente lo molesta. – darpet

+0

El uso del botón Atrás debe estar obsoleto en las aplicaciones web. No debe usarse para el flujo del programa. De lo contrario, Seam es uno de los pocos frameworks que te ayuda con el botón Atrás. http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/seam/Seam_Reference_Guide/Pageflow_in_Seam-Seam_and_the_back_button.html –

+0

¿Qué idea estás usando? ¿Usas jpa? – darpet

1

Hemos utilizado Seam para un sitio muy grande que utiliza POJOS y se ha comunicado con servicios web o Hibernate implementado en Tomcat. Hemos encontrado que el soporte del botón de retroceso no funciona bien o es propenso a ser específico para los patrones de implementación. Además, existe la tendencia de que las sesiones crezcan mucho si se usa el estado del lado del servidor. Los intentos de reducir el tamaño de la sesión afectan el respaldo del botón de retroceso o el uso de iframe debido a la reducción del número de estados de vista almacenados en la sesión. Más o menos, nuestro problema ha sido relacionado con el rendimiento. El tomcat requiere más memoria y admite menos usuarios en comparación con los puntales 1.2 o mvc de primavera. Estamos utilizando alrededor de 50 tomcat para apoyar nuestra base de usuarios.

0

he utilizado tanto en costura 3 y primavera 3 frameworks.While Seam 3 es más fácil de código y tiene un montón de características que apoyan la gestión de sesiones y gestión de transacciones, el rendimiento es lento .Spring es mucho más rápido.