Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

DOCUMENTO DE ARQUITECTURA DE REFERENCIA PARA APLICACIONES WEB

GESTIÓN INFORMÁTICA

UNIVERSIDAD DE ANTIOQUIA

Este documento se estructura teniendo en cuenta las recomendaciones del artículo de IBM
“Reference Architecture: The best of best practices”
http://www.ibm.com/developerworks/rational/library/2774.html puede encontrarse también en
Alfresco: Company Home > Sistemas > ArquitecturaDeSoftware.

Capas de la arquitectura de referencia


El documento de referencia está dividido en las siguientes capas:

Capa de Interfaz de usuario: estándares y herramientas para soportar la interfaz de usuario y/o
los servicios de presentación. (p.e: html, interfaces de usuario enriquecidas).

Capa de negocio: estándares y herramientas para soportar la lógica de negocio. (p.e: lenguajes,
estándares de componentes).

Capa media: estándares y herramientas para soportar la gestión de transacciones y la


comunicación entre procesos. (p.e: servidores de aplicaciones, APIs de IPC).

Capa de software de sistema: estándares y herramientas para soportar la gestión de sistemas.


(p.e: sistemas operativos y sistemas de gestión de bases de datos).

A continuación se detalla cada una de las capas:

Capa de interfaz de usuario


Área Productos/servicios/componentes
Estilos y usabilidad Ver el documento “Estandarización de línea grafica.doc” que se encuentra
en alfresco Company Home > Sistemas > FormatosyEstandares. Este
documento define los estándares de línea gráfica que deben seguirse para
el desarrollo de aplicaciones web.
Herramientas de construcción
Lenguajes 1. Para aplicaciones nuevas web se debe usar JSF 1.2 y Icefaces 1.8.
 Para creación de reportes se debe usar JasperReports 3.7.4
2. Para aplicaciones preexistentes en lenguaje PHP 5, el mantenimiento
se debe realizar con el mismo lenguaje y versión.
Entorno de 1. Se debe usar el IDE Netbeans 6.5.1, e incluir el plugin para generar
desarrollo (IDE) proyectos usando la plantilla básica de aplicaciones web. Ver
documento “ManualPlantilla.doc” que se puede encontrar en Alfresco
Company Home > Sistemas > ArquitecturaDeSoftware, el cual explica
la forma de instalación y el uso de este plugin.
Se deben incluir los plugins: jasperserver-plugin-3.7.4.nbm, iReport-
3.7.4.nbm, Facelets support, ICEfaces run-time libraries versión 1.8.2.2
2. Para php: Dado que en PHP se hacen solo modificaciones a
aplicaciones existentes, debe utilizarse lo que actualmente se tiene.
Estrategias de Para aplicaciones en Java, se debe implementar el patrón de diseño MVC,
diseño el cual se apoya en JSF 1.2 y Icefaces 1.8 para las capas de Vista y
Controlador. Como aplicación de referencia puede consultarse el proyecto
ejemploPlantilla que se encuentra en la raíz del CVS instalado en sikuani.
Seguridad Toda página que use datos personales del usuario debe utilizar el
protocolo https y por ende todos los componentes usados en esta, con el
fin de no generar en el navegador del usuario alertas de seguridad. La
Universidad dispone de certificado de seguridad válido en su servidor de
aplicaciones de producción y de un certificado no válido en pruebas.
Componentes
1. Presentación de Para la presentación de errores al usuario se debe usar el estándar de JSF
errores al 1.2
usuario

Capa de negocio
Área Productos/servicios/componentes
Componentes
1. Lenguajes 1. Java (máximo 1.5.018)
2. PHP 5 para mantenimiento de aplicativos hechos en este lenguaje.
2. Entorno de Se debe usar el IDE Netbeans 6.5.1
desarrollo (IDE)
Uso de patrones
Patrón DAO Patrón recomendado por J2EE
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObj
ect.html para acceso a datos.
Este patrón aplica tanto para aplicaciones Java como para aplicaciones
PHP.
Patrón Factory Patrón recomendado por J2EE para complementar el patrón DAO. Este
patrón se usa para dar la posibilidad de acceder a los datos a través
Hibernate o JDBC. La configuración del acceso debe hacerse a través de
DataSource, por ende la aplicación no debe almacenar contraseñas de
acceso a base de datos.
La url de referencia es la misma que para el patrón DAO.
Este patrón aplica tanto para aplicaciones Java como para aplicaciones
PHP.
Patrón DTO Patrón recomendado por J2EE
http://java.sun.com/blueprints/corej2eepatterns/Patterns/TransferObject.
html para transferencia de datos. Este patrón se usa transversal a toda la
aplicación.
Este patrón aplica tanto para aplicaciones Java como para aplicaciones
PHP.
Componentes de servicio
1. Seguridad Para aplicaciones java, utilizar el OID institucional para la autenticación y el
MUA (Módulo Único de Autorización) para la autorización a través de un
filtro de seguridad proveído por la institución.
1. Manejo de logs Log4j versión 1.2.9. En el archivo de propiedades log4j.properties incluido
en el proyecto de referencia se detallan los parámetros que se deben
configurar para el uso de la librería log4j.
Los llamados a la librería pueden ser mediante un método que existe en el
backing bean común que se llama redirectError o mediante un llamado
directo al servicio de registro de log de la librería log4j.
2. Lógica de La lógica de negocio se debe manejar a través de clases dentro del paquete
negocio “bl” (business logic).
3. Servicios web Las clases clientes de servicios web, deben ubicarse dentro del paquete
“bl”.
Para el consumo de servicios web proveídos por la institución se debe
usar la librería OrgSistemasSecurity.jar tal como se indica en el manual
“Para consumir servicios web UdeA. docx“
4. Enrutamiento de Esto es gestionado por IceFaces y JSF 1.2.
peticiones desde
la interfaz de
usuario hacia la
lógica de
negocio
5. Filtros Cualquier filtro necesario en la aplicación, deberá ubicarse en el paquete
“flt”.
Componentes de acceso a datos
1. Procedimientos Con el fin de hacer más segura la aplicación y sus transacciones, todas las
almacenados operaciones (consulta, actualización, creación y eliminación) sobre la base
de datos deben realizarse a través de procedimientos almacenados y
funciones.
El usuario con el cual se accede a la base de datos debe ser diferente al
dueño del esquema, normalmente debe llamarse consultaXXXXX donde
XXXXX es el nombre del sistema (P.E. consultaReune, consultaMares, etc.).
A dicho usuario se le deben otorgar los permisos necesarios para la
ejecución de los procedimientos y funciones creados.
2. Tipos de acceso 1. Utilizar Hibernate 3.0 cuando la aplicación no requiera ejecutar un alto
a datos contenido de consultas.
2. Utilizar JDBC en caso contrario.
De acuerdo con las condiciones de la aplicación, puede darse una
combinación de ambos tipos de acceso. Esta decisión se toma durante la
etapa de diseño de la aplicación.
La configuración del acceso debe hacerse a través de DataSource, por ende
la aplicación no debe almacenar contraseñas de acceso a base de datos.
Capa media
Área Productos/servicios/componentes
Servidores de Para aplicaciones web Java, Oracle Application Server 10.1.3.5
aplicaciones
Servicios de Oracle Internet Directory (OID).
directorio

Capa de software de sistema


Área Productos/servicios/componentes
Sistemas operativos Estaciones para desarrollo: Microsoft Windows 7 y posteriores.
SGBD Oracle 10g

Ambientes: desarrollo, pruebas y producción –


Diagrama general del estándar de arquitectura para desarrollo de
aplicaciones web en java

También podría gustarte