Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:metadataservice [2019/10/18 16:20] administraidor [Definición de la Respuesta de Servicio] |
ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:metadataservice [2019/10/18 19:44] (actual) administraidor [Check List de Implementación] |
||
---|---|---|---|
Línea 56: | Línea 56: | ||
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. | 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 ===== | ===== 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. | 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 | ||
+ | |||
+ | - **Mayusculas**: Los nombres de la metadata deben generarse en mayusculas. | ||
+ | - **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 | ||
+ | - **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 ==== | ==== Configuración DB ==== | ||
Línea 64: | Línea 79: | ||
* **USER_ADM.TBL_ENTITY**: Tabla principal, contiene el encabezado de la configuración de la metadata. | * **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_COLUMN**: Contiene el detalle ó descripción del contenido de la metadata. | ||
- | * **USER_ADM.TBL_ENTITY_TYPE**: Define el tipo de entidad. | + | * **USER_ADM.TBL_COMPONENT_SERVICE**: Asocia las metadatas raíz a las operaciones (servicios) registradas de los componentes. |
==== Estructura de las tablas de configuración ==== | ==== Estructura de las tablas de configuración ==== | ||
- | ==== USER_ADM.TBL_ENTITY ==== | + | === USER_ADM.TBL_ENTITY === |
Contiene el encabezado de la metadata o CRUD; | Contiene el encabezado de la metadata o CRUD; | ||
Línea 82: | Línea 97: | ||
* **USER_ADM.TBL_ENTITY.ENTITY_TYPE_CODE**: Tipo de entidad * | * **USER_ADM.TBL_ENTITY.ENTITY_TYPE_CODE**: Tipo de entidad * | ||
- | === Ejemplo Registro: USER_ADM.TBL_ENTITY === | + | == Ejemplo Registro: USER_ADM.TBL_ENTITY == |
{{ :ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:view_record_tbl_entity.png?600 |}} | {{ :ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:view_record_tbl_entity.png?600 |}} | ||
- | ==== USER_ADM.TBL_ENTITY_COLUMN ==== | + | === USER_ADM.TBL_ENTITY_COLUMN === |
Contiene la definición de la estructura de la metadata/CRUD | Contiene la definición de la estructura de la metadata/CRUD | ||
Línea 121: | Línea 136: | ||
* **USER_ADM.TBL_ENTITY_COLUMN.ENTITY_COLUMN_VISIBLE**: Indica si la columna de la entidad es visible | * **USER_ADM.TBL_ENTITY_COLUMN.ENTITY_COLUMN_VISIBLE**: Indica si la columna de la entidad es visible | ||
- | + | == Ejemplo Registro: USER_ADM.ENTITY_COLUMN == | |
- | === Ejemplo Registro: USER_ADM.ENTITY_COLUMN_VISIBLE === | + | |
{{ :ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:view_record_tbl_entity_column.png?600 |}} | {{ :ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:view_record_tbl_entity_column.png?600 |}} | ||
+ | |||
+ | === USER_ADM.TBL_COMPONENT_SERVICE=== | ||
+ | Contiene las operaciones de los servicios registrados a los componentes | ||
+ | |||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.ID**: Identificador de registro | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.CODIGO**: Código de identificador externo | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.COMPONENT_CODE**: Código del Componente | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.DESCRIPCION**: Descripción del servicio | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.ESTADO**: Estado del registro | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.METHOD_DEFINITION**: Método o servicio | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.OPCION**: Opción de Menu | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.FECHA_REGISTRO**: Fecha de registro | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.USUARIO_REGISTRO**: Usuario registro | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.INVOCATION_CONTEXT**: Indica el contexto de invocación del servicio | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.ENTITY_CONSUME**: Entidad que representa la metadata de consumo | ||
+ | * **USER_ADM.TBL_COMPONENT_SERVICE.ENTITY_RESPONSE**: Entidad que representa la metadata de retorno del consumo return_object) | ||
+ | |||
+ | == Ejemplo Registro: USER_ADM.TBL_COMPONENT_SERVICE == | ||
+ | {{ :ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:view_record_tbl_component_service.png?600 |}} | ||
+ | |||
+ | |||
+ | ==== 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 == | ||
+ | {{ :ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:view_set_metada_pb.png?600 |}} | ||
+ | |||
+ | ==== Observaciones ==== | ||
+ | * Las metadata raíz de consumo (**CONSUME**) y respuesta (**RESPONSE**) se asocian en la tabla **USER_ADM.TBL_COMPONENT_SERVICE** | ||
+ | * Las metadatas internas se asignan en el código de componente. | ||
+ | * Por lo general las metadata se deben devolver en las respuestas de los servicios. | ||
+ | * Las metadatas de consumo no se devuelven en los componentes, sin embargo es posible consultarlas por medio de las operaciones de cada componente y se encuentran en la tabla **USER_ADM.TBL_COMPONENT_SERVICE**. | ||
+ | * Todas las operaciones (servicios) deben tener una metadata raíz que describa la estructura de retorno. | ||
+ | * Toda metadata debe describir en su totalidad el contenido de la respuesta y cada json en la respuesta debe tener su propia metadata. | ||
+ | |||
+ | ==== 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. | ||
+ | |||
+ | * Identificar la estructura de la respuesta que se quiere describir en la metadata. | ||
+ | * Separar cada json de la respuesta ya que cada uno representará una configuración de metadata | ||
+ | * Iniciar la configuración de las metadatas, se recomienda empezar con las metadatas externas e ir profundizando en las internas de esta forma se facilita la identificación y configuración ya que se resulve cada profundidad por separado. | ||
+ | * Una vez finalizadas los registros en las tablas de configuración proceda en asociar la metadata a la operación del servicio del componente que representa. | ||
+ | * Por último en el código powerbuilder (de respuesta) asocie al objeto json que describe la metadata el nombre que registro en la configuración (teniendo presente el nombramiento). |