Corría el año 2007 y tuve la oportunidad de visitar en Boston la casa desarrolladora de un core financiero y de seguros. Los visitamos pues en la compañía en la que trabajaba requería una renovación de su core de negocio. Nosotros ya teníamos diseñada una arquitectura y unos requerimientos mínimos para compararlos con el ofrecimiento del proveedor. Nuestra arquitectura era por capas y desde hacia algunos años ya teníamos definida la capa o arquitectura de integración. Allí fue la primera vez usamos el término API para identificar las aplicaciones que se integraban a través de esta capa. No obstante, reconocemos que el término para las interfaces de programación de aplicaciones – APIs pudo haber sido acuñado en la forma como lo conocemos actualmente a finales de los 90s e inicios del nuevo siglo.
En un principio, las empresas utilizaron APIs para habilitar la integración de sus servicios en otros sitios web. En consecuencia, las interfaces de programación de aplicaciones – APIs corresponden a un conjunto de herramientas y protocolos que hacen posible la interacción tecnológica. Por lo tanto, se habilita la intercomunicación de dispositivos digitales, aplicaciones de software, datos e infraestructura. De esta forma, los sistemas de información pueden integrarse para presentar una solución digital completa.
Las interfaces de programación de aplicaciones – APIs permiten que los productos o servicios de las compañías se integren con otros de una manera segura, sencilla, escalable y flexible. Por lo cual, se facilita la reutilización acelerando los procesos de desarrollo de SW. Es posible clasificar las APIs en: 1) internas. 2) externas (proveedores, aliados o socios de negocio). 3) abiertas o pública. 4) compuestas. Entre otros sus beneficios son:
- Simplificación en la integración de datos y servicios.
- Presentación de estándares y protocolos de conexión.
- Mejoramiento oportuno de productos y servicios con base en la experiencia de los clientes.
- Creación de experiencias diferenciadas hacia el usuario.
- Garantiza mayor flexibilidad en procesos de transferencia de información y automatización de procesos.
- Disposición de ecosistemas aumentados y abiertos que interconectan múltiples servicios y canales digitales.
- Mejora evolutiva a través de procesos más expeditos de cambio.
- Habilita la innovación continua.
- Adaptación rápida a los cambios del mercado.
- Cumplimiento oportuno de la regulación y adecuada gestión de los riesgos.
- Trazabilidad y seguridad en las operaciones o transacciones.
Algunas arquitecturas de referencia consideran las interfaces de programación de aplicaciones – APIs como el corazón o centro de las soluciones tecnológicas. Por lo tanto, pasan a ser un herramienta fundamental dentro de la estrategia tecnológica y digital de las empresas. Es así como las APIs están en capacidad de impulsar y apoyar la productividad, la automatización y la innovación. Integrar horizontal y verticalmente los servicios de diferentes industrias ha sido el objetivo principal de las APIs. En consecuencia el desafío está en comunicar los diferentes componentes de las arquitecturas de varias compañías para prestar un único producto o servicio.
Son muchos los ejemplos que hoy día podemos ver: 1) reservas de tiquetes aéreos y hoteles. 2) agendamiento y atención de citas en pacientes. 3) sistemas de pagos financieros. 4) servicios a los ciudadanos. 5) gestión de inversiones en activos mobiliarios e inmobiliarios. 6) gestión de domicilios. 7) gestión de contenido en portales web y redes sociales. 8) sistemas masivos de ventas y relacionamiento con clientes y usuarios.
Como lo habíamos referido anteriormente, las interfaces de programación de aplicaciones – APIs sirven para intercambiar datos entre diferentes tipos de software y así automatizar procedimientos y desarrollar nuevas funcionalidades. Adicionalmente, utilizan estándares de desarrollo y conectividad. Algunos formatos son: 1) XML (Extensible Markup Language), 2) YAML (Ain’t Markup Language), 3) JSON (JavaScript Object Notation) para las aplicaciones web, 4) REST (Representational State Transfer). Por otro lado, están los protocolos: 1) Remote Procedure Call (RPC), 2) Service Object Access Protocol (SOAP), 3) Representational State Transfer (REST), 4) GraphQL.
Para finalizar, las APIs suelen utilizarse dentro de aplicaciones web para permitirles comunicarse con servicios y sistemas externos. En consecuencia, son una herramienta ideal para facilitar la integración con aplicaciones. A través de ellas es posible implementar soluciones que facilitan la integración de los sistemas. Lo anterior, habilita una ventaja competitiva y un diferencial en cuanto a la experiencia de usuario. Al mismo tiempo, apalanca la creación nuevos canales de ingresos o permite la ampliación de los existentes. Adicional, expande el alcance de la marca y facilita la innovación abierta. Una buena arquitectura de referencia busca la complementariedad de las arquitecturas de servicios con las de microservicios.
Muchos de los proyectos que ha desarrolla nuestros niikers han hecho uso de las interfaces de programación de aplicaciones – APIs. Por lo tanto, en niik tenemos capacidad para desarrollar proyectos de integración donde la interoperabilidad de múltiples y diversos sistemas es la clave del éxito. Desde niik venimos investigando y preparándonos para apoyar a nuestros clientes de manera integral en la implementación de proyectos y que nos permitan afianzar la confianza mutua. En niik entendemos las relaciones estrechas que existen con nuestros clientes y aliados, nos permiten disponer de toda nuestra experiencia y conocimiento para llevar adelante sus iniciativas estratégicas.
contactanos@niik.net
+57 3182352827 / +57 3103124796
#ConiikTIC
#TuCompañiaEnElMundoDigital
Fuentes: Documentos de PayCash, RedHat e IBM.
Deja un comentario