Proyecto Final-Programación para la Ciencia y la Ingeniería II

Page 1

UNIVERSIDAD MARIANO GALVEZ DE GUATEMALA

Facultad de Ingeniería, Matemática y Ciencias Físicas Programación para la Ciencia y la Ingeniería II Catedrática: Thelma Roxana Bollat

PROYECTO FINAL API

Grupo #5 1010 17 15184 Kevin Mauricio Ramos Pleitez 1010 20 10142 Anthony Fernando Vasquez Gutierrez 1010-22-3461 Kenneth Adelso Sical Vargas
Conclusiones_______________________________________________________
Beneficios____________________________________________________________17 Bibliografías __________________________________________18
INDICE Introducción_________________________________________________________3 Inciso A_____________ _4 Inciso B 5 Inciso C 6 Inciso D 7 Inciso E____________________________________________________________7,8 Inciso F _______________________________________8,9 Inciso G 9,10 Inciso H _10,11 Inciso I __________________________________________________________11 Inciso J 12,13 Presentación del Programa Python_______ 14,15
16

INTRODUCCIÓN

Todos los días oímos que hay que evolucionar al mundo de las APIs, que debemos dejar atrás el SOA clásico, oímos ventajas de este modelo y de cómolos desarrolladores se pueden auto proveer y reutilizar API existentes. También escuchamos hablar de cómo podemos exponer nuestro negocio a partners a través de API, etc. Pero ¿qué es realmente una API? ¿Cómo hay que diseñarlas y qué ofrecen los fabricantes para manejarlas y gestionarlas? Hacemos una introducción al mundo de las interfaces de programación de aplicaciones y cómo uno de los fabricantes de API Management más importantes da solución a este reto.

Inciso A

¿Qué es una API?

El termino API es una abreviatura de Application Programming Interfaces, que significa interfaz de programación de aplicaciones. Se trata de un conjunto de definiciones y protocolos que su utiliza para desarrollar e integrar el software de las aplicaciones, permitiendo la comunicación entre dos aplicaciones de software a través de un conjunto de reglas.

Así pues, podemos hablar de una API como una especificación formal que establece cómo un módulo de un software se comunica o interactúa con otro para cumplir una o muchas funciones. Todo dependiendo de las aplicaciones que las vayan a utilizar, y de los permisos que les dé el propietario de la API a los desarrolladores de terceros.

Si has venido hasta aquí es porque has oído hablar de estas API, pero no entiendes bien cómo funcionan. Eso es normal, porque nunca están en la superficie de una web o aplicación. No son la parte visible, sino loscircuitos internos que sólo los desarrolladores ven y conectan para hacer funcionar una herramienta.

De cara a un usuario normal, lo único que vas a ver de una API son los resultados, cómo abres un juego para el móvil y puedes conectarte a tu cuenta de Facebook para iniciar sesión, o cómo puedes publicar los resultados de una partida en Twitter. O cuando esa aplicación te manda notificaciones al móvil o al ordenador.

Como hemos dicho antes, las API pueden tener tanto una como varias funciones, pudiendo llegar a ser auténticos kits de herramientas. Cuando esto pasa, tu aplicación puede enviarle una solicitud con una estructura particular, y esta estructura determinará cómo responderá el servicio o el software al que le estés enviando esa solicitud.

Pueden ser privadas para el uso de una empresa, abiertas sólo para partners, o públicas para que cualquier desarrollador interactuar con ellas o crear sus propias API para que lo hagan. También pueden ser API locales para aplicaciones que se comunican dentro de un mismo ambiente o dispositivo, o remotas para cuando hay que acceder a otro punto diferente.

A los servicios que no son de código abierto también les permite dejar que otros utilicen funciones concretas de sus aplicaciones o servicios sin tener que proporcionarles todo el código. Estos desarrolladores externos podrán utilizar una función sin tener que saber cómo funcionan internamente los procesos que la hacen posible.

¿Cómo funciona una API?

Una API es el código que determina el funcionamiento de un programa informático de una parte de un software a otra. Las API permiten que una aplicación extraiga archivos o datos preexistentes dentro de un software y los use en otro programa o en uno de sus otros niveles.

a) ¿Qué es un punto de terminación de API?

Al ser un canal que conecta tu información con una herramienta que la trabajará, una API tiene un destino al cual debe dirigir los datos que ha extraído. A este programa de destino se le conoce como «punto de terminación de API» y puede tener la forma de una aplicación móvil, un sitio web o un programa de gestión de datos.

