Diseño técnico - Portal de Administración Electrónica

Anuncio
PROYECTO PARA LA IMPLANTACIÓN DEL
REGISTRO FUNCIONARIO HABILITADO
(RFH)
Diseño Técnico de la Aplicación RFH
31/05/2011
CONTROL DE CAMBIOS
Versión
Descripción de la Modificación
Fecha
1.0.0
Creación del documento
31/05/2011
2/90
Visado por
Índice de contenidos
1 INTRODUCCIÓN .............................................................................................................. 11 2 DEFINICIÓN DE LA ARQUITECTURA DE LA APLICACIÓN ........................................ 12 2.1 NIVELES DE ARQUITECTURA ............................................................................................. 12 2.1.1 Arquitectura Física ................................................................................................ 12 2.1.2 Arquitectura Conceptual........................................................................................ 14 2.1.3 Arquitectura Lógica ............................................................................................... 16 2.2 REQUISITOS DE DISEÑO Y CONSTRUCCIÓN ................................................................... 17 2.2.1 Entorno de desarrollo ............................................................................................ 17 2.2.2 Lenguaje de programación ................................................................................... 17 2.2.3 Elementos de la arquitectura ................................................................................ 17 2.2.4 Marcos de trabajo de la arquitectura..................................................................... 19 2.3 EXCEPCIONES ...................................................................................................................... 23 2.3.1 Clases de excepciones ......................................................................................... 23 2.3.2 Tratamiento de excepciones ................................................................................. 25 2.4 ESTÁNDARES Y NORMAS DE DISEÑO Y CONSTRUCCIÓN ............................................ 27 2.4.1 Estándares de codificación ................................................................................... 27 2.4.2 Herramientas de calidad en código....................................................................... 27 2.4.3 Patrones ................................................................................................................ 28 2.4.4 Mecanismos Comunes.......................................................................................... 35 2.5 ENTORNO TECNOLÓGICO .................................................................................................. 38 2.6 REQUISITOS NO FUNCIONALES ........................................................................................ 41 2.6.1 Integración con sistemas externos........................................................................ 44 2.6.2 Alfresco ................................................................................................................. 45 3 DISEÑO DE CASOS DE USO.......................................................................................... 49 3.1 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-001 / AUTENTIFICAR USUARIO ..... 51 3/90
3.2 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-002 / DAR DE ALTA HABILITACIÓN 51 3.3 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-003 / CONSULTAR HABILITACIÓN 52 3.4 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-004 / VER DETALLE HABILITACIÓN
52 3.5 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-005 / REVOCAR HABILITACIÓN ..... 52 3.6 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-006 / MODIFICAR HABILITACIÓN .. 53 3.7 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-007 / CONSULTA DE CREDENCIAL
53 3.8 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-008 / VER DETALLE DE
CREDENCIAL ...................................................................................................................................... 53 3.9 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-009 / CREACIÓN DE CREDENCIAL 54 3.10 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-010 / DESCARGAR CREDENCIAL /
JUSTIFICANTE REC ........................................................................................................................... 54 3.11 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-011 / DAR DE ALTA ORGANISMO . 55 3.12 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-012 / CONSULTAR ORGANISMO ... 55 3.13 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-013 / MODIFICAR ORGANISMO ..... 55 3.14 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-014 / REASIGNAR CATEGORÍAS ... 56 3.15 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-015 / REASIGNAR TRÁMITES ........ 56 3.16 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-016 / CREAR CATEGORÍA .............. 57 3.17 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-017 / VER DETALLE DE CATEGORÍA
57 3.18 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-018 / MODIFICAR CATEGORIA ...... 58 3.19 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-019 / ADMINISTRAR TRÁMITE ....... 58 3.20 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-020 / DAR DE ALTA TRÁMITE ........ 59 3.21 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-021 / VER DETALLE DE TRÁMITES
59 3.22 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-022 / MODIFICAR TRAMITE............ 59 3.23 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-023 / CONSULTAR CATEGORÍA Y
TRÁMITE ............................................................................................................................................. 60 4/90
3.24 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-024 / SALIR ...................................... 60 3.25 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-025 / DAR DE ALTA USUARIOS ..... 61 3.26 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-026 / CONSULTAR USUARIO ......... 61 3.27 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-027 / VER DETALLE USUARIO ....... 61 3.28 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-028 / MODIFICAR USUARIO ........... 62 3.29 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-029 / CONSULTA DE HABILITACIÓN
WS
62 3.30 TAREAS
UNITARIAS
DEL
CASO
DE
USO:
RFH-CU-030
/
DESCARGA
DE
HABILITACIONES, FUNCIONARIOS A EXCEL ................................................................................. 62 3.31 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-031 / CARGA DE TRÁMITES DE UN
ORGANISMO VÍA FICHERO .............................................................................................................. 63 3.32 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-032 / INFORME DE ACCESOS,
OPERACIONES, REGISTROS Y TRÁMITES .................................................................................... 64 3.33 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-033 / DAR DE ALTA FUNCIONARIOS
64 3.34 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-034 / CONSULTAR FUNCIONARIO 64 3.35 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-035 / VER DETALLE FUNCIONARIO
65 3.36 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-036 / MODIFICAR FUNCIONARIO .. 65 3.37 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-037 / LISTADO DE HABILITACIONES
VIGENTES WS .................................................................................................................................... 66 3.38 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-038 / BATCH: VERIFICACIÓN
CRITERIOS HABILITACIÓN ............................................................................................................... 66 3.39 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-039 / BATCH: VERIFICACIÓN
CADUCIDAD HABILITACIÓN ............................................................................................................. 66 3.40 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-040 / CONSULTA NOTIFICACIONES
67 3.41 4 TAREAS UNITARIAS DEL CASO DE USO: RFH-CU-041 / ENVIAR NOTIFICACIONES ... 67 ESPECIFICACIÓN DE COMPONENTES SOFTWARE................................................... 68 4.1 DIAGRAMA DE COMPONENTES SOFTWARE DE LA CAPA DE PRESENTACIÓN .......... 69 5/90
4.1.1 Descripción del componente Sw: RFH -SW-001 / HabilitacionForm .................... 70 4.2 DIAGRAMA DE COMPONENTES SOFTWARE DE LA CAPA LÓGICA DE NEGOCIO....... 72 4.2.1 Descripción del componente Sw: RFH-SW-999 / HabilitacionManager ............... 73 4.3 DIAGRAMA DE COMPONENTES SOFTWARE DE LA CAPA DE ACCESO A DATOS ...... 74 4.3.1 Descripción del componente Sw: RFH-SW-1 / Habilitacion.................................. 75 4.3.2 Descripción del componente Sw: RFH-SW-2 / HabilitacionDAO .......................... 76 4.3.3 Descripción del componente Sw: RFH-SW-3 / Notificaciones .............................. 76 4.3.4 Descripción del componente Sw: RFH-SW-4 / NotificacionDAO .......................... 77 4.3.5 Descripción del componente Sw: RFH-SW-5 / Funcionario ................................. 78 4.3.6 Descripción del componente Sw: RFH-SW-6 / FuncionarioDAO.......................... 79 4.3.7 Descripción del componente Sw: RFH-SW-7 / Credencial ................................... 79 4.3.8 Descripción del componente Sw: RFH-SW-8 / CredencialDAO ........................... 80 4.3.9 Descripción del componente Sw: RFH-SW-9 / AnexoCredencial ......................... 81 4.3.10 Descripción del componente Sw: RFH-SW-10 / AnexoCredencialDAO ........... 81 4.3.11 Descripción del componente Sw: RFH-SW-11 / HistHabilitacion ..................... 82 4.3.12 Descripción del componente Sw: RFH-SW-12 / HistHabilitacionDAO .............. 83 4.3.13 Descripción del componente Sw: RFH-SW-13 / HistFuncionario ..................... 84 4.3.14 Descripción del componente Sw: RFH-SW-14 / HistFuncionarioDAO ............. 84 4.3.15 Descripción del componente Sw: RFH-SW-15 / HabilitacionDAOImpl ............. 85 4.3.16 Descripción del componente Sw: RFH-SW-16 / NotificacionDAOImpl ............. 85 4.3.17 Descripción del componente Sw: RFH-SW-17 / FuncionarioDAOImpl ............. 85 4.3.18 Descripción del componente Sw: RFH-SW-18 / CredencialDAOImpl .............. 86 4.3.19 Descripción del componente Sw: RFH-SW-19 / AnexoCredencialDAOImpl .... 86 4.3.20 Descripción del componente Sw: RFH-SW-20 / HistHabilitacionDAOImpl ....... 86 4.3.21 Descripción del componente Sw: RFH-SW-21 / HistFuncionarioDAOImpl ....... 86 5 DIAGRAMA DE NAVEGACIÓN ....................................................................................... 88 6 PROTOTIPO ..................................................................................................................... 89 6/90
7 ESTRUCTURA FÍSICA DE LA INFORMACIÓN .............................................................. 90 7/90
Índice de figuras
Figura 1 – Diagrama de despliegue de la aplicación ................................................................ 13 Figura 2 – Arquitectura conceptual de la aplicación ................................................................. 15 Figura 3 – Arquitectura lógica de la aplicación ......................................................................... 16 Figura 4 – Modelo Vista Controlador ........................................................................................ 19 Figura 5 – Diagrama de Componentes de RFH ....................................................................... 22 Figura 6 – Diagrama de clases del módulo de excepciones del framework............................. 24 Figura 7 – División de la arquitectura del framework con patrones .......................................... 32 Figura 8 – Diagrama de Secuencia Generico........................................................................... 34 Figura 9 – Actions. Figura Genérica ......................................................................................... 70 Figura 10 – ActionsForm. Figura Generica............................................................................... 70 Figura 11 – Diagrama genérico de managers .......................................................................... 72 Figura 12 – Value Objects. Figura genérica ............................................................................. 74 Figura 13 – DAO genéricos ...................................................................................................... 74 Figura 14 – Diagrama de navegación de RFH ......................................................................... 88 Figura 15 – Prototipo de pantallas RFH ................................................................................... 89 Figura 16 – Modelo Entidad-Relación RFH .............................................................................. 90 8/90
Índice de tablas
Tabla 1 – Librerías .................................................................................................................... 41 Tabla 2 – Requerimientos de seguridad ................................................................................... 42 Tabla 3 – Requerimientos operativos y de rendimiento ........................................................... 44 Tabla 4 – Requerimientos de Integración ................................................................................. 45 Tabla 5 – Tareas unitarias del caso de uso RFH-CU-001 / Autentificar Usuario ..................... 51 Tabla 6 – Tareas unitarias del caso de uso RFH -CU-002 / Dar de alta Habilitación............... 51 Tabla 7 – Tareas unitarias del caso de uso RFH-CU-003 / Consultar Habilitación .................. 52 Tabla 8 – Tareas unitarias del caso de uso RFH-CU-004 / Ver Detalle Habilitación ............... 52 Tabla 9 – Tareas unitarias del caso de uso RFH-CU-005 / Revocar Habilitación .................... 52 Tabla 10 – Tareas unitarias del caso de uso RFH-CU-006 / Modificar Habilitación................. 53 Tabla 11 – Tareas unitarias del caso de uso RFH-CU-007 / Consulta de Credencial ............. 53 Tabla 12 – Tareas unitarias del caso de uso RFH-CU-008 / Ver detalle Credencial ............... 53 Tabla 13 – Tareas unitarias del caso de uso RFH-CU-009 / Creación Credencial .................. 54 Tabla 14 – Tareas unitarias del caso de uso RFH-CU-010 / Descargar Credencial /
Justificante REC ................................................................................................................ 55 Tabla 15 – Tareas unitarias del caso de uso RFH-CU-011 / Dar de Alta Organismo .............. 55 Tabla 16 – Tareas unitarias del caso de uso RFH-CU-012 / Consultar Organismo ................. 55 Tabla 17 – Tareas unitarias del caso de uso RFH-CU-013 / Modificar Organismo .................. 56 Tabla 18 – Tareas unitarias del caso de uso RFH-CU-014 / Reasignar Categorías ................ 56 Tabla 19 – Tareas unitarias del caso de uso RFH-CU-015 / Reasignar Trámites ................... 57 Tabla 20 – Tareas unitarias del caso de uso RFH-CU-016 / Crear Categoría ......................... 57 Tabla 21 – Tareas unitarias del caso de uso RFH-CU-017 / Consulta de Categoría ............... 57 Tabla 22 – Tareas unitarias del caso de uso RFH-CU-018 / Modificar Categoria.................... 58 Tabla 23 – Tareas unitarias del caso de uso RFH-CU-019 / Administrar Trámites .................. 58 Tabla 24 – Tareas unitarias del caso de uso RFH-CU-020 / Dar de Alta Trámite.................... 59 Tabla 25 – Tareas unitarias del caso de uso RFH-CU-021 / Consulta deTrámites.................. 59 9/90
Tabla 26 – Tareas unitarias del caso de uso RFH-CU-022 / Modificar Trámite ....................... 60 Tabla 27 – Tareas unitarias del caso de uso RFH-CU-023 / Consultar Categoría y Trámite ... 60 Tabla 28 – Tareas unitarias del caso de uso RFH-CU-024 / Salir............................................ 60 Tabla 29 – Tareas unitarias del caso de uso RFH-CU-025 / Dar de Alta Usuario ................... 61 Tabla 30 – Tareas unitarias del caso de uso RFH-CU-026 / Consultar Usuario ...................... 61 Tabla 31 – Tareas unitarias del caso de uso RFH-CU-027 / Consultar Usuario ...................... 61 Tabla 32 – Tareas unitarias del caso de uso RFH-CU-028 / Modificar Usuario ....................... 62 Tabla 33 – Tareas unitarias del caso de uso RFH-CU-029 / Consulta de Habilitación WS ..... 62 Tabla 34 – Tareas unitarias del caso de uso RFH-CU-30 / Descarga de Habilitaciones,
funcionarios a excel ........................................................................................................... 63 Tabla 35 – Tareas unitarias del caso de uso RFH-CU-031 / Carga de Trámites de un
Organismo vía fichero ....................................................................................................... 63 Tabla 36 – Tareas unitarias del caso de uso RFH-CU-032 / Informe de Accesos, Operaciones,
Registros y Trámites.......................................................................................................... 64 Tabla 37 – Tareas unitarias del caso de uso RFH-CU-033 / Dar de Alta Funcionario ............. 64 Tabla 38 – Tareas unitarias del caso de uso RFH-CU-034 / Consultar Funcionario................ 65 Tabla 39 – Tareas unitarias del caso de uso RFH-CU-027 / Ver Detalle Funcionario ............. 65 Tabla 40 – Tareas unitarias del caso de uso RFH-CU-036 / Modificar Funcionario ................ 65 Tabla 41 – Tareas unitarias del caso de uso RFH-CU-037 / Listado de habilitaciones vigentes
WS ..................................................................................................................................... 66 Tabla 42 – Tareas unitarias del caso de uso RFH-CU-038 / Batch: verificación criterios
habilitación ........................................................................................................................ 66 Tabla 43 – Tareas unitarias del caso de uso RFH-CU-039 / Batch: verificación caducidad
habilitación ........................................................................................................................ 67 Tabla 44 – Tareas unitarias del caso de uso RFH-CU-040 / Consulta notificaciones .............. 67 Tabla 45 – Tareas unitarias del caso de uso RFH-CU-041 / Enviar notificaciones .................. 67 Tabla 46 – Componentes software de la capa de presentación............................................... 68 Tabla 47 – Componentes software de lógica de negocio ......................................................... 68 Tabla 48 – Componentes software de acceso a datos............................................................. 69
10/90
1 Introducción
El presente documento tiene como objetivo recopilar la documentación realizada en la fase de
diseño técnico de la aplicación del Registro de Funcionario Habilitado para su etapa de
desarrollo. En base a este documento se construirá el software de la aplicación que se
pretende desarrollar. En definitiva este documento será un diseño detallado para la
construcción.
Este análisis técnico está basado en el documento de análisis funcional realizado previamente
para la etapa de desarrollo del RFH, y que a continuación, servirá de base para la elaboración
de planes y casos de pruebas a ejecutar en fases y etapas posteriormente del desarrollo del
aplicativo.
11/90
2 Definición de la arquitectura de la aplicación
El presente documento tiene como objetivo definir la arquitectura que se va a utilizar en la
aplicación de Registros de Funcionarios Habilitados (RFH), indicando de manera detallada la
distribución de los paquetes del sistema en las diversas capas que éste presenta, así como
una descripción de las capas a utilizar y los componentes de software que componen cada
capa.
El objetivo de este documento es proporcionar una descripción de la arquitectura del sistema,
haciendo uso de diversas visiones arquitectónicas para representar diversos aspectos del
sistema. Se realiza con el fin de documentar las decisiones de arquitectura significativas que
se han tomado en el sistema.
2.1 Niveles de arquitectura Dentro de los niveles de arquitectura, se distinguen los tipos: arquitectura física, conceptual y
lógica.
2.1.1
Arquitectura Física
Este apartado tiene como propósito definir la arquitectura física de la aplicación. En la
arquitectura física, se definen los componentes de hardware que soportarán la
aplicación, en este caso: servidores web, de aplicaciones, de base de datos, etc. Esta
arquitectura permitirá ofrecer servicio a varios puestos terminales. Los terminales
deberán contar con un navegador web para acceder a la aplicación.
El despliegue genérico de la aplicación queda ilustrado en el diagrama que se expone
a continuación:
12/90
DIAGRAMA DE DESPLIEGUE DE RFH
SERVIDORES WEB
BASE DE DATOS
BD ALFRESCO
ALFRESCO
BD RFH
RFH
USUARIO
Servicios Externos
DIRECTORIO
RCP
REC
@firma
SERVIDOR
CORREO
Figura 1 – Diagrama de despliegue de la aplicación
13/90
A continuación se detalla como se realiza la comunicación entre el cliente y el servidor en
RFH:
•
La petición desde el navegador del cliente a la página de inicio de la aplicación se
realizará vía HTTPS. Una vez que el ciudadano ha accedido a la aplicación toda la
navegación se realizará mediante un canal seguro usando HTTPS. Para ello, a nivel
del servidor se instalará un certificado de servidor de forma que cualquier cliente que
se conecte pueda confiar en la seguridad de la conexión. De la misma forma, el
usuario de la aplicación deberá proporcionar un certificado digital (o DNI electrónico)
válido por medio del cual la aplicación podrá identificar al usuario que se conecta.
•
Cuando el ciudadano selecciona el certificado con el que desea identificarse, la
aplicación realizará la validación con la plataforma @firma (a través de una petición a
un servicio web), y en caso de que el certificado sea válido, se almacenarán los datos
del ciudadano en la sesión y se mostrará la página de inicio de la aplicación.
•
Una vez el ciudadano ha entrado en la aplicación, la aplicación no volverá a solicitar su
identificación para acceder a otras funcionalidades (mientras los datos del certificado
se mantengan en la sesión).
•
En caso de caída del servidor o que se alcance el tiempo de timeout, el ciudadano
deberá realizar de nuevo el proceso de identificación para poder acceder a las
funcionalidades de la aplicación.
En el siguiente documento, se muestra el detalle de la configuración del entorno de Desarrollo
que se utilizará para la construcción y despliegue del RFH.
RFH - entorno de
desarrollo
Nota: hay que tener en cuenta que, tal como está definido el proyecto del RFH, no se
contempla el despliegue en los entornos de Preproducción y Producción.
2.1.2
Arquitectura Conceptual
La arquitectura conceptual proporciona un modelo común de los servicios que son provistos
por la aplicación para cumplir con los requerimientos que se han definido previamente. En el
siguiente diagrama se puede observar los diferentes módulos funcionales de la aplicación:
14/90
Figura 2 – Arquitectura conceptual de la aplicación
Los módulos definidos en la aplicación RFH estarán accesibles a los usuarios con previa
identificación del mismo a través de un certificado digital validado por @firma. Una vez que el
usuario se ha identificado, se mostrarán los módulos correspondientes a su perfil.
Las funcionalidades definidas en la aplicación y la arquitectura conceptual van a definir lo que
será la arquitectura lógica.
15/90
2.1.3
Arquitectura Lógica
La arquitectura lógica representa la organización que controla la división de la aplicación y
queda ilustrado con el siguiente diagrama que representa las capas y componentes de
software que componen el sistema.
Figura 3 – Arquitectura lógica de la aplicación
16/90
2.2 Requisitos de diseño y construcción En este apartado se van a describir todos aquellos requisitos que están asociados al diseño
de la arquitectura. Asociados a este tipo de requerimientos encontramos los siguientes:
2.2.1
Entorno de desarrollo
La aplicación se desarrollará bajo un entorno Web con los siguientes componentes:
•
Java JDK 1.6
•
Jboss 5.1.0
•
Oracle 11g
•
Struts 1.2.7
•
Spring 2.5.6
•
Hibernate 3.2.5
2.2.2
Lenguaje de programación
Como principal lenguaje de programación se va a emplear el lenguaje orientado a objetos
Java, desarrollado por Sun Microsystems.Se utilizará la versión 1.6 del JDK Java para el
desarrollo de RFH.
La interfaz de usuario se implementará en HTML haciendo uso de etiquetas JSP y Struts.
Se empleará XML para el intercambio de información a través de los WebServices de la
aplicación.
Se emplearán los formatos Excel y PDF para realizar diversas exportaciones de datos.
2.2.3
Elementos de la arquitectura
En este apartado se definirán los elementos que conforman la arquitectura. Éstos son
principalmente los elementos que sustentan el framework de desarrollo del MPTAP.
La arquitectura base sigue el patrón de diseño MVC. La finalidad de este patrón es hacer una
17/90
distinción entre la lógica de toda la aplicación y la lógica propia de la presentación. De esta
forma los objetos que pertenecen a la aplicación se dividen en tres tipos: modelo, vista y
controlador. A continuación se detalla cada uno dee ellos:
2.2.3.1 Modelo
El modelo engloba todo relacionado con los datos, es decir, los objetos de persistencia y la
capa de acceso de acceso a datos, que nos permite realizar las operaciones de búsqueda,
inserción actualización y borrado sobre los datos definidos en la base de datos. Lo ideal es
que el modelo sea independiente del sistema de almacenamiento. Además, dentro del modelo
se definen las reglas de negocio en cuanto a los atributos de la entidades y las posibles
relaciones existentes en dichas entidades.
Esta capa se implementará en RFH mediante el uso del framework Hibernate.
2.2.3.2 Vista
La Vista es la que se encarga de mostrarle al usuario la información del modelo y de
redireccionar los eventos/acciones del usuario hacia el Controlador.
Esta capa se implentará en RFH mediante páginas Web dinámicas usando JSP y Servlets.
2.2.3.3 Controlador
El Controlador es quien gestiona las entradas del usuario. Se encarga de recibir los eventos
de entrada y mapea las acciones que se deben llevar a cabo para cumplir con los
requerimientos del negocio. Una vez ejecutada la acción correspondiente a la entrada que ha
dado el ususario, el controlador seleccionará la vista apropiada como respuesta a la petición
realizada. En esta vista se mostrará la información al ususario.
Esta capa se implementa en RFH, mediante el uso del framework Struts, el cual provee un
Controlador por defecto que se define en un fichero de configuración.
18/90
Figura 4 – Modelo Vista Controlador
A continuacíón se detallan los frameworks mas importantes utilizados en la aplicación y como
se aplica cada uno para lograr satisfacer los elementos de la arquitectura definidos
previamente.
2.2.4
Marcos de trabajo de la arquitectura
La arquitectura anteriormente descrita se basa en 3 de los frameworks más importantes y que
en gran medida se están convirtiendo en estándares de uso en las diferentes capas en las
que intervienen. Éstos son: Struts, Spring e Hibernate. A continuación describimos
brevemente cada uno de ellos.
2.2.4.1 Struts
Struts es un framework para la creación de aplicativos web basados en el patrón de diseño
MVC. Proporciona una serie de facilidades que permiten que nos podamos concentrar en la
lógica y el control del aplicativo y dejar de lado otros aspectos más mecánicos que ya tiene
implementados.
19/90
Struts proporciona, entre otras, las siguientes facilidades:
•
Un Controlador principal ya implementado (patrón Front Controller con Dispatcher
View).
•
Gestión automática de los formularios con refresco entre pantallas y su posible
validación.
•
Gestión de los errores presentándolos en la vista.
•
Internacionalización del aplicativo (multiidioma).
•
Librería de tags para poder ser usados en las vistas.
•
Permite añadir filtros de proceso (patrón Decorating Filter).
•
Un único fichero de configuración que liga los controladores con los formularios de la
aplicación y deja clara su interacción y tiempo de vida.
El framework de desarrollo de aplicaciones J2EE del MPTAP utiliza como base Struts y lo
extiende añadiendo un conjunto de servicios adicionales y patrones.
Struts en RFH
Para el desarrollo de RFH se utiliza la versión Struts 1.2.7.
Para el uso de Struts en RFH se define en el fichero struts-config.xml todas las posibles
entradas que atiende la aplicación, la acción a realizar ante cada entrada y las posibles
salidas de cada acción. De esta forma se hace uso del controlador proporcionado por Struts a
través de esta configuración.
Luego las acciones a ejecutar son clases Java que extienden de las Clase Action de Struts.
En estas clases se hace uso de las clases de negocio propias de la aplicación.
Las clases de negocio son las encargadas de implementar toda la lógica relacionada con
RFH.
En el fichero strus-config.xml se definirán los formularios a utilizar en la aplicación. Estos
formularios su utilizan para enviar los datos desde la vista al servidor. Cada formulario se
implementa como una clase ActionForm y se asocia al formulario en el fichero de
configuración de struts.
2.2.4.2 Spring
Spring es un framework J2EE basado en código “Open Source”. Su núcleo posibilita el
manejo de objetos y sus dependencias, sin necesidad de implementar las llamadas entre
ambos, esta técnica es llamada inversión del control (IOC). De esta manera por ejemplo se
puede conseguir que un Data Access Object (DAO) dependa de un DataSource, sin
20/90
necesidad de hacer referencias en el código utilizando XML para su descripción.
Spring posee entre otras las siguientes características:
•
Descripción declarativa de transacciones para cualquier clase sin necesidad de EJBs.
•
Framework Robusto utilizado en aplicaciones en producción con misiones críticas.
•
Spring tiene soporte para otros frameworks tales como Struts, Hibernate, haciendo
más fácil su integración.
•
Es un contenedor ligero para la Inversión del Control.
•
Plantillas de soporte para los más importantes Mapeadores de Acceso a Datos
(ORMs) y JDBC.
•
Ayuda a organizar la capa de negocio y gestionar las llamadas entre capas.
•
Reduce código y mejora los tiempos de desarrollo.
Spring en RFH
Para el desarrollo de RFH se utiliza la versión Spring 2.5.6.
La principal función de Spring en RFH es servir de inicializador y contenedor de
objetos. A través de archivos XML, Spring inicializa los objetos DAO, Manager y Model
que se utilizan posteriormente en la aplicación.
En la siguiente tabla se muestran donde se definen los objetos que inicializa y
gestiona el contendor de Spring:
Fichero
applicationContext-daos.xml
Objetos a Inicializar
En este fichero se declaran los DAO’s a utilizar en la aplicación
En este fichero se declaran los Manager a utilizar en la aplicación. Además se asocian
applicationContext-managers.xml
los DAO’s creados previamente a los Mangers que lo utilizarán.
En este fichero se define el paquete que debe escanear Spring para encontrar las
clases Model encargadas de hacer el mapeo a las tablas de la base de datos.
Además en este fichero se configura el manejo de las transacciones de base de datos
applicationContext-hibernate.xml
que gestionará Hibernate.
2.2.4.3 Hibernate
Hibernate es un framework Java “Open Source” que proporciona mecanismos de mapeo
objeto/relacional para definir cómo se almacenan, eliminan, actualizan y recuperan los objetos
Java. Además, ofrece servicios de consulta y recuperación que pueden optimizar los
esfuerzos de desarrollo dentro de entornos SQL y JDBC.
21/90
Reduce el esfuerzo necesario para convertir hojas de resultados de la base de datos
relacional en objetos Java.
Hibernate en RFH
Para el desarrollo de RFH se utiliza la versión Hibernate 3.2.5.
Hibernate se utilizará para implementar la capa de datos de la aplicación. Este framework
permite realizar un mapeo de las tablas definidas en la base de datos a clases Java, por lo
que cada una de las tablas creadas para RFH estarán mapeadas a una clase Java con el
mismo nombre que llamaremos clases Model.
Adicionalmente de la clase Model, cada tabla tendrá una clase DAO que permitirá realizar al
resto de la aplicación las operaciones sobre los datos de cada tabla.
A continuación se muestra un diagrama donde se puede ver como se realiza la interaccción
entre las distintas capas que componen RFH:
Figura 5 – Diagrama de Componentes de RFH
22/90
2.3 Excepciones El catálogo de excepciones recoge el conjunto de verificaciones relacionadas con el propio
diseño o con la arquitectura del sistema. La gestión de excepciones permite informar al cliente
de que ha habido un error en la llamada de un método. Esta excepción podrá después ser
tratada de manera adecuada y si es necesario se presentará en pantalla al usuario, se
enviará un correo, etc.
2.3.1
Clases de excepciones
El diseño del tratamiento de excepciones se va a desarrollar según las siguientes
consideraciones:
•
Todas las excepciones que se produzcan en el sistema se van a encapsular en
excepciones de aplicación, de manera que el posterior tratamiento de las mismas
pueda ser centralizado y uniforme.
•
Durante la ejecución es posible que se produzcan situaciones anómalas que serán
controladas, y que recibirán diferentes tratamientos. En algunos casos solo se
mostrará un mensaje informando del error que se ha producido, en otros, la propia
aplicación intentará invocar de nuevo y de manera automática el servicio que ha
fallado (para registro en REC por ejemplo), y en otra, se mostrará un mensaje
indicando que la tarea se realizará automáticamente pasados un tiempo determinado.
•
Para el caso de los servicios externos, se registrarán en la base de datos estos errores
para que luego puedan ser consultados. Además todos los errores dejarán trazas a
nivel de log para poder hacerles seguimiento, para ello se utilizará el mecanismo de
estándar log4j.
•
Para todas las excepciones que se produzcan en la aplicación, tanto por causas
internas como externas, se redireccionará a una pagina de error donde se notificará al
ciudadano que se ha producido un error y el detalle del mismo.
La descripción asociada a los errores que puedan producirse en la aplicación estará
almacenada en ficheros de propiedades (ApplicationResources.properties en el framework), y
la información relativa a su tratamiento vendrá dada en el manejador correspondiente al error.
Dentro de las excepciones funcionales vamos a controlar los siguientes tipos de errores:
•
De base de datos
•
De Alfresco
•
De Sistemas externos
23/90
•
De aplicación
•
De usuario
Mostrando un mensaje informativo para el caso que corresponda.
Atendiendo a la naturaleza de las excepciones podemos clasificarlas como propias del
framework que el MPTAP nos proporciona, o técnicas y funcionales o de negocio. A
continuación se describe cada una de ellas.
2.3.1.1 Excepciones del Framework
Se producen en la ejecución de la aplicación y corresponden a los posibles errores de
procesamiento no esperados en la ejecución normal, como por ejemplo que la base de datos
de consulta esté caída. En estos casos las excepciones reproducen la información técnica del
error para llevar un registro del fallo, y posteriormente se propagan. Los errores de sistemas
habrán de ser atendidos por los Administradores del Sistema, de Bases de Datos, del
Servidor de Aplicaciones o del Servidor Web.
Figura 6 – Diagrama de clases del módulo de excepciones del framework
24/90
2.3.1.2 Excepciones Funcionales o de negocio
Son aquellas que tienen definido un tratamiento desde el análisis funcional. Es decir, que se
corresponden con un error del que se desea propagar y tomar acciones determinadas frente
al usuario final (bien sea mostrando un mensaje con la descripción del error, ejecutar algún
proceso alternativo, etc).
2.3.2
Tratamiento de excepciones
Las posibles causas de generación de errores en las aplicaciones son las que a continuación
se enumeran:
•
Excepciones del compilador de Java 2 Platform, Standard Edition (JDK 1.6.x). Errores
elevados por los distintos paquetes que componen el API del JDK 1.6.x
•
Excepciones producidas por el Java 2 SDK Enterprise Edition (J2EE). Errores
propagados desde los paquetes para el desarrollo de Servlets y EJB
•
Excepciones de cualquier paquete adicional utilizado. Todos los paquetes usados
dentro de una aplicación elevarán sus propios errores. Como por ejemplo, la utilización
del motor OR Hibernate. Podríamos considerar que el framework de desarrollo es un
paquete adicional.
•
Excepciones propias de la aplicación. Dentro de éstas estarán las excepciones
puramente funcionales de cada aplicación.
Desde el punto de vista del tratamiento que pueden recibir, una vez que se han generado, los
errores se van a clasificar en:
•
Recuperable. Este es un caso especial en el que la propia aplicación puede recuperar
el error y volver a invocar al método en el que se produjo el mismo. Serán
considerados errores recuperables aquellos que se produzcan en operaciones en las
que tenga sentido algún reintento, en caso de fallo. Los errores que se produzcan
durante el registro de la solicitud en REC recibirán este tipo de tratamiento, ya que la
propia aplicación intentará de forma automática realizar el registro y en segunda
instancia lo intentará el administrador.
25/90
•
Redireccionable. Todas las excepciones definidas en el módulo de tratamiento de
errores serán redireccionables, de manera que cualquier error que se produzca en el
sistema, una vez capturado, permitirá un tratamiento que redirija al usuario a una
página genérica de error, o en el caso en el que se haya configurado para la
excepción generada, a una página específica de este error en concreto. En este tipo
de tratamiento entran los errores que se producen en la aplicación. Cualquier error que
se produzca se redireccionará a una página genérica donde se mostrará el detalle del
error que se ha producido.
•
Auditable. Cualquier excepción que se produzca en el sistema será auditada (escrita
en un log de aplicación), de forma que puedan identificarse fácilmente todos los
errores que se produzcan en el mismo. Para permitir una mayor flexibilidad, y debido a
la integración con el estándar log4j, la configuración del nivel de errores a auditar se
especificará de forma declarativa. Para cualquier error que se genere en la aplicación
se dejarán trazas en el fichero de logs. Ademas para los servicios externos, se
guardarán en base de datos los errores producidos para poder realizar un análisis más
detallado de los mismos.
•
Notificable. Algunos de los errores funcionales que se definan en la aplicación, una vez
capturados, necesitarán un tratamiento específico, como podría ser la notificación del
error acaecido a una determinada persona o colectivo. Los errores que se produzcan
durante el registro de la solicitud recibirán este tipo de tratamiento, ya que la aplicación
notificará al Administrador y Centro Gestor (correspondiente) a través de un correo
electrónico del error que se ha producido para que estos estén al tanto y puedan tomar
las acciones necesarias para su solución.
26/90
2.4 Estándares y normas de diseño y construcción El objetivo de este apartado es describir los estándares y las normas de diseño y construcción
que van a ser empleados en la elaboración de la aplicación. Se detallarán los patrones
definidos y utilizados en el desarrollo de RFH, que permiten estructurar la aplicación de la
mejor manera.
2.4.1
Estándares de codificación
Como estándar de codificación se va a emplear el que Sun MicroSystems ha definido. La
especificación
del
mismo
se
puede
encontrar
en
la
URL
http://java.sun.com/docs/codeconv/CodeConventions.pdf.
2.4.2
Herramientas de calidad en código
Para asegurar la calidad en código vamos a emplear un conjunto de herramientas que son
descritas a continuación:
2.4.2.1 Java - Checkstyle
Checkstyle es una herramienta de desarrollo, cuyo objetivo es guiar a los programadores en
el desarrollo de un código de Java que cumpla un estándar de codificación. Así el objetivo
principal será, establecer una serie de reglas de calidad para la automatización del análisis de
código estático mediante esta herramienta, en desarrollos sobre Java. Esto la convierte en la
herramienta ideal para los proyectos que deseen ajustarse a un estándar de la codificación y
calidad. Checkstyle es altamente configurable y adaptable a casi cualquier estándar de
codificación. Con la utilización de esta herramienta se pretende mejorar el rendimiento de las
aplicaciones así como la calidad del código generado. Esta herramienta se integrará con el
entorno de desarrollo Eclipse para Java.
2.4.2.2 PMD
PMD es un analizador del código fuente de Java. Mediante esta herramienta y de forma
automática podemos realizar el análisis estático de nuestras aplicaciones Java. Incluye
herramientas de detección de código idéntico.
27/90
PMD escanea el código Java en busca de problemas potenciales como:
•
Posibles bugs, como sentencias try/catch/finally/switch incompletas.
•
Código que no se usa: variables locales, parámetros y métodos privados.
•
Código poco optimo.
•
Expresiones redundantes.
•
Código duplicado.
Además PMD se integra con la herramienta de desarrollo Eclipse. La información completa
sobre esta herramienta se puede encontrar en http://pmd.sourceforge.net.
2.4.3
Patrones
En este apartado se van a describir los patrones de diseño que el framework ha adoptado
para la construcción de la aplicación.
2.4.3.1 Patrones de presentación
Front Controller
El Sistema requiere de un punto centralizado de todas las peticiones para soportar la
integración de los servicios, obtención del contenido, gestión de las vistas y navegación.
Se propone usar un Controller como punto inicial de toda petición. Éste se encargará de
gestionar la petición invocando servicios generales, delegando el proceso de la lógica de
negocio, decidiendo qué vista mostrar, realizando la gestión de los errores, etc. (un Servlet
principal que recibe todas las peticiones).
Este Controller lo provee el Framework de Struts a través del uso de un ActionServlet y su
definición se especifica en el fichero web.xml:
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
De esta forma delegamos el procesamiento de las peticiones que llegan a RFH al controlador
de Struts y que a través de la configuración del fichero struts-config.xml se encargará de
redireccionar las peticiones al componente correspondiente.
28/90
Dispatcher View
La capa de Presentación cambia a menudo y es difícil de mantener y desarrollar, debido a la
mezcla entre la lógica de acceso a datos y la lógica de formateo de presentación. Esto hace
que el sistema sea menos flexible, reutilizable y sostenible. La solución en lo anterior consiste
en combinar un patrón Dispatcher con las vistas y los helpers (tags de ayuda, como norma
general) para gestionar las peticiones y que sea responsable de la gestión de las vistas y la
navegación. Este Dispatcher puede combinarse dentro del FrontController o como un
componente separado que será llamado por éste.
Este Patrón lo provee el Framework de Struts a través del uso de los forwards que se
configuran en el fichero de configuración struts-config.xml y que permite definir un conjunto de
redireccionamientos para cada acción dependiendo del valor de retorno de la ejecución de
dicho Action.
Luego en base a estos forwards se mostrará la vista correspondiente
A continuación se muestra un ejemplo de las posibles vistas que se pueden mostrar para un
Action de la aplicación RFH:
<actionpath="/action/altaHabilitacion"
type="es.map.rfh.action.habilitacion.AltaHabilitacionAction"
name="altaHabilitacionForm"
validate="false"
scope="request">
<forwardname="success"path="pages.confirmacion "/>
<forwardname="error"path="pages.errorGenerico"/>
</action>
En este caso el Action AltaHabilitacionAction desencadenará el proceso de alta de una
habilitacion en RFH con los datos que reciba en el formulario “altaHabilitacionForm”. Si el alta
se realiza correctamente, se mostrará la página de confirmación. En caso de que se produzca
un error, se muestra la página de error.
Composite View
Las páginas Web presentan contenido de diferentes fuentes, usando múltiples subvistas que
componen finalmente una única página. Estas múltiples subvistas varían frecuentemente. La
modificación del layout de vistas múltiples es difícil de mantener y no exenta de errores
debido a la duplicación de código.
29/90
El empleo de este patrón permite usar vistas compuestas por múltiples subvistas atómicas,
incluidas dinámicamente mediante la definición de plantillas, de forma que el layout de la
página sea gestionado de forma independiente a su contenido.
En RFH se usa un layout básico definido en el fichero basicLayout.jsp. El layout luego se
informa con el contenido que se debe mostrar según cada caso. Esto se define en el fichero
tiles-defs.xml. A continuación se muestra un ejemplo de configuración de una ventana con
basicLayout:
Para mostrar la lista de habilitaciones se usa el layout básico el cual se compone de un
header, título, body y footer:
<definitionname="pages.buscarHabilitaciones"
path="/layout/basicLayout.jsp">
<putname="header" value="/layout/template/header.jsp "/>
<putname="title"value="Búsqueda de habilitaciones"/>
<putname="body"value="/jsp/buscarHabilitaciones.jsp"/>
<putname="footer"value="/layout/template/footer.jsp"/>
</definition>
30/90
•
•
•
•
•
•
basicLayout.jsp
header.jsp
menu.jsp
Título (Cadena)
Cuerpo (JSP cuerpo)
footer.jsp
2.4.3.2 Patrones de negocio
Value Object
Este patrón va a ser empleado para encapsular los datos de negocio. Los problemas que
solventa el empleo de este patrón son:
•
•
Modelar la información de negocio.
Integración entre la capa de presentación y la capa de negocio.
En RFH se crean clases Java que encapsulan los datos a usar en las operaciones de
negocio. Estos objetos Bean facilitan el flujo de información entre la capa de negocio y la capa
de datos.
Factory
El patrón Factory permite la instancia de objetos en tiempo de ejecución. La ventaja de utilizar
este patrón de diseño es que tenemos centralizada la creación de los objetos en una clase
que dependiendo de un parámetro, nos devuelve instancias de los mismos. Es una forma de
tener el control de la creación de objetos.
Para que la creación centralizada de objetos sea lo más útil y eficaz, todos los objetos
creados descienden de la misma clase o implementan el mismo interface, con lo que se podrá
usarlos todos de la misma manera, con los mismos métodos gracias al polimorfismo, y sin
estar ligados a una clase concreta en cada momento.
2.4.3.3 Patrones de integración
Data Access Object (DAO)
Este patrón consiste en usar un objeto de acceso a datos que abstraiga y encapsule todo el
acceso a la fuente de datos, evitando así el acceso a las fuentes de manera compleja. De
esta manera cuando la capa de lógica de negocio necesite interactuar con la base de datos,
31/90
ésta utilizará los métodos ofrecidos por DAO. Generalmente la clase de operaciones que
ofrece la capa de datos se le conoce como CRUD (Create, Read, Update y Delete).
En RFH se ha creado para cada tabla de la Base de Datos una Interfaz DAO y una Clase que
implementación esta interfaz usando Hibernate. Esta clase contiene los métodos (crear,
modificar, eliminar y buscar) sobre la tabla correspondiente.
El uso de una interfaz permite aislar la tecnología usada en la implementación usada para la
interacción con la base de datos y de esta forma facilitar el mantenimiento futuro de la
aplicación.
Los DAOs que se usan en RFH se definen en un fichero de configuración de Spring llamado
applicationContext-daos.xml.
struts-config.xml
ActionServlet
Manager
Action
DAO
Browser
JSP
ActionForm
Bean
QueryBean
Model
Tags
SearchResult
Capa de Presentacion
Capa de Lógica de Negocio
Capa de Acceso a Datos
Figura 7 – División de la arquitectura del framework con patrones
Como se aprecia en el diagrama, la capa de presentación se define por la arquitectura de
Struts. La capa de negocio, sin embargo, viene definida por dos componentes:
•
Manager. Son los objetos de proceso de la lógica de negocio desarrollados con java
puro, de manera que la capa de presentación sea independiente de la lógica. Esta
32/90
separación permite que por futuras tendencias hacia otros frameworks o tecnologías,
la lógica de negocio se mantenga invariable.
•
Bean. Son los objetos que mantienen los datos de la lógica de negocio.
La capa de acceso a datos se define por tres componentes:
•
Data Access Object (DAO). Son los objetos que encapsulan toda la lógica de acceso a
datos
•
Model. Son los objetos que reflejan la estructura de cada una de las tablas de BD
gracias al Mapeo objeto-relacional de Hibernate.
•
QueryBean. Al igual que Model, reflejan la estructura de las tablas de BD, además de
proporcionar funcionalidad para la generacion de Criteria.
•
SearchResult. Objetos que encapsulan los resultados
A continuación se presenta el diagrama de secuencia genérico de una petición realizada del
cliente al servidor usando los distintos componentes de la aplicación:
33/90
Figura 8 – Diagrama de Secuencia Generico
34/90
De acuerdo a este diagrama, el ActionServlet de Struts resuelve, a partir de la configuración,
a qué Action invocar y pasar el ActionForm.
Las Action crean los objetos Bean, a partir de los datos del formulario, y se envían a los
objetos Manager.
Los Manager crean objetos QueryBean o Model,que pasan a los DAOs cuando quieren
persistir u obtener información de la capa de datos. Se crearan Model para las operaciones
simples. Si la operación es compleja se pueden crear QueryBeans para facilitar la
composición de la query haciendo uso de Criteria, así como aplicar paginación y ordenación.
Los objetos DAO, que heredan de la clase AbstractHibernateDao, acceden a BD haciendo
uso de Hibernate y retornan el resultado a la capa de negocio. Este resultado será o bien un
objeto Model o una colección de ellos encapsulados en un objeto SearchResult
Una vez se ha obtenido la información de la capa de datos, los Manager convertirán los Model
resultantes a objetos Bean, para posteriormente devolverlos al Action.
El Action podrá enviar la información a la JSP o bien por vía Request o vía ActionForm.
2.4.4
Mecanismos Comunes
2.4.4.1 Validaciones
RFH realizará únicamente validaciones en el servidor, por lo que no se crearán funciones
javascript a tal efecto.
Los objetos ActionForm serán los encargados de implementar un método validate que valide
los campos del formulario y devuelva un objeto ActionErrors a la JSP.
Si se produce uno o varios errores se mostrará el o los mensajes de error en la misma página.
2.4.4.2 Gestión de listados
El mecanismo de Gestión de listados dará soporte tanto a la paginación como a la ordenación
de listados y se compondrá de:
•
ListadoUtilBean: Objeto que encapsula los campos necesarios para manejar la
paginación y la ordenacion. El encargado de crear este objeto, así como los métodos
de su acceso, es el ActionForm. Será recuperado por el Action y pasará al Manager.
El Manager, al crear el objeto QueryBean, le pasará la información de paginación y
ordenación.
35/90
•
ListadoUtil: Clase que contiene métodos estáticos que ofrecen la funcionalidad común
de paginación y ordenación. Se accederá a esta clase únicamente desde los objetos
QueryBean.
2.4.4.3 Navegación
Como se ha definido en este documento, la navegación está soportada por Struts y siempre
será una navegación “de avance”. Esto quiere decir que los botones “Volver” desencadenarán
el mismo proceso que cualquier otro botón, delegar en Struts para resolver la siguiente acción
a ejecutar.
Tampoco se podrá retroceder en la navegación a través de las flechas del navegador. Para
esto se bloqueará esta funcionalidad en el marco base para todas las JSPs de la aplicación.
Siempre que se desee retroceder en la navegación (como hemos visto, sólo a nivel visual) y
mostrar la pantalla anterior como estaba, se hace necesario utilizar un sistema de persistencia
del formulario entre transiciones de la navegación.
2.4.4.4 Persistencia de formularios
El estándar en este aspecto para RFH consistirá en que el Action que recibe el ActionForm de
la pantalla que deseamos mantener, lo envíe a la siguiente JSP vía Request.
Esta JSP se encargará de enviarlo de nuevo al Action correspondiente.
2.4.4.5 Caché
En RFH no se utilizará la caché para hacer una precarga inicial de combos ni para paginar en
memoria los resultados de las consultas a BD. Cualquiera de estos casos supondrán
consultas independientes a BD.
2.4.4.6 Accesibilidad y usabilidad
RFH no será accesible en su totalidad, ya que algunas pantallas de la aplicación requieren la
ejecución de código javascript por requisitos propios de la aplicación. Por ejemplo, para que
un usuario pueda firmar electrónicamente una habilitación, es necesario usarel cliente de
firma de @firma. Este cliente es un applet de Java que se instala en el ordenador del usuario
a través de javascript. Si se deshabilita javascript en el ordenador del usuario, no se podrá
36/90
usar correctamente esta funcionalidad de la aplicación.
En cuanto a la usabilidad, la aplicación se adaptará a la guía de estilos del 060. Las diferentes
pantallas de RFH mostrarán un estilo estandarizado, en donde se mantendrá un cabecera y
pie de página común en todas sus páginas. Únicamente variarán las opciones del menú que
se muestran al usuario dependiendo de su perfil.
Además,la aplicación podrá visualizarse correctamente en los principales navegadores:
Internet Explorer (a partir de la versión 7), Firefox (a partir de la versión 3.6).
2.4.4.7 Javascript
En RFH se hará uso de Javascript en los siguientes casos:
1. Firma Electrónica: como se ha comentado anteriormente, la firma electrónica se
realiza usando el Applet Java de @firma. Este applet se instala mediante la invocación
a librerias de Javascript. Estas librerias se importarán en aquellas páginas de la
aplicación donde sea necesario la firma del usuario.
2. Selección de Fechas: la aplicación provee un calendario para facilitar la selección de
fechas por parte del usuario. Este calendario esta implementado completamente en
javascript y se muestra cuando el usuario pulsa sobre el icono correspondiente. Si el
usuario desea introducir la fecha manualmente, sin hacer uso del calendario
proporcionado, podrá hacerlo.
3. Búsquedas Avanzadas: algunas búsquedas de la aplicación proveerán filtros de
búsqueda avanzado que solo se mostrarán cuando el usuario desea hacer uso de
ellos (por defecto no se muestran). Para ello, la aplicación porporcionará un icono que
mostrará los filtros cuando el usuario lo pulse. Esto se hará a través de javascript
4. Filtros de Búsqueda Específicos: los filtros mostrados en algunas búsquedas
dependerán de valores seleccionados en otros campos. En estos casos, se controlará
a través de funciones javascript los valores seleccionados o marcados en un campo y
dependiendo de este valor, se mostrará un campo u otro.
5. Confirmación de Acciones: para la confirmación de las acciones realizadas por los
usuarios, se mostrará una ventana de confirmación a través de una funcion javascript.
2.4.4.8 Log
El sistema de log está soportado por las librerías de log4j de Apache y registrará los
37/90
siguientes eventos de la aplicación:
•
Entrada y salida del método: Se registrará con el tipo “info” e incluirá nombre de la
clase y del método.
•
Error: Se registrará en los catch de la aplicación, con el tipo “error” e incluirá el
mensaje de error.
2.5 Entorno tecnológico En este apartado se va a definir en detalle todos los componentes que formarán parte de la
infraestructura técnica de los distintos entornos que soportan el sistema.
El hardware básico que será necesario para la aplicación estará compuesto por servidores
con arquitectura Solaris 10 que proporcionan entre otros los siguientes servicios:
•
Contenedor servicios lógica negocio: JBOSS 5.1.0, servidor de aplicaciones web
que desplegará la aplicación de registro.
•
SGBD: Oracle 11g, base de datos que se encargará de almacenar la información
relativa a los asientos registrales así como la información asociada a la gestión y
tratamiento de los mismos.
A continuación se especifican las librerías más importantes utilizadas en RFH y qué utilidad
se les da dentro de la aplicación.
Librería
Versión
Descripción
alfresco-core.jar
Librería que permite conectarse a los servicios web de Alfresco para la gestión de
documentos.
alfresco-repository.jar
Librería que permite conectarse a los servicios web de Alfresco para la gestión de
documentos..
alfresco-web-service-
Librería que permite conectarse a los servicios web de Alfresco para la gestión de
documentos..
client.jar
axis-1.4.jar
1.4
Librería utiliza para la comunicación con los servicios Web a través de protocolo SOAP.
Se utilizará para la conexión con los servicios web del REC y RCP.
frameworkmap.jar
2.0
Librería donde se encuentran las funcionalidades proporcionadas por el framework del
MPTAP. Entre ellas la del servicio de envio de correos electrónicos.
frameworkmapweb.jar
2.0
Librería donde se encuentran las funcionalidades web proporcionadas por el framework
del MPTAP.
3.2.5
Librería core de Hibernate.
hibernate-3.2.5.ga.jar
38/90
Librería
Versión
Descripción
Librería de Hibernate para el uso de anotaciones.
hibernate-annotations.jar
3.6.0
Librería utilizada para generar documentos en formato PDF. En RFH se utiliza para la
genreación de justificantes de credenciales en formato PDF.
1.2
Librería utilizada para la gestión de trazas en la aplicación.
3.6
Librería utilizada para exportar a Excel los listados que se muestran en la aplicación:
funcionarios, habilitaciones, etc.
2.5.1
Librería utilizada para exportar a Excel.
1.4.5
Librería que permite planificar tareas para ejecutarse a una hora determinada. Esta
librería se utilizará para programar los procesos automáticos de verificación de criterios de
habilitaciones y de alta de funcionarios.
1.2.7
Librería core de Struts.
2.5.6
Librería core de Spring.
jasperreports-3.6.0
log4j-1.2.15.jar
poi-3.6
poi-scratchpad-2.5.1
quartz.jar
struts-1.2.7.jar
spring-2.5.6.jar
Además, puesto que los desarrollos del RFH están basados en el framework propuesto por el
MPTAP, se aconseja mantener las versiones de las librerías y herramientas incluidas en el
mismo. A continuación se muestra una tabla que contiene el nombre de la librería así como la
versión de la misma:
Librería
Versión
URL Referencia
activation.jar
1.1
http://java.sun.com/products/javabeans/jaf/
antlr-2.7.5H3.jar
2.7.5
http://www.antlr.org/
asm.jar
1.5.3
http://asm.objectweb.org
castor-0.9.5.3-xml.jar
0.9.5.3
http://www.castor.org/xml-framework.html
cglib-2.1.jar
2.1
http://cglib.sourceforge.net/
commons-beanutils.jar
1.6
http://jakarta.apache.org/commons/beanutils/
2.1.1.jar
2.1.1
http://jakarta.apache.org/commons/collections/
commons-dbcp.jar
1.0
http://jakarta.apache.org/commons/dbcp/
commons-digester.jar
1.5
http://jakarta.apache.org/commons/digester/
1.0
http://jakarta.apache.org/commons/fileupload/
commons-collections-
commons-fileupload1.0.jar
39/90
Librería
Versión
URL Referencia
commons-io-1.0.jar
1.0
http://jakarta.apache.org/commons/io/
commons-lang.jar
1.0.1
http://jakarta.apache.org/commons/lang/
commons-pool.jar
1.0.1
http://jakarta.apache.org/commons/pool/
commons-services.jar
1.0
http://jakarta.apache.org/commons/
commons-validator.jar
1.1.4
http://jakarta.apache.org/commons/validator/
concurrent-1.3.2.jar
1.3.2
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html
dwr.jar
1.0
http://getahead.ltd.uk/dwr/
ehcache-1.1.jar
1.1
http://ehcache.sourceforge.net/
go.jar
1.0
http://teatrove.sourceforge.net/trove.html
groovy-1.0-jsr-01.jar
1.0-jsr-01
http://groovy.codehaus.org/
hibernate-3.2.5.ga.jar
3.2.5
http://www.hibernate.org
iText1.1.jar
1.1
http://www.lowagie.com/iText/
jakarta-oro.jar
1.1
http://jakarta.apache.org/oro/
jasperreports-3.6.0.jar
3.6.0
http://jasperreports.sourceforge.net/
js.jar
1.6 R1
http://www.mozilla.org/rhino/
jstl.jar
1.1.2
http://java.sun.com/products/jsp/jstl/
mail.jar
1.4
http://java.sun.com/products/javamail/
NCSOW.jar
Domino 5
http://www-10.lotus.com
ognl-2.6.7.jar
2.6.7
http://www.ognl.org/
oscache-2.1.jar
2.1
http://www.opensymphony.com/oscache/
2.5.1
http://jakarta.apache.org/poi/
20040804.jar
2.5.1
http://jakarta.apache.org/poi/
pushlet.jar
1.0
http://www.pushlets.com/
2.0.5
http://www.springsource.org/download
poi-2.5.1-final20040804.jar
poi-contrib-2.5.1-final-
spring-security-core2.0.5
40/90
Librería
Versión
URL Referencia
standard.jar
1.1.2
http://jakarta.apache.org/taglibs/doc/standard-doc/intro.html
Struts-Layout.jar
1.0
http://struts.application-servers.com/
struts-legacy.jar
1.0
http://struts.apache.org/1.2.4/index.html
struts-menu-2.3.jar
2.3
http://struts-menu.sourceforge.net/
tagish.jar
1.0.1
http://free.tagish.net/jaas/doc.html
taglibs-session.jar
1.0.1
http://jakarta.apache.org/taglibs/doc/session-doc/intro.html
1.0.4.jar
1.0.4
http://jakarta.apache.org/commons/logging/
log4j.jar
1.2.8
http://logging.apache.org/log4j/docs/index.html
xerces-2.6.2.jar
2.6.2
http://xerces.apache.org/
cactus-1.5.jar
1.5
http://jakarta.apache.org/cactus/
httpunit-1.5.3.jar
1.5.3
http://httpunit.sourceforge.net/
junit-3.8.1.jar
3.8.1
http://junit.sourceforge.net/
pushletclient.jar
1.0
http://www.pushlets.com/
dom4j-1.6.1.jar
1.6.1
http://www.dom4j.org/
jta-1_0_1B-classes.jar
1_0_1B
http://java.sun.com/javaee/technologies/jta/index.jsp
ojdbc14.jar
10.2.0.1.0
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html
ant-contrib.jar
1.0b2
http://ant-contrib.sourceforge.net/
frameworkmap.jar
2.0
Propia del Framework
frameworkmapweb.jar
2.0
Propia del Framework
commons-logging-
Tabla 1 – Librerías
2.6 Requisitos no funcionales En este apartado se incluyen los requerimientos de seguridad, operación, usabilidad, etc. de
la aplicación.
41/90
Código
Requerimiento
Nombre
Descripción
Solución
Requerimientos
Relacionados
RFH_INTRAN
ET-RS-001
Confidencialid
ad de los datos
La
aplicación
deberá garantizar
la confidencialidad
de
los
datos
sensibles.
Los datos de carácter personal manejados por el
sistema deberán ser tratados como nivel básico
de protección.
N/A
RFH-RS-002
Modo
acceso
de
El modo de acceso
a
las
funcionalidades
restringidas de la
aplicación se hará
a
través
del
navegador
Web
utilizando protocolo
HTTPS.
La aplicación identificará de manera automática
a los funcionarios que accedan a las
funcionalidades restringidas. La identificación de
los funcionarios se realizará a través de
certificado digital. Cuando el funcionario acceda
a una de las funcionalidades restringidas se
solicitará su identificación (cuando no se haya
identificado previamente o se haya identificado
pero su certificado no esté en la sesión porque
ha pasado el tiempo de timeout).
Para lograr esto, los componentes que
implementan las funcionalidades restringidas se
colocarán en una carpeta protegida a través del
Apache y a la cual se podrá acceder únicamente
a través de HTTPS. Una vez validado el usuario
se podrá acceder a cualquier funcionalidad de la
aplicación, siempre por HTTPS.
N/A
RFH-RS-003
Timeout
sesión
de
La
aplicación
controlará
el
tiempo de sesión
del funcionario.
Cuando el usuario no mantenga actividad
durante un periodo configurable entre 20 y 30
minutos, se cerrará la sesión y se obligará a
autenticarse de nuevo para poder acceder a las
funcionalidades restringidas de la aplicación.
N/A
RFH-RS-004
Log
Actividad.
de
La aplicación debe
guardar los datos
de acceso de los
funcionarios y las
acciones
que
realizan.
Se dejarán trazas a nivel en tablas de la base de
datos para poder consultar y obtener estadísticas
del acceso de los funcionarios a los distintos
modulos de la aplicación
N/A
Tabla 2 – Requerimientos de seguridad
Código
Requerimiento
Nombre
Descripción
Solución
Requerimientos
Relacionados
RFH-RO-001
Control de
errores
El sistema deberá
controlar
adecuadamente los
errores
generados
mediante la captura
de cada error en
tiempo ejecución.
Los errores generados en tiempo de
ejecución se capturarán de forma adecuada
y se dejará trazas de los mismos en el
fichero log de la aplicación. Además se
guardará de forma persistente los fallos
producidos en los sistemas externos para
que puedan ser consultados posteriormente.
Esto permitirá analizar las causas de los
errores.
N/A
RFH-RO-002
Notificación de
errores
La aplicación debe
permitir
publicar
avisos
para
mantener informado
al usuario de errores
de la aplicación.
Cuando se produzcan en la aplicación se
mostrará un mensaje al usuario indicando la
causa del error para que este informado.
N/A
42/90
Código
Requerimiento
Nombre
Descripción
Solución
Requerimientos
Relacionados
RFH-RO-003
Tiempo de
respuesta
El sistema deberá
proporcionar
un
tiempo de respuesta
adecuado
en
la
consulta
de
las
diferentes
páginas
de acuerdo a las
especificaciones
para la aplicación
web.
Los valores de referencia en los tiempos de
respuesta se consideran adecuados siempre
que estén dentro de 4 segundos.
Estos tiempos se validarán durante las
pruebas de rendimiento que se realicen en la
aplicación.
En caso de que un proceso pueda tardar
mucho tiempo, se mostrará una barra de
estado al usuario para mantenerle informado
del progreso del mismo.
N/A
RFH-RO-004
Escalabilidad
La aplicación deberá
construirse de tal
forma
que
se
garantice
su
escalabilidad.
La aplicación se construirá siguiendo la
arquitectura de desarrollo y los patrones de
diseño establecidos por el MPTAP y su
entorno de desarrollo de aplicaciones web
JEE para garantizar su escalabilidad.
N/A
RFH-RO-005
Alta
disponibilidad
La aplicación deberá
ofrecer
servicio
disponible 24x7.
La aplicación estará instalada en dos
servidores con un balanceador de carga
para ofrecer un nivel de servicio del 99%. En
las Figuras 2 y 3 de este documento, se
puede consultar la arquitectura física de la
aplicación que ayudará a conseguir este
requerimiento.
N/A
RFH-RO-006
Soporte acceso
concurrente
La plataforma en el
entorno
de
producción deberá
soportar
múltiples
accesos
concurrentes
sin
bloqueos ni perdida
de funcionalidad.
Se considera como un nivel de acceso
óptimo que la aplicación soporte 50 usuarios
concurrentes en un momento determinado.
N/A
RFH-RO-007
Persistencia
La aplicación debe
proporcionar
un
medio
de
persistencia
para
mantener los datos y
documentos a través
del tiempo.
Los documentos se mantendrán a través del
gestor documental Alfresco.
La persistencia de los datos se realizará en
el gestor de base de datos Oracle a través
del framework de persistencia Hibernate.
N/A
RFH-RO-008
Portabilidad
La aplicación deberá
tener la capacidad
de ser transferida
desde
una
plataforma a otra.
La aplicación será fácilmente configurable.
Para ello cualquier dato que sea suceptible
de modificarse, en el cambio de un servidor
a otro, se dejará en ficheros externos a la
aplicación y se indicará en el Manual de
Instalación para que pueda ser fácilmente
identificado y modificado por el área técnica
encargada de la instalación en nuevos
entornos.
N/A
43/90
Código
Requerimiento
Nombre
Descripción
Solución
Requerimientos
Relacionados
RFH-RO-009
Mantenimiento
de Sesión
La aplicación deberá
ser
capaz
de
manejar una sesión
para cada usuario en
un
entorno
de
balanceador
de
carga.
La aplicación mantendrá los datos de
identificación del usuario a través de la
sesión. La aplicación tendrá definido un
tiempo de timeout, cuando se alcance este
tiempo se eliminará la sesión del usuario. El
usuario se validará una vez y podrá acceder
a cualquier funcionalidad de la aplicación
mientras este validado.
Debido a la configuración actual de los
servidores, cuando un servidor se cae, las
sesiones activas en dicho servidor no se
podrán traspasar a otro servidor.
N/A
RFH-RO-010
Calidad en el
código de la
aplicación
La aplicación deberá
ajustarse a una guía
de buenas prácticas
de programación.
El código entregado cumplirá con las reglas
de programación de Checkstyle.
N/A
Tabla 3 – Requerimientos operativos y de rendimiento
2.6.1
Integración con sistemas externos
A continuación se detallan la integración con sistemas externos.
Código
Requerimiento
Nombre
Descripción
Solución
Requerimientos
Relacionados
RFH-RI-001
@firma
La
aplicación
deberá
integrarse con la
plataforma
@firma
del
MPTAP.
La aplicación se integrará con @firma a través
de los servicios Web que este proporciona para
realizar la validación del certificado. Para ello,
desde el action ValidarUsuarioAction se realizará
la llamada a los metodos de la libreria que
permtien realizar la validación.
N/A
RFH-RI-002
REC
La
aplicación
deberá
integrarse con la
plataforma
de
Registro
Electrónico
Común (REC2)
para registrar la
solicitud firmada
por
el
ciudadano.
La aplicación se integrará con el REC a través de
los servicios Web que este proporciona para
realizar el registro y realizar consultas.
N/A
RFH-RI-003
Alfresco
La
aplicación
deberá
integrarse
con
Alfresco para la
gestión de los
documentos
anexados a las
solicitudes.
La integracióin con el gestor documental se
realizará a través de las librerías para conexión a
través de servicios que proporciona Alfresco. En
la aplicación se importará la librearía que
implementa el cliente del servicio Web:
alfresco-web-service-client.jar
N/A
44/90
Código
Requerimiento
Nombre
Descripción
Solución
Requerimientos
Relacionados
RFH-RI-004
RCP
La
aplicación
deberá
integrarse con el
Registro Central
de Personal
La aplicación se integrará con el RCP a través de
los servicios Web que éste proporciona para
realizar el alta de funcionarios.
N/A
RFH-RI-005
Directorio
El Directorio es
la base de datos
maestra
que
contiene todos
los organismos
de la AGE.
La aplicación se integrará con el Directorio para
obtener la información de los ministerios que se
quieran adherir al RFH.
N/A
RFH-RI-006
Servidor Correo
Servidor
correo
ministerio.
El RFH se conectará a este servidor para enviar
los avisos que se generen para el ciudadano o
funcionario en cuanto a la gestión de las
habilitaciones.
N/A
de
del
Tabla 4 – Requerimientos de Integración
Para más detalle sobre la integración se anexa el documento que recoge toda la información.
RFH_Diseño de
Interfaces con Servic
2.6.2
Alfresco
En RFH la generación y manejo de justificantes es una parte esencial del proceso de
habilitaciones. Los documentos que se generan durante el alta, modificación o revocación de
una habilitación son documentos en formato PDF que luego pueden ser consultados por los
funcionarios de la aplicación. Por lo tanto, estos documentos se almacenan en Alfresco para
luego poder hacer uso de ellos.
Los tipos de documentos que se deben gestionar en RFH son los siguientes:
-
Credencial: documento que contiene las habilitaciones activas de un funcionario.
-
Justificante de Credencial: documento que contiene la información de registro en el
REC de una credencial
Estos documentos están asociados a cada funcionario, por lo que en Alfresco se creará una
carpeta para cada funcionario dado de alta en la aplicación. El nombre de cada carpeta será
el identificador del funcionario en la tabla RFH_FUNCIONARIO.
A continuación se detallan los aspectos más relevantes relacionados con la gestión que
realiza RFH de los documentos a través de Alfresco.
45/90
2.6.2.1 Integración con Alfresco
RFH se integrará con Alfresco utilizando los servicios Web que este proporciona. La
invocación a los servicios Web de Alfresco se realiza utilizando las siguientes librerías:
alfresco-core.jar, alfresco-repository.jar, alfresco-web-service-client.jar.
Estas librerías proporcionan las funcionalidades necesarias para realizar operaciones sobre
los documentos: insertar, borrar y obtener un documento.
RFH proporcionará una clase gestora (GestorDocumental.java) que implementará las
operaciones mencionadas. Esta clase será transversal a la aplicación, ya que podrá ser
usada por todos los módulos que deseen subir un documento a Alfresco.
A continuación se detalla la lógica a seguir dentro de la aplicación para cada una de las
operaciones que se realizan con los documentos:
Inserción de un documento
Para insertar un documento en Alfresco, se debe indicar tres cosas: la ruta donde se debe
almacenar el documento, el nombre del documento y el contenido del documento (bytes).
Si la ruta que se pasa no existe (por ejemplo cuando se suba el primer documento de un
funcionario), la aplicación intentará crear la ruta antes de subir el documento.
El nombre del documento debe ser único en la ruta donde se crea. Para garantizar esto, se
concatenará al final del nombre del documento el identificador dela credencial asociada al
documento que se inserta (esto garantiza que sea único ya que para cada credencial solo
exisitrá un documento Credencial, Justificante de Credencial y Justificante de Descarga).
Además para el caso de la Credencial del funcionario, se añade el número de registro en REC
al nombre del documento para tener más información.
De esta forma los nombres de los documentos que se almacenan en Alfresco para RFH son:
-
Credencial_IDCREDENCIAL_NUMEROREGISTRO.pdf
-
JustificanteCredencial_IDCREDENCIAL.pdf
Obtener documento
Para obtener el contenido de un documento se debe indicar la ruta del documento en Alfresco
y el nombre del documento.
Borrado de un documento
Para borrar un documento de Alfresco, se debe indicar: el nombre del documento que se
46/90
desea borrar y la ruta donde se encuentra dicho documento.
Como se ha comentado, para realizar cualquiera de las operaciones mencionadas
anteriormente, se debe indicar la ruta del documento en Alfresco. Esta ruta se puede
componer para cada documento a partir de los datos almacenados en la base de datos.
Concretamente, se deben usar los siguientes datos:
•
ID_FUNCIONARIO: identificador en la tabla RFH_FUNCIONARIO del funcionario al
cual pertenece la credencial.
•
TIPO_DOCUMENTO: Tipo de documento que se desea buscar: Credencial, o
Justificante.
Corresponde
al
campo
ID_TIPO_DOCUMENTO
de
la
tabla
RFH_ANEXO_CREDENCIAL.
•
NOMBRE_ALFRESCO: nombre que se le ha dado al documento en Alfresco.
Corresponde
al
campo
COD_NOMBRE_ALFRESCO
de
la
tabla
RFH_ANEXO_CREDENCIAL.
Con estos datos se puede generar la ruta en Alfresco donde se encuentra el documento. La
ruta se genera de la siguiente manera:
“Company Home” > “RFH” >“Funcionarios”
>IDFUNCIONARIO>TIPO_DOCUMENTO>NOMBRE_ALFRESCO
2.6.2.2 Configuración de Alfresco en RFH
Los datos de configuración relacionados con el Alfresco se dejarán en el fichero de
propiedades gestDocumental.properties: URL, usuario, password, aplicación.
2.6.2.3 Estructura de Carpetas en Alfresco
Para el correcto funcionamiento de la aplicación, es necesario disponer de la estructura de
directorios adecuada en Alfresco.
La carpeta base de Alfresco es “Company Home”. En esta carpeta se almacenan por defecto
todos los contenidos que se guardan en el gestor documental.
47/90
Para RFH, se debe crear una carpeta raíz llamada “RFH” (en Company Home). De esta
carpeta colgará una carpeta llamada “Funcionarios” donde se almacenarán los documentos
de generados para cada funcionario. Para cada funcionario se creará una carpeta cuyo
nombre sera el identificador del funcionario en la tabla RFH_FUNCIONARIO. Dentro de la
carpeta del funcionario se almacenarán las Credenciales, Justificantes de Credencial.
A continuación se muestra la estructura que se mantendría en Alfresco para RFH:
Según la estructura definida anteriormente, la ruta a la credencial del funcionario con id 1 será
por ejemplo:
Company Home> RFH >Funcionarios> 1 >Credenciales>Credencial_123_201104051234.pdf
Para que se puedan almacenar los documentos de cada funcionario, es necesario que se
haya creado manualmente la carpeta raíz “RFH” y dentro de esta, la carpeta “Funcionarios”.
Las carpetas para cada funcionario y su contenido se crearán de forma automática a través
de la aplicación.
48/90
3 Diseño de casos de uso
En este apartado se van a detallar los procesos relacionados con el diseño de los casos de
uso especificado en el diseño funcional de la aplicación. En concreto los siguientes casos de
uso:
•
RFH-CU-001 / Autentificar Usuario.
•
RFH-CU-002 / Dar de alta Habilitación.
•
RFH-CU-003 / Consultar de Habilitación.
•
RFH-CU-004 / Ver Detalle Habilitación.
•
RFH-CU-005 / Revocar Habilitación.
•
RFH-CU-006 / Modificar Habilitación.
•
RFH-CU-007 / Consultar Credencial.
•
RFH-CU-008 / Ver detalle Credencial.
•
RFH-CU-009 / Creación Credencial.
•
RFH-CU-010 / Descargar Credencial / Justificante REC
•
RFH-CU-011 / Dar de Alta Organismo.
•
RFH-CU-012 / Consultar Organismo.
•
RFH-CU-013 / Modificar Organismo.
•
RFH-CU-014 / Reasignar Categoría.
•
RFH-CU-015 / Reasignar Trámite.
•
RFH-CU-016 / Crear Categoría.
•
RFH-CU-017 / Ver detalle de Categoría.
•
RFH-CU-018 / Modificar Categoría.
•
RFH-CU-019 / Administrar Trámite.
•
RFH-CU-020 / Dar de Alta Trámite.
•
RFH-CU-021 / Ver detalle de Trámite.
•
RFH-CU-022 / Modificar Trámite.
•
RFH-CU-023 / Consultar Categoría y Trámites.
•
RFH-CU-024 / Salir.
•
RFH-CU-025 / Dar de Alta Usuario.
•
RFH-CU-026 / Consultar Usuario.
•
RFH-CU-027 / Ver Detalle Usuario.
•
RFH-CU-028 / Modificar Usuario.
•
RFH-CU-029 / Consulta Habilitación WS.
•
RFH-CU-030 / Descarga Habilitaciones, Funcionarios a Excel.
•
RFH-CU-031 / Carga de trámites de un Organismo.
49/90
•
RFH-CU-032 / Informe de Accesos, Operaciones, Registros y Trámites.
•
RFH-CU-033 / Dar de Alta funcionario.
•
RFH-CU-034 / Consultar funcionario.
•
RFH-CU-035 / Ver Detalle funcionario.
•
RFH-CU-036 / Modificar funcionario.
•
RFH-CU-037 / Listado de Habilitaciones vigentes WS
•
RFH-CU-038 / Batch: Verificación criterios habilitación
•
RFH-CU-039 / Batch: verificación caducidad habilitación
•
RFH-CU-040 / Consulta notificaciones
•
RFH-CU-041 / Enviar notificaciones
50/90
3.1 Tareas unitarias del caso de uso: RFH‐CU‐001 / Autentificar Usuario Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la validación del usuario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-001-TA-001
Comprobar
autentificación
Comprueba si el usuario ha sido autenticado previamente.
RFH-CU-001-TA-002
Autentificar usuario.
Si no ha sido autentificado previamente, se autentifica mediante @firma
al usuario. Se almacenan los datos del usuario en la sesión.
RFH-CU-001-TA-003
Almacenar certificado
Se almacena el certificado del usuario para posteriores validaciones
Tabla 5 – Tareas unitarias del caso de uso RFH-CU-001 / Autentificar Usuario
3.2 Tareas unitarias del caso de uso: RFH‐CU‐002 / Dar de alta Habilitación Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la creación de una habilitación por parte del usuario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-002-TA-002
Mostrar páginas
creación
habilitación.
de
de
Muestra una página web con el formulario para dar de alta una
habilitación: funcionarios, trámites, resumen
RFH-CU-002-TA-003
Validar formulario de
alta.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-002-TA-004
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de habilitación
correcto.
de
Tabla 6 – Tareas unitarias del caso de uso RFH -CU-002 / Dar de alta Habilitación
51/90
3.3 Tareas unitarias del caso de uso: RFH‐CU‐003 / Consultar Habilitación Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de una Habilitación.
Código Tarea
Nombre de la Tarea
RFH-CU-003-TA-001
Recupera datos
habilitación.
Descripción de la Tarea
de
Recupera los datos de las habilitaciones según los filtros rellenados.
Tabla 7 – Tareas unitarias del caso de uso RFH-CU-003 / Consultar Habilitación
3.4 Tareas unitarias del caso de uso: RFH‐CU‐004 / Ver Detalle Habilitación Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a ver el detalle de una Habilitación.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-004-TA-001
Recupera datos
Habilitación.
RFH-CU-004-TA-002
Mostrar
página
de
detalle de Habilitación.
de
Recupera los datos de Habilitación.
Muestra una página web con los datos de la Habilitación.
Tabla 8 – Tareas unitarias del caso de uso RFH-CU-004 / Ver Detalle Habilitación
3.5 Tareas unitarias del caso de uso: RFH‐CU‐005 / Revocar Habilitación Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la revocación de una Habilitación.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-005-TA-001
Recupera datos
Habilitación.
de
Recupera los datos de la Habilitación.
RFH-CU-005-TA-002
Mostrar
página
Habilitaciones
seleccionadas.
de
Muestra una página web con los datos de las Habilitaciones
seleccionadas para la revocación.
RFH-CU-005-TA-003
Revocar Habilitación.
Actualizar el estado de la Habilitación a revocada.
Tabla 9 – Tareas unitarias del caso de uso RFH-CU-005 / Revocar Habilitación
52/90
3.6 Tareas unitarias del caso de uso: RFH‐CU‐006 / Modificar Habilitación Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la revocación de una Habilitación.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-006-TA-001
Recupera datos
Habilitación.
de
Recupera los datos de la Habilitación.
RFH-CU-006-TA-002
Mostrar
página
Habilitación.
de
Muestra una página web con los datos de la Habilitación.
RFH-CU-006-TA-003
Validar formulario de
alta.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-006-TA-004
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de habilitación
correcta.
de
Tabla 10 – Tareas unitarias del caso de uso RFH-CU-006 / Modificar Habilitación
3.7 Tareas unitarias del caso de uso: RFH‐CU‐007 / Consulta de Credencial Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de una credencial.
Código Tarea
Nombre de la Tarea
RFH-CU-007-TA-001
Recupera datos
Credencial.
Descripción de la Tarea
de
Recupera los datos de la credencial.
Tabla 11 – Tareas unitarias del caso de uso RFH-CU-007 / Consulta de Credencial
3.8 Tareas unitarias del caso de uso: RFH‐CU‐008 / Ver Detalle de Credencial Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a ver el detalle de una Credencial.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-008-TA-001
Recupera datos
Credencial.
RFH-CU-008-TA-002
Mostrar
página
de
detalle de Credencial.
de
Recupera los datos de Credencial.
Muestra una página web con los datos de la Credencial.
Tabla 12 – Tareas unitarias del caso de uso RFH-CU-008 / Ver detalle Credencial
53/90
3.9 Tareas unitarias del caso de uso: RFH‐CU‐009 / Creación de Credencial Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la creación de una credencial, incluye las tareas de firmar electrónicamente la
solicitud, registro en el REC, e incorporar el documento generado en sistema externo.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-009-TA-001
Mostrar páginas de
solicitudes pendientes
de habilitaciones.
Muestra la página web con el formulario de solicitudes pendientes de
habilitaciones.
RFH-CU-009-TA-002
Validar formulario de
solicitud.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-009-TA-003
El sistema realiza la
firma electrónica desde
el cliente
El sistema realiza la llamada a la plataforma de @Firma para la firma
electrónica de los movimientos sobre las solicitudes seleccionadas.
RFH-CU-009-TA-004
El sistema realiza el
registro
en
la
plataforma REC.
El sistema registra en el Registro Electrónico el movimiento efectuado
sobre una Credencial.
RFH-CU-009-TA-005
Generar el documento
de credencial
Genera el documento pdf de credencial
RFH-CU-009-TA-005
Generar el documento
de justificante REC
Genera el documento pdf de justificante en el REC
RFH-CU-009-TA-006
Almacenar documento
en Gestor Documental
Se suben los documentos al gestor documental Alfresco
RFH-CU-009-TA-007
Guardar datos en base
de datos
Almacena los datos de las habilitaciones, credencial y documentos
anexos
RFH-CU-009-TA-008
Mostrar mensaje
confirmación
Muestra el mensaje de confirmación al ciudadano
de
Tabla 13 – Tareas unitarias del caso de uso RFH-CU-009 / Creación Credencial
3.10 Tareas unitarias del caso de uso: RFH‐CU‐010 / Descargar Credencial / Justificante REC Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a descargar la credencial y/o justificante REC de una credencial.
Código Tarea
Nombre de la Tarea
RFH-CU-010-TA-001
Recupera datos
Credencial.
RFH-CU-010-TA-002
Buscar Credencial.
Descripción de la Tarea
de
Recupera los datos de Credencial.
Descarga del documento de la credencial.
54/90
RFH-CU-010-TA-003
Buscar
REC
Justificante
Descarga del documento del justificante REC.
Tabla 14 – Tareas unitarias del caso de uso RFH-CU-010 / Descargar Credencial / Justificante REC
3.11 Tareas unitarias del caso de uso: RFH‐CU‐011 / Dar de Alta Organismo Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la creación de un organismo.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-011-TA-001
Mostrar
página
de
creación de organismo.
Muestra una página web con el formulario para dar de alta un organismo.
RFH-CU-011-TA-002
Validar formulario de
alta.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-011-TA-003
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de organismo
correcto.
de
Tabla 15 – Tareas unitarias del caso de uso RFH-CU-011 / Dar de Alta Organismo
3.12 Tareas unitarias del caso de uso: RFH‐CU‐012 / Consultar Organismo Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de un organismo.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-012-TA-001
Recupera datos
organismo.
RFH-CU-012-TA-002
Mostrar
página
de
consulta de organismo.
de
Recupera los datos del organismo.
Muestra una página web con los datos de un organismo.
Tabla 16 – Tareas unitarias del caso de uso RFH-CU-012 / Consultar Organismo
3.13 Tareas unitarias del caso de uso: RFH‐CU‐013 / Modificar Organismo Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la modificación de un organismo.
55/90
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-013-TA-001
Recupera datos
organismo.
de
Recupera los datos del organismo.
RFH-CU-013-TA-002
Mostrar
página
modificación
Habilitación.
de
de
Muestra una página web con el formulario para modificar el organismo,
mostrando los datos actuales.
RFH-CU-013-TA-003
Validar formulario de
modificación.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-013-TA-004
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de organismo
correcto.
de
Tabla 17 – Tareas unitarias del caso de uso RFH-CU-013 / Modificar Organismo
3.14 Tareas unitarias del caso de uso: RFH‐CU‐014 / Reasignar Categorías Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la reasignación de categorías de un Organismo a otro.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-014-TA-001
Mostrar catgegorías
Muestra las categorías asociadas al organismo
RFH-CU-014-TA-002
Seleccionar Organismo
destino
Se selecciona el Organismo destino
RFH-CU-014-TA-003
Seleccionar
categorías
Se seleccionan las categorías.
RFH-CU-014-TA-004
Reasignar Categorias
las
Reasigna las categorías al organismo destino seleccionado
Tabla 18 – Tareas unitarias del caso de uso RFH-CU-014 / Reasignar Categorías
3.15 Tareas unitarias del caso de uso: RFH‐CU‐015 / Reasignar Trámites Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la reasignación de trámites.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-015-TA-001
Mostrar trámites
Muestra los trámites asociadas al organismo
RFH-CU-015-TA-002
Seleccionar Organismo
destino
Se selecciona el Organismo destino
56/90
RFH-CU-015-TA-003
Seleccionar
trámites
RFH-CU-015-TA-004
Reasignar Trámites
los
Se selccionan los trámites.
Reasigna los trámites al organismo destino seleccionado
Tabla 19 – Tareas unitarias del caso de uso RFH-CU-015 / Reasignar Trámites
3.16 Tareas unitarias del caso de uso: RFH‐CU‐016 / Crear Categoría Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la creación de a categoria por parte del usuario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-016-TA-001
Mostrar
página
de
creación de categoría.
Muestra una página web con el formulario para dar de alta una
categoría.
RFH-CU-016-TA-002
Validar formulario de
alta.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-016-TA-003
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de categoría correcta.
de
Tabla 20 – Tareas unitarias del caso de uso RFH-CU-016 / Crear Categoría
3.17 Tareas unitarias del caso de uso: RFH‐CU‐017 / Ver detalle de Categoría Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de una categoria.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-017-TA-001
Recupera datos
categorias.
RFH-CU-017-TA-002
Mostrar
página
de
consulta de categoría.
de
Recupera los datos de la categoria.
Muestra una página web con los datos de una categoría.
Tabla 21 – Tareas unitarias del caso de uso RFH-CU-017 / Consulta de Categoría
57/90
3.18 Tareas unitarias del caso de uso: RFH‐CU‐018 / Modificar Categoria Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la modificación de una categoria.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-018-TA-001
Recupera
categoria.
datos
de
Recupera los datos de la categoria.
RFH-CU-018-TA-002
Mostrar
página
modificación
categoria.
de
de
Muestra una página web con el formulario para modificar la categoria,
mostrando los datos actuales.
RFH-CU-018-TA-003
Validar formulario de
modificación.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-018-TA-004
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de categoria correcta.
de
Tabla 22 – Tareas unitarias del caso de uso RFH-CU-018 / Modificar Categoria
3.19 Tareas unitarias del caso de uso: RFH‐CU‐019 / Administrar Trámite Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso
relativo
a
la
administración
de
trámites
en
una
categoría,
es
decir,
asociación/desasociacion de trámites.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-019-TA-001
Recupera
datos
trámites y categorías.
RFH-CU-019-TA-002
Mostrar
página
de
asociación/desasociacion
de trámite.
Muestra una página web con el formulario para asociar/desasociar el
trámite a una categoría seleccionada.
RFH-CU-019-TA-003
Mostrar
página
Confirmación.
Guarda datos y muestra la
asociación/desasociacion correcta.
de
de
Recupera los datos de los trámite y las categorías.
página
de
confirmación
Tabla 23 – Tareas unitarias del caso de uso RFH-CU-019 / Administrar Trámites
58/90
de
3.20 Tareas unitarias del caso de uso: RFH‐CU‐020 / Dar de Alta Trámite Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la creación de un trámite por parte del usuario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-020-TA-001
Mostrar
página
de
creación de trámite.
Muestra una página web con el formulario para dar de alta un trámite.
RFH-CU-020-TA-002
Validar formulario de
alta.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-020-TA-003
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de trámite correcto.
de
Tabla 24 – Tareas unitarias del caso de uso RFH-CU-020 / Dar de Alta Trámite
3.21 Tareas unitarias del caso de uso: RFH‐CU‐021 / Ver detalle de Trámites Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de un trámite.
Código Tarea
Nombre de la Tarea
RFH-CU-021-TA-001
Recupera
trámite.
RFH-CU-021-TA-002
Mostrar
página
de
consulta de trámite.
datos
Descripción de la Tarea
de
Recupera los datos del trámite.
Muestra una página web con los datos de un trámite.
Tabla 25 – Tareas unitarias del caso de uso RFH-CU-021 / Consulta deTrámites
3.22 Tareas unitarias del caso de uso: RFH‐CU‐022 / Modificar Tramite Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la modificación de un trámite.
Código Tarea
Nombre de la Tarea
RFH-CU-022-TA-001
Recupera
trámite.
datos
Descripción de la Tarea
de
Recupera los datos del trámite.
59/90
RFH-CU-022-TA-002
Mostrar
página
modificación
trámite.
de
de
Muestra una página web con el formulario para modificar el trámite,
mostrando los datos actuales.
RFH-CU-022-TA-003
Validar formulario de
modificación.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-022-TA-004
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de trámite correcto.
de
Tabla 26 – Tareas unitarias del caso de uso RFH-CU-022 / Modificar Trámite
3.23 Tareas unitarias del caso de uso: RFH‐CU‐023 / Consultar Categoría y Trámite Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la búsqueda de categorías y trámites.
Código Tarea
Nombre de la Tarea
RFH-CU-023-TA-001
Recupera datos
categorías.
RFH-CU-023-TA-002
Mostrar
página
de
consulta de categorías.
Muestra una página web con los datos de las categorías.
RFH-CU-023-TA-001
Recupera
trámites.
Recupera los datos de los trámites.
RFH-CU-023-TA-002
Mostrar
página
de
consulta de trámites.
datos
Descripción de la Tarea
de
de
Recupera los datos de las categorias.
Muestra una página web con los datos de los trámites.
Tabla 27 – Tareas unitarias del caso de uso RFH-CU-023 / Consultar Categoría y Trámite
3.24 Tareas unitarias del caso de uso: RFH‐CU‐024 / Salir Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo al cierre de sesión del usuario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-024-TA-001
Eliminar autentificación
Eliminar la sesión del usuario.
RFH-CU-024-TA-002
Ir a página inicial de
acceso.
Mostrar la página de acceso a la aplicación.
Tabla 28 – Tareas unitarias del caso de uso RFH-CU-024 / Salir
60/90
3.25 Tareas unitarias del caso de uso: RFH‐CU‐025 / Dar de Alta Usuarios Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la creación de un usuario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-025-TA-001
Mostrar
página
de
creación de usuario.
Muestra una página web con el formulario para dar de alta un usuario.
RFH-CU-025-TA-002
Validar formulario de
alta.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-025-TA-003
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de usuario correcto.
de
Tabla 29 – Tareas unitarias del caso de uso RFH-CU-025 / Dar de Alta Usuario
3.26 Tareas unitarias del caso de uso: RFH‐CU‐026 / Consultar Usuario Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de un usuario.
Código Tarea
Nombre de la Tarea
RFH-CU-026-TA-001
Recupera
usuario.
datos
Descripción de la Tarea
de
Recupera los datos de los usuarios según los filtros rellenados.
Tabla 30 – Tareas unitarias del caso de uso RFH-CU-026 / Consultar Usuario
3.27 Tareas unitarias del caso de uso: RFH‐CU‐027 / Ver Detalle Usuario Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de un usuario.
Código Tarea
Nombre de la Tarea
RFH-CU-027-TA-001
Recupera
usuario.
RFH-CU-027-TA-002
Mostrar
detalle.
Descripción de la Tarea
datos
de
Recupera los datos de los usuarios según los filtros rellenados.
página
de
Muestra una página web con los datos actuales del usuario.
Tabla 31 – Tareas unitarias del caso de uso RFH-CU-027 / Consultar Usuario
61/90
3.28 Tareas unitarias del caso de uso: RFH‐CU‐028 / Modificar Usuario Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la modificación de un usuario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-028-TA-001
Recupera
usuario.
datos
de
Recupera los datos del usuario.
RFH-CU-028-TA-002
Mostrar
página
modificación
usuario.
de
de
Muestra una página web con el formulario para modificar el usuario,
mostrando los datos actuales.
RFH-CU-028-TA-003
Validar formulario de
modificación.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-028-TA-004
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de usuario correcto.
de
Tabla 32 – Tareas unitarias del caso de uso RFH-CU-028 / Modificar Usuario
3.29 Tareas unitarias del caso de uso: RFH‐CU‐029 / Consulta de Habilitación WS Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo al Servicio Web que permite realizar consultas de las Habilitaciones registradas
en RFH.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-029-TA-001
Obtener parámetros.
Obtener los parámetros enviados al servicio web.
RFH-CU-029-TA-002
Realizar búsqueda
Se recogen los filtros seleccionados y se realiza la búsqueda
RFH-CU-029-TA-003
Mostrar
página
resultados.
de
Se realiza la búsqueda según los filtros seleccionados y se devuelve al
servicio web el resultado encontrado.
Tabla 33 – Tareas unitarias del caso de uso RFH-CU-029 / Consulta de Habilitación WS
3.30 Tareas unitarias del caso de uso: RFH‐CU‐030 / Descarga de Habilitaciones, funcionarios a excel Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la descarga de un listado de las habilitaciones registradas en RFH.
62/90
Código Tarea
Nombre de la Tarea
RFH-CU-030-TA-001
Mostrar
página
búsqueda.
RFH-CU-030-TA-002
Realizar búsqueda
RFH-CU-030-TA-003
Mostrar
página
resultados.
RFH-CU-030-TA-004
Exportar resultados.
RFH-CU-030-TA-001
Mostrar
página
búsqueda.
RFH-CU-030-TA-002
Realizar búsqueda
RFH-CU-030-TA-003
Mostrar
página
resultados.
RFH-CU-030-TA-004
Exportar resultados.
Descripción de la Tarea
de
Muestra una página web con filtros de búsqueda.
Se recogen los filtros seleccionados y se realiza la búsqueda
de
Se realiza la búsqueda según los filtros seleccionados y se muestra una
página web con la lista de los resultados encontrados.
Se exportan los resultados en el formato deseado.
de
Muestra una página web con filtros de búsqueda.
Se recogen los filtros seleccionados y se realiza la búsqueda
de
Se realiza la búsqueda según los filtros seleccionados y se muestra una
página web con la lista de los resultados encontrados.
Se exportan los resultados en el formato deseado.
Tabla 34 – Tareas unitarias del caso de uso RFH-CU-30 / Descarga de Habilitaciones, funcionarios a
excel
3.31 Tareas unitarias del caso de uso: RFH‐CU‐031 / Carga de Trámites de un Organismo vía fichero Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso que permite realizar la carga masiva de trámites vía fichero.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-031-TA-001
Leer fichero.
Obtener los datos del fichero proporcionado.
RFH-CU-031-TA-002
Guardar datos.
Guarda datos.
RFH-CU-031-TA-003
Mostrar Confirmación.
Mostrar confirmación correcta.
Tabla 35 – Tareas unitarias del caso de uso RFH-CU-031 / Carga de Trámites de un Organismo vía
fichero
63/90
3.32 Tareas unitarias del caso de uso: RFH‐CU‐032 / Informe de Accesos, Operaciones, Registros y Trámites Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la generación de informes de accesos, operaciones, registros y trámites.
Código Tarea
Nombre de la Tarea
RFH-CU-032-TA-001
Mostrar
página
búsqueda.
RFH-CU-032-TA-002
Realizar búsqueda
RFH-CU-032-TA-003
Mostrar
página
resultados.
Descripción de la Tarea
de
Muestra una página web con filtros de búsqueda.
Se recogen los filtros seleccionados y se realiza la búsqueda
de
Se realiza la búsqueda según los filtros seleccionados y se muestra una
página web con la lista de los resultados encontrados.
Tabla 36 – Tareas unitarias del caso de uso RFH-CU-032 / Informe de Accesos, Operaciones,
Registros y Trámites
3.33 Tareas unitarias del caso de uso: RFH‐CU‐033 / Dar de Alta Funcionarios Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la creación de un funcionario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-033-TA-001
Mostrar
página
creación
funcionario.
RFH-CU-033-TA-002
Validar formulario de
alta.
Valida que los datos mostrados en el formulario son correctos.
RFH-CU-033-TA-003
Búsqueda en RCP.
Búsqueda de la información en RCP a través del WS.
RFH-CU-033-TA-004
Mostrar
página
Confirmación.
de
de
de
Muestra una página web con el formulario para dar de alta un
funcionario.
Guarda datos y muestra la página de confirmación de funcionario
correcto.
Tabla 37 – Tareas unitarias del caso de uso RFH-CU-033 / Dar de Alta Funcionario
3.34 Tareas unitarias del caso de uso: RFH‐CU‐034 / Consultar Funcionario Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de un funcionario.
64/90
Código Tarea
Nombre de la Tarea
RFH-CU-034-TA-001
Recupera datos
funcionario.
Descripción de la Tarea
de
Recupera los datos de los funcionarios según los filtros rellenados.
Tabla 38 – Tareas unitarias del caso de uso RFH-CU-034 / Consultar Funcionario
3.35 Tareas unitarias del caso de uso: RFH‐CU‐035 / Ver Detalle Funcionario Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de un funcionario.
Código Tarea
Nombre de la Tarea
RFH-CU-035-TA-001
Recupera datos
funcionario.
de
Recupera los datos de los funcionarios según los filtros rellenados.
RFH-CU-035-TA-002
Mostrar
detalle.
de
Muestra una página web con los datos actuales del funcionario.
página
Descripción de la Tarea
Tabla 39 – Tareas unitarias del caso de uso RFH-CU-027 / Ver Detalle Funcionario
3.36 Tareas unitarias del caso de uso: RFH‐CU‐036 / Modificar Funcionario Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la modificación de un funcionario.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-036-TA-001
Recupera datos
funcionario.
de
Recupera los datos del funcionario.
RFH-CU-036-TA-002
Mostrar
página
modificación
funcionario.
de
de
Muestra una página web con el formulario para modificar el funcionario,
mostrando los datos actuales.
RFH-CU-036-TA-003
Validar formulario de
modificación.
Valida que los datos introducidos en el formulario por el usuario son
correctos.
RFH-CU-036-TA-004
Mostrar
página
Confirmación.
Guarda datos y muestra la página de confirmación de funcionario
correcto.
de
Tabla 40 – Tareas unitarias del caso de uso RFH-CU-036 / Modificar Funcionario
65/90
3.37 Tareas unitarias del caso de uso: RFH‐CU‐037 / Listado de Habilitaciones vigentes WS Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo al Servicio Web que permite obtener el listado de las Habilitaciones vigentes
registradas en RFH.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-037-TA-001
Obtener parámetros.
Obtener los parámetros enviados al servicio web.
RFH-CU-037-TA-002
Realizar búsqueda
Se recogen los filtros seleccionados y se realiza la búsqueda.
RFH-CU-037-TA-003
Mostrar
página
resultados.
de
Se realiza la búsqueda según los filtros seleccionados y se devuelve al
servicio web el resultado encontrado.
Tabla 41 – Tareas unitarias del caso de uso RFH-CU-037 / Listado de habilitaciones vigentes WS
3.38 Tareas unitarias del caso de uso: RFH‐CU‐038 / Batch: Verificación criterios habilitación Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo al proceso batch que verifica los criterios de habilitación.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-038-TA-001
Obtener datos RCP.
Obtener los datos de los funcionarios a partir del WS de RCP.
RFH-CU-038-TA-002
Realizar actualización.
Actualizar la información existente en RFH con la obtenida del RCP para
cada funcionario.
RFH-CU-038-TA-003
Verificar habilitaciones
Comprobar que la información del funcionario corresponde con la de la
habilitación.
RFH-CU-038-TA-004
Grabar modificaciones
Guarda datos
Tabla 42 – Tareas unitarias del caso de uso RFH-CU-038 / Batch: verificación criterios habilitación
3.39 Tareas unitarias del caso de uso: RFH‐CU‐039 / Batch: Verificación caducidad habilitación Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo al proceso batch que verifica la caducidad de las habilitaciones.
66/90
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-039-TA-001
Busqueda
habilitaciones.
Buscar las habilitaciones a verificar su caducidad.
RFH-CU-039-TA-002
Verificar habilitaciones
Comprobar la información de la habilitación.
RFH-CU-039-TA-003
Grabar modificaciones
Guarda datos
Tabla 43 – Tareas unitarias del caso de uso RFH-CU-039 / Batch: verificación caducidad habilitación
3.40 Tareas unitarias del caso de uso: RFH‐CU‐040 / Consulta notificaciones Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo a la consulta de notificaciones.
Código Tarea
Nombre de la Tarea
RFH-CU-040-TA-001
Recupera datos
notificaciones.
Descripción de la Tarea
de
Recupera los datos de las notificaciones.
Tabla 44 – Tareas unitarias del caso de uso RFH-CU-040 / Consulta notificaciones
3.41 Tareas unitarias del caso de uso: RFH‐CU‐041 / Enviar notificaciones Las tareas que a continuación se relacionan definen la funcionalidad definida en el caso de
uso relativo al envío de notificaciones.
Código Tarea
Nombre de la Tarea
Descripción de la Tarea
RFH-CU-041-TA-001
Recuperar notificación.
Recupera los datos de las notificaciones.
RFH-CU-041-TA-002
Enviar notificación.
Enviar la notificación según los datos de la misma.
Tabla 45 – Tareas unitarias del caso de uso RFH-CU-041 / Enviar notificaciones
67/90
4 Especificación de componentes software
Este apartado se definirá durante la construcción y pruebas de la aplicación. A continuación
se muestra un ejemplo de cómo será representado cada uno de los componentes.
Código Componente
Sw
Nombre del Componente Sw
Descripción del Componente
Componentes Action Form
Se indicarán una vez finalizada la fase de
construcción
Componentes JSP
Se indicarán una vez finalizada la fase de
construcción
Tabla 46 – Componentes software de la capa de presentación
Código
Sw
Componente
Nombre del Componente Sw
Descripción del Componente
Se indicarán una vez finalizada la fase
de construcción
Tabla 47 – Componentes software de lógica de negocio
Código Componente Sw
Nombre del Componente Sw
Descripción del Componente
RFH-SW-1
Habilitacion
Clase que contiene toda la información almacenada en la
base de datos sobre una habilitación
RFH-SW-2
HabilitacionDAO
Interface que nos permite interactuar con la información
de Habilitación presente en la base de datos.
RFH-SW-3
Notificaciones
Clase que contiene toda la información almacenada en la
base de datos sobre las notificaciones realizadas
RFH-SW-4
NotificacionDAO
Interface que nos permite interactuar con la información
de las notificaciones presente en la base de datos.
RFH-SW-5
Funcionario
Clase que contiene toda la información almacenada en la
base de datos sobre los funcionarios relacionados con la
aplicación.
RFH-SW-6
FuncionarioDAO
Interface que nos permite interactuar con la información
de Funcionario presente en la base de datos.
RFH-SW-7
Credencial
Clase que contiene toda la información almacenada en la
base de datos sobre las credenciales realizadas.
RFH-SW-8
CredencialDAO
Interface que nos permite interactuar con la información
de Credencial presente en la base de datos.
68/90
RFH-SW-9
AnexoCredencial
Clase que contiene toda la información almacenada en la
base de datos sobre los anexos a las credenciales
realizadas.
RFH-SW-10
AnexoCredencialDAO
Interface que nos permite interactuar con la información
de Anexo Credencial presente en la base de datos.
RFH-SW-11
HistHabilitacion
Clase que contiene toda la información almacenada en la
base de datos sobre el histórico de la habilitación
realizada.
RFH-SW-12
HistHabilitacionDAO
Interface que nos permite interactuar con la información
del histórico de las habilitaciones presente en la base de
datos.
RFH-SW-13
HistFuncionario
Clase que contiene toda la información almacenada en la
base de datos sobre el histórico de los funcionarios
relacionados en la aplicación.
RFH-SW-14
HistFuncionarioDAO
Interface que nos permite interactuar con la información
del histórico de funcionarios presente en la base de
datos.
RFH-SW-15
HabilitacionDAOImpl
Clase DAO encargada de implementar los métodos
definidos en laInterface HabilitacionDAO
RFH-SW-16
NotificacionDAOImpl
Clase DAO encargada de implementar los métodos
definidos en laInterface NotificacionDAO
RFH-SW-17
FuncionarioDAOImpl
Clase DAO encargada de implementar los métodos
definidos en laInterface FuncionarioDAO
RFH-SW-18
CredencialDAOImpl
Clase DAO encargada de implementar los métodos
definidos en laInterface CredencialDAO
RFH-SW-19
AnexoCredencialDAOImpl
Clase DAO encargada de implementar los métodos
definidos en laInterface AnexoCredencialDAO.
RFH-SW-20
HistHabilitacionDAOImpl
Clase DAO encargada de implementar los métodos
definidos en laInterface HistHabilitacionDAO.
RFH-SW-21
HistFuncionarioDAOImpl
Clase DAO encargada de implementar los métodos
definidos en laInterface HistFuncionarioDAO.
Tabla 48 – Componentes software de acceso a datos
4.1 Diagrama de componentes software de la capa de presentación Diagrama de clases:
•
Actions
69/90
Figura 9 – Actions. Figura Genérica
•
ActionsForm
Figura 10 – ActionsForm. Figura Generica
4.1.1
Descripción del componente Sw: RFH -SW-001 / HabilitacionForm
Nombre: HabilitacionForm
Funcionalidad: Clase ActionForm encargada de guardar la información relativa a una
70/90
habilitación.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
Public
HabilitacionForm
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
Public
get…
x
x
x
x
Métodos get para los atributos
definidos en la clase.
Public
set…
x
x
x
x
Métodos set de los
definidos en la clase.
private
Métodos
Relaciones
Nombre
Tipo
BaseActionForm
Herencia
71/90
atributos
4.2 Diagrama de componentes software de la capa lógica de negocio Figura 11 – Diagrama genérico de managers
72/90
4.2.1
Descripción del componente Sw: RFH-SW-999 / HabilitacionManager
Nombre: HabilitacionManager
Funcionalidad: Interface general de Objeto de negocio para la consulta de habilitaciones.
Constructor
Ámbito
Nombre
Argumento
Tipo
de
Argumento
x
x
x
x
Atributos
Ámbito
Nombre
Tipo de atributo
Descripción
x
x
x
x
Métodos
Ámbito
Nombre
Argumento
Tipo
argumento
de
Valores
Public
Public
Public
Public
Relaciones
Nombre
Tipo
MaintenanceManager
Herencia
73/90
Tipo
Valores
de
Descripción
4.3 Diagrama de componentes software de la capa de acceso a datos En este apartado se detallan los componentes relevantes de RFH. Se reutilizarán los
componentes software relativos a Categorías, Organismos, Usuarios, Trámites ya definidos
en el Registro Electrónico de Apoderamientos.
•
ValueObjects
Figura 12 – Value Objects. Figura genérica
•
Hibernate DAO´S
DAO
MaintenanceDAO
Entidad1DAO
AbstractMaintenanceDAO
Entidad1DAOImpl
Entidad2DAO
Entidad1DAOImpl
Figura 13 – DAO genéricos
74/90
4.3.1
Descripción del componente Sw: RFH-SW-1 / Habilitacion
Nombre: Habilitacion
Funcionalidad: Clase Value Object que contiene toda la información almacenada en la base
de datos sobre una habilitación.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
Habilitacion
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
private
ID_HABILITACION
Long
Código único de identificación de la habilitación
private
ID_TRAMITE
Trámite
Código unívoco de trámite
private
IID_FUNCIONARIO
Funcionario
Código unívoco de funcionario
private
ID_HIST_FUNCIONARIO
Long
Código unívoco del histórico de funcionario
private
FH_INICIO_HABILITACION
String
Fecha de inicio de la habilitación
private
FH_FIN_HABILITACION
String
Fecha de fin de la habilitación
private
FH_REVOCACION_HABILITACION
String
Fecha de revocación
private
DESC_CAUSA_REVOCACION
String
Causa de revocación
private
ID_ESTADO_HABILITACION
String
Estado de habilitación
private
ID_ESTADO_TRAMITACION
String
Estado de solicitud de habilitación
private
FH_CREACION
String
Fecha de creación del registro
private
ID_USUARIO_CREACION
String
Código unívoco de usuario que realiza la soilcitud
private
FH_FIN_HAB_PROPUESTA
String
Fecha de fin de habilitación propuesta
private
FH_MODIFICACION
String
Fecha de modificiación del registro
private
ID_USUARIO_MODIFICACION
String
Usuario que realiza la modificación
private
DESC_CAUSA_DENEGA
String
Causa de denegación
private
ID_AT
String
Código unívoco de usuario AT que supervisa la solicitud
private
ID_SUPERVISOR
String
Código unívoco de usuario Supervisor que valida la solicitud
private
ID_HIST_TRAMITE
String
Código unívoco del histórico de trámite
private
ID_TIPO_SOLICITUD
String
Tipo de solicitud
Nombre
Argumento
Métodos
Ámbito
Tipo
de
argumento
75/90
Valores
Tipo de
Valores
Descripción
public
get…
x
x
x
x
Métodos
atributos
clase.
get
para
los
definidos en la
public
set…
x
x
x
x
Métodos set de los atributos
definidos en la clase.
Relaciones
Nombre
Tipo
BaseEntity
Herencia
4.3.1
4.3.2
Descripción del componente Sw: RFH-SW-2 / HabilitacionDAO
Nombre: HabilitacionDAO
Funcionalidad: Interface que nos permite interactuar con la información de Habilitación
presente en la base de datos.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
HabilitacionDAO
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
x
x
x
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
x
x
x
x
x
x
x
x
Métodos
Relaciones
Nombre
Tipo
DAO
Herencia
4.3.3
Descripción del componente Sw: RFH-SW-3 / Notificaciones
Nombre: Notificaciones
Funcionalidad: Clase Value Object que contiene toda la información almacenada en la base
de datos sobre las notificaciones realizadas.
76/90
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
Notificaciones
x
x
Atributos
Ámbito
Nombre
Tipo de atributo
Descripción
private
ID_Notificacion
Long
Identificativo de la notificación
private
Usuario_Dtno
String
Usuario destinatario
private
Habilitacion
Habilitación
Identificativo de la habilitación que se está notificando
private
Usuario_AH
String
Identificativo del usuario remitente
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
public
get…
x
x
x
x
Métodos get para los atributos
definidos en la clase.
public
set…
x
x
x
x
Métodos set de los atributos
definidos en la clase.
Métodos
Relaciones
Nombre
Tipo
BaseEntity
Herencia
4.3.4
Descripción del componente Sw: RFH-SW-4 / NotificacionDAO
Nombre: NotificacionDAO
Funcionalidad: Interface que nos permite interactuar con la información de las notificaciones
presente en la base de datos.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
NotificacionDAO
x
X
Atributos
77/90
Ámbito
Nombre
Tipo
atributo
de
Descripción
x
x
x
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
x
x
x
x
x
x
X
X
Métodos
Relaciones
Nombre
Tipo
DAO
Herencia
4.3.5
Descripción del componente Sw: RFH-SW-5 / Funcionario
Nombre: Funcionario
Funcionalidad: Clase Value Object que contiene toda la información almacenada en la base
de datos sobre los funcionarios relacionados con la aplicación.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
Funcionario
x
x
Atributos
Ámbito
Nombre
Tipo de atributo
Descripción
private
nif
String
NIF del funcionario
private
Organismo
Organismo
Organismo al que pertenece el funcionario
private
nombre
String
Nombre del funcionario
private
apellido1
String
Primer apellido del funcionario
private
apellido2
String
Segundo apellido del funcionario
private
email
String
Email del funcionario
private
telefono
String
Telefono del funcionario
Métodos
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
public
get…
x
x
x
x
Métodos
atributos
clase.
public
set…
x
x
x
x
Métodos set de los atributos
definidos en la clase.
Relaciones
78/90
get
para
los
definidos en la
Nombre
Tipo
BaseEntity
Herencia
4.3.6
Descripción del componente Sw: RFH-SW-6 / FuncionarioDAO
Nombre: FuncionarioDAO
Funcionalidad: Interface que nos permite interactuar con la información de Funcionario
presente en la base de datos.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
FUNCIONARIODAO
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
x
x
x
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
x
x
x
x
x
x
x
x
Métodos
Relaciones
Nombre
Tipo
DAO
Herencia
4.3.7
Descripción del componente Sw: RFH-SW-7 / Credencial
Nombre: Credencial
Funcionalidad: Clase Value Object que contiene toda la información almacenada en la base
de datos sobre las credenciales realizadas.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
Credencial
x
x
Atributos
79/90
Ámbito
Nombre
Tipo de atributo
Descripción
private
Id_credencial
String
Código identificativo de la credencial
private
Id_funcionario
Funcionario
Código del funcionario que posee la credencial
private
Id_supervisor
String
Identificativo del supervisor
Métodos
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
public
get…
x
x
x
x
Métodos
atributos
clase.
public
set…
x
x
x
x
Métodos set de los atributos
definidos en la clase.
get
para
los
definidos en la
Relaciones
Nombre
Tipo
BaseEntity
Herencia
4.3.8
Descripción del componente Sw: RFH-SW-8 / CredencialDAO
Nombre: CredencialDAO
Funcionalidad: Interface que nos permite interactuar con la información de Credencial
presente en la base de datos.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
CREDENCIALDAO
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
x
x
x
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
x
x
x
x
x
x
x
x
Métodos
Relaciones
Nombre
Tipo
DAO
Herencia
80/90
4.3.9
Descripción del componente Sw: RFH-SW-9 / AnexoCredencial
Nombre: AnexoCredencial
Funcionalidad: Clase Value Object que contiene toda la información almacenada en la base
de datos sobre los anexos a las credenciales realizadas.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
AnexoCredencial
x
x
Atributos
Ámbito
Nombre
Tipo de atributo
Descripción
private
Id_anexo
Long
Código identificativo del anexo
private
Id_credencial
Credencial
Credencial al que pertenece el anexo
private
nombre_alfresco
String
Nombre del documento en el gestor documental
Métodos
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
public
get…
x
x
x
x
Métodos
atributos
clase.
public
set…
x
x
x
x
Métodos set de los atributos
definidos en la clase.
get
para
los
definidos en la
Relaciones
Nombre
Tipo
BaseEntity
Herencia
4.3.10 Descripción del componente Sw: RFH-SW-10 / AnexoCredencialDAO
Nombre: AnexoCredencialDAO
Funcionalidad: Interface que nos permite interactuar con la información de Anexo Credencial
presente en la base de datos.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
ANEXOCREDENCIALDAO
x
x
Atributos
81/90
Ámbito
Nombre
Tipo
atributo
de
Descripción
x
x
x
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
x
x
x
x
x
x
x
x
Métodos
Relaciones
Nombre
Tipo
DAO
Herencia
4.3.11 Descripción del componente Sw: RFH-SW-11 / HistHabilitacion
Nombre: HistHabilitacion
Funcionalidad: Clase Value Object que contiene toda la información almacenada en la base
de datos sobre el histórico de la habilitación realizada.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
HistHabilitacion
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
private
ID_Hist_HABILITACION
Long
Código único de identificación de la habilitación en el histórico
private
ID_HABILITACION
Long
Código único de identificación de la habilitación
private
ID_TRAMITE
Trámite
Código unívoco de trámite
private
IID_FUNCIONARIO
Funcionario
Código unívoco de funcionario
private
ID_HIST_FUNCIONARIO
Long
Código unívoco del histórico de funcionario
private
FH_INICIO_HABILITACION
String
Fecha de inicio de la habilitación
private
FH_FIN_HABILITACION
String
Fecha de fin de la habilitación
private
FH_REVOCACION_HABILITACION
String
Fecha de revocación
private
ID_ESTADO_HABILITACION
String
Estado de habilitación
private
ID_ESTADO_TRAMITACION
String
Estado de solicitud de habilitación
private
FH_FIN_HAB_PROPUESTA
String
Fecha de fin de habilitación propuesta
private
ID_AT
String
Código unívoco de usuario AT que supervisa la solicitud
82/90
private
ID_SUPERVISOR
String
Código unívoco de usuario Supervisor que valida la solicitud
private
ID_HIST_TRAMITE
String
Código unívoco del histórico de trámite
private
ID_TIPO_SOLICITUD
String
Tipo de solicitud
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
public
get…
x
x
x
x
Métodos
atributos
clase.
public
set…
x
x
x
x
Métodos set de los atributos
definidos en la clase.
Métodos
get
para
los
definidos en la
Relaciones
Nombre
Tipo
BaseEntity
Herencia
4.3.12 Descripción del componente Sw: RFH-SW-12 / HistHabilitacionDAO
Nombre: HistHabilitacionDAO
Funcionalidad: Interface que nos permite interactuar con la información del histórico de las
habilitaciones presente en la base de datos.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
HISTHABILITACIONDAO
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
x
x
x
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
x
x
x
x
x
x
x
x
Métodos
Relaciones
Nombre
Tipo
DAO
Herencia
83/90
4.3.13 Descripción del componente Sw: RFH-SW-13 / HistFuncionario
Nombre: HistFuncionario
Funcionalidad: Clase Value Object que contiene toda la información almacenada en la base
de datos sobre el histórico de los funcionarios relacionados en la aplicación.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
Funcionario
x
x
Atributos
Ámbito
Nombre
Tipo de atributo
Descripción
private
nif
String
NIF del funcionario
private
Organismo
Organismo
Organismo al que pertenece el funcionario
private
nombre
String
Nombre del funcionario
private
apellido1
String
Primer apellido del funcionario
private
apellido2
String
Segundo apellido del funcionario
private
email
String
Email del funcionario
private
telefono
String
Telefono del funcionario
Métodos
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
public
get…
x
x
x
x
Métodos
atributos
clase.
public
set…
x
x
x
x
Métodos set de los atributos
definidos en la clase.
get
para
los
definidos en la
Relaciones
Nombre
Tipo
BaseEntity
Herencia
4.3.14 Descripción del componente Sw: RFH-SW-14 / HistFuncionarioDAO
Nombre: HistFuncionarioDAO
Funcionalidad: Interface que nos permite interactuar con la información del histórico de
84/90
funcionarios presente en la base de datos.
Constructor
Ámbito
Nombre
Argumento
Tipo de Argumento
public
HISTFUNCIONARIODAO
x
x
Atributos
Ámbito
Nombre
Tipo
atributo
de
Descripción
x
x
x
Ámbito
Nombre
Argumento
Tipo
de
argumento
Valores
Tipo de
Valores
Descripción
x
x
x
x
x
x
x
x
Métodos
Relaciones
Nombre
Tipo
DAO
Herencia
4.3.15 Descripción del componente Sw: RFH-SW-15 / HabilitacionDAOImpl
Nombre: HabilitacionDAOImpl
Funcionalidad: Clase DAO encargada de implementar los métodos definidos en la interface
HabilitacionDAO
4.3.16 Descripción del componente Sw: RFH-SW-16 / NotificacionDAOImpl
Nombre: NotificacionDAOImpl
Funcionalidad: Clase DAO encargada de implementar los métodos definidos en la interface
NotificacionDAO
4.3.17 Descripción del componente Sw: RFH-SW-17 / FuncionarioDAOImpl
Nombre: FuncionarioDAOImpl
Funcionalidad: Clase DAO encargada de implementar los métodos definidos en la interface
FuncionarioDAO
85/90
4.3.18 Descripción del componente Sw: RFH-SW-18 / CredencialDAOImpl
Nombre: CredencialDAOImpl
Funcionalidad: Clase DAO encargada de implementar los métodos definidos en la interface
CredencialDAO
4.3.19 Descripción
del
componente
Sw:
RFH-SW-19
/
AnexoCredencialDAOImpl
Nombre: AnexoCredencialDAOImpl
Funcionalidad: Clase DAO encargada de implementar los métodos definidos en la interface
AnexoCredencialDAO
4.3.20 Descripción
del
componente
Sw:
RFH-SW-20
/
HistHabilitacionDAOImpl
Nombre: HistHabilitacionDAOImpl
Funcionalidad: Clase DAO encargada de implementar los métodos definidos en la interface
HistHabilitacionDAO
4.3.21 Descripción
del
componente
Sw:
RFH-SW-21
/
HistFuncionarioDAOImpl
Nombre: HistFuncionarioDAOImpl
Funcionalidad: Clase DAO encargada de implementar los métodos definidos en la interface
HistFuncionarioDAO
86/90
87/90
5 Diagrama de Navegación
En este apartado se muestra el diagrama de navegación de la aplicación.
RFH-Diagrama_Nave
gacion
Figura 14 – Diagrama de navegación de RFH
88/90
6 Prototipo
A continuación se indexa un fichero con el prototipo de pantallas diseñado.
Prototipo_RFH
Figura 15 – Prototipo de pantallas RFH
89/90
7 Estructura física de la información
A continuación se especifica el modelo de datos que utiliza la aplicación RFH, definido en el
archivo que se incluye a continuación.
Figura 16 – Modelo Entidad-Relación RFH
RFH_Modelo_ER
RFH_Report_Modelo
90/90
Descargar