Tabla de Contenidos

PBtoWS - Procesos - Backend Powerbuilder (WS-SOAP) - Estándares de Desarrollo - Nomenclatura: Metadata de Servicios SOAP (Expuestos)

Este capitulo contiene información relacionada con la nomenclatura de códificación para la metadata de los servicios SOAP expuestos, la cual ha sido definida por la organización.

Consideraciones

Estructura de Respuesta de Servicio

A continuación se describe la estructura de devolución de servicio la cual aplica para todas las respuestas de los servicios SOAP expuestos por los componentes Powerbuilder, se toma como ejemplo el servicio de login:

{
    "return_component_code": "LOGIN",
    "return_code": "0",
    "return_user_message": "sesión vigente",
    "return_technical_message": "sesión vigente",
    "return_response_date": "16/10/2019 13:38:58",
    "return_object":     {
        "login": "SICOF",
        "company": [
        {
            "codigo_empresa": "9999999999",
            "nit": 892000757,3,
            "razon_social": "UNIVERSIDAD DE LOS LLANOS (PRINCIPAL)",
            "_metadata_json_": "LOGIN_RESPONSE_COMPANY"
        }
        ],
        "dependence": [
        {
            "codigo_dependencia": 67,
            "descripcion_dependencia": "ADMINISTRATIVA",
            "_metadata_json_": "LOGIN_SECOND_PHASE_DEPENDENCE_RESPONSE"
        }
        ],
        "token_session": "c6e612d569abed936d2abc1f61de85d415509acbbc1645e67b162388a87760c8",
        "multiempresa": "S",
        "_metadata_json_": "LOGIN_RENEW_RESPONSE"
    },
    "return_execution_time": "157"
}

Definición de la Respuesta de Servicio

La metadata debe relacionarse en un atributo llamado _metadata_json_ el cual debe estar contenido en cada estructura json de la respuesta y esa metadata debe estar previamente registrada en la base de datos de configuración.

Proceso de configuración de la Metadata

El proceso de metadata requiere que se realicen varios tipos de configurción las cuales se describen a continuación.

Definición de Nombramiento

Acciones de Operación

Se definen como las acciones que pueden presentarse en la exposición de servicios generados por los componentes powerbuilder:

Las metadatas deben configurarse teniendo presente las siguientes reglas

  1. Mayusculas: Los nombres de la metadata deben generarse en mayusculas.
  2. Nombres: Toda metadata debe respetar la siguiente estructura en su nombramiento [Componente]_[Accion de Operación]_[Nombre de proceso]. Ejemplo: LOGIN_CONSUME_COMPANY, LOGIN_RESPONSE_COMPANY
  3. Columnas: Cuando una metadata represente tablas de una base de datos, el nombramiento de las columnas debe ser igual al de los campos de las tablas que mapea y debe reflejar las condiciones y/o restricciones de la columna como Nulos, tipos de datos, etc.

Configuración DB

Consiste en registrar la configuración de la estructura de la metadata la cual se debe realizar en las siguientes tablas de la base de datos de configuración:

Estructura de las tablas de configuración

USER_ADM.TBL_ENTITY

Contiene el encabezado de la metadata o CRUD;

Ejemplo Registro: USER_ADM.TBL_ENTITY

USER_ADM.TBL_ENTITY_COLUMN

Contiene la definición de la estructura de la metadata/CRUD

Ejemplo Registro: USER_ADM.ENTITY_COLUMN

USER_ADM.TBL_COMPONENT_SERVICE

Contiene las operaciones de los servicios registrados a los componentes

Ejemplo Registro: USER_ADM.TBL_COMPONENT_SERVICE

Configuración Powerbuilder

Una vez configurada la metadata en la base de datos, se debe habilitar mediante código powerbuilder al procesar las respuestas de los servicios. Para hacerlo solo debe asignar en los objetos json la propiedad is_metadata_name con el nombre de la metadata que describe la estructura del json y que previamente fue definida.

Ejemplo Asignación de metadata en powerbuilder

Observaciones

Check List de Implementación

La siguiente lista es una guía de implementación de metadatas en los componentes powerbuilder y su uso debe tomarse como una referencia.