INFO PARA LA Exposicion PDF

Title INFO PARA LA Exposicion
Author Ramiro Ezequiel Torres Poggiese
Course Ingeniería en Software
Institution Universidad Nacional de La Rioja
Pages 7
File Size 160.6 KB
File Type PDF
Total Downloads 100
Total Views 143

Summary

informacion para la exposicion de clase sobre Apis...


Description

API Las siglas API significan Interfaz de Programación de Aplicaciones, del inglés Application Programming Interface. Concepto: Es un conjunto de subrutinas, funciones y procedimientos que ofrece un software, para que otros programas o aplicaciones puedan usar algunas de sus funcionalidades o utilizar cierta información que provean. Es decir que se trata de una interfaz que ofrece un espacio de acceso e intercambio de información para facilitar la comunicación entre dos aplicaciones a través de un conjunto de reglas. En términos más prácticos, un API es un módulo de un software (un segmento de código) que se tiene en un servidor, preparado para que cualquier otro software, dispositivo, aplicación o programa externos puedan solicitar sus servicios y este responda con la información solicitada, todo esto dependiendo de la configuración y de los permisos que les dé el propietario de la API a los desarrolladores de terceros. Es así que, gracias al uso de un API, una aplicación puede servirse de la información de otra sin dejar de ser independientes entre sí.

Ejemplos de su uso En la práctica una API se puede utilizar para conectar casi todos los procesos de cualquier tipo software, pero su uso se da mayormente en los servicios web, ya que actualmente son una parte fundamental en el funcionamiento de las aplicaciones y páginas web. Lo que un usuario normal puede ver de una API son los resultados. Estos son algunos ejemplos: Cuando abrimos un juego para el celular y podemos conectarnos a la cuenta de Facebook para iniciar sesión. Cuando en una aplicación podemos ver e interactuar con mapas de Google Maps. -

Cuando nos encontramos con vídeos de YouTube en otras páginas web.

Cuando podemos publicar en Twitter el resultado de una partida de algún juego. Cuando una aplicación te manda notificaciones al celular o a la computadora.

-

Cuando en las páginas web de viajes, podemos ver información actualizada

de vuelos de diferentes líneas aéreas, hoteles o excursiones.

Otros campos donde se utilizan Además de sus usos en la web, son utilizadas en otros campos como, por ejemplo: En el trabajo, cuando se puede completar proyectos más rápida y eficientemente con análisis en tiempo real y herramientas integradas, también automatizar flujos de trabajo entre herramientas de software B2B. En la sanidad, las API unen los datos clínicos de la población con los equipos de investigación, lo que agiliza enormemente los nuevos tratamientos. -

En el campo científico, APIs como Google Genomics permiten a los

investigadores analizar fácilmente grandes cantidades de investigaciones genéticas, lo que les ayuda a descubrir nuevos tratamientos, así como obtener más información acerca de cómo se desarrollan los trastornos genéticos.

Tipos de API ● APIs basadas en bibliotecas: este tipo de APIs son las que permiten que una aplicación importe una biblioteca de otro software para hacer el intercambio de información. ● APIs basadas en clases: este tipo de interfaces de desarrollo de aplicaciones permite la conexión con los datos en torno a las clases, como es habitual en programación orientada a objetos con Java. ● APIs de funciones en sistemas operativos: los programas de software están continuamente interactuando con los sistemas operativos y la forma en la que lo hacen es a través de APIs. ● APIs de servicios web: son las interfaces de desarrollo de aplicaciones que permiten el intercambio de información entre un servicio web (software que da acceso a un servicio concreto a través de una URL) y una aplicación.

La API de Servicio Web se divide en diferentes tipos: Hay cuatro tipos de API de servicios web habituales entre los desarrolladores:

-SOAP (Simple Object Access Protocol), un protocolo estándar de intercambio de información y datos en XML entre dos objetos; -XML-RPC, un protocolo de llamada a procedimiento remoto que usa XML como formato de datos y llamadas HTTP como sistema de comunicación; -JSON-RPC, mismo protocolo pero en formato JSON; -REST (Representational State Transfer), arquitectura de software para sistemas hipermedia en la World Wide Web; una API REST usa el protocolo HTTP. A continuación, nos enfocaremos en este último tipo, las APIs de servicios web de tipo REST.

