En el post de hoy explicamos cómo instalar un entorno de pruebas de Api Connect basado en IBM Cloud, de manera que evite llevar a cabo instalaciones complicadas en entornos de Kubernetes o VMWare.
¿Qué es API Connect?
API Connect es una plataforma web para la creación, exposición y gestión de APIs, permitiendo la creación y manejo de un Portal dónde los desarrolladores puedan consumir APIs fácilmente y los administradores puedan securizar y governar dichas APIs y microservicios.
Estructura API Connect
Los productos se utilizan para ofrecer una o más APIs a los posibles consumidores, el control de acceso a las APIs se realiza a través de los Planes. Los productos son paquetes que contienen APIs y planes.
Para exponer una API es necesario que esté incluida en un producto y que a su vez el producto contenga un plan.
A través de los planes se controla que desarrolladores pueden acceder a las APIs, qué operaciones de las APIs están disponibles y establecer “rate limits” a las APIs.
¿Qué más debo saber sobre los productos?
Los productos además de contener las APIs y los planes, se utilizan para administrar el Ciclo de vida de las APIs a través de los estados: draft (borrador), staged (escenificado-catalogado), published (publicado), deprecated (obsoleto), retired (retirado), y archived (archivado). Un producto en estado “Draft (borrador)” se mueve al estado “Staged (escenificado)” cuando el producto se guarda en el catálogo y se mueve al estado “Published (publicado)” cuando su catálogo es publicado, momento en el que las APIs estarán disponibles para los desarrolladores.
En estado “Deprecated (Obsoleto)”, la versión del producto sólo es visible para los yá subscritos. Cuando está en “Retired (Retirado)” no se puede ver ni subscribirse a los planes del producto y en “Archived (Archivado)” todas las APIs asociadas quedarán offline y las subscricciones inactivas. Por último, podrá “Deleted (borrar)” el producto.
¿Qué son los catálogos?
Los catálogos son colecciones de productos usados para publicar estos en el Developer Portal. Se utilizan también para tener distintos «entornos», por ejemplo un catálogo de testing para probar las APIs antes de llevarlas al catálogo de producción. Cada catálogo tiene asociado un Developer Portal, para exponer los productos publicados, y también tiene asociado un gateway service, para procesar las operaciones de las APIs expuestas en el catálogo.
Tipos de organizaciones en API Connect
En API Connect, hay dos tipos de organizaciones: proveedor y desarrollador. Una organización puede abarcar un equipo de proyecto, departamento o división.
Organización proveedora
Una organización proveedora es propietaria de APIs, planes y productos asociados, y además puede poseer aplicaciones de proveedor (backends en node o Java) que son llamadas por las APIs. Estas son algunas de las responsabilidades estándar dentro de una organización proveedora:
- El propietario, que tiene el conjunto completo de permisos de acceso a las funciones de API Connect.
- Desarrolladores de API, que diseñan y desarrollan APIs y aplicaciones.
- El administrador, que gestiona los ciclos de vida de las API y publica las APIs.
Organización de desarolladores
Una organización de desarrolladores es propietaria sólo de aplicaciones de desarrollador, y consumidor de las APIs y aplicaciones producidas por la organización proveedora. Las responsabilidades estándar dentro de una organización de desarrolladores son:
- El propietario, que puede invitar a desarrolladores de aplicaciones a la organización, visualiza los productos y APIs que la organización proveedora ha puesto a disposición, y se suscribe a las APIs.
- Los desarrolladores, que ven los productos y APIs que la organización proveedora ha puesto a disposición, y se suscriben para usar estas API en aplicaciones.
También hay otros roles que son independientes de una organización; por ejemplo, un administrador que gestiona la infraestructura en la nube y mantiene el sistema en funcionamiento.
API Connect vía IBM Cloud
Con IBM Cloud nos referimos a una plataforma híbrida con funcionalidades avanzadas de datos e Inteligencia Artificial que compila cientos de productos y servicios. Este Cloud puede ser público, privado, público dedicado, híbrido o multicloud, dependiendo de la carga de trabajo.
Tipos de cuenta de IBM
IBM Cloud tiene 3 tipos de cuentas:
- Lite (gratuita)
- Pago según uso
- Subscripción
Dentro de las cuentas, algunos componentes están contenidos dentro de otros o interactúan con otros, permitiendo el acceso, aunque no pertenencia. Los usuarios se añaden a grupos de usuarios o organizaciones.
El administrador deberán organizar estos grupos de recursos según entorno de proyecto. Por ejemplo: App-Dev, App-Test, App-Prod
De esta manera, se podrá otorgar diferentes tipos de acceso según el recurso, enmarcándolos dentro de “roles”.
Tipos de roles
- Roles de gestión de plataforma: capacidad de crear y suprimir instancias, gestionar alias, enlaces, credenciales y gestionar el acceso.
Los roles de plataforma son:
- administrador – todas las operaciones
- editor – configuración y operación de instancias
- operador – todas las acciones excepto gestión
- visor – ver instancias, no puede modificar
- Roles de acceso al servicio: capacidad de realizar acciones en una instancia de servicio, como acceder a consola o realizar llamadas de API
Los roles de servicio son:
- gestor – definición de servicios, creación y edición.
- escritor – creación y edición de recursos del servicio
- lector – solo lectura dentro de un servicio
- Roles personalizados: creados por el propietario de la cuenta o un usuario con rol administrativo
Aparte de estos roles principales, tenemos toda una serie de roles según servicio.
https://cloud.ibm.com/docs/account?topic=account-iam-service-roles-actions
Creación de la cuenta Cloud
Nos dirijimos a la página principal de IBM Cloud para crear nuestro “IBMId” https://cloud.ibm.com y creamos una nueva cuenta.
Rellenamos todos los campos y verificamos el email.
Creada la cuenta podremos entrar en el catálogo de productos que ofrece IBM (Pulsamos “Ver el catálogo”)
Antes de poder subscribirnos a cualquier producto es necesario crear nuestra Organización en la pestaña “Gestión de la cuenta/Organizacions de Cloud Foundry”
y un espacio:
Instalación API Connect
Ahora ya podemos instalar el servicio de Api Connect, mediante una de estas opciones:
Opción 1 : Probar Api Connect (Versiones actuales, recomendable V10 o 2018) Cuentas de pago.
Opción 2: Instalar Api Connect (Versión v5, sigue teniendo soporte hasta Abril del 2022)
Para esta opción, en el catálogo buscaremos el servicio de Api Connect.
Seleccionamos el plan de precios que nos interese (“Lite” es el gratuito para probar)
Después de crear la instancia, suele dar un fallo. Al volver al catálogo y elegir “Api Connect” de nuevo nos saldrá esta pestaña.
Pulsamos en “Consulte la existente”
O bien seleccionarlo en nuestra “Lista de Recursos”
Ahora sí, accedemos a ApiConnect:
En “Borradores” podemos implementar nuestra primera API
Creamos una nueva API de ejemplo. Guardamos y en la pestaña “Ensamblar”, creamos un nuevo producto, la publicamos y lista para probarla.
Puedes ver un tutorial más completo aquí.
API Manager
- PANEL DE CONTROL: vista de los catálogos pertenecientes a la organización. En cada catálogo encontramos los productos, subscripciones, usuarios y analíticas de las APIs. En la sección de “Valores” tendremos información referente el gateway, ciclo de vida de la API, registro de usuariios, configuración de roles y podremoos añadir extensiones a Api Connect (en formato zip).
Roles a nivel de Catálogo:
- Propietario de catálogo – propietario y administra el catálogo
- Administrador de la API – gestiona el ciclo de vida de la API
- Desarrollador de la API – crea definiciones de API y producto
- Gestor de productos – gestiona las comunidades de desarrolladores
- Administrador – administra la organización de proveedores de API
- BORRADORES: Lugar de desarrollo de la API.
PRODUCTO: aquí podemos crear un producto, detallando visibilidad (publico o usuarios autenticados), añadir una API al producto y declara un Plan
Se nos generará un yaml con toda la información del producto.
- API: podremos crear una Nueva API, importarla, crear una API de proveedor de Oauth 2.0 o una API a partir de un servicio SOAP (en formato WSDL).
Dentro de la API tendremos 3 secciones principales:
- Diseño: en esta pestaña rellenamos la estructura básica de nuestra API.
- Host y BasePath
- Vías de acceso
- Ciclo de vida
- CORS
- Definiciones de seguridad (Basic, api-key, oauth 2.0)
- Extensiones
- etc
- Origen: yaml que recoge todo lo implementado en la API, de manera que podamos exportar e importar fácilmente, o bien trabajar directamente con el código.
- Ensamblaje: donde implementaremos políticas para modificar el comportamiento de la API
- ADMINISTRACIÓN: Se configuran los roles a nivel de API, miembros pertenecientes a la organización, perfiles TLS, registro de usuarios, facturación y los gateways seguros.
Roles a nivel de API:
- Propietario de Organización – propietario y administra la organización de proveedores
- Administrador de la API – gestiona el ciclo de vida de la API
- Desarrollador de la API – crea definiciones de API y producto
- Gestor de productos – gestiona las comunidades de desarrolladores de aplicaciones
Administrador – administra la organización de proveedores de API
- IBM Cloud Shell: linea de comandos que permite gestionar los recursos que tengamos en nuestro espacio de trabajo, trabajar con apps, archivos y un gran cantidad de librerías.
https://cloud.ibm.com/docs/cloud-shell?topic=cloud-shell-plugins-tools
Portal de Desarrollador
Por último, aquí tendremos acceso a todas las APIs publicadas, crearemos una APP y tendremos diferentes opciones como:
- Navegar por las APIs expuestas
- Testear las APIs
- Subscribirnos escogiendo un Plan
- Loguearnos para usar una API
- En caso de un API Soap tendremos la opción de descargar el WSDL(Web Service) para generar un cliente.
- Generar analíticas
¡Contacta con nosotros!
Author