Workflows

Workflows es una característica que busca dar un control completo sobre el ciclo de vida de las APIs. Los flujos de trabajo se componen de stages que marcan las etapas de desarrollo de APIs, con requisitos personalizables para definir las condiciones de promoción entre etapas.

¿Recuerda los diferentes estilos de gobierno, adaptados a las necesidades de cada equipo? Workflows permite poner esto en práctica! Cada equipo puede tener diferentes etapas, con diferentes requisitos, representando las diversas demandas de diseño de APIs que operan en su escenario. Además, al incluir los diferentes flujos de trabajo en un solo lugar, es fácil ver cómo funciona cada equipo y cómo se desarrolla la estrategia de APIs de su organización.

Operación y tipos de flujos de trabajo

La pantalla Workflows es accesible desde el menú principal de Sensedia Adaptive Governance. En esta pantalla, puede ver los flujos de trabajo ya creados (incluido el flujo de trabajo de la organización), así como crear nuevos flujos de trabajo por equipo.

workflows
Pantalla "Workflows"

Un flujo de trabajo es un organizador del ciclo de vida de una API. Consiste en stages (etapas), cada una definida por una serie de requisitos. Para que una API se promueva a la siguiente etapa, debe estar dentro de los estándares definidos para la etapa. Todo es completamente personalizable: el número de etapas, sus nombres y requisitos. Con esto, diferentes equipos de una misma organización pueden tener flujos de trabajo adaptados a su realidad de desarrollo.

Al hacer clic en el nombre de un flujo de trabajo en la lista de la pantalla Workflows, puede ver, editar y/o eliminar las etapas que lo componen, así como añadir nuevas etapas a este flujo de trabajo. En cada etapa, puede ver las APIs y revisiones de APIs que se encuentran allí:

workflows stages
Etapas de un flujo de trabajo

La etapa de una API gestionada en Sensedia API Platform se define en las pantallas de edición o creación de una API, en el campo Workflow Stage.

Una etapa sólo puede ser seleccionada si la API cumple con los requisitos establecidos para ella.

workflows api stage

Existen dos tipos de flujos de trabajo: Organization Workflow y Team Workflow. Para aumentar el control a nivel de empresa, solo puede existir un Organization Workflow. Puede tener varios Team Workflows, pero solo uno por equipo.

Aunque sólo es posible crear un flujo de trabajo por equipo, un mismo equipo puede ejecutar diferentes procesos, debido al tipo de API o al tipo de demanda (por ejemplo: demanda legal, demanda de innovación, demanda estándar, entre otras, y/o APIs corporativas, APIs heredadas, APIs internas, entre otras). En estos casos, para cada proceso ejecutado, el mismo equipo puede ser registrado varias veces — con nombres diferentes y representativos — para ser asociado a sus respectivos flujos de trabajo.

Ejemplo:

Equipo A - Legal          ->    Workflow Equipo A - Legal
Equipo A - Innovación     ->    Workflow Equipo A - Innovación
Equipo A - Corporativo    ->    Workflow Equipo A - Corporativo
Equipo A - Legacy         ->    Workflow Equipo A - Legacy

Los flujos de trabajo que crea se relacionan con el contexto de la API, que establece reglas de visibilidad para cada API: El Organization Workflow se aplicará a todas las APIs que sean de los contextos organization, teams u only me que no tengan su propio flujo de trabajo. Si el contexto de una API es de tipo teams y el equipo tiene un flujo de trabajo registrado, las etapas disponibles para selección en el campo Workflow Stage de las pantallas de edición o creación de una API son las etapas creadas dentro del flujo de trabajo del equipo.

Gestión de flujos de trabajo

Creación de un nuevo flujo de trabajo

Solo puede tener un único Organization Workflow, que ya está creado. Por lo tanto, el proceso de creación de flujos de trabajo solo se aplica a Team Workflows.

Para crear un nuevo Team Workflow, haga clic en el botón +, situado en la esquina inferior derecha de la pantalla Workflows. Se abrirá una ventana modal para la entrada de datos.

Los siguientes campos deben ser completados:

  • Name: Introduzca el nombre del flujo de trabajo.

  • Description: Incluya una descripción para ello.

  • Team: Seleccione un equipo.

Una vez que haya rellenado los campos, haga clic en el botón CREATE WORKFLOW para crear el flujo de trabajo.

La tarjeta ( card) de su nuevo flujo de trabajo aparecerá en la pantalla Workflows. En ella, es posible ver el nombre del flujo de trabajo, su descripción, el número de etapas existentes y el equipo.

Clonación de un flujo de trabajo

Es posible clonar un Team Workflow existente haciendo clic en el icono icon clone en la esquina inferior izquierda de la tarjeta del flujo de trabajo a clonar.

Esto creará un nuevo Team Workflow con las etapas ya configuradas según el flujo de trabajo clonado.

Al hacer clic en el icono icon clone, se abrirá una ventana modal para que pueda introducir el nombre, la descripción y el equipo al que se asociará el nuevo flujo de trabajo. Una vez que haya terminado de editar la información, haga clic en CLONE WORKFLOW para crear el nuevo flujo de trabajo.

  • El Organization Workflow no puede ser clonado.

  • El nombre del flujo de trabajo a crear debe ser único.

  • Además, el equipo que se asocie al nuevo flujo de trabajo no puede estar ya asociado a otro flujo de trabajo.

Edición de un flujo de trabajo