Conceptos previos de REST Antes de hablar de Rest debemos conocer lo que es HTTP.

Que es HTTP HTTP: De sus siglas en inglés, Hypertext Transfer Protocol, o en español, protocolo de transferencia de hipertexto. ¿Qué es un protocolo? Es un conjunto de reglas que definen cómo se va a hacer la comunicación entre dos entidades (en caso de http, esas entidades son computadoras). ¿Qué es hipertexto? Es un texto que contiene referencias a otros textos distintos, como enlaces o links. Funcionamiento de HTTP: Para explicar el funcionamiento de HTTP, se toma de referencia la comunicación oral, por ejemplo, una conversación de dos personas, en donde existe alguien qué estará hablando tratando de enviar un mensaje, y otra persona escuchándolo; pero para que este último pueda interpretarlo se debe estar hablando en el mismo idioma, el cual tiene sus reglas (protocolo). HTTP es como el idioma en una conversación (y lo que hay por debajo es TCIP que es lo que posibilita que los bytes salgan de una computadora y lleguen a otra). Cuando uno ingresa a cualquier sitio web desde cualquier computadora, esta envía un mensaje de solicitud (siguiendo el “idioma” o las reglas de HTTP), que se transmite a través de internet y llega a otra computadora que es un servidor cuyo

objetivo es interpretar ese HTTP, procesarlo, generar la petición y enviarla de nuevo (siempre siguiendo las reglas de HTTP), esta respuesta viajará de vuelta a través de internet y el navegador es el que va a interpretar ese HTTP (usualmente es un archivo html) y así mostrarlo de una forma agradable para el usuario, con diferentes estilos, tipografías, imágenes, etc.

Qué es REST: Definición

REST es un acrónimo de Representational State Transfer, o Transferencia de Estado Representacional. Se lo define como un protocolo o un estilo de arquitectura de software que se enfoca en el intercambio de recursos y se basa en HTTP. HTTP usualmente se basa en el intercambio de archivos. Por lo cual con REST se eleva un poco el nivel de abstracción. (VER COMO EXPLICAR ESTO, o si no borrarlo xd)

Que es una API REST Entonces, una API REST es una API diseñada alrededor de los conceptos de REST, los cuales son: -Recursos: Una petición REST debe tener un recurso que es en donde queremos que se realice determinada acción. NOTA: ¿Que es un recurso exactamente? Un recurso puede ser cualquier cosa, y va a depender de la lógica de la aplicación. Ej: una librería en donde un recurso es un libro o un autor o también un género literario. -Acciones: Cuál es esa acción que queremos realizar

-URI: (Identificador Uniforme de Recursos de sus siglas en inglés: Uniform Resource Identifier) Que es lo que nos permite identificar exactamente cuál es el recurso sobre el que se va a actuar. Los más comunes son URLs, que identifican el recurso dando su ubicación en la Web.

Cómo funciona REST Petición Rest Una petición REST completa se basa en una URL (que, a diferencia de la URI incluye el dominio, el protocolo y demás), y un verbo HTTP (get, put, post y delete, entre otros) que son los que manejan las acciones básicas de obtener un recurso,

crear un recurso nuevo, eliminar o modificar un recurso. Algunos ejemplos Ejemplos de peticiones que se podrían realizar a un servidor vía REST: •GET/books/1: Con esta petición podemos obtener la información del libro que se identifica con el número 1. •DELETE/books/50: Con esta petición se solicita al servidor que elimine de su propia base de datos el libro identificado con el número 50.

