Pregunta

Para comenzar, soy nuevo en el desarrollo web.Estoy pensando en crear un conjunto central de servicios web RESTful en torno a una especie de biblioteca de documentos valiosa (capacidades CRUD iniciales).Al hacerlo, en teoría estoy creando un back-end perfectamente reutilizable y escalable para ser utilizado por aplicaciones imprevistas en el futuro.

Mi pregunta se centra en las mejores prácticas para hacer esto.Mi requisito inicial me obliga a crear también una interfaz única.¿Haría que el front-end y el back-end fueran proyectos completamente separados para mejorar la reutilización?Aumentaría los gastos generales.

Analizar el uso de GWT, Restlet y la pila de tecnología Java EE si esto influye en la configuración.

¿Fue útil?

Solución

Lo más importante es diseñar una limpia API de Java - independiente de descanso, RMI, o lo que sea el protocolo que desea utilizar. A partir de una API de Java limpia, puede soportar cualquier método de acceso.

A menos que tenga un caso de uso de estos otros métodos de acceso, no construirlos ahora. Se puede construir cuando lo necesite.

La interfaz más fácil de añadir inicialmente es una interfaz basada en web en la que se ejecuta la aplicación web en la misma JVM que el núcleo de la API. Yo haría esto si esto funciona para su caso de uso. La construcción de una aplicación de consola separada que tiene acceso a su API central a través de un DESCANSO (o lo que sea) protocolo es mucho más trabajo ..

Otros consejos

Martin Fowler escribió un muy buen artículo sobre los fundamentos de RESTO hace poco tiempo: Richardson Modelo de Madurez . Encontrado que es muy útil para comprender los principios de REST.

Si desea utilizar servicios backend basados ​​en REST, debe utilizar el RestyGWT proyecto que le permite utilizar un estilo de programación GWT-RPC para acceder a sus servicios de descanso basados ​​en JSON.

Lo bueno de utilizar servicios JSON basados ​​en REST en lugar de los servicios GWT-RPC tradicionales es que esos servicios pueden ser utilizados por otros clientes o incluso en mashups más fácilmente.

Es posible que desee considerar el uso de GWT-RPC en lugar de descansar si usted sabe que va a estar usando GWT para el frontend. Más discusión aquí .

Sin embargo, si usted piensa que podría querer para exponer finalmente sus datos a través de una API REST, o utilizar una tecnología diferente en el frontend, REST puede ser una mejor opción.

El proyecto GWT-descanso también puede ser útil.

Un colega y yo he escrito un sistema de GWT mediante proyectos separados para extremos frontal y posterior. Ha sido de gran ayuda para mantener las cosas bastante clara acerca de dónde se está ejecutando el código. Pero no estoy seguro de que iba a molestar a separar las cosas en un futuro sistema.

Además, se da es nuevo en el desarrollo web, no creo que usted debe esperar para hacer un back-end perfectamente reutilizable. Usted aprenderá un montón de cosas sobre la marcha. Creo que los codificadores ágiles recomendaría un enfoque iterativo de (a) la obtención de un pequeño trabajo aspecto, y luego (b) refactorización para que sea hermosa.

scroll top