Un punto de terminación de API es el destino de la API que solicita el propietario de un sitio web. Si un sistema de gestión de contenidos (CMS) solicita acceso a una API, el CMS funciona comoel puntode terminación de la API. Esimportante que los sitios web funcionen correctamente para que puedan servir de puntos de terminación seguros para los desarrolladores que buscan compartir sus datos.

b) ¿Qué es una clave de interfaz de programación de aplicaciones (API)

Una clave de API es el identificador único que se asigna a un usuario de la API, que indica que puede usar la interfaz de programación de aplicaciones en su sitio web. Muchos desarrolladores requieren que solicites esta clave antes de usar la API, mientras que otros pueden asignártela una vez que haces tu primera solicitud para recolectar información por medio de la misma.

Piensa en tu clave de API como si fuera tu ficha de autorización como miembro de la comunidadde undesarrollador.Enefecto, esta fichaidentifica para qué usasla APIyverifica que hayas recibido permiso para realizar este proyecto de parte del propietario

Tu clave de API no le brinda al desarrollador acceso a información personal sobre ti.

Inciso
B

¿para qué sirve una API?

Una de las principales funciones de las API es poder facilitarles el trabajo a los desarrolladores y ahorrarles tiempo y dinero. Por ejemplo, si estás creando una aplicación que es una tienda online, no necesitarás crear desde cero un sistema de pagos u otro para verificar si hay stock disponible de un producto. Podrás utilizar la API de un servicio de pago ya existente, por ejemplo, PayPal, y pedirle a tu distribuidor una API que te permita saber el stock que ellos tienen.

Con ello, no será necesario tener que reinventar la rueda con cada servicio que se crea, ya que podrás utilizar piezas o funciones que otros ya han creado. Imagínate que cada tienda online tuviera que tener su propio sistema de pago, para los usuarios normales es mucho más cómodo poder hacerlo con los principales servicios que casi todos utilizan

Tambiénsonútilesparacuandoloúnico que se quiere es utilizar deliberadamente las funciones de determinado servicio para ofrecer ventajas a sus usuarios o atraer a los usuarios de ese servicioa que utilicentu aplicación.

Por ejemplo, piensa que quieres crear una aplicación que se conecte a las publicaciones que hay en Twitter, pues para ello tendrás que conectar tu aplicación al servicio mediante la API que Twitter tiene disponible para los desarrolladores. Y si quieres que esta aplicación se comunique con la barra de notificaciones de un sistema operativo, pues también necesitará otra API del sistema operativo.

Piensa si no en cuando vas a comprar una entrada a través de la web de una sala de cine. Cuando pones la información de tu tarjeta, la web utiliza una API para enviarle esa información de forma remota a otro programa que verifica si tus datos son correctos o es una tarjeta inventada. Una vez se verifica, este programa remoto le dice a la web que todo está en orden, y está ya te emite tus entradas.

Otro ejemplo clásico es el de las aplicaciones de terceros para conectarse a un servicio. Por ejemplo, redes sociales como Twitter o Reddit permiten que se creen aplicaciones diferentes a las oficiales para conectarse a ellas. Estas aplicaciones necesitarán las API de las redes sociales para poder mostrarte la información y los mecanismos internos que las hacen funcionar.

En estos casos, las API le pueden permitir a estos servicios o redes sociales limitar qué funciones quieren que las aplicaciones de terceros puedan utilizar. Por ejemplo, muchas veces se ha informado de que Twitter les pone trabas a estos desarrolladores haciendo que las API limiten el número de usuarios que las puedan utilizar.

Inciso
C

A veces otros servicios crean API de forma deliberada para ser utilizados por terceros en tareas concretas, y así extender su uso y popularidad creando nuevas funciones. Por ejemplo, Google creóuna para Google Docs. con lasque permite la creaciónautomatizada de facturas o informes de ventas a otros servicios.

Y, para terminar, otro ejemplo. Piensa en todos esos servicios que funcionan online teniendo la información en la nube. Pues para poder hacer eso no hace falta que se monten sus propios servidores, sino utilizar las API de los servicios en la nube de empresas como Google, Amazon o Microsoft para poder utilizar los suyos.

Inciso D

¿En donde puedo utilizar las API?

Haybásicamente cuatrotiposde APIenlo que se refiere a suspolíticasde uso compartido, como veremos a continuación.

API según sus políticas de uso

