Tabla de Contenidos

PBtoWS - Proceso: WorkFlow de Servicios de Componentes

A continuación se explicará el proceso de creación de los workflow de los servicios de los componentes del backend

¿Que es un Workflow Backend?

Existen muchas definiciones asociadas al concepto, sin embargo el enfoque utilizado en el backend para este tipo de funcionalidades se basará en procesos internos de sistemas informaticos y tecnologias de la información.

Segun https://serviceaide.atlassian.net/wiki/spaces/CloudSMGoldfishES/pages/3638305/C+mo+crear+un+workflow

“Un workflow es un grupo de tareas que automatiza las tareas de TI complejas y repetitivas.
Por lo general, cada workflow es un conjunto de tareas específicas que utiliza conectores, acciones basadas en scripts y
temporizadores de retraso.”

Para el proyecto de migración SICOF se utilizará el concepto workflow backend el cual se define como un grupo de servicios que estan relacionados y representan funcionalidades de SICOF ERP.

Consideraciones

Tipos de Workflow

Se han definido los siguientes tipos de workflow para describir las interacciones entre servicios y componentes.

Notas

Definiciones Generales

A continuación se definen algunos conceptos generales que se aplican a los workflow backend SICOF. Tener presente que algunas definiciones no se describen en este apartado ya que son obvias en el contexto de los desarrolladores de la fabrica y proyecto de migración SICOF. Si el lector requiere aclaración de algun tema, favor comunicarse con el equipo de desarrollo backend.

Acción de Conectores

Las acciones de conectores indican la relación entre el origen/destno. A continuación se describen las acciones utiizadas en los pasos de los caminos de un workflow:

Configuración DB

Los workflow requieren de configuración las cuales deben realizarse en las siguientes tablas del esquema:

Pasos para crear un workflow

No todas las tablas son requeridas para la creación de un workflow porque por defecto ya existe una configuración basica realiza. Para crear un workflow debe seguir los siguientes pasos:

  1. Configurar Metadata de consumo y respuesta de los servicios
  2. Configurar el cataogo del componente con sus servicios
  3. Crear encabezado del workflow (Por concenso se recomienda utilizar el mismo nombre del componente)
  4. Crear los pasos que definen el servicio y registrar adecuadamente los tag de identificación de los lanzadores de acciones.

Una vez finalizada la configuración el workflow estará listo para vincularlo (según su tipo) a los procesos del ERP.

Consumo de Workflow

La funcionaidad de los workflow puede ser consumida por un servicio SOAP el cual en el ambiente de desarrollo está registrado en la url: http://10.1.40.170:88/ws00_workflow/n_ws00_workflow.asmx el cual cuenta con 2 operaciones expuestas:

Ejemplo de consumo SOAP

Notas

Ejemplo visual (SOAP-UI)

Ejemplo estructura de respuesta (JSON)

{
    "return_code": "1",
    "return_user_message": "Flujo de trabajo generado correctamente",
    "return_technical_message": "consulta de datos existosa",
    "return_response_date": "11/12/2019 16:14:01",
    "return_object":     {
        "workflow_code": "NOVEDAD_DESCUENTO",
        "workflow_description": "Flujo de trabajo para los procesos del componente: novedad_descuento",
        "workflow_type": "WINDOW_COMPONENT_WORKFLOW",
        "workflow_component_code": "NOVEDAD_DESCUENTO",
        "workflow_service_code": "NOVEDAD_DESCUENTO_LISTAR",
        "step": [
        {
            "step_number": 1,
            "step_order": 0,
            "step_tag": null,
            "step_launcher_type": null,
            "step_launcher_tag": "list_novedad",
            "step_source":             {
                "step_source_component": "",
                "step_source_service": "",
                "step_source_gui": "",
                "step_source_action": "",
                "step_source_endpoint": ""
            },
            "step_target":             {
                "step_target_component": "NOVEDAD_DESCUENTO",
                "step_target_service": "NOVEDAD_DESCUENTO_LISTAR",
                "step_target_gui": "GRID",
                "step_target_action": null,
                "step_target_endpoint": ""
            }
        },
        {
            "step_number": 2,
            "step_order": 10,
            "step_tag": null,
            "step_launcher_type": null,
            "step_launcher_tag": "show_novedad",
            "step_source":             {
                "step_source_component": "",
                "step_source_service": "",
                "step_source_gui": "",
                "step_source_action": "",
                "step_source_endpoint": ""
            },
            "step_target":             {
                "step_target_component": "NOVEDAD_DESCUENTO",
                "step_target_service": "NOVEDAD_DESCUENTO_CONSULTAR_DETALLE_NOVEDADES",
                "step_target_gui": "TABULAR",
                "step_target_action": null,
                "step_target_endpoint": ""
            }
        },
        {
            "step_number": 3,
            "step_order": 20,
            "step_tag": null,
            "step_launcher_type": null,
            "step_launcher_tag": "edit_novedad",
            "step_source":             {
                "step_source_component": "",
                "step_source_service": "",
                "step_source_gui": "",
                "step_source_action": "",
                "step_source_endpoint": ""
            },
            "step_target":             {
                "step_target_component": "NOVEDAD_DESCUENTO",
                "step_target_service": "NOVEDAD_DESCUENTO_CONSULTAR_DETALLE_NOVEDADES",
                "step_target_gui": "FORM",
                "step_target_action": null,
                "step_target_endpoint": ""
            }
        },
        {
            "step_number": 4,
            "step_order": 30,
            "step_tag": null,
            "step_launcher_type": null,
            "step_launcher_tag": "save_novedad",
            "step_source":             {
                "step_source_component": "",
                "step_source_service": "",
                "step_source_gui": "",
                "step_source_action": "",
                "step_source_endpoint": ""
            },
            "step_target":             {
                "step_target_component": "NOVEDAD_DESCUENTO",
                "step_target_service": "NOVEDAD_DESCUENTO_GUARDAR_NOVEDADES_DESCUENTO",
                "step_target_gui": null,
                "step_target_action": null,
                "step_target_endpoint": ""
            }
        },
        {
            "step_number": 5,
            "step_order": 40,
            "step_tag": null,
            "step_launcher_type": null,
            "step_launcher_tag": "cancel_novedad",
            "step_source":             {
                "step_source_component": "",
                "step_source_service": "",
                "step_source_gui": "",
                "step_source_action": "",
                "step_source_endpoint": ""
            },
            "step_target":             {
                "step_target_component": "NOVEDAD_DESCUENTO",
                "step_target_service": "NOVEDAD_DESCUENTO_LISTAR",
                "step_target_gui": "GRID",
                "step_target_action": null,
                "step_target_endpoint": ""
            }
        }
        ]
    },
    "return_workflow_step_tag": "",
    "return_execution_time": "282",
    "metadata_json__": "GENERIC_METADATA_RESPONSE"
}