Restricciones de descanso
¿Por qué los proyectos empresariales típicos no van tan bien como los proyectos que se desarrollan para la web? El estilo arquitectónico REST, ¿realmente representa una alternativa viable para construir sistemas distribuidos y aplicaciones de clase empresarial? En este perspicaz libro, tres expertos en SOA proporcionan una explicación realista de REST y demuestran cómo se pueden desarrollar sistemas hipermedia distribuidos sencillos y elegantes aplicando los principios rectores de la Web a los problemas informáticos comunes de las empresas. Aprenderá técnicas para implementar tecnologías y patrones web específicos para resolver las necesidades de una empresa típica a medida que crece desde sus modestos comienzos hasta convertirse en una empresa global.
Normas de descanso
Este artículo puede ser demasiado técnico para la mayoría de los lectores. Por favor, ayude a mejorarlo para que sea comprensible para los no expertos, sin eliminar los detalles técnicos. (Octubre de 2020) (Aprende cómo y cuándo eliminar este mensaje de la plantilla)
La transferencia de estado representacional (REST) es un estilo arquitectónico de software que describe una interfaz uniforme entre componentes físicamente separados, a menudo a través de Internet en una arquitectura cliente-servidor. REST define cuatro restricciones de interfaz:
En general, REST describe una interfaz de máquina a máquina. En el desarrollo de la web, REST permite que el contenido se renderice cuando se solicita, lo que suele denominarse contenido dinámico. El contenido dinámico REST utiliza el renderizado del lado del servidor para generar un sitio web y enviar el contenido al navegador web solicitante, que interpreta el código del servidor y renderiza la página en el navegador web del usuario.
REST se ha empleado en toda la industria del software y es ampliamente aceptado como un conjunto de directrices para crear APIs web sin estado y fiables. Una API web que obedece a las restricciones de REST se describe informalmente como RESTful. En general, las API web RESTful se basan en métodos HTTP como GET y POST. Las solicitudes HTTP se utilizan para acceder a los datos o recursos de la aplicación web a través de parámetros codificados en la URL. Las respuestas suelen estar formateadas como JSON o XML para transmitir los datos.
Descanso
Un diseño RESTful mejora el rendimiento de la API, reduce los esfuerzos de desarrollo y disminuye el soporte operativo necesario mediante el desarrollo de aplicaciones web, servicios web y APIs web. Con limitaciones RESTful probadas, los equipos pueden crear sistemas escalables, omnipresentes y prolíficos.
REST requiere una nueva mentalidad de desarrollo, por lo que muchas implementaciones de API no se basan realmente en las restricciones o principios de REST, ni cumplen con las expectativas de escalabilidad, actualizabilidad e interoperabilidad. Si seguimos las buenas prácticas y trabajamos con herramientas RESTful, los equipos pueden diseñar, actualizar y conectar fácilmente las API RESTful.
Cada restricción añade propiedades ventajosas para el sistema web. Al implementar las restricciones, los equipos pueden construir sistemas simples, fiables, factibles, utilizables y accesibles, que son actualizables y fáciles de mantener. En la siguiente tabla podemos ver cómo las restricciones REST pueden mejorar las propiedades de nuestro sistema para nosotros:
Las APIs pueden implementar interfaces uniformes, interacciones cliente-servidor y sistemas por capas, pero no pueden implementar comunicaciones sin estado o datos almacenables en caché. Si el cliente de tu API necesita estar asociado a una sesión fija, o si tu servidor no comprueba la última cabecera modificada antes de responder, tu API no es completamente RESTful.
Ejemplo de api de descanso
Este capítulo presenta y desarrolla el estilo arquitectónico Representational State Transfer (REST) para sistemas hipermedia distribuidos, describiendo los principios de ingeniería de software que guían a REST y las restricciones de interacción elegidas para mantener esos principios, a la vez que los contrasta con las restricciones de otros estilos arquitectónicos. REST es un estilo híbrido derivado de varios de los estilos arquitectónicos basados en la red descritos en el capítulo 3 y combinado con restricciones adicionales que definen una interfaz de conector uniforme. El marco de la arquitectura de software del capítulo 1 se utiliza para definir los elementos arquitectónicos de REST y examinar ejemplos de vistas de procesos, conectores y datos de arquitecturas prototípicas.
La lógica de diseño de la arquitectura web puede describirse mediante un estilo arquitectónico que consiste en el conjunto de restricciones aplicadas a los elementos de la arquitectura. Al examinar el impacto de cada restricción a medida que se añade al estilo en evolución, podemos identificar las propiedades inducidas por las restricciones de la Web. A continuación, se pueden aplicar restricciones adicionales para formar un nuevo estilo arquitectónico que refleje mejor las propiedades deseadas de una arquitectura Web moderna. Esta sección proporciona una visión general de REST, recorriendo el proceso de derivación como estilo arquitectónico. En secciones posteriores se describirán con más detalle las restricciones específicas que componen el estilo REST.