Recomendación para implementar un backend REST simple con una GUI web simple en Java

Estoy creando una aplicación de Android que rastrea las posiciones de los usuarios (las posiciones se cargan a través de un servicio web REST).

Ahora necesito crear el backend para este servidor. Entonces, lo que debe hacer el backend es analizar los datos JSON entrantes y colocarlos en una base de datos SQL.

También necesito una interfaz de administración para que el backend admita algunas operaciones CRUD simples en una tabla SQL.

Entonces, en general, no es un backend complejo. Quiero mantener las cosas lo más simples posible y evitar el uso de marcos grandes. He leído un poco sobre Vaadin , que parece una manera muy fácil de crear una interfaz de administración.

Entonces, con estos requisitos en mente, ¿qué marcos recomendaría para analizar los datos JSON y colocarlos en una base de datos y luego crear una GUI de administración para ellos?

Respuestas (2)

Para el servicio web, le recomendaría una implementación de la especificación Java para servicios web JAX-RS como Jersey , la implementación de referencia de esta especificación.

La ventaja de usar una implementación de especificación es que sería fácil cambiar de marco si, por ejemplo, Jersey se quedara inactiva un día, ya que hay varios competidores. La implementación de Jersey está bien documentada y la lista de correo es bastante activa. Me resultó fácil de aprender.

Como marco web sencillo, recomiendo Apache Wicket . Debo agregar que normalmente no me gusta Wicket, pero para páginas web fáciles que no tienen que escalar y que es poco probable que se vuelvan complejas, puede producir buenos resultados con solo un poco de esfuerzo. Además, hay bastantes ejemplos difundidos en la web. Vaadin, por otro lado, es un marco realmente bien diseñado, pero se necesita más esfuerzo para aprender. Por lo tanto, depende de su preferencia personal y del tiempo que tenga lo que debe elegir.

vaadin

Sí, recomiendo encarecidamente Vaadin a los programadores de Java u otros desarrolladores que quieran crear aplicaciones web sin aprender los detalles de HTTP, HTML, CSS, DOM, JavaScript, WebSocket, etc. Vaadin representa la interfaz de usuario de su aplicación web utilizando esas tecnologías web estándar en su nombre, mientras escribe su lógica de negocios y formularios, diseños y widgets, todo en Java.

Vea mis respuestas a preguntas similares aquí y aquí .

Específicamente, para el trabajo de la base de datos, busque la SQLContainerconexión a bases de datos SQL. Si te gusta la API de persistencia de Java (JPA) (a mí no), echa un vistazo a JPAContainer.

Para que un widget de visualización muestre una cuadrícula de datos para presentar datos tabulares de la base de datos, vea el Tablecomponente venerable y su primo más nuevo y llamativo, Grid. El Gridwidget incluso tiene su propia página personalizada .

Pruebe las demostraciones de Vaadin , incluida la demostración Sampler y Reindeer Theme .

ingrese la descripción de la imagen aquí