Business Layer Diagram

En el diagrama se observan tres paquetes que comparten gran parte de sus funcionalidades con el resto de paquetes en la capa de Business, evidenciado por la gran cantidad de dependencias que apuntan a cada uno de ellos, estos son: En primer lugar, TenantsService, que como su nombre lo indica brinda funcionalidades relacionadas a los tenants a través de su interfaz ITenantsService como eliminar, obtener, actualizar, obtener el Id de un tenant de manera asíncrona, obtener el tipo de licencia, actualizar los atributos de licencia, etc. En segundo lugar, SecurityService, el cual contiene clases configuración de seguridad, configuración y validación de claves, y la clase principal de donde se importan la mayoría de sus funcionalidades, ApplicactionUserManager, que administra a los usuarios de la aplicación a través de los permisos que tienen, valida sus roles, revisa si se ha conectado desde un nuevo dispositivo, desde que sucursal se conecta, si su contraseña ha expirado, entre otras opciones de seguridad. En tercer lugar, SystemService, contiene funcionalidades nativas del sistema como lo son la creación, actualización, activación/desactivación, y obtención de recursos como divisiones, localidades, divisas, etc.; una funcionalidad que resalta y es utilizada por el resto de paquetes es la de generación de un Id único y válido para su respectivo registro en la base de datos, esta función la provee el servicio del sistema SystemService, en donde el Id generado contiene 16 caracteres numéricos, e incluye en su estructura el identificador de la división a la que pertenece el recurso, la sucursal y un contador secuencial que es independiente para cada recurso.
Por otro lado, se observa a la clase ApplicationServiceBase, de la cual heredan gran parte del paquete AccountingService, y también un par de clases de SystemService. De esta clase base se heredan propiedades que son instancias de SystemService, DataService, ApplicationUserManager, DbUserActionLogService y TenantsService, y también tasks que incluyen las acciones de get, create, update, activate y deactivate.
El resto de paquetes que incluyen en el diagrama son: CriptoService, paquete de servicio de encriptación usando AES (Estándar de Encriptación Avanzada). MailerService, paquete de servicio de mensajería por correo que envía, recibe y configura correos electrónicos con todos sus parámetros de configuración. AppLogginService, paquete de servicio de log de errores y que incluye en cada log el nombre de usuario, dirección ip y un mensaje. ErrorsLogsService, paquete de servicio que lee la información del log de errores de sistema y usuario, y la presenta, también puede filtrar por fecha y agregar nuevos logs de errores. PreferencesServices, paquete de servicio de preferencias de usuario en la aplicación, como los favoritos. DbUsersActivityLogService, paquete de servicio que registra las actividades de loggin del usuario, como inicio de sesión, cambio de contraseña, bloque de cuenta, etc. AccountingService, paquete con todos los servicios de contabilidad de la aplicación, como los servicios de asiento contable, servicio de planes de cuentas, servicio para el formulario 101 de impuestos, entre otros.
Created with the Personal Edition of HelpNDoc: Free EBook and documentation generator