Herramientas de usuario

Herramientas del sitio


ada:tips:sicoferp:general:pbtows:procesos:guiarapidacomponenteproxy

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:guiarapidacomponenteproxy [2019/09/02 21:36]
172.16.200.205
ada:tips:sicoferp:general:pbtows:procesos:guiarapidacomponenteproxy [2019/09/02 21:54] (actual)
172.16.200.205
Línea 17: Línea 17:
  
 A continuación se visualiza una imagen de ejemplo con la implementación de la clase de operación A continuación se visualiza una imagen de ejemplo con la implementación de la clase de operación
-{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​01001guiarapidaproxy.png?​600 |}}+{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​01001guiarapidaproxy.png?​800 |}}
  
   - **Clase de Operación**:​ Es la encarga de exponer el consumo del servicio web en funciones accesibles en el modelo de invocación de componentes. Se debe tener presente que estas clases en ningun escenario deben implementar lógica del negocio solo deben servir de intefaz de comunicación del consumo y respuesta de los servicios.   - **Clase de Operación**:​ Es la encarga de exponer el consumo del servicio web en funciones accesibles en el modelo de invocación de componentes. Se debe tener presente que estas clases en ningun escenario deben implementar lógica del negocio solo deben servir de intefaz de comunicación del consumo y respuesta de los servicios.
Línea 24: Línea 24:
 A continuación se explica con ejemplos en imagenes el modelo de implementación de invocación por las capas del framework aplicando la arquitectura propuesta. Se toman 2 casos en los cuales se pueden implementar Proxies. A continuación se explica con ejemplos en imagenes el modelo de implementación de invocación por las capas del framework aplicando la arquitectura propuesta. Se toman 2 casos en los cuales se pueden implementar Proxies.
  
-==== Paso 3: Caso ComponentProcessProxy (Ejemplo Componente Fórmulas Liquidación Nómina) ====+==== Paso 3a: Caso ComponentProcessProxy (Ejemplo Componente Fórmulas Liquidación Nómina) ====
 Este caso expone la forma adecuada de creación de clases de operación de proxy para procesos del ERP. Este caso expone la forma adecuada de creación de clases de operación de proxy para procesos del ERP.
  
Línea 37: Línea 37:
 A continuación se visualiza la imagen de la implementación del Componente Fórmula Liquidación. A continuación se visualiza la imagen de la implementación del Componente Fórmula Liquidación.
  
-{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​01001guiarapidaproxy.png |}}+{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​01001guiarapidaproxy.png?800 |}}
  
 === Consideraciones === === Consideraciones ===
Línea 54: Línea 54:
 A continuación se visualiza la imagen de la implementación del Componente Fórmula Liquidación. A continuación se visualiza la imagen de la implementación del Componente Fórmula Liquidación.
  
-{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​01002guiarapidaproxy.png |}}+{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​01002guiarapidaproxy.png?800 |}}
  
 === Consideraciones === === Consideraciones ===
   * No implementar lógica de negocio en las clases n_cst_proxy   * No implementar lógica de negocio en las clases n_cst_proxy
 +
 +==== Paso 3b: Caso ComponentCrudProxy (Ejemplo Componente CRUD: Tipo Identificación) ====
 +Este caso expone la forma adecuada de creación de clases de operación de proxy para procesos CRUD (simples) del ERP.
 +
 +=== Modelo de implementación:​ Métodos Wrapper con las Operaciones Soportadas por el CRUD ===
 +El modelo debe implementar los siguientes métodos wrapper((http://​consejostallerdeprogramacion.blogspot.com/​2015/​11/​que-es-wrapper-y-donde-lo-utilizamos.html)):​
 +  * **of_get_ws_crud_read_only_one**:​ Para operaciones de consulta de un solo registro
 +  * **of_get_ws_crud_read**:​ Para operaciones de listado de registro
 +  * **of_get_ws_crud_create**:​ Para operaciones de inserción
 +  * **of_get_ws_crud_update**:​ Para operaciones de Actualización
 +  * **of_get_ws_crud_delete**(No Implementado):​ Para operaciones de eliminación
 +
 +Estas funciones no pueden ser consumidas directamente por las implementaciones de operación de la clase proxy ya que son métodos protegidos por definición,​ por lo tanto deben encapsularse en métodos publicos para ser accedidos por la logica del negocio que lo requiera. Por estandarización los métodos deben ser encapsulados en los siguiente métodos públicos:
 +  * **of_get_ws_crud_read_only_one** -> **of_crud_consultar**
 +  * **of_get_ws_crud_read** -> **of_crud_listar**
 +  * **of_get_ws_crud_create** -> **of_crud_insertar**
 +  * **of_get_ws_crud_update** -> **of_crud_actualizar**
 +  * **of_get_ws_crud_delete**(No Implementado) -> **of_crud_eliminar**
 +
 +Estos métodos debe que permitir:
 +  - Inicializar el Componente de consumo del Proxy (Previamente debe estar configurado en el catalogo de componentes. El método **of_init_component** recibe el nombre del componente y la referencia del objeto de mensajes.
 +  - Por último debe consumir la interface que corresponda a la operación del wrapper actual siempre se debe enviar el json con los parametros de consumo del servicio (No se debe enviar el config en el json) y el objeto de mensajes .
 +
 +De igual forma debe asegurar que el resultado del proceso debe ser devuelto en un objeto tipo **n_cst_return**
 +
 +A continuación se visualiza la imagen de la implementación del Componente Fórmula Liquidación.
 +
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​02001guiarapidaproxy.png?​800 |}}
 +
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​02002guiarapidaproxy.png?​800 |}}
 +
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​02003guiarapidaproxy.png?​800 |}}
 +
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​02004guiarapidaproxy.png?​800 |}}
 +
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​02005guiarapidaproxy.png?​800 |}}
 +
 +=== Consideraciones ===
 +  * No implementar lógica de negocio en las clases n_cst_proxy
 +
 +=== Modelo de implementación:​ Método of_interface_consume_ws ===
 +En este método se debe implementar la lógica de consumo de las operaciones expuestas por el servicio. Se deben seguir los siguientes pasos: ​
 +
 +  * Definir el objeto proxy del componente el cual contiene los métodos expuestos por el servicio por lo general el nombre es generado automaticamente y está definido de la siguiente forma **n_ws[código de la aplicación]_[nombre del componente]soap** Ejemplo: n_ws05_formula_liquidacionsoap
 +  * Inicializar el objeto proxy consumiendo el método **of_create_instance()**
 +  * Crear un Choose Case donde se puedan identifcar las interfaces de operación del servicio las cuales estan definidas en los métodos Wrapper creados. Cada opción del case debe consumir un método del proxy y debe devolver el resultado en una variable de tipo String
 +  * Se debe encapsular el resultado y devolver en un tipo **n_cst_json** para que sea procesado en las capas de implementación posteriores.
 +
 +De igual forma debe asegurar que el resultado del proceso debe ser devuelto en un objeto tipo **n_cst_json**
 +
 +A continuación se visualiza la imagen de la implementación del Componente Fórmula Liquidación.
 +
 +{{ :​ada:​tips:​sicoferp:​general:​pbtows:​procesos:​02006guiarapidaproxy.png?​800 |}}
 +
 +=== Consideraciones ===
 +  * No implementar lógica de negocio en las clases n_cst_proxy
 +
  
  
  
ada/tips/sicoferp/general/pbtows/procesos/guiarapidacomponenteproxy.1567460165.txt.gz · Última modificación: 2019/09/02 21:36 por 172.16.200.205