1. APIs públicas o abiertas: las APIs públicas también son conocidas como API abiertas y están disponibles para que otros usuarios o desarrolladores las empleen con mínimas restricciones o, en algunos casos incluso, están totalmente accesibles.

2.APIsprivadasointernas:lasAPIsprivadasointernasestánocultasdelosusuariosexternos y se exponen únicamente para los sistemas internos de una organización. Se emplean para el desarrollo interno de la empresa, optimizando la productividadyla reutilización de servicios.

3. APIs de aliados comerciales: las APIs de aliados comerciales son aquellas que se exponen entre los miembros de una alianza comercial. Como no están disponibles para todos, se necesita una autorización especial para usarlas.

4. APIs compuestas: las APIs compuestas utilizan distintos datos o diversas APIs de servicio y permiten que los desarrolladores puedan acceder a varios terminales. Asimismo, podemos también dividir las APIs en cuatro según lo que ofrecen o casos de uso, como verás ahora.

Inciso E

¿En dónde las puedo utilizar?

Debido a que las APIs facilitan el que una persona o empresa pueda diseñar e integrar el software de lasaplicaciones,puedenserutilizadasensitiosweboenaplicaciones.UnasAPIs son utilizadas para manipular documentos, otras para obtener datos del servidor, otras para para dibujar y manipular gráficos, y hay más categorías en las que se pueden utilizar.

Algunos ejemplos de donde se pueden utilizan las APIs son:

Si se quiere crear una aplicación que se conecte a lo que tiene Twitter, para eso se tiene que conectar la app al servicio a través de la API que Twitter tiene para desarrolladores, y si se quiere que esta aplicación interactúe con el motor de notificación del sistema operativo, se va a tener que utilizar una API de sistema operativo diferente.

Un ejemplo claro es el de las aplicaciones de terceros que se vinculan al servicio, así como las redes sociales Twitter o Reddit que permiten crear aplicaciones distintas a las oficiales, en las que se pueden conectar. Pero estas aplicaciones necesitarán API de redes sociales para mostrarle la información y los sistemas de contenido que las hacen funcionar.

Otro ejemplo es cuando se compra una entrada a través del sitio web del cine. Al momento en que se ingresa la informaciónde la tarjeta,el sitiousa una APIpara enviaresa información a otro programa que verifica si su información es válida o si es una tarjeta falsa, después de verificar que todo este bien, este programa remoto le dirá a la red y emitirá sus boletos.

Inciso F

Políticas de lanzamiento de las API

Las políticas son documentos básicos, los cuales brindan formas de administrar aspectos como el almacenamiento, el registro, el enrutamiento de solicitudes a servicios específicos y la conversión de datos de un formato a otro.

Siendo las políticas de lanzamiento de las API clasificada en 3 las cuales son:

Privado:

Las API solo se pueden usar internamente, así que las empresas tienen un mayor control sobre ellas. Esto les da a las empresas un mayor control sobre sus API.

- De Partners: Las API se comparten con partners empresariales específicos, lo cual puede ofrecer flujos de ingresos adicionales, sin comprometer la calidad. Esto puede proporcionar flujos de ingreso adicionales, sin comprometer la calidad.

- Público: Todos tienen acceso a las API, así que otras empresas pueden desarrollar API que interactúen con las de usted y así convertirse en una fuente de innovaciones. Esto permite que terceros desarrollen aplicaciones que interactúancon su API, y puede ser un recurso para novar.

Inciso G

Diferencias entre SOAP y REST Estas son especificaciones de protocolos, las cuales son de métodos diferentes, pero que sirven para transferir datos en línea. Siendo así estas algunas diferencias que tienenestas dos: REST un conjunto de principios arquitectónicos que se ajusta a las necesidades de las aplicaciones móviles y los servicios web ligeros. Las API diseñadas para REST devuelven los mensajes en distintos formatos: HTML, XML, texto sin formato y JSON.

Mientras que SOAP es un protocolo formal mantenido por el Consorcio World Wide Web (W3C), siendo así que utiliza reglas integradas, las cuales agregan la complejidad y la sobrecarga, lo que puede llegar a retrasar el tiempo que tardan las páginas en cargarse

Las API generalmente están impulsadas por uno de estos, según el caso de uso y las necesidades del desarrollador, ya que ambos son métodos para crear interfaces de programación de aplicaciones (API).

REST son instrucciones las cuales proporciona una comunicación sencilla, mientras que SOAP es un protocolo con requisitos específicos.

