2011-01-06 24 views
6

sólo quiero implementar un servicio en Java que:Aplicación de servicio web

  • tomar algunos argumentos, a continuación, buscar en la base de datos de

  • devolver el objeto JSON de los datos captados

Necesito ayuda para identificar las formas en que puedo implementar esto.

p. Ej. Supongamos que estoy obteniendo el nombre del libro como argumento que quiero presentar.

En la parte del servicio, tengo que buscar datos del libro y convertirlo a JSON y escribir/regresar a la respuesta.

Estaba mirando el Apache Axis2 pero no estoy seguro de estar yendo en la dirección correcta.

Por lo tanto, ayuda pls.

Necesita directrices, no implementación.

Gracias

Respuesta

7

Sugeriría utilizar servicios basados ​​en JAX-RS que serían ideales para su escenario, ya que quiere datos json. Estos son bastante fáciles de empezar. Jersey es un framework ampliamente utilizado. También vea RESTEasy.

+0

+1 para el servicio web REST. También puede echar un vistazo a Apache Wink o Spring MVC (en caso de que use Spring) – Tarlog

+0

Gracias vivek por su sugerencia. Aún no tengo ningún conocimiento de WS, pero investigaré ambos. –

+0

He estado usando Jersey para casos de uso muy similares durante los últimos 3 años con gran éxito. La guía de inicio en el sitio jerseys es muy útil. La mejor parte de jersey es que obtienes resultados XML y JSON de forma gratuita sin trabajo adicional. La única sugerencia que haría es buscar en la notación natural JSON si no va a desmaterializar los datos porque es lo más cercano al json básico posible, el problema es que json no admite espacios de nombres para poder descalificar una notación asignada se usa por defecto. – LINEMAN78

2

Si va a devolver los datos en JSON, entonces probablemente no es necesario implementar un servicio web completa, que utiliza XML tanto para la solicitud y la respuesta.

Una aplicación web dinámica normal (escrita como Servlet de Java) podrá leer los parámetros de solicitud en la carga HTTP y devolver una respuesta HTTP codificada en JSON.

Sin embargo, debe considerar a sus clientes; si solo pueden acceder a los servicios web, debe olvidarse de una respuesta JSON y simplemente objetivar la respuesta. Sin embargo, si los clientes pueden acceder a los recursos web sin problemas, entonces vaya con el enfoque de servlet.

Si necesita ir con servicios web, mire el Metro 2 framework.

0

Axis2 puede manejar/apoyar el servicio web relacionada parte, Iaw, transformación de objetos Java en JSON y viceversa y proporcionar una API fácil de usar para la parte de comunicación.

Hibernate o JPA podría ser útil para tareas relacionadas con la base de datos, aunque podría ser más fácil simplemente usar JDBC para enviar comandos SQL simples a la base de datos (especialmente si la base de datos ya existe).

2

Una forma de hacer esto es mantenerlo basado en estándares.

Si está utilizando el marco JEE5/6, la mejor opción sería ir con JAX-WS - viene incorporada con la JSE también (si no recuerdo mal)
Realmente sólo hay que anotar un POJO con @WebService lograr esto.

En cuanto a la creación de una respuesta JSON, una buena apuesta es seguir con la implementación desde http://code.google.com/p/google-gson/; simple y directo

Cuestiones relacionadas