La arquitectura del aplicativo está basada en sistema multinivel donde se maneja la lógica de presentación, aplicación, servicios, dominio y persistencia bajo tres capas (Cliente, Servidor de Aplicaciones y Servidor de base de datos). Según esto, el esquema gráfico de la arquitectura se ve así:

Se observa, en el nivel inicial, un cliente con un navegador estándar como Internet Explorer o Netscape Navigator conectado a Internet como mínimo por una conexión conmutada a 56 Kbps, en la cual debe estar exclusivo a ella, o una conexión dedicada por medio de un ISP (con IP válida o por medio de un Proxy), en la cual dependiendo de las magnitudes de uso debe ser como mínimo 128 Kbps.
En el nivel intermedio, tenemos el Servidor de Aplicaciones. Tal y como se presenta el aplicativo, actualmente posee en este nivel un Contenedor de Páginas Dinámicas de Java, el Tomcat. En este nivel se cuenta con un equipo que puede tener sistemas operativos desde Windows 2000 Server o superior, Linux RedHat 9, Linux SE 3.0, AIX 5L 5.1 o Solaris 8. Debe tenerse la JVM (Java Virtual Machine) del caso.
Ahora, en el último nivel, se tiene el servidor con la Base de Datos. Por medio de un conector, desde el nivel intermedio, se hace la comunicación para transaccionalidad con respecto a los datos. Siempre la comunicación está entre el servidor de aplicaciones y el usuario final o Internet, nunca entre los datos y el usuario final.
El sistema está diseñado bajo un modelo MVC (Modelo Vista Controlador) el cual separa la lógica de presentación de la lógica del negocio y presenta las siguientes características:
- Bajo costo de administración de clientes
- Alta accesibilidad, flexibilidad, disponibilidad y tolerancia a fallos.
- Alta estabilidad e independencia de base.
El sistema facilita el trabajo en diferentes bases de datos como son ORACLE, POSTGRESQL o Motores de base de datos con estándar SQL y almacenamiento de datos estructurado a través de XML, para la persistencia de la información transaccional y de colaboración.
El desarrollo del software está basado en el potente lenguaje de programación JAVA, que ofrece independencia de la arquitectura del Hardware/Software de los sistemas actuales y una gran cantidad de APIs estandarizadas para facilitar el desarrollo del software.
JAVA ha demostrado ser una plataforma que se lleva muy bien con la redes de computadoras, ya que éstas suelen ser heterogéneas en cuanto a la arquitectura de los equipos interconectados.
La seguridad de la aplicación está enmarcada en la implementación de anillos de seguridad físicos y lógicos que protegen la accesibilidad a los datos de la aplicación y la información del sistema, empleando métodos de encriptación y controles de acceso a las funcionalidades del aplicativo.
Rendimiento
El esquema presentado, además de ser un estándar en Internet, garantiza el rendimiento al separar los recursos para dos servicios muy diferentes: La publicación y la transaccionalidad en el motor de base de datos.
Es muy importante poder ofrecer estos servicios por separado por el uso de recursos en ambos casos. El procesamiento, la memoria RAM, la conectividad y, por supuesto, el acceso a disco -ya sea para lectura o escritura-.
Seguridad
- Ventaja de la Arquitectura de Tres Niveles
- Adicionalmente, la arquitectura presentada brinda un buen nivel de seguridad al permitir que el equipo que ofrece los datos se conecte solamente con una interfaz física del servidor de aplicaciones. Con ello, el servidor de datos no está físicamente conectado a ninguna subred de Internet o de una red LAN dificultando el posible acceso a dicho equipo.
Firewall
Un firewall (o cortafuegos) disminuye en gran medida posibilidades de un ataque malintencionado hacia los servicios de una Institución. El esquema recomendado en este caso es el siguiente:

