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:howto:sicoferp:factory:migracionsicoferp:process:backend:organizacionproyectosourcecode [2020/03/27 13:41] carlos.torres [Observaciones] |
ada:howto:sicoferp:factory:migracionsicoferp:process:backend:organizacionproyectosourcecode [2020/07/24 12:08] (actual) carlos.torres |
||
---|---|---|---|
Línea 10: | Línea 10: | ||
Debe estár compuesta por las siguientes secciones separadas por punto: | Debe estár compuesta por las siguientes secciones separadas por punto: | ||
- | **Dominio.Organización.Producto de Sofware.Proceso.Funcionalidad** | + | **Dominio.Organización.Producto de Sofware.Proceso/Funcionalidad** |
de los cuales los dos primeros son constantes a todos los desarrollos | de los cuales los dos primeros son constantes a todos los desarrollos | ||
Línea 16: | Línea 16: | ||
**co.ada** | **co.ada** | ||
- | Ejemplo | + | Ejemplo: Paquete principal |
- | **co.ada.sicof.contabilidad.terceros.listado** | + | **co.ada.sicof.contabilidad.terceros** |
donde: | donde: | ||
Línea 26: | Línea 26: | ||
* **contabilidad**: Producto de Software / Módulo | * **contabilidad**: Producto de Software / Módulo | ||
* **tercero**: Opcion / Proceso | * **tercero**: Opcion / Proceso | ||
- | * **listado**: Funcionalidad | ||
+ | ==== Estructura de Paquetes ==== | ||
+ | A continuación se describe la organización de los paquetes que debe contenedor un microservicio, no todos son requeridos en el desarrollo ya que dependen del alcance de la funcionalidad soportada, sin embargo se debe mantener la estructura como estandar y no se deben crear estructuras diferentes a menos que el microservicio lo requiera y previamente haya sido aprobado por el lider de desarrollo. Se permiten sub paquetes con el fin de organizar el proyecto. | ||
+ | |||
+ | Todo microservicio de definir la siguiente estructura según el alance del desarrollo: | ||
+ | |||
+ | * **Paquete Principal**: Representa el paquete raíz del microservicio. | ||
+ | * **controller**: Representa el paquete de los controladores y procesos del negocio. | ||
+ | * **config**: Contiene las configuraciones asociadas a los recursos del microservicio. Ejemplo: swagger, RestConfiguration. | ||
+ | * **dbconnect**: Contiene las clases de configuración de conexión a las bases de datos. | ||
+ | * **repo** ó **dao**: Contiene las clases de acceso a datos. Ejemplo: Clases heredadas de JpaAdaRepository | ||
+ | * **service**: Represente los proxys/brokers que puedan ser creados para exponer/modificar una operación de un microservicio. | ||
+ | * **client**: Contiene los clientes que consumen operaciones de microservicios externos. | ||
+ | * **event**: Contiene configuraciones especiales. Este paquete solo será necesario en aquellas configuraciones donde se deben intervenir eventos de APIs. | ||
+ | * **business**: Contiene el desarrollo de la lógica del negocio del microservicio | ||
+ | |||
+ | Con los siguientes ejemplos se pretende explicar la estructura estandar de un microservicio: | ||
+ | |||
+ | * **co.ada.sicof.contabilidad.tercero** | ||
+ | * **co.ada.sicof.contabilidad.tercero.controller** | ||
+ | * **co.ada.sicof.contabilidad.tercero.config** | ||
+ | * **co.ada.sicof.contabilidad.tercero.dbconnect** | ||
+ | * **co.ada.sicof.contabilidad.tercero.repo** | ||
+ | * **co.ada.sicof.contabilidad.tercero.service** | ||
+ | * **co.ada.sicof.contabilidad.tercero.client** | ||
+ | * **co.ada.sicof.contabilidad.tercero.event** | ||
+ | * **co.ada.sicof.contabilidad.tercero.business** | ||
==== Consideraciones ==== | ==== Consideraciones ==== | ||
Es posible que algun desarrollo requiera una estructura con mas secciones de las definidas en la Estructura General o con algunas diferencias, esto será posible teniendo presente las siguientes condiciones | Es posible que algun desarrollo requiera una estructura con mas secciones de las definidas en la Estructura General o con algunas diferencias, esto será posible teniendo presente las siguientes condiciones | ||
- | - Se respeta la estructura general: **Dominio.Organización.Producto.Proceso.Funcionalidad.(nuevas secciones)** | + | - Se respeta la estructura general: **Dominio.Organización.Producto.Proceso.(nuevas secciones)** |
- No se pueden cambiar las 2 primeras secciones: **co.ada** | - No se pueden cambiar las 2 primeras secciones: **co.ada** | ||
- El nuevo producto no hace parte del ERP | - El nuevo producto no hace parte del ERP | ||
+ | - Evite que le nombre del paquete principal inicie con **co.ada.models** (Genera un bug de referencias en la actual versión de Springboot) | ||
==== Observaciones ==== | ==== Observaciones ==== | ||
* Los nombres de los productos de software deben ser validados y revisados con el lider de desarrollo. | * Los nombres de los productos de software deben ser validados y revisados con el lider de desarrollo. | ||
* Los nombres de los procesos deben representar opciones y/o procesos del producto de software. | * Los nombres de los procesos deben representar opciones y/o procesos del producto de software. | ||
- | * Los nombres de las funcionalidades serán los métodos del servicio de los procesos. | + | * Los nombres de las funcionalidades serán los métodos del servicio de los procesos y deben describir acciones. |
* Los nombres de las secciones extras quedarán a criterio del desarrollador sin embargo se recomienda utilizar nombres que describan u orienten el código que ejecutan. | * Los nombres de las secciones extras quedarán a criterio del desarrollador sin embargo se recomienda utilizar nombres que describan u orienten el código que ejecutan. | ||
- | [[ada:tips:sicoferp:general:migracionsicoferp:process:backend|←Volver atrás]] | + | [[ada:howto:sicoferp:factory:migracionsicoferp:process:backend|←Volver atrás]] |