WebServices en alta disponibilidad

Hola!
No se si era aqui que debia postear este post pero bueno ahi va.
Estoy desarrollando un proyecto web bastante grande hasta ahora todo va bien, estoy usando PostgreSQL+Grails+Vaadin y todo va perfecto pero ahora necesito desarrollar la aplicacion movil para ser accesada desde dispositivos moviles. Esta aplicacion estoy esperando que sea usada por mas de 1000 usuarios haciendo peticiones a mis webservices, no quiero usar al mismo grails para crear estos webservices porque , segun he leido, no es bueno usar un framework MVC para el desarrollo de los WS, asi que ahora estoy en el dilema de que usar para desarrollar estos WS y que esten con alta disponibilidad.

Me gustaria desarrollar sobre Groovy para seguir en la misma linea de desarrollo pero no se si existe algun framework para desarrollar WS sobre Groovy. Vi aqui un post de algo llamado "RatPack" pero no lo conozco y no se si pueda con tantos peticiones.

Alguien aca puede darme un punto de referencia para el desarrollo de estos WS. o el uso de algun framework para esto, estos servicios serian REst?

Gracias

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Spring + Apache CXF

No programo en Groovy , pero actualmente tengo un WS de Facturacion Electronica usando Java con Spring + Apache CXF y te lo puedo recomendar altamente, de facil configuracion y buen rendimiento. Sobre la alta disponibilidad pues ese es tema de fierros, tendrias que tener replicada la aplicacion en varios servidores configurado en cluster por si alguno falla.

Imagen de ezamudio

Spring

Primero, por favor tómate cinco minutos para leer cómo NO hacer un web service. Esos son tips generales para la implementación de una cosa de esas.

Y luego si quieres ver cómo implementar un web service bien facilito sin tener que poner siquiera un méndigo contenedor, usando Groovy y Spring, lees esto otro.

Mencionas alta disponibilidad; si de verdad requieres eso entonces mejor haz tu web service con axis2 (de todas formas puedes usar Groovy y Spring), para que lo pongas en un contenedor que configures como cluster, o al menos hagas balanceo de cargas desde apache o algo así.

Pero luego mencionas 1000 usuarios... entiendo que el servicio debe estar disponible siempre y bla, pero pues son pocos usuarios (digo, no sé qué van a hacer, a lo mejor le pegan al web service mil veces diarias). Pero bueno si no puedes o no quieres hacer algo tan sofisticado, con Spring levantas un web service en modo stand-alone, sin contenedor, y pues podrías tal vez de todas maneras echar a andar varias instancias y balancear cargas con apache. Nomás tienes que programarle un heartbeat (un programa externo que revisa que el web service está corriendo, por si se cae así lo detecta y lo vuelve a levantar). Y por ser un programita standalone va a levantar muy rápido.

Imagen de macaruchi

Bueno, pues a ver Axis2

Bueno, pues a ver Axis2 entonces. Gracias !!