Herramientas de usuario

Herramientas del sitio


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

¡Esta es una revisión vieja del documento!


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

Este capitulo contiene información relacionada con la nomenclatura de códificación para el lenguaje Powerbuilder, la cual ha sido definida por la organización.

Se implementará la nomenclatura estandar sugerida por sybase/SAP. La cual puede consultarse desde la url: http://www.pbdr.com/pbstd/varnmstd.htm

Organización de los Componentes

Todos los componentes que se definan en el proceso de migración y posteriomente en el legunaje Powerbuilder que sean expuestos en servicios SOAP por medio del framework PBtoWS SICOF deben seguir los siguientes lineamientos:

Tabla de Código de Aplicaciones

Aplicación Prefijo
Presupuesto01
Tesorería02
Contabilidad03
Compras04
Nómina05
Talento10
Core/Framework/Main00

Cualquier nueva aplicación que se defina y que impacte los componentes Backend debe ser definida en esta tabla.

Tipos de Librerías

  • Librerías Lanzadoras: Son las que exponen las operaciones de los servicios SOAP (Generan la estructura del WSDL).
  • Librerías Invocadoras: Contienen las clases que orquestan la ejecución de los procesos asociados a las operaciones de los servicios expuestos.
  • Librerías Modelo (Lógica del Negocio): Contiene las clases de la lógica del negocio.

Capas de Implementación

  • Capa Core: Capa relacionada con los procesos internos de ejecución. Por lo general está asociada a las operaciones del Framework.
  • Capa Controller: Capa relacionada con los procesos de orquestación de servicios.
  • Capa Model: Capa relacionada con los procesos de la lógica del negocio (código migrado).

Prefijos

  • ws: (WebService): Prefijo asociado a la exposición de servicios. Es utilizado por las librerías lanzadoras.
  • sf: (Software): Prefijo asociado a las librerias de implementación de los procesos y la exposición de los servicios.

Librerías

Se deben crear respetando las siguientes convenciones de acuerdo a la capa de implementación (se toma como ejemplo el componente Login):

Tipo Libreria Prefijo Código Aplicación Capa de implementación Nombre Componente Ejemplo
Lanzadoraws00No Aplicaloginws00_login.pbl
Invocadorasf00controllerloginsf00controller_login.pbl
Modelosf00modelloginsf00model_login.pbl

Observaciones

  • Todos los nombres de librerías deben ser en minuscula.
  • La capa de implementación de la libreria Lanzadora no aplica porque esa capa es gestionada automaticamente por powerbuilder al desplegar las operaciones de los servicios SOAP.
  • Los nombres pueden contener el separador _
  • Los nombres deben representar las funcionalidades contenidas, debe evitar acronimos.
  • Los nombres no deben estar duplicados incluso en otros proyectos.

Codificación

Calificadores de Alcance

Alcance Prefijo Ejemplo Restricciones
Argumentoaal_variableNinguna
Globalggl_variableNo permita en la implementación
Instanceiil_variableNinguna
Locallll_variableNinguna
Sharedssl_variableNo permita en la implementación

Calificadores de Alcance

Tipo Dato Prefijo Ejemplo Observaciones
Anyala_rawSolo se puede utilizar en las librerias Modelo
Blobblblblb_imageSe recomienda hacer uso limitado de este tipo y solo en las librerías Modelo
Booleanblb_exit
Characterclc_letra
Datedld_fechaEvaluar el uso de este tipo en procesos que van a la base de datos. Se recomienda usar el tipo Datetime
Datetimedtldt_fecha
Decimaldecldec_numero
Doubledbldb_numero
Integerili_numero
Longlll_numero
Realrlr_numeroSe recomienda el uso del tipo Double
Stringsls_cadena
Timetlt_tiempoEvaluar el uso de este tipo en procesos que van a la base de datos. Se recomienda usar el tipo Datetime
Unsigned Integeruilui_numero
Unsigned Longullul_numero

Prefijos de Tipo de Datos de Objetos Estándar

Tipo Dato Prefijo Código Aplicación Ejemplo Observaciones
Applicationws00ws00_loginSolo para proyectos de exposición de servicios
Applicationapp00app00_loginSolo para proyectos de consumo de servicios (Proxy)
ClassDefinitioncldef lcldef_Object
ClassDefinitionObjectcldefo lcdefo_ThatObject
Connectioncn lcn_Known
ConnectionInfocni lcni_ServerInfo
ConnectObjectcno scno_ConObj
Datastoreds lds_source
Datawindow Griddwg dwg_listaSolo aplica para la definición del control. No para utilización en la implementación
Datawindow Freedwf dwf_consultaSolo aplica para la definición del control. No para utilización en la implementación
ada/tips/sicoferp/general/pbtows/procesos/developmentstandards/nomenclature/pb.1571349089.txt.gz · Última modificación: 2019/10/17 21:51 por administraidor