Es posible cambiar la información básica de un Team Workflow, es decir, el nombre, el equipo y la descripción del flujo de trabajo. No es posible editar un Organization Workflow, sólo configurar sus etapas. A continuación se explica cómo hacerlo.

Para editar un Team Workflow, haga clic en el icono icon edit situado en la esquina inferior derecha de la tarjeta correspondiente. Se abrirá una ventana modal que contiene un formulario con la información del flujo de trabajo.

Una vez que haya realizado todos los cambios deseados, haga clic en el botón SAVE WORKFLOW para guardarlos (o en CANCEL para descartarlos).

Configuración de las etapas de un flujo de trabajo

Al hacer clic en el nombre de un flujo de trabajo en una tarjeta, se le dirigirá a la pantalla de visualización de las etapas de este flujo de trabajo, donde podrá añadir o eliminar etapas y cambiar la información y los requisitos de cada etapa.

Todo nuevo flujo de trabajo tiene ya una etapa inicial, llamada por defecto "Stage One". No se puede eliminar esta etapa, sólo editarla (ver abajo cómo hacerlo).

Creación de etapas

Para añadir una nueva etapa al flujo de trabajo, haga clic en el botón +, situado en la esquina inferior derecha de la pantalla. Se abrirá una ventana modal para que se informe el nombre (en el campo Name) y los requisitos de la etapa (en los campos de la sección REQUISITES), que hacen referencia a las condiciones mínimas para que una API se incluya en esta etapa.

Los campos de la sección REQUISITES son:

  • Environments: seleccione los entornos en los que la API debe haber sido desplegada para estar en la etapa.

  • Deployable Environments: seleccione los entornos que deben estar asociados a las APIs de esta etapa (y en los que estas APIs pueden ser desplegadas).

  • Attributes (must have): seleccione los atributos que las APIs deben tener para estar en la etapa.

  • Attributes (must not have): seleccione los atributos que las APIs no deben tener para estar en la etapa.

  • Interceptors (must have): especifique los interceptores que deben estar en el flujo de las APIs de la etapa. Para añadir los interceptores, haga clic en el icono icon settings de ese campo. En la ventana que se abre, seleccione primero el tipo de interceptor (Type) y a continuación el interceptor y sus configuraciones necesarias. Haga clic en ADD INTERCEPTOR. Es posible editar la configuración de un interceptor que ya ha sido añadido. Para esto, haga clic en la etiqueta del interceptor a editar.

  • Interceptors (must not have): especifique los interceptores que no deben estar en el flujo de las APIs de la etapa. Para añadir interceptores a este campo, siga los mismos pasos descritos para el campo Interceptors (must have) o deshabilite el botón Must Have de un interceptor ya añadido.

  • API Maturity: determine el porcentaje mínimo de Interface Completeness (nivel de madurez del Swagger) para las APIs de la etapa.

Una vez que haya terminado la configuración, haga clic en CREATE STAGE para crear la etapa.

Edición y eliminación de etapas

Para editar las configuraciones de una etapa existente, haga clic en el icono icon settings situado en la esquina superior derecha de la tarjeta correspondiente a la etapa que desea editar.

Se abrirá una ventana que contiene un formulario con la información de la etapa. Aquí puede cambiar el nombre de la etapa y sus requisitos, según los campos descritos arriba. Haga clic en el botón SAVE STAGE para guardar los cambios o en el botón CANCEL para descartarlos.

Siempre que realice cambios en las reglas de una etapa de un flujo de trabajo, los equipos de APIs deben ser notificados para ajustar las APIs a las nuevas reglas. Algunos consejos sobre cómo hacerlo:

  • Entrar en las APIs de la etapa y guardarlas de nuevo, haciendo que se les aplique la nueva regla.

  • Si una API está en producción, no hacer ajustes, pero esperar una nueva demanda de evolución y crear una nueva versión de la API que contenga las nuevas reglas.

Para eliminar una etapa, haga clic en el icono icon delete situado en la esquina superior derecha de la tarjeta correspondiente a la etapa que desea eliminar. En la ventana que se abre, haga clic en DELETE para confirmar el descarte definitivo de la etapa o en CANCEL para cancelar la operación.

  • No se puede eliminar una etapa si contiene cualquier API.

  • No se puede eliminar la primera etapa de un flujo de trabajo.

Eliminación de flujos de trabajo

El Organization Workflow no se puede eliminar.

Para eliminar un Team Workflow, haga clic en el icono icon delete de la tarjeta correspondiente al flujo de trabajo que desea eliminar, en la pantalla Workflows. Esto abrirá una ventana para la confirmación de la acción, realizada por el botón DELETE.

No es posible eliminar un flujo de trabajo si contiene una API en una de sus etapas.

Consejos de uso

Lo que sigue no son reglas absolutas, sino sugerencias para utilizar la funcionalidad:

  • Es una buena práctica dejar la etapa de entrada de un flujo de trabajo (es decir, la primera etapa) sin requisitos. Por lo tanto, todos podrán crear APIs sin restricciones. A partir de ahí, las siguientes etapas pueden tener requisitos progresivamente más restrictivos que siguen su estrategia de APIs y el proceso de desarrollo del equipo.

  • Una regla que ayuda mucho a mantener el flujo de «desarrollo → homologación → producción» es utilizar entornos de implementación como premisa para crear las etapas de los flujos de trabajo.

  • Cuando realice cambios en las reglas de una etapa que contiene APIs, recuerde guardar esas APIs de nuevo (incluso si no realiza ningún cambio en ellas). Esto es necesario para que la nueva regla se aplique a las APIs que ya formaban parte de la etapa.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]