Estoy trabajando en un sistema empresarial que utilizará un servicio web RESTful entre clientes móviles y un servidor central. Lo más RESTANTE posible, digamos.Servicios web RESTful: tratando de lograr HATEOAS con XML personalizado
Mi pregunta se refiere a HATEOAS (hipermedia como el motor del estado de la aplicación) y al uso de xml personalizado en los cuerpos de respuesta HTTP.
Este sistema nunca jamás pueden utilizar clientes públicos, pero me gusta la idea HATEOAS de ser capaz de modificar el patrón de asignación de recursos de servidor más tarde sin tener que volver a configurar cada uno de los clientes de manera independiente. Si decidimos que debido a problemas de escalabilidad necesitamos extender la función del servidor en múltiples cuadros físicos, no hay problema, esto se reflejará en los URI que se generan cuando un cliente (o el servidor bajo instrucciones de un cliente) crea un nuevo recurso .
Nuestro dominio comercial es muy específico e inusual. Como tal, me gustaría utilizar XML personalizado para cuerpos de entidades de respuesta HTTP en todo el servicio web, y el cliente analizará los URI de recursos del xml para mantenerse informado de las ubicaciones de recursos que puede usar al modificar su propio estado de aplicación. Sé que esto 'rompe' la parte H de HATEAOS.
p. Ej. cuando un cliente envía una transacción al servidor para su procesamiento, el servidor puede incluir el siguiente fragmento xml en el cuerpo de respuesta HTTP 201 (como parte de un documento xml más grande). El servidor también informaría al cliente del URI para el recurso de transacción recién creado, pero probablemente solo se incluiría en el encabezado HTTP de ubicación.
<resulturi>http://resultserver/results/1234.xml</resulturi>
¿Es esta tan malo? Hay muy pocas posibilidades de que los clientes que usen este servicio estén basados en el navegador. ¿Cuáles son las otras ventajas de hipermedia sobre la entrega de uris como texto sin formato dentro de xml?
Supongo que podría ir a XHTML, pero el analizador en nuestra plataforma móvil es mucho más eficiente con POX.
> Sé que esto 'rompe' la parte H de HATEAOS. ¿Lo tiene? No sabía que HATEOAS impone restricciones sobre el tipo de tipos de contenido que puede usar. – trendels