2011-12-04 17 views
7

Estoy buscando alternativas para que mi equipo cree servicios REST simples que respondan en formato JSON a varios clientes. En la medida en que estos servicios se desarrollan en Spring MVC con Hibernate. Es obligatorio conectarse y trabajar con bases de datos heredadas (SQLServer, DB2 y MySQL, depende del proyecto). Ahora estoy buscando alternativas para llevar el desarrollo del servicio a un enfoque más ligero. No me malinterpreten: Spring hace un buen trabajo pero, lamentablemente, no todos en nuestro equipo están familiarizados con Spring incluso con Hibernate. Añadir a esto: en la mayoría de los casos, ni siquiera se necesita la pila Spring completa. También ayudaría a deshacerse de la JVM.Servicios web alternativos a Java/Spring

Estaba pensando en una solución tipo script. Tal vez PHP? ¿Hay algo así como un ORM que podría funcionar en los sistemas DB heredados? Lo mismo para Ruby on Rails.

Tal vez haya algo de lo que no haya oído hablar o no haya venido. Me encantaría escucharte opiniones o experiencias con otras técnicas.

Saludos

+0

No hay frameworks PHP que puedan manejar mis requisitos? – onigunn

Respuesta

1

No estoy seguro si usted estaría dispuesto a ir en esta dirección, pero recientemente he escrito un servicio web en ASP.NET MVC 3. Se puede obligar a la JSON pasó directamente a oponerse modelos sin tener que escribir ningún código extra También puede configurar las URL para que coincidan con el estándar REST. Si está trabajando con algo como SQL Server, este enfoque probablemente sea bastante sencillo.

+0

Gracias por su respuesta Mike, pero no creo que ASP.NET Framework sea más ligero que nuestras soluciones Java hasta el momento. – onigunn

0

Recomendaría Rails o Sinatra (que se podría ejecutar en la parte superior de Java con JRuby). Ambos pueden aprovechar ActiveRecord y otras bibliotecas de conexiones Ruby ORM y DB; Debería poder hacer que estas bibliotecas hablen con sus bases de datos heredadas sin demasiados problemas.

+0

¿Podría darnos un ejemplo de Marnen? ¿Una publicación de blog o algo de esta manera? – onigunn

+0

¿Qué desea un ejemplo de, específicamente? –

2

JAX-RS es una manera liviana y realmente agradable de descansar en la JVM. Hay complementos que convierten los objetos anotados de JAXB en JSON, o simplemente puede rodarlos usted mismo de muchas maneras.

EclipseLink es una buena implementación de la especificación JPA. Es una forma bastante fácil de asignar sus objetos a la base de datos a través de anotaciones. JAX-RS funciona con esto de manera predeterminada, p. puedes buscar un objeto con JPA. A continuación, puede anotarlo con JAXB y luego devolverlo directamente desde su método de servicio web (si desea XML) y simplemente funcionará. También hay un complemento para Jersey (la implementación de referencia JAX-RS) que le permite serializar cosas como JSON de esta manera también.

Estas JAX-RS, JPA y JAXB son tres API realmente agradables. No hacen todo, pero son livianos y te ayudan a hacer un trabajo real sin mucho alboroto.

+0

+1 - EclipseLink también proporciona una implementación de la especificación JAXB llamada MOXy. Aquí hay un enlace a un ejemplo que tengo de crear el tipo de servicio RESTful descrito por Bill usando EclipseLink como el proveedor JPA y JAXB: http://blog.bdoughan.com/2010/08/creating-restful-web-service- part-15.html –

+0

Gracias Blaise. Lo comprobaré. – Bill

+0

Voy a investigar esto con seguridad. Parece ser un enfoque limpio sin una gran pila detrás de él. – onigunn