Verbos HTTP El consumo de servicios web vía REST, se basa en la utilización de algunos verbos HTTP, los cuales son: GET: Busca y obtiene un recurso. Es el más utilizado. POST: Crea recursos en el servidor. PUT: Modificar un recurso existente en el servidor DELETE: Eliminar un recurso Un detalle es que cuando se utiliza GET, toda la información que envía al servidor viaja a través de la URL, lo cual significa que la información es perfectamente visible para cualquiera. En cambio, en el caso de POST y PUT, esa información viaja un poco más oculta, por lo cual es más segura.

Flujo de llamada REST Un cliente hace una petición HTTP a un servidor, el servidor la interpreta y en algún momento determina que ciertos recursos no le son propios (no los tiene disponibles) si no que debe solicitarlos a otro servidor, entonces genera una nueva petición http y la envía mediante internet al otro servidor, en donde este la interpreta y le devuelve una respuesta. Así, el servidor “original” le agrega la nueva información para continuar con el procesamiento y generar la respuesta a la petición REST original.

Consumo y Servicios Rest El consumo de servicios vía REST, se realiza a través de peticiones HTTP. Lo importante de este tipo de consumo es que no necesariamente lo dispara una acción humana. Ej: un sistema que debe ser actualizado todos los días, que probablemente, se realice mediante una tarea programada, en donde un pequeño programa (ej un script) se ejecute automáticamente y busque la información que necesite a un servidor, la interprete y con eso actualizar su base de datos.

Cuando conviene o NO, usar REST RESTful no es la única forma que se usa para peticiones de servicios web, por eso se debe saber cuándo conviene usarla. REST conviene cuando las interacciones son simples (como los ejemplos de peticiones visto anteriormente con operaciones básicas), y cuando los recursos (generalmente de hardware) son limitados, esto es porque como el protocolo está tan cercano al HTTP, realmente no hay mucho que se necesite instalar para hacerlo funcionar. Cuando NO conviene usar REST: Cuando las interacciones son complejas, es decir cuando no nos alcanza solo con el intercambio de recursos y necesitamos que el servidor aporte más lógica, como por ejemplo la validación de algún documento.

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. Por ejemplo, mejora la portabilidad de la interfaz a otro tipo de plataformas, aumenta la escalabilidad de los proyectos y permite que los distintos componentes de los desarrollos se puedan evolucionar de forma independiente. 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. Esta separación facilita tener en servidores distintos el front y el back y eso convierte a las aplicaciones en productos más flexibles a la hora de trabajar. 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.

Produciendo servicios REST Producir servicios REST va a permitir que otras aplicaciones puedan conectarse a las nuestras para obtener datos que tenemos en nuestro servidor o inclusive para incorporar nueva información.

Producir servicios REST se trata de desarrollar un servidor capaz de interpretar peticiones HTTP y devolver respuestas HTTP. Dado que nos apoyamos en la arquitectura REST hay muchas tareas que ya están resueltas por el propio Web Server, que es toda la comunicación a bajo nivel, y nuestra tarea consiste en interpretar correctamente lo que se nos pide y generar respuestas adecuadas. Usualmente toda la comunicación se realiza a través de json pero recordemos que HTTP es un protocolo de texto, por lo cual cualquier formato de texto será posible de utilizarse (o algunas veces se usa XML)

LARAVEL Es un framework de PHP, que permite el desarrollo de aplicaciones web totalmente personalizadas y de alta calidad, utilizando una sintaxis muy sencilla. Es uno de los frameworks más utilizados y de mayor comunidad en el mundo de Internet. Pone énfasis en la calidad del código, la facilidad de mantenimiento y escalabilidad, lo que permite realizar proyectos desde pequeños a grandes o muy grandes. Además, permite y facilita el trabajo en equipo y promueve las mejores prácticas.

Que es un framework (por si pregunta) Un FRAMEWORK es lo que el nombre indica: un marco de trabajo. Es un conjunto de herramientas y código para trabajar de acuerdo con una metodología, utilizando determinados patrones, artefactos o módulos concretos de software, que puede servir de base para la organización y desarrollo de software. Dicho de otra forma, con un framework nos encontramos un entorno de trabajo, que nos ofrece una forma estándar de trabajar.

Mostrar ejemplo práctico...


Similar Free PDFs