Estoy a punto de comenzar a desarrollar un sistema a gran escala y estoy luchando con qué dirección proceder. He hecho bastantes aplicaciones web Java antes y tengo mucha experiencia con contenedores servlet y GWT y algo de experiencia con Spring. El problema es que la mayoría de mis aplicaciones han sido creadas solo para ser una prueba de concepto y con lo que estoy luchando es qué conjunto de marcos usar. Necesito tener tanto una aplicación basada en navegador como un servicio web diseñado para admitir el acceso desde dispositivos móviles (Android e iPhone por ahora). Idealmente, me gustaría diseñar este sistema de tal manera que no termine reescribiendo todos mis servlets para cada cliente (navegador y teléfono) aunque no me importa tener algunos pequeños controles allí para formatear correctamente el datos.Sugerencias para diseñar aplicaciones de Java a gran escala desde cero
Además, aunque ahora soy el único desarrollador, ese no será necesariamente el caso en el futuro y me gustaría diseñar algo que se adapte bien tanto con respecto al tráfico como a la cantidad de desarrolladores (isn ' solo una pesadilla para mantener).
Entonces, donde estoy ahora planea usar GWT para diseñar la interfaz basada en navegador, pero estoy luchando con la forma de reutilizar ese código para presentar la interfaz (muy probablemente xml) para los dispositivos móviles. Creo que con GWT RPC sería relativamente fácil hacer todo el AJAX en el navegador, pero podría dificultar la generación de XML para los teléfonos móviles. Además, me gusta la idea de usar algo como Hibernate para la persistencia y Spring Security para asegurar todo. Una vez más, no estoy seguro de qué tan bien cooperarán con GWT (creo que Hibernate debería estar bien ...)
Obviamente, hay mucho más que he presentado aquí, pero he tratado de dar usted el resumen de 5 minutos. Estoy un poco perplejo y me preguntaba si alguien de la comunidad tenía alguna experiencia empezando en este lugar. ¿Tiene sentido lo que intento hacer? ¿Es realista? No tengo dudas de que puedo hacer que todos estos marcos de trabajo hablen el mismo idioma, solo me pregunto si vale la pena el tiempo para luchar con ellos. Además, ¿me falta un marco que sería realmente beneficioso?
Gracias de antemano y lo siento por la relativamente amplia cuestión ...
Chris
No cierre esto, es una pregunta válida sobre qué puntos considerar antes de comenzar a diseñar un proyecto grande. –