Case Management Framework, nuevo acelerador para procesos de negocio

OutSystems es una plataforma de desarrollo de aplicaciones low-code que facilita la aceleración de todos los elementos dentro del desarrollo de aplicaciones dando especial énfasis a la reutilización de sus componentes.

En este artículo hablaremos de cómo OutSystems ha facilitado la aceleración del proceso de gestión de casos relacionados con BPT.

¿Qué es BPT? BPT proviene del inglés Business Process Technology y se entiende como la forma de llevar a cabo una tarea dentro de una organización. Es capaz de abarcar tareas tan simples como el manejo de la información para las facturas sumamente complejas como la transformación de toda una cadena de producción industrial. Especialmente útil para modelar procesos secuenciales.

Viene determinado por ciertas exigencias empresariales donde se busca la eficiencia en el desarrollo de nuevas aplicaciones adaptadas a un entorno Agile. De esta forma, Outsystems permite muy rápidamente alinear las estrategias de negocio con la digitalización de las necesidades empresariales.

Si intentamos crear un proceso, podemos observar que supone una gran complejidad. Este puede componerse de un gran flujo de actividades, automatizadas y humanas, a realizar pensadas durante el desarrollo del ciclo de vida de una entidad.

Outsystems permite diseñar y administrar procesos e integrarlos en sus aplicaciones. Para emitir eventos de proceso, facilita eventos relacionados con las entidades, tanto en la creación como en la actualización de los registros de la entidad.

¿Cómo facilita Outsystems la aceleración de los procesos con Case Management Framework?

Creando un conjunto de bibliotecas de gestión de casos estandarizada. De esta forma, permite organizar las actividades automatizadas y humanas agregando la capacidad de coordinar las actividades basadas en el caso, en lugar de un orden secuencial. Así es como los casos permiten modelar un enfoque más basado en las circunstancias porque las acciones suceden por una circunstancia específica.

Esta necesidad, Outsystems, la encontró haciendo un seguimiento de casos de sus clientes. A través de un brainstorming, pudo estandarizar una biblioteca de gestión de casos con el fin de facilitar el inicio de los nuevos desarrollos de gestión de casos. Agilizando la creación de nuevos procesos de negocio y partiendo de componentes reutilizable, disminuyó considerablemente el tiempo de desarrollo de estos. Una herramienta muy interesante para contextos con objetivos de negocio sumamente complejos.

La arquitectura real contiene 16 módulos, pero hay 3 módulos muy interesante a saber, los módulos API. Estos nos permiten interactuar con el resto de las acciones integradas en los 13 módulos restantes.

  • CaseConfigurations_API

  • CaseProcessConfigurations_API

  • CaseServices_API

Tanto CaseConfigurations_API y CaseProcessConfigurations_API permiten crear casos y procesos, relacionándolos entre si junto con un volumen extenso de nuevas funcionalidades (motores de reglas, calendarios, etc.).

CaseServices_API es usada para utilizar todo lo que se ha construido en los otros dos módulos. Por ejemplo, CaseConfigurations_API puede usarse para otorgar acceso a un grupo específico y CaseServices_API verifica si el usuario tiene acceso a dicho grupo.

Características de Case Management Framework

Auditoría de procesos

Seguimiento de las transacciones del proceso durante todo el ciclo de vida de un caso.

Colaboración

Permite asumir, delegar, liberar, bloquear, escalar o reprogramar tareas.

Control de acceso

Seguimiento y control del acceso a todos los casos que estuvieron asociados con un determinado usuario final o grupo.

Notificaciones

Permite crear un conjunto de plantillas de correo electrónico CMF asociadas con los tipos de casos para mantener activos a los usuarios finales y alertados sobre las acciones necesarias.

Delegación

Los usuarios finales pueden gestionar los períodos de delegación y ausencia. Además de las posibles agrupaciones para actividades cuya lógica y servicios tienen en cuenta delegaciones.

Gestión de acuerdos de nivel de servicio (SLA)

Gestión de acuerdos de nivel de servicio para procesos y actividades con calendarios.

Manejo de casos

Pueden verse en una línea de tiempo, enlazar y también es posible administrar sub-casos.

Condiciones

Permite definir diferentes tipos de reglas que se utilizarán en decisiones de casos y procesos, lo que le ayudará a garantizar que un proceso evolucione como se espera.

Incluye cuatro tipos de reglas:

  • Lógica (devolver sí o no)

  • Grupo (devolver un grupo específico)

  • Usuario (devolver un usuario)

  • Estado (devolver uno o más estados).

