Migración SICOF ERP - Proceso: Organización de Código Fuente
En este proyecto se utilizará la herramienta Maven1) para la construcción de los proyectos Java.
A continuación se explicará la estructura que deberán tener todos los proyectos, servicios o microservicios que se creen como parte de solución de los productos de software generados en la fabrica bajo la tecnología Java:
Pasos Previos
Cada equipo (PC) que se utilice para el desarrollo Java de productos de software de la compañia debe tener instalada la herramienta Maven2) (Se debe instalar la ultima versión disponible) en el IDE de desarrollo. Si desconoce el proceso de descarga, instalación y/o configuración solicite apoyo del área de TI 3).
Estructura General
Debe estár compuesta por las siguientes secciones separadas por punto:
Dominio.Organización.Producto de Sofware.Proceso/Funcionalidad
de los cuales los dos primeros son constantes a todos los desarrollos
co.ada
Ejemplo: Paquete principal
co.ada.sicof.contabilidad.terceros
donde:
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
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.(nuevas secciones)
No se pueden cambiar las 2 primeras secciones: co.ada
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
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 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.
←Volver atrás