Herramientas de usuario

Herramientas del sitio


ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:metadataservice

¡Esta es una revisión vieja del documento!


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

  • Se implementará nomenclatura en profundida, es decir, cada estructura json será descrita por una metadata.
  • Las metadatas se pueden asociar segun estructura del servicios (consumo/respuesta)
  • Toda respuesta (return_object) debe tener su metadata
  • Toda metadata debe estar relacionada con un componente.

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

  • return_component_code: Código del componente al cual pertenece la operación del servicio SOAP expuesto.
  • return_code: Código de retorno del consumo. [0:Cancel,1:Ok,-1:Error,2:Continue]
  • return_user_message: Mensaje destinado al usuario.}
  • return_technical_message“: Mensaje Técnico.
  • return_number: Variable de respuesta númerica.
  • return_string: Variable de respuesta string.
  • return_datetime: Variable de respuesta fecha/hora.
  • return_response_date: Fecha de respuesta del servicio (Es retornada desde el servidor).
  • return_object: Objeto Json de retorno (Es el campo donde se debe configurar la metadata).
  • return_execution_time: Tiempo de procesamiento del servicio (Es diferente al tiempo de respuesta del servicio).
  • _metadata_json_: Metadata generica asociada a la operación del 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:

  • CONSUME: Acción asociada a los consumos o invocaciones de las operaciones expuestas en los servicios.
  • RESPONSE: Acción asociada a las respuestas o salidas generadas por las operaciones expuestas de lso servicios.

Las metadatas deben configurarse teniendo presente las siguientes reglas

  1. 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
  2. Mayusculas: Los nombres de la metadata deben generarse en mayusculas.
  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:

  • USER_ADM.TBL_ENTITY: Tabla principal, contiene el encabezado de la configuración de la metadata.
  • USER_ADM.TBL_ENTITY_COLUMN: Contiene el detalle ó descripción del contenido de la metadata.
  • USER_ADM.TBL_ENTITY_TYPE: Define el tipo de entidad.

Estructura de las tablas de configuración

USER_ADM.TBL_ENTITY

Contiene el encabezado de la metadata o CRUD;

  • USER_ADM.TBL_ENTITY.ID: Identificador de registro
  • USER_ADM.TBL_ENTITY.ENTITY_NAME: Nombre de la metadata
  • USER_ADM.TBL_ENTITY.ENTITY_SQL: Sentencia de la metadata (Por lo general son consultas estáticas que describen la estructura general de la metadata)
  • USER_ADM.TBL_ENTITY.ENTITY_DESCRIPTION: Descripción asociada a la metadata
  • USER_ADM.TBL_ENTITY.ENTITY_TABLE: Tabla de actualiziación asociada a la metadata (Por lo general en las estructuras de definición estatica se utiliza DUAL)
  • USER_ADM.TBL_ENTITY.ENTITY_LOCAL: Identifica el origen de la estrcutura descrita (Local/Cliente)
  • USER_ADM.TBL_ENTITY.ESTADO: Estado del registro
  • USER_ADM.TBL_ENTITY.FECHA_REGISTRO: Fecha registro
  • USER_ADM.TBL_ENTITY.USUARIO_REGISTRO: Usuario registro
  • USER_ADM.TBL_ENTITY.ENTITY_TYPE_CODE: Tipo de entidad *

Ejemplo Registro: USER_ADM.TBL_ENTITY

USER_ADM.TBL_ENTITY_COLUMN

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

  • USER_ADM.TBL_ENTITY_COLUMN.ID: Identificador de registro
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_NAME: Nombre de la metadata
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_COLUMN: Nombre del a columna o atributo
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_UPDATE: Indica si el atributo es actualizable (CRUD)
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_PK: Indica si el atributo hace parte del a llave primaria (CRUD)
  • COLUMN USER_ADM.TBL_ENTITY_COLUMN.ENTITY_REQUIRED_INSERT: Indica si el atributo es requerido en el proceso de inserción
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_REQUIRED_DELETE: Indica si el atributo es requerido en el proceso de eliminación
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_REQUIRED_UPDATE: Indica si el atributo es requerido en el proceso de actualización
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_DEFAULT_VALUE: Valor por defecto
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_VALIDATION: Validación de datawindow
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_MESSAGE_CODE: Mensaje de validación
  • USER_ADM.TBL_ENTITY_COLUMN.ESTADO: Estado del registro
  • USER_ADM.TBL_ENTITY_COLUMN.FECHA_REGISTRO: Fecha registro
  • USER_ADM.TBL_ENTITY_COLUMN.USUARIO_REGISTRO: Usuario registro
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_DATATYPE: Tipo de dato
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_DATALENGTH: Longitud del tipo de datos
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_DATAPRECISION: Precisión del tipo de datos
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_NULLABLE: Indica si el tipo de datos es nulo
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_LABEL: Etiqueta asociada a la columna
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_MIN_VALUE: Valor minimo permitido para el tipo de datos
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_MAX_VALUE: Valor máximo permitido para el tipo de datos
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_OBFUSCATE_COLUMN: Indica si la columna se ofusca para devolución de información
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_CONTEXT_VIEW: Contexto de visualización de la entidad
  • USER_ADM.TBL_ENTITY_COLUMN.REF_ENTITY_COLUMN: Identificador de la columna referenciada como dependencia
  • USER_ADM.TBL_ENTITY_COLUMN.REF_COMPONENT_CODE: Dependencia componente
  • USER_ADM.TBL_ENTITY_COLUMN.REF_SERVICE_CODE: Dependencia servicio
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_REQUIRED: Indica si la columna es requerida
  • USER_ADM.TBL_ENTITY_COLUMN.REF_PARAM_CONSUME_SERVICE: Parametros de consumo del servicio dependencia de la columna
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_SUB: Referencia de la dependencia que soporta el atributo (solo para tipo JSON)
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_SECTION: Sección de agrupación para atributos (campos) de las entidades de consumo y respuesta de servicios
  • USER_ADM.TBL_ENTITY_COLUMN.MESSAGE_REFERENCE_CODE: Código de mensajeria para soporte multilenguaje
  • USER_ADM.TBL_ENTITY_COLUMN.ENTITY_COLUMN_VISIBLE: Indica si la columna de la entidad es visible

Ejemplo Registro: USER_ADM.ENTITY_COLUMN_VISIBLE

ada/tips/sicoferp/general/pbtows/procesos/developmentstandards/nomenclature/metadataservice.1571424404.txt.gz · Última modificación: 2019/10/18 18:46 por administraidor