Professional Documents
Culture Documents
DESARROLLO DE UN PORTAL
DE GESTIÓN DOCUMENTAL
I
Mi más sincera gratitud a mi familia, por su constante apoyo. A mis amigos, por hacerme reír en
los malos momentos. A Víctor Martínez y Eduardo Alcalde, por brindarme esta oportunidad.
II
RESUMEN
Hoy por hoy, la gestión documental se ha convertido en una necesidad real para toda
organización que maneje un mínimo volumen de datos. Cada vez representa un porcentaje mayor
El motivo principal se debe a que las empresas precisan acceder a un gran volumen de
documentación de forma rápida y segura, bien para mera consulta o bien para modificar los datos
ya existentes con otros más actualizados. Ahí es donde un sistema de gestión documental
informatizado puede ahorrar a dichas organizaciones mucho tiempo y, por lo tanto dinero, así
De este modo, pueden hacerse al menos dos divisiones entre entornos de trabajo diferenciados, el
de temática científico – técnica, necesaria para ciertos departamentos como I+D, investigación
de mercados, etc.
Los sistemas de gestión documental son programas que poseen una tecnología de bases de datos
idónea para la gestión de documentos. En todo sistema de este tipo, hay elementos hardware y
III
software, que proveerán servicios para la gestión de documentos. Estos servicios se distinguen
entre:
edición de documentos.
copias de seguridad.
• Servicios de trabajo en grupo: permiten una comunicación perfecta entre los integrantes
sistema usable y útil para el usuario final, siendo esta una de las motivaciones principales del
IV
autor.
V
ABSTRACT
Documentary management has turned into a real need for any organization that handles a
minimal volume of information nowadays. More and more, it represents a major percentage of
This is due to the fact that companies require access to a great volume of documentation in a
quick and secure way, both for mere consultation and for the modification of the already existing
information with more updated data. It is this way a computerized documentary management
system can save the above mentioned organizations not only a lot of time, but also money, safety
and flexibility.
Thus, two divisions can be established, at least, among nowadays working environments: the
administrative and the documentary ones. The first one, on charge of the daily management of
any company, makes use of administrative documents. The documentary environment makes use
of scientific and technical documentation, necessary for certain departments such as I+D, market
research, etc.
Documentary management systems are programmes with a database technology suitable for
documentation management. In this kind of systems there are both hardware and software
VI
elements that will provide services for the management of documents. The services are:
-Infrastructure: basic hardware and software, interconnection network and operative systems.
-Author services: access to author's tools is offered in order to make document creation and
edition easier.
managing system of databases, (Nowadays, there is a tendency towards the object orientated
-Search services: the searches are carried out on the database using indexes in certain fields.
Hereby, a higher speed and a better quality in the results are obtained.
- Library services: several services such as document retention, control of document versions,
- Group work services: they contribute towards a perfect communication among the different
• This end of degree project is intended for the accomplishment of a practical and useful
system for the final user, this being one of the main motivations of the author.
VII
Índice
0. MOTIVACIÓN Y OBJETIVOS……………………………………………………………….1
1. IDENTIFICACIÓN DE NECESIDADES……………………………………………………...2
2. ANÁLISIS DE REQUISITOS………………………………………………………………….9
3. ESTUDIO DE ARQUITECTURA……………………………………………………………65
4. DISEÑO……………………………………………………………………………………….83
5. PROGRAMACIÓN………………………………………………………………………….149
VIII
6. PRUEBAS DEL SISTEMA..………………………………………………………………...151
7. IMPLANTACIÓN…………………………………………………………………………...172
Anexos
ANEXO V: MANTENIMIENTO.…………….…………….…………….…………………...209
IX
Desarrollo de un Portal de Gestión Documental
0. MOTIVACIÓN Y OBJETIVOS
No se puede expresar en una frase la motivación del autor para sacar adelante este proyecto. El
principal motivo que guía a todos, terminar los estudios, no puede sintetizar la totalidad de los
Las ganas de terminar la carrera y poder dar rienda suelta a su creatividad ya en el entorno
laboral, es también otro de los factores que dan fuerza a la mayoría de los estudiantes en estos
momentos. Otros compañeros seguirán unos cuantos años más en la universidad, realizando
De este modo, los objetivos planteados cara al desarrollo de este proyecto son los siguientes:
• Alcanzar un mayor dominio de las tecnologías asociadas, tales como EJB y Struts.
1
Desarrollo de un Portal de Gestión Documental
1. IDENTIFICACIÓN DE NECESIDADES
En esta fase inicial del proyecto se procede a la identificación del problema, así como al
establecimiento del alcance y los limites del proyecto, definiendo sus objetivos básico.
En este caso en concreto, la hipotética empresa para la cual se desarrolla el sistema, está
término genérico tiene relación con los Sistemas de Administración de Contenido (CMS), el
En un principio, tras escoger este proyecto, se procedió a recabar información sobre las
necesidades del sistema, para lo cual se realizaron una serie de entrevistas con el director de
proyecto, intentando dar forma a lo que el proyecto precisaba. Fruto de tales entrevistas, no
2
Desarrollo de un Portal de Gestión Documental
IV. Restricciones.
VI. Antecedentes.
3
Desarrollo de un Portal de Gestión Documental
generar un sistema sencillo que sirva tanto a PYMEs como a usuarios domésticos.
Por ello el desarrollo no se centrará en ninguna estructura empresarial en concreto, sino que se
• Controlar las nuevas versiones de cada uno de los documentos, así como que las
4
Desarrollo de un Portal de Gestión Documental
Almacenamiento de datos.
Su objetivo abarca la persistencia de los datos entregados por los usuarios para la
acceso a través de un navegador web, pudiendo realizar las tareas comunes mediante el
mismo.
Gestión de permisos.
Un usuario con suficientes permisos para ello, podrá gestionar fácilmente la máscara de
permisos de un recurso dado. Para suplir esta necesidad, habrá que proveer al sistema
5
Desarrollo de un Portal de Gestión Documental
Los usuarios del sistema no tendrán a priori unos grandes conocimientos informáticos. Podrán
ser desde administrativos de una empresa, hasta alumnos universitarios que acceden a la
IV. RESTRICCIONES.
empresariales respecto al uso del software libre, se intentarán utilizar únicamente tecnologías
de este tipo.
Se pretende terminar este proyecto para la convocatoria de septiembre del 2007. También
habrá que amoldarse al tiempo libre del autor, fuera del horario laboral, por lo que el tiempo
6
Desarrollo de un Portal de Gestión Documental
concreto. De cualquier manera, se tomará como estructura genérica la siguiente (Imagen 1):
Front Office: interacción con los clientes de la empresa. Gestión con proveedores.
VI. ANTECEDENTES.
Tal como se ha indicado previamente, se presupondrá que no había ningún sistema software
dedicado a tal premisa con anterioridad. En la empresa modelo, los documentos eran
Por lo tanto, una vez el sistema esté implantado, habrá una fase en la que coexistirán ambos
7
Desarrollo de un Portal de Gestión Documental
Creado el Documento de Conceptos del Sistema, se puede pasar a la siguiente etapa del
8
Desarrollo de un Portal de Gestión Documental
2. ANÁLISIS DE REQUISITOS
sistema, definiendo las necesidades, problemas y requerimientos del usuario, para expresarlos
• Lista de requisitos.
El sistema actual no está informatizado. Por lo tanto, no existe sistema actual y se tomarán como
9
Desarrollo de un Portal de Gestión Documental
tiene por qué estar informatizado, de hecho las acciones a realizar por el sistema serían
posibilita la confirmación del cliente y detectar sus problemas de operación, a la vez que da a los
Al realizarse todas las tareas de forma manual, todas ellas serán sencillas y basadas en el
El modelo físico pretende recoger la problemática existente y los requisitos necesarios para
Diagrama de Contexto, muestra los interfaces del sistema con el exterior, las entidades
describir cada objeto representado en los diagramas, tales como entidades externas, procesos,
10
Desarrollo de un Portal de Gestión Documental
flujos de datos y almacenes. Cuanto más minucioso sea el análisis, se hace más grande la
diagramas.
datos, de los procesos de más bajo nivel, difícilmente separables en piezas más pequeñas.
Estos procesos en realidad son los que definen la lógica del sistema, por lo que han de ser los
Tras identificar los usuarios a entrevistar y las funciones asociadas a cada área, se elabora un
calendario de entrevistas y una lista de preguntas clave –no especificadas en el presente MFSA–,
útiles para entender mejor el sistema actual. El objetivo principal de estas entrevistas es ir
descomponiendo de forma sucesiva las funciones primarias, hasta obtener las elementales. Todas
Nivel 0.
11
Desarrollo de un Portal de Gestión Documental
Diagrama Contextual (Imagen 2)
El diagrama contextual muestra las entidades externas con las que interactúa el sistema, así como
Se aprecia que la única entidad externa es el operario que gestiona el sistema de documentación,
Nivel 1.
• Devolución de documentos.
A simple vista se puede observar que el sistema actual tiene limitaciones, tales como la no
13
Desarrollo de un Portal de Gestión Documental
Nivel 2.
14
Desarrollo de un Portal de Gestión Documental
0.2. Consultar catálogo (Imagen 5)
15
Desarrollo de un Portal de Gestión Documental
0.3. Acceder documento (Imagen 6)
16
Desarrollo de un Portal de Gestión Documental
0.4. Devolver documento (Imagen 7)
17
Desarrollo de un Portal de Gestión Documental
0.5. Introducir nuevo documento (Imagen 8)
18
Desarrollo de un Portal de Gestión Documental
DICCIONARIO DE DATOS.
Consta de los las entradas de datos constituyentes de los nombres y descripciones de los
Siempre que haya una nueva petición, se decide de qué tipo de acción se trata (nuevo
acceso a un documento que hay disponible, o por el contrario se intenta realizar una
0.2. Consultar catálogo: proceso. Engloba todas las operaciones necesarias para realizar una
consulta en el catálogo general. Permite la búsqueda por autor, por título, por fecha o
0.2.1. ¿Por autor? : proceso. Determina si la consulta se pretende realizar por autor.
19
Desarrollo de un Portal de Gestión Documental
0.2.2. Buscar autores: proceso. Realiza una búsqueda en el catálogo general, tomando
0.2.3. ¿Por título? : proceso. Determina si la consulta se pretende realizar por título.
0.2.4. Buscar títulos: proceso. Realiza una búsqueda en el catálogo general, tomando
0.2.5. ¿Por fecha? : proceso. Determina si la consulta se pretende realizar por fecha.
0.2.7. ¿Por materia? : proceso. Determina si la consulta se pretende realizar por materia.
0.2.8. Buscar materias: proceso. Realiza una búsqueda en el catálogo general, tomando
COMPONENTES
- Listado: fichas de los ejemplares encontrados en el catálogo general que cumplen con
el patrón de búsqueda.
DESCRIPCIÓN
Almacén temporal, que almacena todos los títulos del archivo que cumplen el patrón de
disponibles (6). Todos los que no cumplen esta condición son borrados del almacén de
resultados temporales.
disponibles (6).
0.2.13. Recoger resultado final: proceso. Colecta los resultados almacenados en la tabla
de resultados temporales (0.2.10) y los redirige al conector de datos de los ejemplares (3).
0.3. Acceder documento: proceso. Engloba todas las operaciones necesarias para poder
existe.
documentos disponibles.
0.4. Devolver documento: proceso. Engloba todas las acciones necesarias para devolver un
21
Desarrollo de un Portal de Gestión Documental
0.4.1. Borrar préstamo: proceso. Introduce la referencia del título a devolver en el
documento buscado. Redirige estos datos por el conector datos ejemplar (3).
0.5. Introducir nuevo elemento: proceso. Engloba todas las tareas necesarias previas a
0.5.3. Calcular ubicación: proceso. Consulta el índice de materias (7) para estimar la
0.5.4. Modificar ficha: proceso. Tras recibir la nueva ficha por su conector
ubicación (0.5.3).
1. Operario: única entidad externa con la que interactúa el sistema. Encargado del archivo
general, dispensa los documentos a los usuarios, da de alta nuevos documentos, etc.
COMPONENTES
22
Desarrollo de un Portal de Gestión Documental
Datos de la consulta:
- Datos de la búsqueda: en caso de tratarse de una consulta, aquellos datos que sean relevantes
para la misma.
- Datos devolución: en caso de querer devolver un documento al que se haya tenido acceso
previo.
DESCRIPCIÓN
El operario realiza diversas acciones en el sistema actual. Cualquiera que sea el cometido, éste
tendrá unos campos genéricos, que vienen especificados dentro de este flujo de datos.
COMPONENTES
Datos
DESCRIPCIÓN
proceder a su acceso físico en el archivo; o los datos de una búsqueda en el catálogo general.
COMPONENTES
23
Desarrollo de un Portal de Gestión Documental
DESCRIPCIÓN
5. General: almacén.
CONTENIDO
- Listado: relación general de todos los documentos de los que dispone el archivo, estén
disponibles o no.
DESCRIPCIÓN
Archivador con todas las fichas de los documentos que gestiona el archivo.
6. Disponibles: almacén.
CONTENIDO
DESCRIPCIÓN
Archivador con todas las fichas de los documentos que están disponibles para consulta. Cada vez
que se saca un ejemplar para consulta, se borra de este listado. Asimismo, cuando se devuelve se
introduce de nuevo.
CONTENIDO
DESCRIPCIÓN
Índice de todas las materias de los documentos gestionados, con su dirección relativa en el
archivo general.
24
Desarrollo de un Portal de Gestión Documental
Una vez obtenido el modelo físico del sistema actual, se deduce el modelo lógico del sistema
actual, de alto nivel, retirando del modelo físico las características físicas y agrupando procesos
De este modo, el objetivo principal del modelo lógico es identificar las funciones o procesos y
sus datos esenciales, eliminando o sustituyendo lo superfluo para el funcionamiento del negocio
en estudio. El modelo físico incluirá procesos y datos esenciales, aunque sean necesarios para la
operativa actual del sistema. Esos procesos y datos no esenciales se eliminarán en el paso del
Para deducir el modelo lógico a partir del físico, debe descubrirse lo esencial del sistema en
estudio. Los procesos o funciones esenciales son aquellos que caracterizan la operativa del
En general, los procesos realizados por razones tecnológicas o procesos no esenciales se deben a:
• Políticas de empresa.
25
Desarrollo de un Portal de Gestión Documental
• Limitaciones geográficas.
• Tecnología utilizada.
Nivel 0.
26
Desarrollo de un Portal de Gestión Documental
Nivel 1.
27
Desarrollo de un Portal de Gestión Documental
0.2. Consultar catálogo (Imagen 11)
28
Desarrollo de un Portal de Gestión Documental
0.3. Acceder documento (Imagen 12)
29
Desarrollo de un Portal de Gestión Documental
0.4. Devolver documento (Imagen 13)
30
Desarrollo de un Portal de Gestión Documental
0.5. Introducir nuevo documento (Imagen 14)
31
Desarrollo de un Portal de Gestión Documental
DICCIONARIO DE DATOS.
Siempre que haya una nueva petición, se decide de qué tipo de acción se trata (nuevo
0.2. Consultar catálogo: proceso. Engloba todas las operaciones necesarias para realizar una
consulta en el catálogo general. Permite la búsqueda por autor, por título, por fecha o
0.2.1. Buscar: proceso. Extrae del catálogo general los ejemplares que se correspondan
0.2.2. Cotejar con disponibles: proceso. Recibe los resultados del proceso 0.2.1, y los
0.3. Acceder documento: proceso. Engloba todas las operaciones necesarias para poder
disponibles.
32
Desarrollo de un Portal de Gestión Documental
0.4. Devolver documento: proceso. Engloba todas las acciones necesarias para devolver un
documentos disponibles.
0.4.2. Extraer ubicación: proceso. Devuelve la ubicación del título devuelto, sacándolo
0.5. Introducir nuevo elemento: proceso. Engloba todas las tareas necesarias previas a
devolución.
tener en el archivo.
1. Operario: única entidad externa con la que interactúa el sistema. Encargado del archivo
general, dispensa los documentos a los usuarios, da de alta nuevos documentos, etc.
Datos de la consulta:
- Datos de la búsqueda: en caso de tratarse de una consulta, aquellos datos que sean relevantes
para la misma.
- Datos devolución: en caso de querer devolver un documento al que se haya tenido acceso
previo.
DESCRIPCIÓN
El operario realiza diversas acciones en el sistema actual. Cualquiera que sea el cometido, éste
tendrá unos campos genéricos, que vienen especificados dentro de este flujo de datos.
COMPONENTES
Datos
DESCRIPCIÓN
proceder a su acceso físico en el archivo; o los datos de una búsqueda en el catálogo general.
COMPONENTES
34
Desarrollo de un Portal de Gestión Documental
- Descripción: sinopsis general del documento.
DESCRIPCIÓN
5. General: almacén.
CONTENIDO
- Listado: relación general de todos los documentos de los que dispone el archivo, estén
disponibles o no.
DESCRIPCIÓN
Archivador con todas las fichas de los documentos que gestiona el archivo.
6. Disponibles: almacén.
CONTENIDO
DESCRIPCIÓN
Archivador con todas las fichas de los documentos que están disponibles para consulta. Cada vez
que se saca un ejemplar para consulta, se borra de este listado. Asimismo, cuando se devuelve se
introduce de nuevo.
CONTENIDO
DESCRIPCIÓN
Índice de todas las materias de los documentos gestionados, con su dirección relativa en el
35
Desarrollo de un Portal de Gestión Documental
archivo general.
Relación de los requisitos expresados por el cliente para el nuevo sistema. Confeccionado a
partir de las entrevistas con el cliente, recogiendo las características de cada requisito en una
ficha específica. A su vez, se puede realizar una división de los requisitos en función a su
36
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
Organización más intuitiva para el cliente. Es análoga a la del sistema actual, con lo que
podría reducir el tiempo de aprendizaje para el cliente.
Permitirá una búsqueda por áreas en vez de por términos clave.
COMENTARIOS / SOLUCIONES SUGERIDAS
37
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
Mayor seguridad: se podrá controlar quién ha modificado cada documento y qué partes
han sido afectadas.
Mayor fiabilidad: las versiones anteriores seguirán almacenadas en el sistema, para el
caso de que se almacene una versión errónea.
COMENTARIOS / SOLUCIONES SUGERIDAS
38
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
El operario tendrá menor carga de trabajo, simplemente tendrá que introducir los nuevos
títulos en el sistema.
Se reducirán las colas y varios usuarios podrán utilizar el sistema a la vez.
COMENTARIOS / SOLUCIONES SUGERIDAS
Servicios web en el servidor y cliente remoto tipo SWING, Visual Basic o similar.
Aplicación web accesible desde cualquier navegador web remoto que esté conectado a la
red.
REQUISITOS RELACIONADOS
REQ-04
39
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
Se pretende que, dependiendo del volumen del fondo bibliográfico, se digitalice todo en un
plazo prudencial, una vez comience el período de implantación.
Los documentos previos han de ser accesibles en el nuevo sistema de forma remota.
Los documentos almacenados podrán ser consultados sin peligro de que se deterioren.
COMENTARIOS / SOLUCIONES SUGERIDAS
REQ-03
40
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
Formularios web, conjuntados con servlets que acceden a la base de datos remota.
Acceso ftp.
REQUISITOS RELACIONADOS
REQ-03
41
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
Los documentos que no hayan sido todavía auditados, tendrán una marca para ser
reconocidos.
Se podrá hacer una auditoría por fecha (los últimos X días, entre dos fechas
determinadas...).
REQUISITOS RELACIONADOS
REQ-05
42
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
Las distintas funcionalidades no podrán ser accesibles para un usuario que no haya sido
autentificado o que no tenga acceso a las mismas.
BENEFICIOS
43
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
Cada vez que un usuario entre al sistema, este evento quedará almacenado en la base de
datos. Lo mismo con los intentos fallidos.
Se podrá hacer una auditoría por fecha (los últimos X días, entre dos fechas
determinadas...).
REQUISITOS RELACIONADOS
REQ-06, REQ-07
44
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
REQ-07, REQ-10
45
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
REQ-07, REQ-09
46
Desarrollo de un Portal de Gestión Documental
IDENTIFICACIÓN
REQ-03, REQ-04
47
Desarrollo de un Portal de Gestión Documental
Los requisitos incorporados por el usuario se van incorporando al modelo lógico del sistema
El trabajo comienza en el modelo lógico de más bajo nivel, remodelando los procesos y
diagramas de flujo de datos. De este modo, se va subiendo de nivel para consolidar lo expresado
en los niveles subyacentes hasta llegar al diagrama de contexto. Tras este proceso, se habrán
Nivel 0.
En este nuevo diagrama de contexto se puede observar que aparece una nueva entidad externa.
• Por un lado se tiene el operario del sistema que continúa actuando como administrador
del sistema; por el otro aparece la entidad usuario, como respuesta al requisito REQ-11.
• Se observan nuevos interfaces, como el flujo de datos 7. HTML, que no es otra cosa que
48
Desarrollo de un Portal de Gestión Documental
páginas HTML generadas por el sistema para comunicarse de modo remoto con los distintos
el flujo 6. user/pwd.
tiene con el sistema, como clicks de ratón o introducción de texto con el teclado.
• Finalmente, los flujos de datos Download y Upload responden a los requisitos REQ-11 y
REQ-05, respectivamente.
Nivel 1.
Los procesos principales se ven alterados en el MLNS. Concretamente, se tiene los siguientes:
49
Desarrollo de un Portal de Gestión Documental
• Entrar.
• Control de usuarios.
• Consultar catálogo.
• Subir documento.
• Acceder documento.
• Mostrar documento.
Todos ellos comparten flujos de datos como HTML, ya que se van a generar documentos de este
tipo para mostrar al usuario a través del navegador. Por lo tanto, también reciben la interacción
50
Desarrollo de un Portal de Gestión Documental
Con este nuevo diagrama de concepto se percibe una fácil cobertura a los requisitos expresados
Nivel 2.
51
Desarrollo de un Portal de Gestión Documental
0.1. Entrar (Imagen 17)
52
Desarrollo de un Portal de Gestión Documental
0.3. Control usuarios (Imagen 18)
53
Desarrollo de un Portal de Gestión Documental
0.4. Consultar catálogo (Imagen 19)
54
Desarrollo de un Portal de Gestión Documental
0.5. Subir documento (Imagen 20)
55
Desarrollo de un Portal de Gestión Documental
0.6. Acceder documento (Imagen 21).
56
Desarrollo de un Portal de Gestión Documental
0.7. Mostrar documento (Imagen 22)
57
Desarrollo de un Portal de Gestión Documental
0.8. Informe nuevos documentos (Imagen 23)
DICCIONARIO DE DATOS.
REQ-07.
0.1.1. Mostrar pantalla entrada: proceso. Genera la pantalla inicial, donde se han de
58
Desarrollo de un Portal de Gestión Documental
permite la entrada al sistema y anexa a la petición HTTP una sesión identificativa del
usuario.
0.1.2. Comprobar con BD: proceso. Módulo que, dados un nombre de usuario y una
0.2. Mostrar pantalla principal: proceso. Encargado de generar la pantalla principal del
0.3. Control usuarios: proceso. Módulo accesible sólo para el operario, cuya función es la
0.3.1. Mostrar pantalla usuarios: proceso. Genera la pantalla donde se puede dar de alta
0.3.2. Dar de alta usuarios: proceso. Interactúa con la base de datos, insertando en la
0.3.3. Dar de baja usuarios: proceso. Interactúa con la base de datos, borrando de la
0.3.4. Mostrar últimos accesos: proceso. Genera la pantalla donde el operador puede
observar los últimos usuarios que han accedido al sistema. Por defecto muestra los 10
últimos, pero permite seleccionar usuarios por diversos conceptos: fecha, usuario,
0.3.5. Mostrar X accesos: proceso. Genera la página donde el operador puede observar
59
Desarrollo de un Portal de Gestión Documental
los últimos accesos que cumplen con el patrón indicado en el proceso 0.3.4.
0.3.6. Mostrar accesos: proceso. Devuelve los accesos que cumplen con el patrón dado.
0.4. Consultar catálogo: proceso. Este módulo permite realizar pesquisas en el archivo
0.4.1. Mostrar pantalla de búsqueda: proceso. Genera la pantalla donde el usuario puede
realizar búsquedas sobre el catálogo general. Permitirá realizar las mismas por diversos
conceptos.
contenidos al sistema.
0.5.1. Mostrar pantalla subir documento: proceso. Genera la pantalla que permite al
indicados.
0.6. Acceder documento: proceso. Permite seleccionar un documento dado, y muestra las
0.6.1. Mostrar página acceso documento: proceso. Genera y envía a través del servidor
60
Desarrollo de un Portal de Gestión Documental
web la pantalla de selección de un documento dado, permitiendo diversas opciones, tales
0.6.2. Acceder objeto en la BD: proceso. Dado un IDFile, retorna los identificadores de
0.7. Mostrar documento: proceso. Posibilita la descarga del documento al ordenador del
usuario.
0.7.1. Mostrar pantalla versión documento: proceso. Dados un IDFile y una de sus
permite solicitar la subida de una nueva versión del mismo documento asociado al
IDFile.
0.8. Informe nuevos documentos: proceso. Permite al usuario consultar cuales han sido los
0.8.1. Generar pantalla informes: proceso. Genera la pantalla que permite al operario
observar cuáles son los últimos documentos y versiones dados de alta. También permite
0.8.2. Generar informe docs: proceso. Genera el informe con los parámetros indicados
0.8.3. Buscar altas: proceso. Permite consultar a la base de datos documentos dados de
61
Desarrollo de un Portal de Gestión Documental
álta, por diversos conceptos.
1. Operario: entidad externa. Tiene los privilegios necesarios para administrar el sistema.
COMPONENTES
DESCRIPCIÓN
Cada vez que un usuario interactúa con el sistema a través de una pantalla remota, ya sea
realizando un click de ratón, introduciendo un texto por teclado o cualquier tipo de evento que se
COMPONENTES
DESCRIPCIÓN
Respuesta del sistema al cliente cada vez que solicite la descarga a su equipo de uno de sus
recursos. No es otra cosa que una respuesta HTTP, con el respectivo fichero anexado como
parámetro.
COMPONENTES
DESCRIPCIÓN
62
Desarrollo de un Portal de Gestión Documental
Petición del usuario al sistema, cada vez que se pretende subir un documento al sistema.
Consiste en una petición HTTP, con el respectivo fichero anexado en forma de parámetro.
COMPONENTES
DESCRIPCIÓN
Par nombre de usuario – contraseña que introduce el mismo cuando intenta acceder al sistema.
COMPONENTES
DESCRIPCIÓN
El sistema estructurará sus todas sus respuestas al usuario (exceptuando el caso del flujo de
datos 4. Download) en forma de código de marcado que enviará al navegador web de éste y otros
63
Desarrollo de un Portal de Gestión Documental
Con el desarrollo de los anteriores modelos y tras la definición de los requisitos del sistema,
finaliza esta etapa del desarrollo. Tras ella comienza el estudio de la arquitectura del sistema, y
64
Desarrollo de un Portal de Gestión Documental
3. ESTUDIO DE LA ARQUITECTURA
El objetivo de esta fase es definir las posibles soluciones de arquitectura que satisfagan tanto los
requisitos del usuario como las restricciones de diseño. Para ello, se definen esas posibles
Suele ser común en las metodologías de desarrollo, realizar una planificación detallada o
programación de actividades del proyecto, dentro de esa etapa, una vez aprobada la alternativa a
desarrollar. Para ello, no es necesario un exhaustivo estudio de cada alternativa, ya que éste se
realizará en la fase de diseño. Además no conviene dedicar demasiado esfuerzo en esta etapa:
De este modo, la solución adoptada debe aportar información suficiente para estimar
razonablemente el coste del proyecto, y una visión sobre la estructura del nuevo sistema a los
usuarios. El número de alternativas dependerá del tamaño y complejidad del proyecto a realizar,
65
Desarrollo de un Portal de Gestión Documental
alternativa a estudiar.
económicos.
66
Desarrollo de un Portal de Gestión Documental
ESPECIFICACIÓN DE LA ALTERNATIVA-1
Título Código
Área Fecha
Antecedentes
La gestión documental se ha ido convertiendo en uno de las áreas con mayor importancia dentro
pretende realizar un sistema gestor, que agilice de forma segura y eficiente este departamento.
Para ello se ha tomado como base un sistema en el cual no hubiera ningún componente
informatizado.
67
Desarrollo de un Portal de Gestión Documental
Requisitos
archivo. Con ello se busca también aumentar la seguridad del archivo, controlando el acceso de
Otro punto a tener en cuenta es que el acceso a estos documentos se ha de realizar de modo
remoto, para salvaguardar en todo momento los documentos originales y a su vez permitir la
ESPECIFICACIÓN DE LA SOLUCIÓN
Arquitectura:
Se propone la creación de una aplicación multicapa, que conste de los siguientes niveles
[KEOG03]:
generar ficheros ejecutables que se ejecuten de forma autónoma. Se trata de una manera fácil
68
Desarrollo de un Portal de Gestión Documental
como cola para dejar sus mensajes de petición de servicio. A su vez, los diversos servicios
estarán formados por tres capas: EJB de entidad, orientados a la persistencia de datos, de
sesión sin estado (Stateless), que implementan la lógica de negocio, y los dirigidos por
mensajes, que toman los mensajes del MQ y los sirven a los Stateless.
amenazas externas.
De este modo se consigue una separación entre las capas de la aplicación bastante bien definida.
Necesidades Hardware:
base de datos, han de estar conectados a la misma red. No habrá problema de soporte de
hardware en este aspecto, ya que se pretende utilizar para la parte de servidor el Sistema
69
Desarrollo de un Portal de Gestión Documental
Necesidades Software:
1. Servidor de base de datos: para hospedar la base de datos se precisan diversas tecnologías.
Empezando por el Sistema Operativo, para el que se utilizará MS Windows 2003 Server; el
Sistema Gestor de Bases de Datos, donde se optará por MS SQL Server. En cuanto a la
conectividad, ha de disponer de soporte del driver de conexión a bases de datos ODBC, que ya
Server. Como entorno de ejecución de aplicaciones java, se precisará el JRE 5.0 de Sun
Microsystems. Finalmente, el fiable contenedor EJB Bea Weblogic v10, y acceso al puente
JDBC/ODBC.
70
Desarrollo de un Portal de Gestión Documental
ESPECIFICACIÓN DE LA ALTERNATIVA-2
Título Código
Área Fecha
Antecedentes
La gestión documental se ha ido convertiendo en uno de las áreas con mayor importancia dentro
pretende realizar un sistema gestor, que agilice de forma segura y eficiente este departamento.
Para ello se ha tomado como base un sistema en el cual no hubiera ningún componente
informatizado.
Requisitos
archivo. Con ello se busca también aumentar la seguridad del archivo, controlando el acceso de
71
Desarrollo de un Portal de Gestión Documental
los usuarios y monitorizando el acceso a la información.
Otro punto a tener en cuenta es que el acceso a estos documentos se ha de realizar de modo
remoto, para salvaguardar en todo momento los documentos originales y a su vez permitir la
ESPECIFICACIÓN DE LA SOLUCIÓN
Arquitectura:
Se propone la creación de una clásica arquitectura bicapa, con clientes pesados que acceden de
• Cliente: programa escrito en cualquier lenguaje de alto nivel con soporte gráfico, en este
caso se opta por Java/Swing. Implementa toda la lógica de negocio y de acceso a la base de
datos.
• Base de datos: Sistema Gestor de Bases de Datos centralizado en un servidor central, sin
Necesidades hardware:
72
Desarrollo de un Portal de Gestión Documental
1. Cliente: se ha de disponer de estaciones de trabajo con acceso a red.
3. Servidor de base de datos: equipo servidor, con soporte de red. Al ser un elemento crítico
y estar probablemente bajo una carga bastante importante, ha de ser fácilmente escalable por
escogido.
Necesidades software:
1. Cliente: Sistema Operativo Windows XP SP2, entorno de ejecución java JRE 5.0 de Sun
2. Operador: Sistema Operativo Windows XP SP2, entorno de ejecución java JRE 5.0 de Sun
Microsystems. Driver para acceso a la base de datos escogida. Software de gestión de scanner,
3. Servidor de base de datos: Sistema Operativo IBM AIX 5L, entorno sobradamente
probado y fiable. Como Sistema Gestor de Base de Datos, se escogerá DB2 9, también de
IBM.
73
Desarrollo de un Portal de Gestión Documental
ESPECIFICACIÓN DE LA ALTERNATIVA-3
Título Código
Área Fecha
Antecedentes
La gestión documental se ha ido convertiendo en uno de las áreas con mayor importancia dentro
pretende realizar un sistema gestor, que agilice de forma segura y eficiente este departamento.
Para ello se ha tomado como base un sistema en el cual no hubiera ningún componente
informatizado.
Requisitos
archivo. Con ello se busca también aumentar la seguridad del archivo, controlando el acceso de
74
Desarrollo de un Portal de Gestión Documental
Otro punto a tener en cuenta es que el acceso a estos documentos se ha de realizar de modo
remoto, para salvaguardar en todo momento los documentos originales y a su vez permitir la
ESPECIFICACIÓN DE LA SOLUCIÓN
Arquitectura:
navegador web. Se trata, de este modo, de un cliente ligero con uso de un interfaz escrito en el
• Infraestructura de seguridad: un firewall coporativo que trabaje tanto a nivel de red como
aplicación.
Necesidades hardware:
75
Desarrollo de un Portal de Gestión Documental
3. Servidor de aplicaciones: equipo servidor, con posibilidad de escalar en el futuro.
Conexión a red.
4. Servidor de bases de datos: equipo servidor, con conexión a red, con sistema de
escogido.
Necesidades software:
1. Cliente: cualquier sistema operativo con soporte de red. Por coste, se escoge la
2. Operador: cualquier sistema operativo con soporte de red, y scanner. Al igual que en el
cliente, se escoge la distribución de GNU/Linux Ubuntu Edgy 7.04. Software de gestión del
caracteres se opta por Tesseract OCR, software desarrollado por HP y actualmente mantenido
por la familiaridad que ya posee el desarrollador con éste. Con entorno de ejecución java, JRE
5.0 de Sun Microsystems, y como contenedor JBoss 4.2.1, preparado ya para la especificación
76
Desarrollo de un Portal de Gestión Documental
aplicaciones. Sistema Gestor de Bases de Datos MySQL.
77
Desarrollo de un Portal de Gestión Documental
índole.
El aspecto más valorado en este apartado será la adaptación de los usuarios finales al nuevo
sistema.
2. Portabilidad.
4. Mantenibilidad.
78
Desarrollo de un Portal de Gestión Documental
5. Escalabilidad.
6. Seguridad.
3. Mantenimiento barato.
Se realizará una matriz de evaluación de las tres alternativas planteadas (Tabla 1). Todos los
factores a tener en cuenta tendrán el mismo peso, 3 puntos, de modo que 1 sea el valor más bajo
79
Desarrollo de un Portal de Gestión Documental
3.2.2.2. Fiabilidad de los datos 3 3 3
3.2.3.1. Disponibilidad 3 2 2
3.2.3.2. Portabilidad 2 3 3
3.2.3.3. Compatibilidad 3 2 3
3.2.3.4. Mantenibilidad 3 1 3
3.2.3.5. Escalabilidad 3 1 2
3.2.3.6. Seguridad 3 3 3
3.2.3.7. Facilidad 1 2 2
Tabla 1
80
Desarrollo de un Portal de Gestión Documental
PUNTUACIÓN 2007-08-08-1 2007-08-08-2 2007-08-08-3
Nivel organizativo 3 2 3
Nivel operativo 9 7 9
Nivel técnico 17 15 18
Nivel económico 6 4 9
TOTAL 35 28 39
Tabla 2
Tabla 3
Se toma como alternativa a desarrollar la “Arquitectura de aplicación Struts con tecnología EJB
3.0.” (2007-08-08-3), al ser una alternativa razonablemente económica, que también destaca en
el resto de campos.
81
Desarrollo de un Portal de Gestión Documental
Imagen 25
La aplicación Struts, como se puede apreciar en la imagen 25, reside en un contenedor web
82
Desarrollo de un Portal de Gestión Documental
4. DISEÑO
El objetivo principal del Diseño Externo es transformar el modelo lógico del nuevo sistema en
un modelo físico a implementar sobre una plataforma hardware y software específica. Cuando
este modelo se haya completado, se pasará al Diseño para editar sobre la plataforma elegida la
arquitectura software.
En esta fase se completarán los requisitos físicos del nuevo sistema, se diseñarán las entradas y
los datos, las pruebas del sistema y la implantación, como parte del ciclo de vida a recorrer.
83
Desarrollo de un Portal de Gestión Documental
marcha del sistema. Estos requisitos físicos se pueden expresar bajo los conceptos de: entorno
Se han de definir las distintas entradas y salidas de datos, a fin de poder diseñar interfaces con
otros sistemas que dialogan con éste. Además se especifica cómo van a llevarse a cabo las
posibles tomas de datos para la entrada al sistema: quienes van a realizarlas, con qué seguridad
84
Desarrollo de un Portal de Gestión Documental
Interfaz con el operario del sistema (Imagen 26)
Imagen 26
diseñados.
La salida de los datos hacia el operario se realizará a través de las páginas web que
Imagen 27
85
Desarrollo de un Portal de Gestión Documental
La comunicación del usuario con el sistema, al igual que con el operario, se realizará con
formularios previamente diseñados. Del mismo modo, la comunicación del sistema con el
La descarga de archivos al cliente se realizará como datos adjuntos a través del protocolo HTTP.
Del mismo modo, la subida de documentos al servidor se realizará como datos adjuntos con el
Mantenimiento de Ficheros.
La base de datos, al almacenar documentos en forma de datos binarios, estará sujeta a una
fragmentación importante. Por lo tanto, habrá que someter a periódicas defragmentaciones las
tablas pertinentes.
Generación de Informes.
El sistema generará dos tipos de informes, bien al operario o a otro usuario cualquiera.
Informe de accesos al sistema: generado mediante una plantilla. Un JSP iterará sobre los
86
Desarrollo de un Portal de Gestión Documental
Control de información y seguridad del sistema.
El sistema será accesible a través de una pantalla inicial donde habrá que indicar el nombre de
encriptadas mediante el algoritmo de cifrado simétrico Blowfish. La clave del cifrado será
Del mismo modo, en cada pantalla se crearán controles para controlar si la petición la origina un
El sistema está diseñado para una PYME. De cualquier modo, la arquitectura será fácilmente
implementar todas las capas de seguridad, comunicaciones, etc. que en muchos casos
modo considerable.
Condicionantes de operación.
Los procesos de defragmetación de la base de datos habrán de hacerse en una franja horaria que
no intefiera con los procesos de explotación del sistema. Como la organización objetivo de este
87
Desarrollo de un Portal de Gestión Documental
proyecto es tan genérica, se ha de tener en cuenta la posibilidad de que sea preciso mantener
Horario de oficina: el sistema realizará los procesos batch, como por ejemplo el ya
Forma de implantación.
no lo estarán en el nuevo sistema. Para ello habrá un tiempo en el cual ambos sistemas coexistan,
hasta que se hayan digitalizado todos los documentos previos. Para ello se dotará al operario del
almacenados, el operario cuente con más personal de apoyo, por el volumen del fondo y la
88
Desarrollo de un Portal de Gestión Documental
2. Configuración hardware/software.
Se debe contemplar la especificación de los elementos hardware y software que van a configurar
para la configuración software. En el primero, deben recogerse los elementos básicos que van a
los ficheros maestros, bases de datos y productos software que estarán soportados sobre la
plataforma hardware.
89
Desarrollo de un Portal de Gestión Documental
Servidor de aplicaciones:
Terminal operario:
HP Compaq dc7800
90
Desarrollo de un Portal de Gestión Documental
Terminal usuario:
HP Compac dc5700
91
Desarrollo de un Portal de Gestión Documental
Servidor de aplicaciones:
periódicas.
periódicas.
Terminal operario:
Terminal usuario:
92
Desarrollo de un Portal de Gestión Documental
Llegados a este punto, se ha de profundizar en el Modelo Lógico del Nuevo Sistema, definido en
la fase de Análisis de Requisitos, para obtener un Modelo Físico del nuevo sistema.
Determinar los diferentes tipos de procesos, y especificarlos :por lotes, on-line, servicio,
web, su frecuencia y la situación física donde se procesa (servidor de red, servidor web,
estaciones cliente…).
Diseñar las entradas y salidas del sistema: ventanas, informes, formularios y ficheros.
Definir los controles y seguridad del sistema para su explotación: procesos de control,
seguridad y auditabilidad.
93
Desarrollo de un Portal de Gestión Documental
Fronteras de mecanización.
Todas las funcionalidades se implementarán para que se realicen de forma automática, salvo la
digitalización de documentos físicos. Esta tarea la realizará de forma manual el operario, con la
Especificación de procesos.
Se realizará una especificación más profunda del MLNS, mediante DFD y una nueva descripción
en el diccionario de datos.
Nivel 0.
94
Desarrollo de un Portal de Gestión Documental
Nivel 1.
Se puede observar que el nuevo diagrama conceptual se basa claramente en el del modelo lógico.
95
Desarrollo de un Portal de Gestión Documental
Nivel 2.
0.1. Entrar.
En el nivel 3 se podrá observar con detalle en qué consisten los dos subprocesos 0.1.1 y 0.1.2. Se
reincide en el MLNS.
96
Desarrollo de un Portal de Gestión Documental
0.2. Mostrar pantalla principal (Imagen 32)
con el requisito REQ-07 (control de accesos), con el subproceso 0.2.1 que simplemente
comprueba la validez del objeto Session asociado a la petición. En caso de fallo, muestra una
página de error y en caso contrario, dependiendo del tipo de usuario, confecciona la página
97
Desarrollo de un Portal de Gestión Documental
0.3. Control de usuarios (Imagen 33)
Mediante este módulo el operario podrá controlar las altas y bajas de nuevos usuarios, así como
Tampoco se perciben cambios sustanciales en esta nueva versión del proceso de control de
nivel inferior.
98
Desarrollo de un Portal de Gestión Documental
0.4. Consultar catálogo (Imagen 34)
99
Desarrollo de un Portal de Gestión Documental
sistema.
100
Desarrollo de un Portal de Gestión Documental
101
Desarrollo de un Portal de Gestión Documental
102
Desarrollo de un Portal de Gestión Documental
Este proceso, sólo accesible por el operario, permite obtener un informe parametrizable acerca de
103
Desarrollo de un Portal de Gestión Documental
Nivel 3.
datos.
104
Desarrollo de un Portal de Gestión Documental
105
Desarrollo de un Portal de Gestión Documental
Este método realiza la inserción en la base de datos del par usuario – contraseña deseado.
106
Desarrollo de un Portal de Gestión Documental
107
Desarrollo de un Portal de Gestión Documental
Este JSP dará al usuario la capacidad de realizar búsquedas en el fondo general, con diversos
conceptos. Una vez más, se realiza la comprobación de la validez de la sesión antes de mostrar la
página en sí.
108
Desarrollo de un Portal de Gestión Documental
0.4.2. Elaborar JSP resultados (Imagen 44)
Este proceso recibe los parámetros del formulario del proceso 0.4.1 y, mediante llamadas a los
EJB correspondientes, elabora la página correspondiente para su muestra al usuario. Otra vez
109
Desarrollo de un Portal de Gestión Documental
0.5.1. Elaborar JSP subida (Imagen 45)
110
Desarrollo de un Portal de Gestión Documental
capa empresarial, no se realiza la seguimiento de sesión –el objetivo es realizar el mismo dentro
de la capa de presentación.
111
Desarrollo de un Portal de Gestión Documental
112
Desarrollo de un Portal de Gestión Documental
versiones, etc.
113
Desarrollo de un Portal de Gestión Documental
0.7.1. Elaborar JSP versión documento (Imagen 49)
Lógica de presentación del módulo 0.7 –mostrar documento-. Como es usual en el resto de
114
Desarrollo de un Portal de Gestión Documental
115
Desarrollo de un Portal de Gestión Documental
Lógica de presentación del módulo 0.8 –informe nuevos documentos. También comprueba la
116
Desarrollo de un Portal de Gestión Documental
0.8.2. Generar JSP informe docs (Imagen 52)
Este subprograma recibe los parámetros de búsqueda de 0.8.1 –mostrar JSP informes- y elabora
117
Desarrollo de un Portal de Gestión Documental
0.8.3. Buscar altas (Imagen 53)
Este módulo, encargado de la lógica de negocio del proceso 0.8 –informe docs-, realiza consultas
a la base de datos para obtener los últimos documentos dados de alta, o bien realiza una
118
Desarrollo de un Portal de Gestión Documental
DICCIONARIO DE DATOS.
Cada proceso definido en el diccionario de datos del MLNS requiere una descripción más
detallada.
REQ-07.
0.1.1. Mostrar pantalla entrada: proceso. Genera la pantalla inicial, donde se han de
permite la entrada al sistema y anexa a la petición HTTP una sesión identificativa del
usuario.
0.1.2. Comprobar con BD: proceso. Módulo que, dados un nombre de usuario y una
0.1.2.1. Obtener pwd real: proceso. Dados un nombre de usuario y una contraseña,
119
Desarrollo de un Portal de Gestión Documental
0.1.3.1. Registrar usuario: proceso. Guarda el nombre de usuario en el almacén
temporal 0.1.3.4.
temporal 0.1.3.4.
0.1.3.3. Consolidar: proceso. Recoge los datos del almacén temporal 0.1.3.4, y los
0.2. Mostrar pantalla principal: proceso. Encargado de generar la pantalla principal del
redirige al proceso 0.2.2. En caso contrario, reenvía la petición al proceso 0.2.4 ó 0.2.5.
0.2.2. Mostrar error: proceso. Envía al usuario un documento HTML indicando un error
0.2.3. Elaborar JSP usuario: proceso. Confecciona el JSP de la página principal para un
usuario genérico.
0.2.4. Elaborar JSP operario: proceso. Confecciona el JSP de la página principal para el
0.3. Control usuarios: proceso. Módulo accesible sólo para el operario, cuya función es la
120
Desarrollo de un Portal de Gestión Documental
administración de usuarios del sistema.
0.3.1. Mostrar pantalla usuarios: proceso. Genera la pantalla donde se da de alta nuevos
0.3.2. Dar de alta usuarios: proceso. Interactúa con la base de datos, insertando en la
existe en la base de datos. En tal caso, interrumpe el proceso 0.3.2 con un mensaje de
error.
de confirmación.
0.3.3. Dar de baja usuarios: proceso. Interactúa con la base de datos, borrando de la
deseado existe en la base de datos, en caso contrario interrumpe el proceso 0.3.3 con
un mensaje de error.
confirmación.
121
Desarrollo de un Portal de Gestión Documental
0.3.4. Mostrar últimos accesos: proceso. Genera la pantalla donde el operador puede
observar los últimos usuarios que han accedido al sistema. Por defecto muestra los 10
últimos, pero permite seleccionar usuarios por diversos conceptos: fecha, usuario,
0.3.5. Mostrar X accesos: proceso. Genera la página donde el operador puede observar
los últimos accesos que cumplen con el patrón indicado en el proceso 0.3.4.
0.3.6. Mostrar accesos: proceso. Devuelve los accesos que cumplen con el patrón dado.
0.4. Consultar catálogo: proceso. Este módulo permite realizar pesquisas en el archivo
0.4.1. Mostrar JSP de búsqueda: proceso. Genera la pantalla donde el usuario puede
realizar búsquedas sobre el catálogo general. Permitirá realizar las mismas por diversos
conceptos.
0.4.1.3.
en 9.Páginas estáticas.
0.4.1.3.
en 9.Páginas estáticas.
0.4.2.3. Elaborar JSP resultados: proceso. A partir de los parámetros 0.4.3 pasados,
COMPONENTES
DESCRIPCIÓN
Cuando el JSP generado por el proceso 0.4.1 realiza una petición, dicha petición tendrá
una serie de condiciones. Dichas condiciones están contenidas en este flujo de datos.
contenidos al sistema.
0.5.1. Mostrar pantalla subir documento: proceso. Genera la pantalla que permite al
123
Desarrollo de un Portal de Gestión Documental
0.5.1.3.
en 9.Páginas estáticas.
0.5.1.3. Elaborar JSP subida: proceso. Elabora el JSP con el formulario de subida
de documentos al servidor.
indicados.
entidad 11.Documentos para comprobar si el que se intenta subir existe ya. En tal
la entidad 12.Versiones.
0.6. Acceder documento: proceso. Permite seleccionar un documento dado, y muestra las
124
Desarrollo de un Portal de Gestión Documental
0.6.1. Mostrar página acceso documento: proceso. Genera y envía a través del servidor
0.6.1.2.
0.6.1.2. Generar JSP acceso: proceso. Genera el JSP asociado al proceso 0.6.1,
en 9.Páginas estáticas.
0.6.2. Acceder objeto en la BD: proceso. Dado un IDFile, retorna los identificadores de
redirige a la salida.
125
Desarrollo de un Portal de Gestión Documental
0.7. Mostrar documento: proceso. Posibilita la descarga del documento al ordenador del
usuario.
0.7.1. Elaborar JSP versión documento: proceso. Dados un IDFile y una de sus
permite solicitar la subida de una nueva versión del mismo documento asociado al
IDFile.
0.7.1.2.
en 9.Páginas estáticas.
126
Desarrollo de un Portal de Gestión Documental
0.8. Informe nuevos documentos: proceso. Permite al usuario consultar cuales han sido los
0.8.1. Generar JSP informes: proceso. Genera la pantalla que permite al operario
observar cuáles son los últimos documentos y versiones dados de alta. También permite
0.8.1.2.
del proceso 0.8.3.Buscar altas para elaborar el informe por defecto, con los nuevos
documentos que todavía no han sido auditados. Asímismo, muestra el formulario para
en 9.Páginas estáticas.
0.8.2. Generar informe docs: proceso. Genera el informe con los parámetros indicados
0.8.2.2.
0.8.2.2. Generar JSP: proceso. Tras obtener los parámetros remitidos por 0.8.1.3,
127
Desarrollo de un Portal de Gestión Documental
solicita a 0.8.3 una búsqueda acorde a tales parámetros, y elabora la página de
en 9.Páginas estáticas.
0.8.3. Buscar altas: proceso. Permite consultar a la base de datos documentos dados de
COMPONENTES
DESCRIPCIÓN
Este flujo de datos es utilizado por el proceso 0.8.2 cada vez que necesite realizar una
consulta parametrizada.
COMPONENTES
128
Desarrollo de un Portal de Gestión Documental
DESCRIPCIÓN
Este flujo de datos es utilizado por el proceso 0.8.1 cada vez que solicite una búsqueda
parametrizada a 0.8.2.
COMPONENTES
DESCRIPCIÓN
Siempre que se desee redirigir de un proceso a otro sin perder la sesión asociada a la
COMPONENTES
DESCRIPCIÓN
Siempre que se desee redirigir a una página de error por autentificación, se utilizará este
1. Operario: entidad externa. Tiene los privilegios necesarios para administrar el sistema.
COMPONENTES
DESCRIPCIÓN
129
Desarrollo de un Portal de Gestión Documental
Cada vez que un usuario interactúa con el sistema a través de una pantalla remota, ya sea
realizando un click de ratón, introduciendo un texto por teclado o cualquier tipo de evento que se
COMPONENTES
DESCRIPCIÓN
Respuesta del sistema al cliente cada vez que solicite la descarga a su equipo de uno de sus
recursos. No es otra cosa que una respuesta HTTP, con el respectivo fichero anexado como
parámetro.
COMPONENTES
DESCRIPCIÓN
Petición del usuario al sistema, cada vez que se pretende subir un documento al sistema.
Consiste en una petición HTTP, con el respectivo fichero anexado en forma de parámetro.
COMPONENTES
DESCRIPCIÓN
Par nombre de usuario – contraseña que introduce el mismo cuando intenta acceder al sistema.
130
Desarrollo de un Portal de Gestión Documental
7. HTML: flujo de datos.
COMPONENTES
DESCRIPCIÓN
El sistema estructurará sus todas sus respuestas al usuario (exceptuando el caso del flujo de
datos 4. Download) en forma de código de marcado que enviará al navegador web de éste y otros
CONTENIDO
DESCRIPCIÓN
Esta entidad contiene los datos referidos a la autentificación de usuarios. El campo pwd estará
CONTENIDO
DESCRIPCIÓN
131
Desarrollo de un Portal de Gestión Documental
10. Directorio: entidad de datos.
CONTENIDO
DESCRIPCIÓN
Esta entidad puede ser usada para caracterizar los documentos con una estructura jerárquica,
CONTENIDO
-Sinópsis: cadena.
DESCRIPCIÓN
Esta entidad permitirá clasificar los diversos documentos por nombre, área temática, etc.
CONTENIDO
-Comentario: cadena.
-Fichero: documento en formato binario, ya que puede tratarse de un txt, pdf, doc, odt… Por
132
Desarrollo de un Portal de Gestión Documental
lo tanto, ha de ser un tipo BLOB (255-65535 bits), MEDIUMBLOB (hasta 16777215 bits) o
-Auditado: switch para indicar si un documento ha sido auditado ya o no, tipo bit.
DESCRIPCIÓN
CONTENIDO
DESCRIPCIÓN
CONTENIDO
-Fin: fecha y hora en que la sesión caducó por inactividad, time stamp.
DESCRIPCIÓN
133
Desarrollo de un Portal de Gestión Documental
La sesión de un usuario comenzará en el momento en el cual éste introduzca de modo exitoso
misma por inactividad. En esta entidad quedan almacenadas todas las sesiones con fines de
auditoría posterior.
[RIVE92] En el análisis de requisitos se obtuvo un modelo conceptual de datos general que sirve
como modelo para el posterior desarrollo de la base de datos. A continuación se desarrollan una
serie de procesos que llevan a la consecución de una base de datos completamente optimizada,
134
Desarrollo de un Portal de Gestión Documental
s) IDDoc → IDDir w) IDUser → FechaUser
135
Desarrollo de un Portal de Gestión Documental
Descomposición de una relación.
Proceso en el cual se divide una relación R en una serie de relaciones R1, R2, ... Rn; tales que la
unión de sus atributos es igual al conjunto de atributos de R. Una buena descomposición cumple
Anomalías de actualización
Formas normales.
136
Desarrollo de un Portal de Gestión Documental
• Primera Forma Normal: tiene claves correctas, y no forma grupos repetitivos. Sus
• Forma Normal de Boyce Codd: cada una de sus dependencias funcionales no triviales,
Si una relación cumple con determinada forma normal, también lo hará con las anteriores, esta
clasificación está ordenada de modo que haya menor riesgo de anomalías de actualización cuanto
dependencias cuyo antecedente no es clave de R. Por ello conviene descomponer la misma para
137
Desarrollo de un Portal de Gestión Documental
Conjunto mínimo.
138
Desarrollo de un Portal de Gestión Documental
esta manera se han eliminado las dependencias redundantes.
El conjunto de dependencias funcionales obtenido, ya cumple con las condiciones para estar en
Se ha de realizar una serie de transformaciones para conseguir un modelo de datos con este
IDGrupo, NombreGrupo)
CM(R) = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, q, s, t, u, v, w, x, y, z}
Se divide R en R1 y RI:
t) IDDir → IDPadre
u) IDDir → NombreDir
139
Desarrollo de un Portal de Gestión Documental
CM(RI) = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, q, s, v, w, x, y, z }
Se divide RI en R2 y RII:
g) IDDoc → Título
h) IDDoc → ÁreaTemática
i) IDDoc → Sinopsis
s) IDDoc → IDDir
140
Desarrollo de un Portal de Gestión Documental
CM(RII)={ a, b, c, d, e, f, j, k, l, m, n, o, q, v, w , x, y, z }
141
Desarrollo de un Portal de Gestión Documental
CM(RII)={ a, b, c, d, e, f, j, k, l, m, n, o, q, v, w, y, z}
j) IDVersión → IDDoc
k) IDVersión → FechaVersión
l) IDVersión → Comentario
m) IDVersión → Fichero
v) IDVersión → Auditado
142
Desarrollo de un Portal de Gestión Documental
RIV (IDConsulta, IDVersión*, IDSesión, FechaConsulta, Inicio, Fin, IDUser, Nombre, Usuario,
CM(RIV) = { a, b, c, d, e, f, n, o, q, w, y, z}
R5(IDGrupo, NombreGrupo)
z) IDGrupo → NombreGrupo
143
Desarrollo de un Portal de Gestión Documental
CM(RV) = { a, b, c, d, e, f, n, o, q, w, y }
Se divide RV en R6 y RVI:
d) IDUser → Nombre
e) IDUser → Usuario
f) IDUser → pwd
w) IDUser → FechaUser
y) IDUser → IDGrupo
144
Desarrollo de un Portal de Gestión Documental
CM(RIV) = { a, b, c, n, o, q }
a) IDSesión → Inicio
b) IDSesión → Fin
c) IDSesión → IDUser
145
Desarrollo de un Portal de Gestión Documental
n) IDConsulta → FechaConsulta
o) IDConsulta → IDVersión
q) IDConsulta → IDSesión
146
Desarrollo de un Portal de Gestión Documental
La tercera forma normal se obtiene en el momento en el que todas las dependencias funcionales,
tienen como antecedente una clave de la relación. En el caso de la forma normal de Boyce-Codd,
Por lo tanto, el modelo obtenido en la segunda forma normal, cumple también los requisitos para
147
Desarrollo de un Portal de Gestión Documental
El modelo resultante da lugar a un diseño de la base de datos con unas tablas tal como se detalla
148
Desarrollo de un Portal de Gestión Documental
5. PROGRAMACIÓN
El objetivo de esta nueva fase es la de transformar todos los diagramas generados con el Modelo
Físico del Nuevo Sistema, en el sistema a desarrollar. De todos modos, y como se puede
buen diseño previo, sino también de otros factores como el lenguaje de programación escogido.
En esta fase se inician las pruebas unitarias del software. Cada programador ha de garantizar el
del código fuente sino que se han de probar todas las eventualidades que puedan surgir, para
evitar posteriores sorpresas que, probablemente, puedan suponer mayores dolores de cabeza de
los debidos.
149
Desarrollo de un Portal de Gestión Documental
o relación con la base de datos MySQL, y despliegue de los mismos en JBoss.
Para realizar este tipo de pruebas, el programador dispone de herramientas depuradoras. Estas
locales y de entorno que se desee. De este modo, se pueden provocar los diversos escenarios de
escogido, Eclipse, ya hay integrada una herramienta de este tipo muy eficiente.
150
Desarrollo de un Portal de Gestión Documental
Tras desarrollar y probar cada uno de los componentes que integrarán el nuevo sistema, se
realizarán una serie de pruebas con el objetivo de una mejor integración del sistema. De este
modo, se someterá al sistema y sus componentes a una serie de verificaciones para obtener una
mayor fiabilidad, con la misma seriedad y rigor con el que se ha desarrollado el resto del sistema.
Estas pruebas han de realizarse sobre un entorno lo más parecido al de producción real. En
nuestro caso, se realizaron las pruebas sobre el mismo entorno de producción, tras realizar las
Se trata de un entorno apropiado donde realizar las pruebas de software. Por lo tanto, ha de tener
151
Desarrollo de un Portal de Gestión Documental
Suele adaptarse y configurarse antes de cada una de las pruebas, para encontrar un sistema
análogo al de producción en el que no hayan interferido las pruebas previas. Asimismo, se suele
cargar un volumen de datos de ejemplo representativo, para llevar a cabo cada prueba.
Se han de realizar una serie de pruebas diversas, cada una con distintos objetivos. En el sistema
desarrollado se ha optado por las siguientes pruebas, cuyo objetivo no es otro sino comprobar la
funcionalidad y rendimiento exigido en los requisitos, en adición a las pruebas unitarias previas.
• Pruebas de encadenamiento.
pruebas unitarias, mediante estas pruebas se comprueba la comunicación entre ellos. En los
sistemas online como es el caso a tratar, se comprueban las comunicaciones y llamadas remotas
Para ello se han utilizado las librerías JUnit sobre los procesos de negocio. De este modo, y tras
de fiabilidad importante.
152
Desarrollo de un Portal de Gestión Documental
• Pruebas de integración.
Tras las pruebas de encadenamiento entre procesos, se han de integrar éstos. En este aspecto es
sobre el que este tipo de pruebas actúa, pudiendo realizarse por partes o de forma íntegral. Tras
• Pruebas de seguridad.
sistema y las funciones permitidas para el usuario dado. Si se trata de una aplicación web, se
habrá definido una arquitectura segura mediante un firewall, conexiones SSL, proxies,
Estas pruebas son realizadas por el usuario, bien desde el entorno de pruebas o su propio entorno
de trabajo.
153
Desarrollo de un Portal de Gestión Documental
• Pruebas de usabilidad.
facilidad de uso del sistema. De este modo, se entiende por usabilidad como el diseño del
interfaz de usuario.
Un punto importante es la posible formación a impartir a los usuarios, ya que el usuario puede
154
Desarrollo de un Portal de Gestión Documental
Este sistema operativo es fácil de instalar. A continuación se muestran los diversos pasos a
155
Desarrollo de un Portal de Gestión Documental
1. Arranque desde el CD.
Imagen 64
ROM (Imagen 64). Tras reiniciar el sistema, el administrador estará observando esta pantalla,
156
Desarrollo de un Portal de Gestión Documental
2. Escoger el idioma.
Imagen 65
Tras varios segundos en los que se cargarán los datos necesarios desde el CD, el administrador
obtendrá esta pantalla donde escoger el idioma del resto de la instalación (Imagen 65).
157
Desarrollo de un Portal de Gestión Documental
3. Escoger la distribución del teclado.
Imagen 66
equipo.
158
Desarrollo de un Portal de Gestión Documental
4. Datos personales y contraseña.
Imagen 67
El cuarto paso a realizar durante la instalación será la introducción de datos personales del
usuario final del equipo, así como su contraseña y el nombre del ordenador (Imagen 67).
159
Desarrollo de un Portal de Gestión Documental
5. Preparando el disco.
Imagen 68
En la pantalla siguiente (Imagen 68) el administrador podrá realizar la partición manual del disco
160
Desarrollo de un Portal de Gestión Documental
6. Proceso de instalación.
Imagen 69
El administrador habrá de esperar unos minutos para tener un sistema operativo, en esta etapa se
69).
7. Instalación finalizada.
Imagen 70
Cuando termine la instalación del sistema operativo, el administrador podrá observar esta
161
Desarrollo de un Portal de Gestión Documental
ventana. Se escogerá la opción “Reiniciar ahora”, y se sacará el CD de instalación de su
Una vez realizada la instalación del sistema operativo Ubuntu, lo siguiente que se ha de realizar
Para ello, el administrador ha de dirigirse a la línea de comandos, e iniciar una sesión como
usuario root. Una vez allí, ha de teclear los comandos dados en el Cuadro 1.
[...]
[...]
java5-jdk
[...]
Cuadro 1
Gracias a estos comandos se tendrá completamente instalada, tras el reinicio, la máquina virtual
Java 5.0 de Sun Microsystems, así como sus respectivas herramientas de desarrollo.
162
Desarrollo de un Portal de Gestión Documental
[WWW03] Se ha de descargar la versión estable más reciente del servidor JBoss de la página
del servidor (incluida en el CD-ROM), pero cualquier versión posterior a la 4.0 tiene soporte
JBOSS_HOME=”<DIR_JBOSS>”
Cuadro 2
Para que el sistema reconozca esta variable de entorno, es necesario reiniciar el equipo.
Para conseguir que se arranque automáticamente tras cada reinicio del servidor, se ha de editar el
#! /bin/sh
# /etc/init.d/jboss: Start and stop JBoss AS
ECHO=/bin/echo
TEST=/usr/bin/test
JBOSS_START_SCRIPT=$JBOSS_HOME/bin/run.sh
JBOSS_STOP_SCRIPT=$JBOSS_HOME/bin/shutdown.sh
163
Desarrollo de un Portal de Gestión Documental
start() {
$ECHO –n “Starting Jboss”
su – jboss –c “$JBOSS_START_SCRIPT > /dev/null 2> /dev/null
&”
$ECHO “.”
}
stop() {
$ECHO –n “Stopping Jboss”
su – jboss –c “$JBOSS_STOP_SCRIPT –S > /dev/null &”
$ECHO “.”
}
case “$1” in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 30
start
;;
*)
$ECHO “Usage: jboss {start|stop|restart}”
exit 1
esac
exit 0
Cuadro 4
/etc/init.d/jboss
[...]
defaults
164
Desarrollo de un Portal de Gestión Documental
[...]
Cuadro 5
en el directorio <DIR_JBOSS>/server/default/lib/.
El administrador ha de entrar en el servidor de aplicaciones, como usuario root. Una vez allí, se
Para que MySQL acepte conexiones del servidor del equipo servidor de aplicaciones, se ha de
aplicaciones en la línea:
165
Desarrollo de un Portal de Gestión Documental
bind-address = 127.0.0.1
password:
shell> \. Crearbd.sql
Cuadro 7
acceso a MySQL.
166
Desarrollo de un Portal de Gestión Documental
Una vez hecho esto, se copiará el documento <DIR_JBOSS>/docs/examples/jca/mysql-ds.xml
<driver-class>com.mysql.jdbc.Driver</driver-class>
<connection-url>
jdbc:mysql://<IP_servidor_MySQL>:3306/jbossdb
</connection-url>
<user-name>roberto</user-name>
<password>roberto</user-name>
Cuadro 8
Después, sólo si la versión de JBoss escogida es igual o inferior a las versiones 4.0.X, se ha de
Cuadro 9.
<jaws>
<datasource>java:/MySqlDS</datasource>
<type-mapping>mySQL</type-mapping>
</jaws>
Cuadro 9
<defaults>
<datasource>java:/MySqlDS</datasource>
<datasource-mapping>mySQL</datasource-mapping>
</defaults>
</jbosscmp-jdbc>
Cuadro 10
<application-config name=”MySqlDbRealm”>
<authentication>
<login-module code=
”org.jboss.resource.security.ConfiguredIdentityLoginModule”
flag=”required”>
<module-option name=”principal”>sa</module-option>
<module-option name=”userName”>sa</module-option>
<module-option name=”password”></module-option>
<module-option name=”managedConnectionFactoryName”>
jboss.jca:service=LocalTxCM,name=MySqlDS
</module-option>
</login-module>
</authentication>
168
Desarrollo de un Portal de Gestión Documental
</application-config>
Cuadro 11
Este driver y estos archivos de configuración permitirán al programa cliente, en nuestro caso el
En el EJB, para hacer uso de este servicio, sólo es necesario el archivo persistence.xml y realizar
• client: JARs necesarios para que los clientes interactúen con JBoss.
• docs/dtd: Document Type Definitions (DTDs) para los diversos ficheros XML utilizados
en JBoss.
• lib: JARs cargados en tiempo de arranque por JBoss y compartidos por todas las
169
Desarrollo de un Portal de Gestión Documental
configuraciones que convivan en éste.
en tiempo de ejecución del servidor. Aquí se han de copiar los JAR, WAR o EAR que se
tiempo de arranque.
170
Desarrollo de un Portal de Gestión Documental
171
Desarrollo de un Portal de Gestión Documental
7. IMPLANTACIÓN
Una vez probada la integridad y robustez del software desarrollado, y especificada su instalación
instalación y configuración. Cualquier otro sistema operativo actual tendría la misma validez.
se opta por designar otro empleado para realizar el volcado de información del archivo antiguo a
la base de datos; simplemente dependerá del volumen del fondo del archivo y el tiempo en el que
172
Desarrollo de un Portal de Gestión Documental
Todas las tareas realizadas en esta fase habrán sido previamente planificadas en las anteriores
fases. Los equipos y servidores han sido adquiridos en etapas previas, y sólo resta realizar las
Estas pruebas tienen dos objetivos principales. Por un lado, se ha de comprobar el correcto
Por otro lado, también es necesario obtener la aceptación final del usuario, que ha de realizar la
Durante el despliegue del sistema se puede dar lugar a problemas que impidan la correcta
implantación del sistema. En tal caso, será preciso volver al antiguo sistema de documentación
consistente en un fichero al que acceden todos los usuarios de forma indirecta, a través del
operario.
El plan consiste simplemente en desconectar el servidor, y que el operario vuelva a ofrecer los
173
Desarrollo de un Portal de Gestión Documental
documentos de forma física. Como previamente el sistema no estaba informatizado, no será
Con los sistemas desconectados, se podrá analizar la problemática surgida, para volver a ponerlo
174
Desarrollo de un Portal de Gestión Documental
ANEXO I
[WWW02]
J2EE es una plataforma abierta que permite el desarrollo de aplicaciones distribuidas para la
empresa. El desarrollo de estos sistemas J2EE, al igual que en otras plataformas, se basa en la
división por capas (aumentar cohesión, minimizar acoplamiento). El número de capas varía
según las necesidades, pero las que se sugieren son las indicadas en la Imagen 72:
175
Desarrollo de un Portal de Gestión Documental
Se ha impuesto esta estructura de capas como estándar, no sólo para J2EE sino también para
.NET. Los roles de cada una de las capas, se exponen brevemente a continuación:
• Capa de integración: permite integrar otros sistemas como acceso a datos, sistemas
legacy, motores de reglas, etc. Es muy importante que esta capa sea fácilmente extensible.
176
Desarrollo de un Portal de Gestión Documental
remotos, lo que obliga a utilizar el patrón FACADE -si no se hiciera así, el rendimiento se
cliente de una serie de rutinas para acceder a éstos, lo cual puede acarrear bastantes
En dispositivos móviles, se podrá utilizar un navegador web o una aplicación propia. Ambas
opciones tienen los mismos pros y contras expuestos anteriormente. La diferencia está en el
decodifica y se pone en contacto con la capa de negocio. Esa es su única función, sólo reenvía
177
Desarrollo de un Portal de Gestión Documental
para ello.
Para ello se suele utilizar el patrón MVC (modelo - datos, vista - presentación, controlador -
Se suele utilizar Swing, o JFace. La segunda opción facilita la realización de tareas comunes, o el
La multiplicidad de los clientes, que acceden a través del navegador al mismo servidor, hace
transacciones, etc.
178
Desarrollo de un Portal de Gestión Documental
Como se ha indicado, incluyen una serie de servicios, normalmente custom tags, formateo de
XML, acceso a bases de datos, control de flujo entre páginas, templates, filtros de peticiones, etc.
Como ejemplos: Jakarta Struts, Spring, Hibernate, Tapestry, Expresso, etc. todos ellos open
source.
No son muy recomendables, pero a veces el desarrollador se ve obligado a su uso. En tal caso,
Framework de referencia cuya funcionalidad se parece mucho a Struts. Custom tags, validación
automática de formularios, etc. Independiente de JSP, puede utilizarse otro tipo de cliente, por
ejemplo tipo Swing. Se limita a la creación de interfaces de usuario, y control del flujo de la
aplicación.
179
Desarrollo de un Portal de Gestión Documental
La más importante de la aplicación: entidades, relaciones y reglas que implementan los procesos
de negocio de la empresa.
Los blueprints de Java para J2EE recomiendan la implementación de la lógica de negocio con
beans de sesión sin estado y los datos como beans de entidad. Como alternativas, se tienen las
estudiadas a continuación.
representan tanto la lógica de negocio como las entidades de la empresa (los permite convivir en
Ventaja: muy ligeros, fáciles de implementar (no incorporan todas las capas externas de los EJB)
y de mantener. Sin embargo, no ofrecen toda las funcionalidades de los contenedores de EJB por
lo que habrá que desarrollar o recurrir a librerías externas. Si no se precisan esos servicios, se
180
Desarrollo de un Portal de Gestión Documental
acciones y POJOs. La lógica de negocio puede estar en las acciones, los POJOs o ambos. Los
POJOs suelen ser JavaBeans con lógica y posiblemente también datos, accesibles fácilmente por
los otros componentes del framework, sobre todo los encargados de la vista. Tras ejecutarse las
Tipo de EJB que representan un proceso o conjunto de tareas de nuestra aplicación; por lo que
representan una buena opción para implementar una plataforma SOA, donde cada bean de sesión
181
Desarrollo de un Portal de Gestión Documental
ofrece un servicio al exterior.
Pueden dividirse en beans con estado -que guardan el estado interno del bean- y beans sin estado
-que no lo hacen-. Como recomendación general, siempre que se encuentre una aplicación con
EJB, conviene utilizar un EJB de sesión con estado para guardar información del usuario.
Cuando se trate con una aplicación únicamente web, se guardará el estado en un objeto
Este tipo de beans se utilizará para almacenar información del usuario, como por ejemplo, en un
El segundo tipo de beans de sesión, los que no almacenan información del estado, no se asocian
para nada con el cliente. Cada vez que se ejecuta un método, se pierde toda la información
relativa al usuario. Por ello y porque se encargan de modo automático de reutilizar instancias de
beans para servir peticiones de clientes, consumen muchos menos recursos que el resto de beans.
182
Desarrollo de un Portal de Gestión Documental
3.2.1.- Fachada de sesión (session façade)
Uno de los patrones básicos en el diseño de aplicaciones empresariales que hagan uso de EJB.
El surgimiento de la tecnología EJB hizo que los desarrolladores utilizaran estos objetos como si
de objetos locales se tratara, sin tener en cuenta que podían ubicarse en servidores remoto. Si el
número de llamadas a EJB es excesivo, el rendimiento decae de modo considerable (round trip).
Este patrón, que surgió para paliar este problema, intenta evitar llamadas "finas" a EJB,
utilizando únicamente llamadas a EJB que realicen procesos completos. Normalmente los
candidatos idóneos para utilizar este patrón son los EJB de sesión (Imagen 74).
Los beans de sesión pueden ser utilizados tanto desde una aplicación de escritorio, caso en el que
la llamada será siempre remota, como desde una aplicación web, caso en el que podrá ser remota
o local.
183
Desarrollo de un Portal de Gestión Documental
La solución más eficaz en J2EE para implementar un sistema de comunicación asíncrona. Están
preparados para leer mensajes a través de JMS. Tal como se observa en la siguiente ilustración,
también llamado MOM - Message Oriented Middleware). Asociadas a éste, hay colas de
mensajes, a cada una de las cuales se asocia un MDB. El MDB puede contener lógica de negocio
el servidor.
184
Desarrollo de un Portal de Gestión Documental
Patrón común con los MDB. El funcionamiento es igual al anteriormente descrito, pero la lógica
de negocio se implementa en los propios MDB. Como alternativa, está la posiblidad de que los
MDB se comuniquen directamente con la fachada de sesión en vez de hacerlo los EJB de sesión.
Utilizando la fachada de mensajería se evita, además de tener que realizar varias llamadas
remotas, la realización de múltiples peticiones JMS para un único proceso de negocio. (Múltiples
Representan datos, por lo que no encajan en la lógica de negocio -aunque a veces se utilizan en
185
Desarrollo de un Portal de Gestión Documental
Encargada de acceder a los datos procedentes de diversas fuentes, como bases de datos o
servidores LDAP. Arquitecturas orientadas a dominio: las entidades tienen plena conciencia de
sus responsabilidades, por lo que la lógica de acceso a datos se encuentra en el interior del
Núcleo de la arquitectura empresarial. Las entidades han de representar abstracciones del mundo
5.1.1.- POJOs
Clases java planas, normalmente en forma de JavaBeans. Flexibilidad: muy portable, no precisan
El principal vacío en el desarrollo con POJOs está en la persistencia. Como alternativa, se puede
persistencia (lo ideal es que lo hagan de forma autónoma). Los beans son reutilizados para
186
Desarrollo de un Portal de Gestión Documental
diversos clientes mediante un pool, lo que supone un importante ahorro de recursos. Entre los
servicios extras que ofrecen, se encuentran la seguridad y la gestión automática del ciclo de vida.
Se trata de uno de los componentes más pesados de Java, pero se han ido superando las causas
más importantes.
• Uso de interfaces remotas: hasta EJB 2.0 la única vía de acceder a estos beans era
mediante RMI-IIOP a través del interfaz remoto. El tema es que si se realizan múltiples
llamadas a beans de entidad, el rendimiento se reduce de modo considerable. Desde EJB 2.0
se ha superado el problema.
con EJB. Sólo se utilizarán para encapsular las entidades sobre las que se vaya a escribir, y
También hay que tener en cuenta si realmente se precisan todos esos servicios extra que
prestan los EJBs, como seguridad o control del ciclo de vida. Probablemente un POJO
187
Desarrollo de un Portal de Gestión Documental
componente de negocio.
La práctica recomendable es sólo incluir lógica de negocio propia, es decir, que un bean de
5.2.1.- JDBC
La opción más sencilla. Usado cuando hay una estructura de POJOs o EJBs de entidad manejada
Este patrón propone crear una serie de interfaces para abstraer el acceso a datos. Tras ser creadas
han de crear distintas implementaciones, una por cada base de datos a acceder. Si cambia la base
188
Desarrollo de un Portal de Gestión Documental
Los motores de mapeo objeto-relacional, CMP y JDO implementan de foma automática DAO.
Una de las herramientas más útiles y utilizadas dentro de las aplicaciones empresariales,
datos relacionales. Permiten la definición de entidades a través de XML, a partir del cual extrae
la información para modelar los objetos. Realizan el modelado a objetos, para más tarde
convertirlos a clases Java. También permiten el proceso opuesto: de objetos a base de datos.
Desventaja: no son estándar, se corre el peligro de quedarse ligado al motor y que se cese el
Suele utilizarse en cualquier sistema que no implemente EJBs, especialmente con POJOs ya que
son una buena combinación (Imagen 76). Sin embargo, en la implementación 3.0 de EJB, se
189
Desarrollo de un Portal de Gestión Documental
actualización, creación y borrado llamados desde el contenedor para realizar estas tareas de
El contenedor implementa y ejecuta el código necesario para las operaciones CRUD de acceso a
la base de datos. Este código además es compatible para todas las bases de datos soportadas por
Para la ejecución de SQL, CMP utiliza el lenguaje EJB-QL, que permite manejar el esquema
190
Desarrollo de un Portal de Gestión Documental
5.2.4.1.- CMP vs. BMP (Tabla 5)
BMP CMP
• Mejor rendimiento, el
optimizaciones.
• Menor esfuerzo de
desarrollo.
• Jerarquías de objetos:
herramientas RAD.
• Portabilidad.
191
Desarrollo de un Portal de Gestión Documental
persistencia. relacionales.
• Difícil depuración.
Tabla 5
5.2.5.- JDO
comerciales y libres. Principalmente para bases de datos orientadas a objetos, aunque también
permite las relacionales así como sistemas de ficheros o cualquier otro mecanismo de
persistencia. Sus detractores, alegan que otros motores de persistencia -como Hibernate- dan
mejores resultados con bases de datos relacionales, pero se está trabajando en ello. No supone
5.3.- JCA
Arquitectura estándar para conectar J2EE con diferentes sistemas de información, ya sean
aplicaciones web, de escritorio, EJBs, POJOs, etc. Conecta sistemas de información empresarial
192
Desarrollo de un Portal de Gestión Documental
tradicionalmente bastante cerrados, como SAP, Tuxedo, Navision, etc.
aplicaciones.
193
Desarrollo de un Portal de Gestión Documental
194
Desarrollo de un Portal de Gestión Documental
Se tratan de aplicaciones software accesibles desde una url. La comunicación se realiza mediante
protocolos basados en XML como SOAP, a través de protocolos de internet como HTTP. Los
clientes utilizan los servicios directamente a través de su interfaz, definida mediante WSDL, o
Hay dos sistemas de acceso a los servicios web en java: JAXM Y JAX-RPC. La primera es más
compleja y ofrece más funcionalidades, como mensajería asíncrona y multicast. JAX-RPC, por
contra, es mucho más simple -hace más sencillas las tareas comunes- y por ello se recomienda.
(Imagen 77).
195
Desarrollo de un Portal de Gestión Documental
El desarrollador sólo crea una interfaz para el servicio web y una implementación de la interfaz.
JAX-RPC crea de forma automática el fichero WSDL, las clases proxy y publica el servicio web
en un registro UDDI.
196
Desarrollo de un Portal de Gestión Documental
Extraer el método a ejecutar y parámetros correspondientes.
La elección entre un tipo u otro se realizará en función de cómo se haya implementado la lógica
197
Desarrollo de un Portal de Gestión Documental
de negocio.
XML es un formato de texto que ocupa bastante más tamaño que una llamada a RMI-IIOP. Al
coste en ancho de banda, se ha de añadir el coste de mapear entre XML y Java. Por ello conviene
crear servicios con una granularidad bastante gruesa, al igual que con los beans de entidad.
Para ello, estas herramientas utilizan el concepto del binding compiler. De este modo, se
compilan los archivos Java en .class, y éstos a su vez se transforman en XML conformes al
esquema de jerarquías dado. Estos .class son manejados de un modo mucho más sencillo que el
XML.
JAXB se utiliza en JAX-RPC para transformar los mensajes SOAP en .class y los parámetros
requeridos por los servicios web para su ejecución. No es la única herramienta de mapeo, pero sí
la más extendida.
198
Desarrollo de un Portal de Gestión Documental
Conveniente
JCA Fuerte Sencilla Asíncrona
(con driver)
Síncrona –
JMS Floja Sencilla Conveniente
asíncrona
Tabla 6
199
Desarrollo de un Portal de Gestión Documental
Los IDEs modernos automatizan en gran parte la generación de código, ahorrando gran trabajo al
desarrollador. Pero no se contemplan todas las posibilidades. Ahí es donde entran en juego
aplicación: mediante metadatos insertados en los archivos Java que en tiempo de compilación
son leídos por XDoclet, para generar todo el código auxiliar a las clases que contienen la
empresariales: Struts, motores de persistencia como Hibernate, servicios web con Axis, EJBs,
JSPs, etc. Así como para multitud de servidores de aplicaciones, permitiendo exprimir al
200
Desarrollo de un Portal de Gestión Documental
9.- Conclusiones.
Han ido apareciendo una serie de patrones de desarrollo adicionales a los expuestos oficialmente
por SUN Microsystems. Asimismo, existen una serie de herramientas no incluidas dentro de los
aplicaciones.
para implementar todas las capas típicas de una aplicación distribuida. Se debe encontrar la
arquitectura más simple que permita satisfacer los requerimientos no funcionales de nuestras
aplicaciones.
Debido a ello, los blueprints oficiales han evolucionado para adaptarse a los nuevos frameworks
de los blueprints.
Esta anexo pretende aclarar todas las elecciones que J2EE ofrece.
201
Desarrollo de un Portal de Gestión Documental
ANEXO II
EJB 3.0
Este texto pretende actuar como introducción al uso de la nueva API 3.0 de la tecnología EJB y
al API de Persistencia Java. Han sido desarrolladas con el objetivo de simplificar las anteriores
versiones, cuya complicación llevó a muchos desarrolladores por escoger otros frameworks de
La gran novedad en la tecnología EJB 3.0 es el mayor control que el contenedor realiza sobre los
EJB. Sin embargo, se trata de una tecnología flexible que permite al programador, si así lo desea,
202
Desarrollo de un Portal de Gestión Documental
EJB 2.1 vs. EJB 3.0 (Tabla 7)
más trabajo.
• Clase del bean.
• Descriptor de despliegue del bean: ejb- El contenedor dota de los servicios requeridos
jar.xml al bean.
Tabla 7
Los EJB se convierten en POJOs (clases simples). El tipo de bean se especifica mediante
203
Desarrollo de un Portal de Gestión Documental
Inyección de dependencias.
JNDI). La instancia del bean incluye referencias a recursos del entorno, a los cuales se puede
Seguridad.
Excepciones.
Características principales:
encapsulamiento, etc.
• SQL: utiliza un lenguaje de consulta basado en SQL, pero con mayor profundidad
204
Desarrollo de un Portal de Gestión Documental
(permite utilizar objetos).
El contexto de Persistencia.
Resumen.
EJB 3.0 se convierte en una nueva versión que simplifica en gran manera la tecnología EJB al
mantiene la compatibilidad con EJB 2.1 y anteriores. Del mismo modo, EJB consiste una
205
Desarrollo de un Portal de Gestión Documental
• SPI (Service Provider Interface): para integrar proveedores de persistencia. Por defecto,
EJB 3.0 utiliza Hibernate, pero puede escogerse cualquier otro, como por ejemplo
Spring.
206
Desarrollo de un Portal de Gestión Documental
ANEXO III
CONCEPTO PRECIO EN €
TOTAL 14.530
Tabla 8
207
Desarrollo de un Portal de Gestión Documental
ANEXO IV
208
Desarrollo de un Portal de Gestión Documental
ANEXO V
MANTENIMIENTO
Tras las fases ya pasadas de desarrollo del sistema e implantación, han de tenerse en cuenta las
la corrección de errores –correctivo– sino también han de adaptar, en la medida de lo posible, las
El equipo de mantenimiento formará parte del equipo de desarrollo original del proyecto, por
ello se pagarán ciertas tasas que se ven reflejadas en el presupuesto del proyecto.
MANTENIMIENTO CORRECTIVO.
Han de remitirse al equipo de desarrollo, de forma constante, los informes de los errores que
puedan ir apareciendo. Estos informes han de ser lo más detallados posible, incluyendo datos
como:
209
Desarrollo de un Portal de Gestión Documental
• Condiciones del entorno en el cual se ha obtenido: datos del equipo, fecha y hora,
MANTENIMIENTO ADAPTATIVO.
El equipo de desarrollo concertará reuniones periódicas con el cliente para tratar, aparte de los
errores ya comentados, las necesidades que puedan surgir en la plataforma. Todas ellas han de
de datos MySQL. Esta necesidad surge del almacenamiento de datos binarios, concretamente los
documentos. Estas tareas se han de realizar a nivel de línea de comandos, aunque más adelante
se podrá estudiar integrar esta funcionalidad en la plataforma para automatizar la tarea, por
210
Desarrollo de un Portal de Gestión Documental
ejemplo mediante el uso de demonios estilo CRON.
211
Desarrollo de un Portal de Gestión Documental
ANEXO VI
CONCLUSIONES
A nivel personal, el haber tenido la oportunidad de llevar a cabo este proyecto ha sido una
tecnologías muy demandadas en el mercado laboral hoy en día, como son EJB y Struts, lo cual a
bien seguro marcará un antes y un después en su desarrollo profesional. Por brindarle esta
oportunidad, no puede hacer otra cosa que dar las gracias al Instituto Católico de Artes e
para ello.
Una arquitectura como la escogida, basada en estándares J2EE, supone un salto adelante en
212
Desarrollo de un Portal de Gestión Documental
apartados anteriores, todas las capas de la aplicación son fácilmente escalables, pudiendo llegar
• Capa de presentación: el framework Struts supone una ayuda para implementar un patrón
por su ligereza y sencillez para definir clústeres. La facilidad para el desarrollo ha sido
otro aspecto que ha decantado al analista por esta tecnología frente a otras que en los
• Sistema Gestor de Base de datos: se ha optado por el sistema MySQL frente a otras
escalabilidad buscada.
Otro punto que se tuvo en cuenta al desarrollar este proyecto fue la utilización de tecnologías
disponible, el usuario podría optar por solicitar a cualquier analista con los conocimientos
necesarios la modificación del mismo en un futuro. Ello asegura al cliente el soporte futuro de la
aplicación adquirida, siendo un modelo de desarrollo que poco a poco se está imponiendo en
todo el mundo.
213
Desarrollo de un Portal de Gestión Documental
ANEXO VII
MANUAL DE USUARIO
214
Desarrollo de un Portal de Gestión Documental
215
Desarrollo de un Portal de Gestión Documental
216
Desarrollo de un Portal de Gestión Documental
217
Desarrollo de un Portal de Gestión Documental
Imagen 86. Módulo de acceso a versiones específicas.
218
Desarrollo de un Portal de Gestión Documental
219
Desarrollo de un Portal de Gestión Documental
220
Desarrollo de un Portal de Gestión Documental
221
Desarrollo de un Portal de Gestión Documental
222
Desarrollo de un Portal de Gestión Documental
223
Desarrollo de un Portal de Gestión Documental
224
Desarrollo de un Portal de Gestión Documental
ANEXO VIII
BIBLIOGRAFÍA
[SRIK04] Srikanth Shenoy, Nithin Mallya “Struts Survival Guide: Basics to Best Practices”
Otras fuentes.
[WWW01] Srikanth Ramakrishna, “EJB 3.0”, Sun Microsystems Inc., 2006
http://sg.sun.com/sunnews/events/presentation/files/20060906_id_developer/EJ
225
Desarrollo de un Portal de Gestión Documental
B3.0_Srikanth_jakarta.pdf
J2EE” 2003.
http://sicas.dyndns.org/biblio/Java-J2ee/ModeloAplicacionesJ2EE.pdf
http://www.guia-ubuntu.org/index.php?title=JBoss
226