Como se observa en el esquema de seguridad recomendado, un firewall separa las subredes posibles en la Institución inicialmente física y luego lógicamente. La regla estándar en este esquema es:
| Origen | Destino | Servicio | Acción |
| Any |
Servidor de Aplicaciones |
HTTP |
Permitir |
Requerimientos del Sistema
| Procesador | Bus Frontal | Caché | Memoria |
| 3GHZ - Crecimiento a segundo procesador |
800 Mhz |
1 Mb Level 2 |
4 Gb 4 Slots - Crecimiento hasta 16 Gb |
| Controladora | PCI | Puertos | CD-ROM | Almacenamiento | Interfaces de red |
| Single Channel Ultra320 Hot Swap-OnBoard RAID-1 |
1 x full-length y 1 half-length PCI card |
4 USB (2 Frente - 2 Atrás), 1 serial & RS-485 |
24X Floppy Dis |
2x146GB Ultra320 SCSI Hot-Swap 10 Krpm |
2 x Gigabit Ethernet Onboard |
Si la entidad tiene limitantes de espacio en rack de servidores, se recomiendan servidores optimizados para rack de una unidad (1 UR). Si no es así, la alternativa de Torre da la posibilidad de obtener mejores precios. Adicionalmente, un servidor modelo Torre permite mayor crecimiento en almacenamiento al permitir hasta dos discos duros más que un modelo rack optimized en su almacenamiento interno.
Software de Publicación
Como se mencionó anteriormente, el aplicativo está compuesto de Java Server Pages y Servlets lo que permite que se “publique” por medio de un contenedor de JSP, de los cuales el más generalizado es el Jakarta Tomcat de carácter libre. Igualmente, si la institución posee un servidor de aplicaciones que por defecto soporta la publicación de JSP, éste puede hacer el papel de contenedor y para mencionar los más generalizados tenemos:
- Oracle 9iAS
- WebSphere de IBM
- iPlanet de Sun Microsystems
- Jboss de carácter libre
Los datos específicos del Tomcat son los siguientes:
| Software | Vesión |
| Publicador |
Apache 2.X y Jakarta-tomcat 4.1.30 |
JVM
|
La adecuada al sistema operativo |
Requerimientos Mínimos para Servidor de Base de Datos
| Procesador | Bus frontal | Caché | Memoria |
| Dual 3.6 GHZ |
800 Mhz |
1 MB Level 2 |
4 GB 4 Slots - Crecimiento hasta 16 GB
|
| Controladora | PCI | Puertos | CD-ROM | Almacenamiento | Interfaces de red |
| Single Channel Ultra320 Hot Swap-OnBoard RAID-1 |
1 x full-length y 1 half-length PCI card |
4 USB (2 Frente - 2 Atrás), 1 serial & RS-485 |
24X Floppy Disk |
2x146GB Ultra320 SCSI Hot-Swap 10 Krpm |
2 x Gigabit Ethernet Onboard |
Firewall
| | Concurrent Connections | Simultaneous VPN tunnels | Processor |
| Up to 190 Mbps |
130,000 |
2000 |
433-MHz |
| Random access memory |
Flash memory |
Cache |
System bus
|
| 32 MB or 64 MB of SDRAM |
16 MB |
128 KB level 2 at 433 MHz |
Single 32-bit, 33-MHz PCI |
| Concurrent connections |
168-bit 3DES IPSec VPN throughput: Up to 135 Mbps with VAC+ or 63 Mbps with VAC 128-bit AES IPSec VPN throughput: Up to 130 Mbps with VAC+ 256-bit AES IPSec VPN throughput: Up to 130 Mbps with VAC+ |
|
|
Esquema de backup
- Unidad de cinta externa para uno de los xSeries DDS4. Requiere tarjeta adicional en el servidor.
Software de Base de Datos.
| Motor | Versión |
| Oracle |
Oracle9i Enterprise Edition Release 9.2.0.1.0 para Linux x86 |
| Postgres |
PostgreSQL 7.4 Plataforma LINUX |
Requerimientos de funcionamiento
Sistemas Operativos
- Sun Microsystems Solaris 8
- IBM AIX 5L 5.1
- Linux RedHat SE 3.0
- Windows 2000 Server.
Ancho de Banda Recomendado para la red WAN
- El ancho de banda recomendado para la salida del servidor de aplicaciones sería 256 Kbps. Este no es el ancho de banda para la institución. El ancho de banda para la Institución responde no sólo a la cantidad de usuarios sino a la cantidad de equipos instalados en la misma.
Nota: Para el aplicativo Hermesoft no se requiere el motor de base de datos ORACLE.