Arquitectura de la aplicación
Basado en la tecnología Java EE de Oracle, el Argos Software utiliza una arquitectura N-Tier o multi-capa las cuales se resumen en la siguiente imagen y se describen a continuación.
Capa de presentación
Esta capa, también denominada capa Cliente, es lo que ve el usuario al ejecutar la aplicación en una terminal. Maneja la interacción con el usuario (interfaz de usuario), desde la cual el usuario invoca comandos, actualiza vistas y carga datos, en otras palabras, maneja todas las peticiones de datos hacia el servidor y se controla cómo se presentan los datos.
Para implementar esta capa se utilizará la tecnología JavaFX de Oracle que permite crear aplicaciones RIA (aplicación de Internet enriquecida por sus siglas en Inglés). Este tipo de aplicaciones surgen como una combinación de las ventajas que ofrecen las aplicaciones web y las aplicaciones tradicionales, buscando mejorar la experiencia y productividad del usuario y minimizar el tráfico de datos entre el cliente y el servidor.
La aplicaciones creadas con JavaFX pueden ejecutarse sobre cualquier sistema operativo que tenga instalada un Máquina Virtual de Java (JRE), y permite también ejecutarse sobre una amplia variedad de dispositivos.
Capa de negocio
En esta capa se procesan todas las peticiones de la aplicación cliente y delega las acciones en el servidor, estas pueden ser, guardar datos en la base de datos, actualizar los archivos del sistema, retornar datos al servidor, o algún tipo de proceso analítico. Determina y le da formato a los datos que son retornados al cliente.
Para implementar esta capa se utilizará la tecnología Java EE (Java Enterprise Edition) de Oracle, a través de un servidor de aplicaciones que funciona como un contenedor de EJB (Enterprise Java Beans) donde residen las reglas e inteligencia del negocio.
Si bien se sugerirá como servidor de aplicaciones el Payara Application Server, se podrá instalar sobre otros servidores disponibles en el mercado.
Capa de datos
Esta capa es donde residen los datos del sistema.
Para implementar esta capa se utilizará un gestor de bases de datos o RDMBS que se encarga el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.
Si bien se sugerirá el MySQL de Oracle para soportar esta capa, se podrá instalar sobre otro RDBMS disponibles en el mercado.
Implementación
Todas las capas pueden residir en un mismo hardware (PC), si bien lo más usual es que existan varios equipos donde se ejecuta la Capa de presentación y que las Capa de negocio y Capa de datos residan en uno o más servidores de la empresa. Incluso si el crecimiento o necesidades de la empresa lo requieren, esta tecnología permite hacer uso de característica avanzadas como balance de carga para distribuir el trabajo entre dos o más servidores y/o proveer un servicio 7x24 (7 días 24 horas sin interrupción).
Ventajas de la arquitectura N-Tier
Esta división de la aplicación en capas tiene las siguientes ventajas:
- Los accesos, recursos y la integridad de los datos son controlados por el servidor, lo que permite centralizar el control y evitar que un cliente defectuoso o acceso no autorizado pueda dañar el sistema.
- Al realizarse el procesamiento del lado del servidor permite tener clientes más delgados y que requieran menor capacidad de procesamiento.
- Se puede aumentar la capacidad de clientes y servidores por separado. Cualquier elemento puede ser aumentado o mejorado, incluso la capacidad de soportar balance de carga lo que hace que el sistema sea altamente escalable.
- Permite intercambiar cualquiera de las capas sin que afecte a las otras capas. De esta forma se podría el día de mañana cambiar por ejemplo la interfaz del usuario sin afectar las reglas del negocio ni la persistencia, o cambiar un el RDBMS sin que afecte el funcionamiento de la aplicación ni la interfaz del usuario.
- Esta arquitectura de múltiples capas está soportada por tecnologías suficientemente desarrolladas, que proveen servicios de seguridad, integridad y transacciones seguras.
Creado con el Personal Edition de HelpNDoc: Herramienta fácil de usar para crear archivos de ayuda HTML y páginas web de ayuda