Ticker

6/recent/ticker-posts

¿Qué son las API?


API significa interfaz de programación de aplicaciones, es decir es un conjunto de definiciones y protocolos que se utiliza para desarrollar e integrar entre software de distintas aplicaciones, que nos permiten que sus productos y servicios se comuniquen con otros (intermedio), sin necesidad de saber cómo están implementados. Al hacer uso de las APIs en el desarrollo de las aplicaciones, nos permite ahorrar tiempo y dinero.

Las API nos otorgan flexibilidadsimplifican el diseño e implementación, la administración y el uso de las aplicaciones, y proporcionan oportunidades de innovación e independencia, lo cual es ideal al momento de diseñar nuevos productos.

Considerando que estas nuevas interfaces de desarrollo a nivel de aplicaciones no son algo novedoso, pero sí es cierto desde el año 2015 a tomado basta fuerza para la implementación a nivel empresarial para el uso de APIs con el fin de aumentar y diversificar sus canales de creación de nuevos productos y de aumento sus ingresos; además de facilita la relación entre dos aplicaciones para el intercambio de mensajes o datos. 

Cada API está diseñada en un lenguaje de programación concreto y con unas especificaciones distintas que la definen; asimismo, suele ser habitual que cada API disponga de documentación completa y eficaz (guías de uso, manuales y reglas de buenas prácticas para esa interfaz de programación).

Ejemplos prácticos:


  • Crear Web API en ASP.NET con ADO.Net usando Visual Studio 2019:

      1. Detalle de la base de datos, crear el proyecto, modelo, capa de accesos, business, domain e implementar y testear lista
      2. Implementando y testeando el método GET
      3. Implementando y testeando el método POST
      4. Implementando y testeando el método PUT
      5. Implementando y testeando el método DELETE


Características de WEB API

  • Admite acciones CRUD basadas en convenciones, ya que funciona con los verbos HTTP GET, POST, PUT y DELETE.
  • Las respuestas tienen un encabezado de Aceptar y un código de estado HTTP.
  • Las respuestas están formateadas por MediaTypeFormatter de WEB API en JSON, XML o cualquier formato que desee agregar como MediaTypeFormatter.
  • Puede aceptar y generar el contenido que puede no estar orientado a objetos como imágenes, archivos PDF, etc.
  • Tiene soporte automático para OData. Por lo tanto, colocando el nuevo atributo [Queryable] en un método de controlador que devuelve IQueryable, los clientes pueden usar el método para la composición de consulta OData.
  • Puede alojarse en la aplicación o en IIS, JBOSS, WAS u Otros Servidores.
  • También es compatible con las características de MVC, tales como enrutamiento, controladores, resultados de acciones, filtro, carpetas de modelo, contenedor IOC o inyección de dependencia que lo hace más simple y robusto.

¿Por qué elegir WEB API?

  • Por su escalabilidad: Este protocolo destaca por su escalabilidad, es decir gracias a la separación entre el cliente y el servidor, la interfaz (API) se puede escalar con un equipo de desarrollo sin que ello represente muchas dificultades.
  • Por su flexibilidad y portabilidad: Con el requisito imprescindible de que los datos de cada una de las peticiones sean enviados de forma correcta, es posible realizar una migración de un servidor a otro o ejecutar cambios en la base de datos en todo momento. De esta forma el front y el back se pueden alojar en servidores diferentes, lo que supone una enorme ventaja de manejo.
  • Por su independencia: Debido a la separación entre el cliente y el servidor, el protocolo facilita que los desarrollos de las diferentes partes de un proyecto se puedan dar de manera independiente. Además de ello, las APIs se adapta en todo momento al tipo de sintaxis o plataformas de trabajo. Esto brinda la oportunidad de probar varios entornos dentro del desarrollo.

Tipos de API:

  1. APIs de Servicios Web: Son interfaces de desarrollo de aplicaciones que permiten el intercambio de información entre un servicio web (software que brinda acceso a un servicio en concreto a través de una URL) y una aplicación. Normalmente este tipo intercambio se produce a través de peticiones HTTP o HTTPS (la versión seguro del protocolo HTTP - normalmente por el puerto 443). En la petición de la aplicación y respuesta, también en HTTP del servicio web, se contiene información de todo tipo tanto en los metadatos de la cabecera como en los del mensaje, normalmente son atendidos a través de los formatos XML (SOAP) o JSON (REST).
  2. APIs basadas en bibliotecas: APIs que permiten desde una aplicación importar una biblioteca de otro software para hacer el intercambio de información. Hoy en día gran parte de las bibliotecas que dan acceso a productos y servicios están diseñadas en JavaScript. Las APIs en JavaScript suelen ser un ejemplo ilustrativo de APIs basadas en bibliotecas, por ejemplo las que se utilizan dentro del mercado de la cartografía web  como los servicios de Google Maps, Leaflet, ArcGIS, CartoDB, MapBox o Xamarin.Essentials para desarrollo móvil que no necesariamente es JavaScript. 
  3. APIs basadas en clases: Este tipo de interfaces de desarrollo de aplicaciones, permite la conexión con los datos en torno a las clases, tal como ocurre en la programación orientada a objetos ya sea con la tecnología de Microsoft o Oracle Java; es decir básicamente son clases abstractas para la creación de aplicaciones igual que cualquier programa desarrollado en los lenguajes con C# o Java. Estas clases proporcionan todo lo necesario para realizar todo tipo de funciones dentro de esas aplicaciones. La interfaz de desarrollo de Microsoft (C#) se organizan en Dlls y la de Oracle Java (Java) se organiza en Paquetes y cada uno ya se las de DLL o los Paquetes contiene a su vez un conjunto de clases relacionadas entre sí.

Enfoques respecto a las políticas:

Existen tres enfoques con respecto a las políticas de las versiones de las API, el privado, de partners o de socios estratégicos y la público.
  1. Privado: Solo se pueden usar internamente, así que las empresas tienen un mayor control sobre ellas. Esto le da a las empresas un mayor control sobre sus API.
  2. De partners: Se comparten con partners o socios estratégicos a nivel empresarial según acuerdos específico, lo cual puede ofrecer flujos de ingresos adicionales, sin comprometer la calidad; es decir esto puede proporcionar flujos de ingreso adicionales, sin comprometer la seguridad y calidad de uso.
  3. Público: Todos tienen acceso a las API, así que cualquier empresas pueden desarrollar API que interactúen con usuarios que se encuentran en la red y así convertirse en una fuente de innovación; todo esto permite que terceros desarrollen aplicaciones que interactúan con APIs público, y en gran manera estos tipos de recurso extienden las funcionalidades de sus aplicaciones e incrementar la innovación de la misma.

Breve resumen:

Las APIs le permiten habilitar el acceso a sus recursos y al mismo tiempo brinda la facilidad de poder extender la funcionalidad de su implementación sin importar el tipo de desarrollo (web, mobile nativo o híbridos), además nos ofrece la seguridad y el control según el tipo de enfoque que se desea usar.

Publicar un comentario

2 Comentarios