Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
GESTION Y DESARROLLO DE SERVICIOS WEB Juan Carlos Araujo H docenteibp@gmail.com Semana 12 WEB SERVICES API RESTFUL ¿Qué es una API? • El término API proviene de interfaz de programación de aplicaciones, y consiste en una seríe de reglas que nos dicen como pueden comunicarse entre sí las aplicaciones y/o los dispositivos. https://coffeebytes.dev/caracteristicas-basicas-de-una-api-rest/ https://www.imagar.com/wp-content/uploads/2019/10/queesunapi.png ¿Qué es una API? • Una API es el intermediario de la mayoría de las aplicaciones modernas. API significa: Application Programming Interface (Interfaz de Programación de Aplicaciones). Vamos a desglosarla mirando cada una de sus partes: Aplicación Si tienes un teléfono inteligente, estás familiarizado con las aplicaciones (herramientas, juegos, redes sociales y otro softwares que usamos todos los días) Programando Programar es la forma en que los ingenieros crean todo el software que tanto facilitan nuestra vida. Interfaz Una interfaz es un límite común compartido por dos aplicaciones o programas que permiten que ambos se comuniquen entre sí. https://content.breatheco.de/es/lesson/understanding-rest-apis ¿Qué es API? • La palabra viene de Application Programming Interface, y no es más que un programa que permite que otros programas se comuniquen con un programa en específico, por ejemplo Facebook. • A diferencia de los web services, las API no necesariamente deben comunicarse entre una red, pueden usarse entre dos aplicaciones en una misma computadora. https://codigonaranja.com/restful-web-service URL: Imagen https://edteam- media.s3.amazonaws.com/infographics/original/84a53153-05a4-425f- a7f0-2e4c195b4878.png API WEB Los métodos de la API de una aplicación web dependen completamente del propósito / negocio del sitio web: • Si estás creando la API para un producto como Uber, algunos de sus métodos serán: registrarse, solicitar un viaje, calificar un conductor, cancelar un viaje, etc. • Si estás creando una API para algo como AirBnB, algunos de sus métodos serán: listado de reservas, búsqueda de listado, cancelar viaje, etc. https://content.breatheco.de/es/lesson/understanding-rest-apis ¿qué es REST? • REST es una técnica de arquitectura de software, es decir, un conjunto de principios y patrones de comunicación que ayudan a crear una forma de pensar y construir las APIs. • Este tipo de arquitectura se define por un conjunto de restricciones entre los elementos, componentes, conectores y datos usados. Características de REST • Protocolo cliente/servidor sin estado: cada petición HTTP contiene toda la información necesaria para ejecutarla, lo que permite que ni cliente ni servidor necesiten recordar ningún estado previo para satisfacerla. • Las operaciones más importantes relacionadas con los datos en cualquier sistema REST y la especificación HTTP son cuatro: POST (crear), GET (leer y consultar), PUT (editar) y DELETE (eliminar). Características de REST • Los objetos en REST siempre se manipulan a partir de la URI. Es la URI y ningún otro elemento el identificador único de cada recurso de ese sistema REST. • Interfaz uniforme: para la transferencia de datos en un sistema REST, este aplica acciones concretas (POST, GET, PUT y DELETE) sobre los recursos, siempre y cuando estén identificados con una URI. Características de REST • Sistema de capas: arquitectura jerárquica entre los componentes. Cada una de estas capas lleva a cabo una funcionalidad dentro del sistema REST. • Uso de hipermedios: Ese concepto llevado al desarrollo de páginas web es lo que permite que el usuario puede navegar por el conjunto de objetos a través de enlaces HTML. En el caso de una API REST, el concepto de hipermedia explica la capacidad de una interfaz de desarrollo de aplicaciones de proporcionar al cliente y al usuario los enlaces adecuados para ejecutar acciones concretas sobre los datos. https://www.bbvaapimarket.com/es/mundo-api/api-rest-que-es-y-cuales-son-sus-ventajas-en-el-desarrollo-de-proyectos/ URI: ¿qué es el identificador de recursos uniforme? • El URI (siglas de uniform resource identifier) o identificador uniforme de recursos (por su nombre en español) sirve para acceder a un recurso físico o abstracto por Internet. • Dependiendo de la situación, el recurso puede ser de muchos tipos: por ejemplo, un URI puede identificar tanto una página web como al remitente o al destinatario de un correo electrónico. Las aplicaciones utilizan este identificador único para interactuar con el recurso o consultar información sobre el mismo. https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/uri-identificador-de-recursos-uniformes/ Ventajas que ofrece REST para el desarrollo 1. Separación entre el cliente y el servidor: el protocolo REST separa totalmente la interfaz de usuario del servidor y el almacenamiento de datos. Eso tiene algunas ventajas cuando se hacen desarrollos. 2. Visibilidad, fiabilidad y escalabilidad. La separación entre cliente y servidor tiene una ventaja evidente y es que cualquier equipo de desarrollo puede escalar el producto sin excesivos problemas. Se puede migrar a otros servidores o realizar todo tipo de cambios en la base de datos, siempre y cuando los datos de cada una de las peticiones se envíen de forma correcta. Ventajas que ofrece REST para el desarrollo 3. La API REST siempre es independiente del tipo de plataformas o lenguajes: la API REST siempre se adapta al tipo de sintaxis o plataformas con las que se estén trabajando, lo que ofrece una gran libertad a la hora de cambiar o probar nuevos entornos dentro del desarrollo. Con una API REST se pueden tener servidores PHP, Java, Python o Node.js. Lo único que es indispensable es que las respuestas a las peticiones se hagan siempre en el lenguaje de intercambio de información usado, normalmente XML o JSON. https://www.bbvaapimarket.com/es/mundo-api/api-rest-que-es-y-cuales-son-sus-ventajas-en-el-desarrollo-de-proyectos/ ¿REST vs RESTful? • ¿Qué es rest?, es una arquitectura para aplicaciones basadas en redes (como Internet), sus siglas significan REpresentational State Transfer y por otro lado RESTful web service o RESTful api, son programas basados en REST. Pero muchas veces se usan como sinónimos (REST y RESTful). https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT3ezE5HVCDe-rNFFwklDID_h2E0889PfyBcQ&usqp=CAUhttps://codigonaranja.com/restful-web-service ¿Qué diferencias hay entre REST y SOAP? • Aunque SOAP ha sido la opción preferida y elegida por muchas empresas, para otras resulta demasiado compleja y poco flexible. Por esta razón, se están comenzando a utilizar servicios basados en REST para mostrar cantidades de datos masivos. • Ambas arquitecturas de información tienen sus nichos definidos, sin embargo es al parecer REST quien tendrá una mayor aceptación en el futuro… REST vs. SOAP https://www.chakray.com/es/que-diferencias-hay-entre-rest-y-soap/ El estándar REST • REST funciona a través de HTTP - lo que significa que todo está basado en texto. Utiliza los famosos comandos GET, POST, PUT y DELETE para clasificar los métodos API. Método Descripción GET Se utiliza para leer el estado del servidor. Al ser una operación segura, puede ejecutarse varias veces sin riesgo de modificación de datos o corrupción POST Los puristas de REST usan post solo para creación. Eso significa que cada vez que POSTEE algo en una API, estará creando un nuevo registro en la base de datos para eso. PUT Es más usado para actualizar el estado en el servidor; Aunque también se puede utilizar para crear estado. DELETE Se utiliza para eliminar datos en el servidor https://content.breatheco.de/es/lesson/understanding-rest-apis Algunos códigos de estado HTTP Cuando se recibe una página HTML, también se recibe un código de estado HTTP (solo uno), en los web service RESTful, estos se usan parasaber el estado de la ejecución del servicio, y estos son algunos de los usados: • 200 (Ok), cuando una operación fue exitosa. • 201 (Created), cuando se creó un registro (¿recuerdan? Con el método POST) • 403 (Forbidden), cuando intentamos leer un registro para el que no tenemos acceso, por ejemplo los datos del perfil de otro usuario. • 404 (Not found), cuando intentamos leer un registro que no existe. Referencias Bibliografica • ASP.NET Web API Build RESTful web applications and services on the .NET framework Joydip Kanjilal Copyright © 2013 Packt Publishing Referencias electrónicas • Entendiendo las Rest Apis https://content.breatheco.de/es/lesson/understanding- rest-apis • ¿Que es RESTful Web Service? y ¿qué es REST? https://codigonaranja.com/restful-web-service • What is REST? https://www.codecademy.com/article/what-is-rest
Compartir