Posibles ejemplos de aplicaciones

Las aplicaciones desarrolladas que usan Case Management Framework pueden clasificarse en simple, medio y complejo dependiendo de los tipos de necesidades y escenarios comerciales.

Sencillo

Compuesto por aplicaciones de productividad interna desencadenadas normalmente a través de formularios o toma de decisiones simples. Los típicos procesos son la asignación y reasignación; aprobación o rechazo y el escalamiento de tareas. Estas aplicaciones niegan el requisito de tener aprobaciones u otras tareas diarias que normalmente se abordan mediante el correo electrónico.

Posibles ejemplos de aplicaciones:

  • Aprobaciones de gastos

  • Aprobaciones de vacaciones

  • Incorporación de empleados

  • Rendimiento de los empleados

Medio

Por lo general, se trata de aplicaciones operativas y multifuncionales destinadas a ayudar a mantener un excelente servicio al cliente respaldado por varios canales, como portales web, aplicaciones móviles e interacciones con los clientes a través del chat. La capacidad de integrarse con servicios y sistemas de registros externos y varios con el fin de consolidar y agregar información para brindar un mejor servicio.

Posibles ejemplos de aplicaciones:

  • Casos de soporte

  • Inspecciones

  • Administración de suministros

  • Gestión de contratos

Complejo

Normalmente, los escenarios complejos son los de misión crítica, tanto impulsados por el negocio como por el cliente. Por lo general, son de larga duración como, por ejemplo, la gestión de reclamaciones o la vida completa de un préstamo. Tienen la capacidad de integrarse rápidamente con muchos sistemas centrales diferentes y complejos.

Posibles ejemplos de aplicaciones:

  • Manejo de reclamos

  • Suscripción de pólizas

  • Envío y distribución

  • Detección y gestión de fraudes

¿Cómo instalo Case Management Framework en mi entorno?

Outsystems facilita desde la forge un componente llamado Case Management Framework, creado por Outsystems R&D. Puedes añadir dependencias de todas las funcionalidades, aunque no está permitido su edición.

Bajo mi punto de vista, indagar en él supone una alta complejidad ya que las posibles combinaciones son infinitas pero una buena forma de empezar sería separando nuestra solución en 3 módulos principales.

Módulo interfaz de usuario (UI) donde tendremos las pantallas de nuestra aplicación necesarias para la interacción de los usuarios finales con los casos.

Módulo de servicios (CS) donde se alojarán todas las entidades de negocio, la definición de los casos y los posibles estados para cada caso. Se tendrán tantos módulos CS como definiciones de casos necesarios en nuestra solución.

Módulo de flujo de trabajo (WF) donde se guardarán los procesos BPT asociados con las definiciones de los casos.

Caso práctico

Se ha planteado una posible solución utilizando calendarios para el cálculo de las fechas de vencimiento (SLA) donde se permitirá añadir las horas de la jornada laboral (hora inicio y fin de la jornada laboral), días no laborales (días de la semana donde no se trabaja) y días de vacaciones (posibilidad de ser recurrentes y no recurrentes).

Para este caso se ha utilizado los siguientes elementos facilitados por Case Management Framework dentro de un módulo Service:

  • Módulo CM_WorkingDays_CS

    • Calendar_CreateOrUpdate (Server Action)

    • Holiday_CreateOrUpdate (Server Action)

    • Timezone (Static Entity)

    • WeekDay (Static Entity)

  • Módulo CaseConfigurations_API

    • NonWorkingDay_CreateOrUpdate (Server Action)

Adicionalmente, se han creado 3 entidades estáticas donde añadiríamos diferentes calendarios, con los días no laborales y los días de vacaciones (específicos dependiendo de la zona geográfica).

La relación entre los registros generados en las entidades estáticas junto con las server actions

que facilita Case Management Framework puede verse a continuación.

Adicionalmente, creamos un módulo de interfaz de usuario para que puedan verse reflejadas las configuraciones previas. Dicha pantalla va a componerse de un formulario donde permite relacionar un empleado con un proyecto junto con un componente de Outsystems llamado Date Picker que permitirá seleccionar la disponibilidad de dicho empleado.

Donde puede verse que el día 12 de octubre es festivo y, por tanto, no puede ser seleccionado.

Este ha sido un posible planteamiento, pero hay una gran variedad de posibilidades como, por ejemplo, un proceso que devuelve automáticamente la disponibilidad anual de un empleado. Todo depende de la solución que se requiera desde el negocio.

Tags