Los servicios web SOAP brindan funcionalidad integrada de seguridad y cumplimiento que satisface muchas necesidades comerciales. Además, hay muchas APIs públicas, como lo es la de Google Maps, que siguen las pautas de REST.

Al ser simples Las API REST las hace adecuadas para el desarrollo de aplicaciones móviles y de computación sin servidor

Inciso H

Innovaciones de las API

El lanzamiento de tecnología trae consecuencias nuevas e inesperadas que a veces destruyen industrias enteras, estos efectos a veces cambian a varios sectores. Pero en el caso de los partners y las API publicas nos permiten a las personas y empresas aprovechar los esfuerzos de desarrollo de una

comunidad más grande que su equipo de desarrollo interno.

Siendo así como el acceso de los partners o el público a sus API permite innovaciones como:

Crear nuevos canales de ingresos o ampliar los existentes. Expandir el alcance de su marca. Facilitar la innovación abierta o lograr mayor eficiencia, gracias al desarrollo y la colaboración externos.

Ya sea con los partners o con las API públicas, su marca será más reconocible, independientemente de los esfuerzos de marketing de la empresa. Si utiliza una API pública, por ejemplo, para que la tecnología esté disponible para todos, alienta a los desarrolladores a crear un ecosistema en torno a su API.

Inciso I

Beneficios de utilizar las API

En medio de un proceso de transformación digital en prácticamente cualquier sector empresarial, el uso de una API resulta esencial en las mejoras de los procesos de un negocio, ya que son las herramientas que está aportando un valor diferencial a las empresas que las implementan. Así, las compañías que emplean estas tecnologías está siendo más competitivas,

1. Reestructuran y organizan sistemas internos para dar apoyo a nuevos proyectos innovadores de una manera uniforme.

2. Reducen los costes de mantenimiento.

3. Incrementan la agilidad de los procesos de transformación.

4.

Aportan nuevas oportunidades para generar nuevas formas de llegar a los clientes, generar ingresos y construir nuevas alianzas con socios.

Inciso J

¿Qué tipos de API existen?

APIs de sistemas: las API de sistemas desbloquean datos de los sistemas centrales de registro dentro de una organización.Los sistemasERP, de clientes y de facturación,así como las bases de datos privadas, son ejemplos de sistemas clave en los que las API pueden desbloquear datos.

APIs de procesos: las API de procesos interactúan con los datos y los compilan en un solo sistema o a través de varios, acabando así con los silos. Este tipo de API permite combinar datos y coordinar varias API de sistemas para fines empresariales específicos. Un ejemplo de este proceso es la creación de una vista completa de los clientes, el despacho de pedidos y el estado de los envíos.

APIs de experiencias: las API de experiencias proporcionan contexto empresarial para los datos y procesos desbloqueados y establecidos con APIs de sistemas y procesos. Las API de experiencias exponen los datos para que pueda utilizarlos la audiencia de destino, como en aplicaciones móviles, portales internos para datos de clientes, etc.

API externas

Las API externas son accesibles para terceros (desarrolladores, partners, etc.) ajenos a la organización. A menudo, permiten que desarrolladores de todo el mundo que buscan crear aplicaciones e integraciones innovadoras puedan acceder fácilmente a los datos y servicios de una organización mediante el autoservicio.

Un ejemplo de API abierta es la API de Google Maps, que es utilizada por aplicaciones de terceros (como aplicaciones de transporte compartido o entrega de comida) para posicionar y rastrear las ubicaciones.

API internas

Las API internas son lo contrario de las API abiertas en el sentido de que son inaccesibles a usuarios externos y solo están a disposición de los desarrolladores internos de una organización. Las API internas pueden dar cabida a iniciativas a nivel empresarial que van desde la adopción de arquitecturas DevOps y de microservicios hasta la modernización de

sistemas heredados y la transformación digital. El uso y la reutilización de estas API pueden mejorar la productividad, eficiencia y agilidad de una organización Un ejemplo de API interna reutilizable es cuando un centro de llamadas crea una API de información de clientes que se utiliza en una aplicación que da acceso a nombres, datos de contacto, información de cuentas, etc. El equipo encargado de este proceso puede entonces reutilizar la misma API en una aplicación web o móvil destinada a los clientes.

APIs de partners

