Herramientas de usuario

Herramientas del sitio


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

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

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 14:21]
administraidor
ada:tips:sicoferp:general:pbtows:procesos:developmentstandards:nomenclature:metadataservice [2019/10/18 19:44] (actual)
administraidor [Check List de Implementación]
Línea 47: Línea 47:
   * **return_user_message**:​ Mensaje destinado al usuario.}   * **return_user_message**:​ Mensaje destinado al usuario.}
   * **return_technical_message**":​ Mensaje Técnico.   * **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_response_date**:​ Fecha de respuesta del servicio (Es retornada desde el servidor).
-  * **return_object**:​ Objeto Json de retorno.+  * **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).   * **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. 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 60: 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 78: 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 110: Línea 129:
   * **USER_ADM.TBL_ENTITY_COLUMN.REF_COMPONENT_CODE**:​ Dependencia componente   * **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.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 ==
 +{{ :​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
  
-COMMENT ON COLUMN ​USER_ADM.TBL_ENTITY_COLUMN.ENTITY_REQUIRED IS 'Indica ​si la columna es requerida';​+  * **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)
  
-COMMENT ON COLUMN ​USER_ADM.TBL_ENTITY_COLUMN.REF_PARAM_CONSUME_SERVICE IS '​Parametros de consumo del servicio dependencia de la columna';​+== Ejemplo Registro: ​USER_ADM.TBL_COMPONENT_SERVICE == 
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​developmentstandards:​nomenclature:​view_record_tbl_component_service.png?600 |}}
  
-COMMENT ON COLUMN USER_ADM.TBL_ENTITY_COLUMN.ENTITY_SUB IS '​Referencia de la dependencia que soporta el atributo (solo para tipo JSON)';​ 
  
-COMMENT ON COLUMN USER_ADM.TBL_ENTITY_COLUMN.ENTITY_SECTION IS '​Sección de agrupación para atributos (campos) ​de las entitdades ​de consumo ​respusta de servicios';​+==== 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 que previamente fue definida.
  
-COMMENT ON COLUMN USER_ADM.TBL_ENTITY_COLUMN.MESSAGE_REFERENCE_CODE IS '​Código de mensajeria para soporte multilenguaje';​+== Ejemplo Asignación de metadata en powerbuilder == 
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​developmentstandards:​nomenclature:​view_set_metada_pb.png?600 |}}
  
-COMMENT ON COLUMN ​USER_ADM.TBL_ENTITY_COLUMN.ENTITY_COLUMN_VISIBLE IS '​Indica si la columna ​de la entidad es visible';​+==== 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).
ada/tips/sicoferp/general/pbtows/procesos/developmentstandards/nomenclature/metadataservice.1571408464.txt.gz · Última modificación: 2019/10/18 14:21 por administraidor