Las API de partners son un término medio entre las internas y las externas. Ello se debe a que son accesibles a personas ajenas a la organización, pero solo para aquellas que tienen permisos exclusivos. Normalmente, este acceso especial se concede a determinados terceros para facilitar una colaboración empresarial estratégica.

SERIE 2

Seleccione 3 Apis de su interés

1) Api de Video Juegos

2) Api de Rick and Morty

3) Api de clima

Link api que se utilizó: https://open meteo.com/en

Porque fue seleccionada: fue seleccionada debido a la variedad de datos que ofrece el api, así como su interacción con imágenes y también alta documentación de consumo.

Guatemala

Estados Unidos

México

CONCLUSIONES

- Una "API" viene siendo una interfaz que hace fácil la interacción de diferentes programas, en la que se puede integrar nuevas aplicaciones con los sistemas de software existentes. Esto está claro que conforme a las actividades y protocolos informáticos que los desarrolladores puedan crear otros programas para bases de datos, sistemas operativos, plataformas web o redes sociales.

- Usar una API puede ser muy fácil que es como subcontratar un oficio, ya sea iniciar un proceso de compra, obtener anuncios en un directorio, darle me gusta a cualquier contenido, colocar un video de YouTube en un sitio web, construir un chatbot para tiendas, usar Google Maps en un programa de navegación, administrar vuelos y hoteles, todo es posible con esta tecnología.

- En definitiva, las ventajas e inconvenientes del desarrollo basado en API REST están muy interrogados. Lo que puede comenzar como una ventaja puede suponer una desventaja en otro punto de tu aplicación. Sin embargo, como hemos dicho, existen muchas situaciones en las que desarrollar basados en un API nos puede aportar un gran adelanto.

Al ser sistemas independientes (solo se comunican con un lenguaje de intercambio como JSON) puedes desarrollarlos proyectos autónomos, equipos autónomos. Al cliente le da igual cómo está hecha la API y al servidor le da igual qué vas a hacer con los datos que te ha proporcionado. Una ventaja importantísima es la posibilidad de hacer varios front con un único backend con solo una API (front no tiene xq ser solo web, puede ser un app para Android otro para un App iOS, etc.)

RECOMENDACIONES

Algo esencial en cualquier tipo de programación es el uso correcto de los métodos, en este caso el de los métodos HTTP ya que el principio fundamental de REST es dividir su API en recursos razonables Donde se gestionan estos recursos son las solicitudes HTTP con los métodos GET, POST, PUT y DELETE.

Cuando se está trabajandoen algo de programación con API evitemos el usar guiones bajos y algo que debemos hacer siempre es el escribir en minúsculas ya que esta establecido como regla el uso de minúsculas en las URIs, y es mejor evitar utilizar guiones bajos porque en algunos dispositivos se resaltan los recursos clickeables con subrayado, por lo que puede dificultar la vista de los enlaces.

el desarrollo basado en API REST no es para cualquier tipo de proyecto. Si estás haciendo un sitio web y planeas que tu sitio va a ser siempre eso "una web", quizás sea innecesario desarrollar en base a un API. Por ejemplo, un sitio centrado en contenido, como un blog o una página de una empresa donde ofrece sus productos, servicios y modos de contacto, notiene sentido. Ahora, si lo que estás es ofreciendo un servicio online o estás realizando una aplicación web de gestión, entonces encaja perfectamente la filosofía de REST

BIBLIOGRAFIAS

Autor: AWS

Fecha: No posee Título: ¿Qué es una API? Dirección URL: https://aws.amazon.com/es/what is/api/#:~:text=Las%20API%20se%20utilizan%20para,para%20aprovechar%20el%20c%C 3%B3digo%20existente.

Autor: Yúbal Fernández Fecha: 23 de agosto de 2019 Título: API: qué es y para qué sirve Dirección URL: https://www.xataka.com/basics/api-que-sirve

Autor: Red Hat

Fecha: 02 de junio de 2022 Título: ¿Qué es la API? Dirección URL: https://www.redhat.com/es/topics/api/what-are-application-programminginterfaces#diferencias entre soap y rest

Autor: Red Hat

Fecha: 08 de abril de 2019 Título: Diferencias entre REST y SOAP Dirección URL: https://www.redhat.com/es/topics/integration/whats-the-differencebetween soap rest#diferencias entre soap y rest

Autor: Red Hat

Fecha: 02 de junio de 2022 Título: ¿Qué es la API? Dirección URL: https://www.redhat.com/es/topics/api/what are application programming interfaces#diferencias entre soap y rest

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.