Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis...

128
Agradecimientos USBC`S™ÿ * ôß sé Antonio Echeverría” Facultad de Ingeniería Industrial Centro de Estudios de Ingeniería y Sistemas “SISTEMA DE GESTIÓN DE CONTENIDOS XML” Trabajo de Diploma para optar por el título de Ingeniería en Informática Autores: Lianet Luaces Torres Ayleen Menéndez Senarega Tutores: Ing. Yanet Bellón Landa Ing. Renier Valdés González Ciudad de La Habana Junio de 2006

Transcript of Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis...

Page 1: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Agradecimientos

USBC`S™ÿ�������*���ôß�������������sé Antonio Echeverría”

Facultad de Ingeniería Industrial Centro de Estudios de Ingeniería y Sistemas

“SISTEMA DE GESTIÓN DE CONTENIDOS XML”

Trabajo de Diploma para optar por el título de Ingeniería en Informática

Autores: Lianet Luaces Torres Ayleen Menéndez Senarega

Tutores: Ing. Yanet Bellón Landa Ing. Renier Valdés González

Ciudad de La Habana Junio de 2006

Page 2: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Resumen

RESUMEN

En la actualidad en la Empresa de Tecnologías de la Información y Servicios

Telemáticos Avanzados (CITMATEL) el manejo de los contenidos se realiza de

manera ineficiente. Para resolver este problema se han aprovechado las ventajas

que brinda la tecnología XML para la gestión de contenidos, teniendo como objetivo:

diseñar e implementar un “Sistema de Gestión de Contenidos XML” que sirva de

núcleo para el manejo de estos en el conjunto de servicios de información de

CITMATEL. El sistema propuesto será portable y genérico, de modo que servirá a los

diferentes proyectos que se desarrollen en CITMATEL.

El presente trabajo constituye la documentación del sistema y resulta de gran

importancia para su comprensión y futuro mantenimiento. En él se realiza un análisis

crítico de los conceptos principales asociados al dominio del problema, se plantean

los objetivos y se compara con los sistemas automatizados existentes vinculados al

campo de acción. Para justificar la selección de las herramientas de trabajo se

analizan las tecnologías actuales. La solución propuesta se describe a través del

modelo del dominio y para representar cómo se construye, se emplean los

mecanismos definidos por UML para aplicaciones Web. Se definen las pautas para el

diseño de la interfaz y se presenta un estudio de factibilidad del sistema.

Page 3: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Índice

ÍNDICE INTRODUCCIÓN .........................................................................................................1

CAPÍTULO I. Fundamentación teórica......................................................................6

Introducción ..............................................................................................................6

1.1- Objeto de estudio...............................................................................................6

1.1.1- Descripción general ....................................................................................6

1.1.2- Situación problémica y problema a resolver ...............................................8

1.2- Procesos objeto de automatización ...................................................................9

1.3- Conceptos principales asociados al dominio del problema ...............................9

1.3.1- Antecedentes históricos de XML.................................................................9

1.3.2- Documentos XML......................................................................................11

1.3.2.1- Elementos...........................................................................................12

1.3.2.2- Atributos .............................................................................................12

1.3.2.3- Comentarios .......................................................................................13

1.3.3- Comparación entre XML y HTML..............................................................13

1.3.4- DTD (Definición de Tipos de Documento).................................................14

1.3.5- El modelo de objetos de documentos DOM..............................................16

1.3.6- XSL (Extended Style Language) ...............................................................16

1.3.7- XML Schemas...........................................................................................17

1.3.8- Aplicaciones y ventajas del XML...............................................................17

1.4- Sistemas automatizados existentes vinculados al campo de acción. Análisis

comparativo con la solución propuesta...................................................................18

1.5- Objetivos..........................................................................................................22

Conclusiones ..........................................................................................................22

CAPÍTULO II. Tendencias y Tecnologías Actuales................................................24

Introducción ............................................................................................................24

2.1- Fundamentación de la metodología utilizada ..................................................24

2.1.1- Unified Modeling Language (UML)............................................................24

2.1.2- Rational Unified Process™ (RUP) ............................................................25

Page 4: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Índice

2.1.3- Rational Rose Enterprise Edition ..............................................................27

2.2- Fundamentación de las herramientas de desarrollo seleccionadas ................28

2.2.1- Tecnologías del lado del Servidor .............................................................28

2.2.1.1- Java....................................................................................................28

2.2.1.2- ASP (Active Server Pages).................................................................28

2.2.1.3- Asp.NET .............................................................................................29

2.2.1.4- PHP (Professional Home Pages) .......................................................30

2.2.2- Tecnologías del lado del cliente ................................................................30

2.2.2.1- HTML (Hyper Text Markup Language) ...............................................31

2.2.2.2- XHTML (eXtensible Hyper Text Markup Language) ...........................31

2.2.2.3- Cascading Style Sheets (CSS)...........................................................31

2.2.2.4- JavaScript...........................................................................................32

2.3- Gestores de Bases de Datos...........................................................................32

2.3.1- PostGreSQL..............................................................................................32

2.3.2- Oracle .......................................................................................................33

2.3.3- Microsoft SQL Server 2000.......................................................................33

2.3.4- MySQL ......................................................................................................34

2.4- Servidores .......................................................................................................34

2.4.1- Servidores Web........................................................................................35

2.4.1.1- Internet Information Server (IIS) .........................................................35

2.4.1.2- Apache ...............................................................................................36

Conclusiones ..........................................................................................................36

CAPÍTULO III. Descripción de la solución propuesta............................................38

Introducción ............................................................................................................38

3.1- ¿Por qué Modelo del Dominio? .......................................................................38

3.2- Glosario de términos del Dominio....................................................................39

3.3- Reglas del negocio ..........................................................................................40

3.4- Representación del Modelo del Dominio .........................................................41

3.5- Requerimientos funcionales ............................................................................41

3.6- Requerimientos no funcionales .......................................................................43

3.7- Actores del sistema .........................................................................................46

Page 5: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Índice

3.8- Paquetes y sus relaciones...............................................................................47

3.9- Diagrama de casos de uso del sistema...........................................................47

3.9.1- Paquete Autenticación ..............................................................................47

3.9.2- Paquete Gestión de Contenidos XML .......................................................48

3.9.3- Paquete Administración ............................................................................48

3.10- Descripción de los casos de uso ...................................................................49

3.10.1- Paquete Autenticación ............................................................................49

3.10.2- Paquete Gestión de Contenidos XML .....................................................50

3.10.3- Paquete Administración ..........................................................................56

Conclusiones ..........................................................................................................63

CAPÍTULO IV. Construcción de la solución propuesta.........................................64

Introducción ............................................................................................................64

4.1- Diagrama de clases del diseño........................................................................64

4.1.1- Paquete Autenticación ..............................................................................64

4.1.1.1- Caso de uso Autenticarse...................................................................64

4.1.2- Paquete Gestión de Contenidos ...............................................................65

4.1.2.1- Caso de uso Crear DTD .....................................................................65

4.1.2.2- Caso de uso Importar XML.................................................................66

4.1.2.3- Caso de uso Mostrar DOM gráficamente ...........................................66

4.1.2.4- Caso de uso Publicar XML .................................................................67

4.1.2.5- Caso de uso Validar XML...................................................................68

4.1.3- Paquete Administración ............................................................................69

4.1.3.1- Caso de uso Administrar documentos XML........................................69

4.1.3.2- Caso de uso Administrar grupos ........................................................72

4.1.3.3- Caso de uso Administrar módulos......................................................75

4.1.3.4- Caso de uso Administrar opciones .....................................................78

4.1.3.5- Caso de uso Administrar privilegios ...................................................81

4.1.3.6- Caso de uso Administrar sitios de publicación ...................................84

4.1.3.7- Caso de uso Administrar usuarios......................................................87

4.2- Principios de diseño.........................................................................................89

4.2.1- Interfaz de usuario ....................................................................................89

Page 6: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Índice

4.2.2- Formato de reportes..................................................................................90

4.2.3- Concepción general de la ayuda...............................................................90

4.2.4- Estilo de código.........................................................................................91

4.2.5- Tratamiento de excepciones .....................................................................93

4.3- Diseño de la base de datos .............................................................................93

4.3.1- Modelo lógico de datos .............................................................................93

4.3.2- Modelo físico de datos ..............................................................................94

4.4- Modelo de despliegue......................................................................................94

4.4.1- Estructura de los nodos ............................................................................95

4.4.2- Modelo de capas.......................................................................................95

4.4.3- Diagrama de despliegue ...........................................................................96

Conclusiones ..........................................................................................................96

CAPÍTULO V. Estudio de Factibilidad.....................................................................98

Introducción ............................................................................................................98

5.1- Planificación basada en casos de uso.............................................................98

5.2- Beneficios de la utilización del sistema..........................................................102

5.2.1- Beneficios tangibles ................................................................................102

5.2.2- Beneficios intangibles .............................................................................103

5.3- Análisis de costo-beneficio ............................................................................103

Conclusiones ........................................................................................................104

CONCLUSIONES ....................................................................................................105

RECOMENDACIONES ............................................................................................106

REFERENCIAS BIBLIOGRÁFICAS ........................................................................107

BIBLIOGRAFÍA .......................................................................................................111

GLOSARIO DE TÉRMINOS ....................................................................................113

ANEXOS ..................................................................................................................117

Page 7: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Índice de tablas

ÍNDICE DE TABLAS Tabla 1. Descripción de los actores del sistema. .......................................................46

Tabla 2. Descripción del caso de uso Autenticarse....................................................49

Tabla 3. Descripción del caso de uso Importar XML. .................................................50

Tabla 4. Descripción del caso de uso Mostrar DOM gráficamente.............................51

Tabla 5. Descripción del caso de uso Validar XML. ...................................................53

Tabla 6. Descripción del caso de uso Crear DTD. .....................................................54

Tabla 7. Descripción del caso de uso Publicar XML. .................................................55

Tabla 8. Descripción del caso de uso Administrar documentos XML.........................56

Tabla 9. Descripción del caso de uso Administrar usuarios. ......................................57

Tabla 10. Descripción del caso de uso Administrar grupos........................................58

Tabla 11. Descripción del caso de uso Administrar módulos. ....................................59

Tabla 12. Descripción del caso de uso Administrar opciones. ...................................60

Tabla 13. Descripción del caso de uso Administrar sitios de publicación...................61

Tabla 14. Descripción del caso de uso Administrar privilegios...................................62

Tabla 15. Estructura de los nodos..............................................................................95

Tabla 16. Factor de Peso de los Actores sin ajustar (UAW).......................................98

Tabla 17. Factor de Peso de los Casos de Uso sin ajustar (UUCW). .......................99

Tabla 18. Factores técnicos (TCF). ............................................................................99

Tabla 19. Factores de Ambiente (EF). .....................................................................100

Page 8: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Índice de figuras

ÍNDICE DE FIGURAS Figura 1. Conjuntos de SGML, XML y HTML .............................................................10

Figura 2. Compartimiento de documentos entre dos aplicaciones. ............................11

Figura 3. Fases, iteraciones y disciplinas. ..................................................................25

Figura 4. Servidor Web...............................................................................................35

Figura 5. Representación del Modelo del Dominio.....................................................41

Figura 6. Paquetes y sus relaciones. .........................................................................47

Figura 7. Diagrama de casos de uso. Paquete Autenticación. ...................................47

Figura 8. Diagrama de casos de uso. Paquete Gestión de Contenidos XML.............48

Figura 9. Diagrama de casos de uso. Paquete Administración. .................................48

Figura 10. Diagrama de clases del caso de uso Autenticarse....................................64

Figura 11. Diagrama de clases del caso de uso Crear DTD. .....................................65

Figura 12. Diagrama de clases del caso de uso Importar XML. .................................66

Figura 13. Diagrama de clases del caso de uso Mostrar DOM gráficamente.............66

Figura 14. Diagrama de clases del caso de uso Publicar XML. .................................67

Figura 15. Diagrama de clases del caso de uso Validar XML. ...................................68

Figura 16. Diagrama de clases del caso de uso Administrar documentos XML

(Insertar).....................................................................................................................69

Figura 17. Diagrama de clases del caso de uso Administrar documentos XML

(Modificar). .................................................................................................................70

Figura 18. Diagrama de clases del caso de uso Administrar documentos XML

(Eliminar). ...................................................................................................................71

Figura 19. Diagrama de clases del caso de uso Administrar grupos (Insertar). .........72

Figura 20. Diagrama de clases del caso de uso Administrar grupos (Modificar)........73

Figura 21. Diagrama de clases del caso de uso Administrar grupos (Eliminar). ........74

Figura 22. Diagrama de clases del caso de uso Administrar módulos (Insertar)........75

Figura 23. Diagrama de clases del caso de uso Administrar módulos (Modificar). ....76

Figura 24. Diagrama de clases del caso de uso Administrar módulos (Eliminar).......77

Figura 25. Diagrama de clases del caso de uso Administrar opciones (Insertar).......78

Page 9: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Índice de figuras

Figura 26. Diagrama de clases del caso de uso Administrar opciones (Modificar). ...79

Figura 27. Diagrama de clases del caso de uso Administrar opciones (Eliminar). .....80

Figura 28. Diagrama de clases del caso de uso Administrar privilegios (Insertar). ....81

Figura 29. Diagrama de clases del caso de uso Administrar privilegios (Modificar)...82

Figura 30. Diagrama de clases del caso de uso Administrar privilegios (Eliminar). ...83

Figura 31. Diagrama de clases del caso de uso Administrar sitios de publicación

(Insertar).....................................................................................................................84

Figura 32. Diagrama de clases del caso de uso Administrar sitios de publicación

(Modificar). .................................................................................................................85

Figura 33. Diagrama de clases del caso de uso Administrar sitios de publicación

(Eliminar). ...................................................................................................................86

Figura 34. Diagrama de clases del caso de uso Administrar usuarios (Insertar)........87

Figura 35. Diagrama de clases del caso de uso Administrar usuarios (Modificar). ....88

Figura 36. Diagrama de clases del caso de uso Administrar usuarios (Eliminar).......89

Figura 37. Modelo lógico de datos. ............................................................................93

Figura 38. Modelo físico de datos. .............................................................................94

Figura 39. Diagrama de despliegue. ..........................................................................96

Page 10: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Introducción

INTRODUCCIÓN

La tecnología XML comienza a gestarse desde el año 1996, surgiendo como

subconjunto simplificado de su padre SGML, eliminando las partes más engorrosas y

menos útiles de este, cuyo problema fundamental consistía en su excesiva dificultad.

XML, como su antecesor, proporciona un modo consistente y preciso de aplicar

etiquetas para describir las partes que componen un documento y permite el

intercambio de documentos entre diferentes plataformas.

De SGML también procede HTML, aunque siguiendo un enfoque muy distinto al de

XML. HTML es un lenguaje de especificación de contenidos para un tipo específico

de documentos SGML; es decir, mediante este se puede especificar, usando un

conjunto de etiquetas, cómo va a representarse la información en un navegador.

XML ofrece mecanismos más versátiles de mostrar datos, representando

documentos XML en los navegadores Web, de una forma más sofisticada que los

documentos HTML, ya que XML no solo proporciona una sintaxis, sino también una

semántica. Debido a que la información en los documentos XML está etiquetada por

su significado de forma precisa, se puede localizar más claramente que en

documentos HTML. La información contenida puede ser más rica y fácil de usar,

porque las habilidades hipertextuales de XML son mayores que las de HTML. La

información es más accesible y reutilizable, porque la flexibilidad de las etiquetas de

XML pueden utilizarse sin tener que amoldarse a reglas específicas de un fabricante.

Debido a las ventajas que brinda la tecnología XML para el manejo de contenidos, ha

tenido una gran aceptación a nivel mundial. Nuestro país también se ha visto inmerso

en este giro tecnológico, y en particular la Empresa de Tecnologías de la Información

y Servicios Telemáticos Avanzados, CITMATEL, que la está asimilando para mejorar

los servicios que brinda. El manejo de los contenidos, utilizando esta tecnología, en

los servicios de información de CITMATEL, constituye el campo de acción.

CITMATEL tiene la misión de satisfacer con soluciones integrales de alto valor

agregado y profesionalidad, las necesidades de productos y servicios en Tecnologías

1

Page 11: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Introducción

de la Información y las Comunicaciones (TIC) a clientes nacionales y foráneos, con

ofertas de alta competitividad, como consecuencia de la aplicación de la ciencia e

innovación tecnológica.

Su objeto social es desarrollar, implementar y comercializar productos y tecnologías

de información de alto valor agregado, aplicando permanentemente la ciencia y la

innovación tecnológica. Realiza investigaciones, actividades de desarrollo,

innovación tecnológica e introducción de nuevas tecnologías. Participa en la

Informatización de las entidades del Ministerio de Ciencia, Tecnología y Medio

Ambiente.

Para la administración de los servicios que se encuentran en los distintos sitios Web

de la empresa se utilizan contenidos de sitios Web externos, teniendo que delimitar,

de las páginas HTML, las partes correspondientes a los contenidos que realmente se

necesitan, siendo esta una tarea muy engorrosa, ya que HTML se centra en la

representación en la pantalla de la información, es decir, están ligados los contenidos

con su estructura física o presentación. Una vez determinado el contenido a utilizar

resulta complejo adaptarlo a la estructura de presentación de contenidos de los

servicios de información de CITMATEL.

Otra dificultad importante es el permanente acceso a los servidores de bases de

datos para extraer los datos y mostrarlos de forma dinámica en las páginas. Todo

esto trae consigo un alto consumo de tiempo y recursos.

Esta situación conlleva a plantear el siguiente problema:

No existe una aplicación única, portable y genérica, que sirva de núcleo para la

gestión de contenidos entre los servicios de información de CITMATEL.

El Sistema de Gestión de Contenidos XML propuesto en este trabajo pretende dar

solución a los problemas planteados y para ello debe cumplir con los siguientes

objetivos:

Objetivo general:

2

Page 12: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Introducción

Diseñar e implementar una aplicación Web que sirva de núcleo para la gestión de

contenidos XML del conjunto de servicios de información de CITMATEL.

Objetivos específicos:

Diseñar una interfaz Web adecuada para el trabajo de los especialistas en

información y gestión de contenidos de la UEB (Unidad Empresarial de Base)

Servicios Web de CITMATEL.

Permitir a los especialistas en información y gestión de contenidos de la UEB

Servicios Web de CITMATEL generar, publicar, graficar y validar contenidos XML.

Establecer una organización de los contenidos que permita la reutilización de los

mismos por los distintos servicios de información de CITMATEL.

Permitir la interacción con otros sitios Web que generen contenidos XML que se

deseen incorporar a los servicios de CITMATEL.

Independizar la publicación de los contenidos de las conexiones a las bases de

datos.

Implementar una aplicación que sea portable y pueda incluirse como módulo en el

conjunto de servicios de información de CITMATEL.

Para alcanzar los objetivos propuestos es necesario llevar a cabo las siguientes

tareas:

Análisis detallado del manejo de los contenidos en el conjunto de servicios de

información de CITMATEL y de las limitaciones que presenta.

Estudio de otros sistemas de este tipo existentes en el mundo, sus beneficios y

limitaciones.

Estudio y documentación de la tecnología XML y las herramientas de desarrollo

de software disponibles para la implementación del sistema.

Definición de requerimientos del sistema.

Análisis y diseño del sistema para garantizar que el producto satisfaga las

necesidades de los usuarios.

3

Page 13: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Introducción

Estudio de factibilidad del proyecto de desarrollo del sistema propuesto.

Con el cumplimiento de las tareas antes citadas y la implementación del sistema

propuesto se logrará constituir una herramienta de trabajo diario, brindando

facilidades como ahorro de tiempo y recursos. Con la utilización de la tecnología XML

las páginas se cargan más rápido y se agiliza la gestión de contenidos, ya que no se

requiere del acceso a las bases de datos pues estos están en formato XML. El

sistema propuesto será portable y genérico, de modo que servirá a los diferentes

proyectos que se desarrollen en la empresa. Además beneficiará a los usuarios

finales, para los que CITMATEL confecciona los sitios, pues los contenidos que se

exponen se harán más visibles y comprensibles, habrá una contribución al uso de las

nuevas tecnologías, se elevará el número de visitantes a sus sitios y la fidelidad de

estos a los mismos.

El Sistema de Gestión de Contenidos XML se insertará en la Red Cubana de la

Ciencia, que es uno de los proyectos de CITMATEL. Su puesta en funcionamiento

contribuirá a lograr varios de los resultados que este proyecto se propone alcanzar.

Representa un aporte al desarrollo del plan de informatización de la sociedad y el

empleo eficiente de las TIC, lo que contribuye con la batalla de ideas que se lleva a

cabo en el país.

El presente trabajo de diploma está dividido en capítulos ordenados según las fases

que propone la metodología empleada, lo que facilita la localización de los distintos

temas abordados.

El Capítulo I está dedicado al estudio teórico, se realiza una descripción de los

principales conceptos asociados al dominio del problema que son necesarios para

entender el negocio, las dificultades que presenta este último y la propuesta de

solución; se fundamenta el objeto de estudio del proyecto de software; se plantean

los objetivos del mismo y además se analizan los sistemas automatizados existentes

vinculados al campo de acción.

En el Capítulo II se realiza un estudio de las tendencias y tecnologías actuales sobre

las que se apoya el sistema propuesto. De este modo, se fundamentan las que han

4

Page 14: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Introducción

sido seleccionadas para implementarlo, así como la metodología seguida para el

desarrollo del mismo.

En el Capítulo III se describe la solución propuesta a través del modelo del dominio,

los requerimientos funcionales y no funcionales, los casos de uso del sistema y sus

diagramas correspondientes, lo cual proporciona un mayor volumen de información

para el entendimiento de las características y funcionalidades del sistema.

En el Capítulo IV se representan los diferentes diagramas relacionados con la

construcción de la solución propuesta, la estructuración en capas que se utilizó, los

diagramas de clases, el diseño de la base de datos y las pautas de diseño seguidas

para elaborar la interfaz de usuario.

Finalmente, en el Capítulo V se incluye el estudio de factibilidad del proyecto, que

refleja en números el costo en tiempo y dinero que reporta el desarrollo del sistema

propuesto. Se resumen los beneficios tangibles e intangibles que reportaría la

implantación del Sistema de Gestión de Contenidos XML.

5

Page 15: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

CAPÍTULO I. Fundamentación teórica

Introducción

Tomando como punto de partida la bibliografía consultada para introducir el tema del

manejo de contenidos XML, en este capítulo se presentan las bases de la

investigación realizada en el campo del desarrollo de sistemas de gestión de

contenidos XML, así como las soluciones existentes que más se asemejan al sistema

que se propone.

Con la información disponible a continuación se facilita la comprensión de la

necesidad, actualidad, aplicación y beneficios que reporta el sistema propuesto.

1.1- Objeto de estudio

1.1.1- Descripción general

La Empresa de Tecnologías de la Información y Servicios Telemáticos Avanzados,

CITMATEL, se caracteriza por una alta calidad de sus productos y servicios, una

eficiencia organizacional que adapta su desempeño al entorno, ser líder por su haber

científico y tecnológico en el país, ser competitiva en el mercado, posicionar

sistemáticamente nuevos productos y poseer un personal altamente calificado y de

vasta experiencia, hacedor y creativo.

Tiene la misión de satisfacer con soluciones integrales de alto valor agregado y

profesionalidad, las necesidades de productos y servicios en Tecnologías de la

Información y las Comunicaciones a clientes nacionales y foráneos, con ofertas de

alta competitividad, como consecuencia de la aplicación de la ciencia e innovación

tecnológica.

Su objeto social es desarrollar, implementar y comercializar productos y tecnologías

de información, aplicando permanentemente la ciencia y la innovación tecnológica. Realiza consultoría, proyectos, soluciones de conectividad, venta e instalación de

equipamiento, desarrollo de software y aplicaciones, asistencia técnica, servicios

6

Page 16: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

postventa, capacitación presencial y en línea; servicios y aplicaciones de Internet en

todo el territorio nacional y para el extranjero. Brinda servicios asociados a

producciones digitales de información y ediciones electrónicas hipermediales y

multisensoriales sobre soportes ópticos y para redes. Realiza investigaciones,

actividades de desarrollo, innovación tecnológica e introducción de nuevas

tecnologías. Participa en la Informatización de las entidades del Ministerio de

Ciencia, Tecnología y Medio Ambiente y realiza actividad exportadora.

Sus principales acciones estratégicas son: potenciar la actividad de innovación, el

desarrollo e investigación aplicada en las tecnologías de la información para elevar la

calidad y competitividad de los productos y servicios; continuar la modernización y

potenciación de la infraestructura de la red a nivel nacional; brindar nuevos servicios

de valor agregado para la red; promover el empleo del comercio electrónico y la

educación a distancia; desarrollo de servicios WAP; promover soluciones integradas

de redes; realizar alianzas estratégicas con proveedores de contenidos, de

tecnología, para la comercialización en el exterior, y con otras instituciones para la

rápida introducción de productos y servicios innovadores en el catálogo; fidelizar a

los grandes clientes satisfaciendo sus necesidades mediante soluciones integrales a

la medida.

CITMATEL se encuentra inmersa en la introducción de la tecnología XML, la cual ha

tenido una gran aceptación a nivel mundial debido a las ventajas que brinda. La

asimilación de esta tecnología posibilitará una mejora sustancial en el manejo de los

contenidos en los servicios de información de la empresa, lo cual constituye el campo

de acción.

Actualmente para gestionar los contenidos de los servicios de información que

atiende la UEB Servicios Web de CITMATEL, los administradores tienen que

importarlos manualmente de otros sitios y delimitar los contenidos que realmente

necesitan de la presentación, debido a la utilización de documentos HTML. Por otra

parte, los constantes accesos a los servidores de bases de datos implican una gran

dependencia del buen funcionamiento de los mismos. Todo esto trae consigo un alto

consumo de tiempo y recursos.

7

Page 17: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

Entre los proyectos de CITMATEL se encuentra la Red Cubana de la Ciencia, que es

donde se insertará el Sistema de Gestión de Contenidos XML; contribuyendo así a

lograr varios de los resultados que este proyecto se propone alcanzar, entre los que

se encuentran: proporcionar múltiples medios de presentar los contenidos, ampliar la

utilización de las nuevas tecnologías de la información y las comunicaciones y

fomentar la colaboración e interacción entre los servicios de información [CITMA,

2005].

1.1.2- Situación problémica y problema a resolver

El conjunto de servicios de información de CITMATEL está liderado por el portal

Cuba (http://www.cuba.cu) e incluye también el portal de la Red Cubana de la

Ciencia (http://www.redciencia.cu), entre otros. Este último aporta un giro tecnológico

en el desarrollo de aplicaciones Web dentro de la UEB Servicios Web de CITMATEL.

Actualmente la empresa desarrolla distintas aplicaciones, como por ejemplo para

móviles y palms, que no utilizan código HTML, pero que manejan, gestionan y

publican los mismos contenidos que utilizan las aplicaciones Web, entre otros.

Para la administración de los servicios de los distintos sitios se utilizan contenidos de

sitios Web externos, teniendo que delimitar, de las páginas HTML, las partes

correspondientes a los contenidos que realmente se necesitan, siendo esta una tarea

muy engorrosa, ya que HTML se centra en la representación en la pantalla de la

información, es decir, están ligados los contenidos con su estructura física o

presentación. Una vez determinado el contenido a utilizar resulta complejo adaptarlo

a la estructura de presentación de contenidos del conjunto de servicios de

información de CITMATEL.

Otra dificultad importante es el permanente acceso a los servidores de bases de

datos para extraer los datos y mostrarlos de forma dinámica en las páginas. El

acceso a datos almacenados en ficheros XML, como resultado, ofrece al cliente una

página que muestra la información más rápidamente.

Esta situación conlleva a plantear el siguiente problema:

8

Page 18: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

No existe una aplicación única, portable y genérica, que sirva de núcleo para la

gestión de contenidos entre los servicios de información de CITMATEL.

1.2- Procesos objeto de automatización

Los procesos que serán objeto de automatización son:

Publicación de documentos en los múltiples servicios de información de

CITMATEL.

Gestión de la estructura de los documentos XML.

Importación de contenidos XML desde diversos sitios Web.

Validación de los contenidos XML que se gestionan en el sistema.

Control de usuarios autorizados a interactuar con el sistema.

1.3- Conceptos principales asociados al dominio del problema

1.3.1- Antecedentes históricos de XML

En noviembre de 1996, en una conferencia sobre el antecesor de XML, SGML

(Standar Generalized Markup Language), se presenta un reporte técnico inicial

respecto a XML. En marzo de 1997 se realiza la primera conferencia sobre XML, aún

con solo la idea general al respecto; en octubre de 1997 el World Wide Web

Consortium (W3C) define algunos lineamientos fundamentales, para tener la primera

edición del estándar publicada en diciembre de 1997.

Las motivaciones fundamentales del grupo de trabajo W3C eran desarrollarlo para

ser usado en Internet; hacerlo pensando en los desarrolladores, proveedores de

contenido, buscadores y todos los demás actores; que fuese relativamente fácil

hacer programas para XML; que no hubiesen aspectos opcionales de XML, pues son

ellos los que llevan a la aparición de incompatibilidades y es por ello que XML es

mucho más estricto que HTML; tratar datos semi-estructurados de la Web; organizar

9

Page 19: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

colecciones de datos de distintas fuentes y formatos e intercambiar datos entre

diferentes sitios u organizaciones.

Paralelo a los primeros pasos en XSL, entre enero y agosto de 1998 se trabaja en

obtener XQL, XLink y XPointer, que son lenguajes para poder realizar consultas y

referenciar documentos estructurados en XML. En diciembre de 1998 se obtiene una

forma de describir el lenguaje HTML (el usado actualmente en Internet) en términos

de XML y XSL. En enero de 1998 se tiene una versión un poco más estable de XSL y

en febrero de 1998 se prepara el escenario determinando cómo distintas empresas

podían repartir los nombres de los identificadores para evitar confusiones entre ellas.

SGML proporciona un modo consistente y preciso de aplicar etiquetas para describir

las partes que componen un documento, permitiendo además el intercambio de

documentos entre diferentes plataformas. Sin embargo, el problema que se atribuye

a SGML es su excesiva dificultad.

Así que, manteniendo su misma filosofía, de él se derivó XML como subconjunto

simplificado, eliminando las partes más engorrosas y menos útiles. Como su padre,

XML es un metalenguaje, o sea, un lenguaje para definir lenguajes. Los elementos

que lo componen pueden dar información sobre lo que contienen, no necesariamente

sobre su estructura física o presentación, como ocurre en HTML.

Mediante XML también se podría definir el HTML, con lo que se podrían considerar

los siguientes conjuntos:

Figura 1. Conjuntos de SGML, XML y HTML

10

Page 20: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

XML no ha nacido solo para su aplicación en Internet, sino que se propone como

lenguaje de bajo nivel (a nivel de aplicación, no de programación) para intercambio

de información estructurada entre diferentes plataformas. Se puede usar en bases de

datos, editores de texto, hojas de cálculo, y casi cualquier cosa que se pueda pensar.

Se puede suponer de este modo que XML constituye la capa más baja dentro del

nivel de aplicación, sobre el que se puede montar cualquier estructura de tratamiento

de documentos, hasta llegar a la presentación. Observándose así, cómo se

comparten documentos entre dos aplicaciones como intercambio de datos a ese

nivel:

Figura 2. Compartimiento de documentos entre dos aplicaciones.

Dado que XML tiene una perspectiva Web-céntrica, la mayoría de los programas

están hechos en Java, un lenguaje multiplataforma, optimizado para lograr un alto

grado de compatibilidad. Estos programas están orientados a implementar el análisis

de un documento XML, la transformación de documentos XSL y el formateo y

visualización de los mismos [Castillo, 2004] [Delgado, 2001] [Merino, 2003].

1.3.2- Documentos XML

Un documento XML tiene dos estructuras, una lógica y otra física. Físicamente, el

documento está compuesto por unidades llamadas entidades. Una entidad puede

hacer referencia a otra, causando que esta se incluya en el documento. Cada

documento comienza con una entidad documento, también llamada raíz. Lógicamente,

el documento está compuesto de declaraciones, elementos, comentarios, referencias a

caracteres e instrucciones de procesamiento, todos los cuales están indicados por una

11

Page 21: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

marca explícita. Las estructuras lógica y física deben encajar de manera adecuada

[Lechuga, 2004].

Los documentos XML se dividen en dos grupos: documentos bien formados y

documentos válidos.

Bien formados: son todos los que cumplen las especificaciones del lenguaje

respecto a las reglas sintácticas, sin estar sujetos a unos elementos fijados en un

DTD. De hecho los documentos XML deben tener una estructura jerárquica muy

estricta y los documentos bien formados deben cumplirla.

Válidos: Además de estar bien formados, siguen una estructura y una semántica

determinada por un DTD: sus elementos y sobre todo la estructura jerárquica que

define el DTD, además de los atributos, deben ajustarse a lo que el DTD dicte

[Merino, 2003].

1.3.2.1- Elementos

Los elementos XML pueden tener contenido (más elementos, caracteres, o ambos a

la vez), o bien ser elementos vacíos.

Siempre empieza con una <etiqueta> que puede contener atributos o no, y termina

con una </etiqueta> que debe tener el mismo nombre. Al contrario que HTML, en

XML siempre se debe "cerrar" un elemento.

Hay que tener en cuenta que el símbolo "<" siempre se interpreta como inicio de una

etiqueta XML. Si no es el caso, el documento no estará bien-formado. Para usar

ciertos símbolos se usan las entidades predefinidas [Reino, 2000].

1.3.2.2- Atributos

Los elementos pueden tener atributos, que son una manera de incorporar

características o propiedades a los elementos de un documento.

En una Definición de Tipo de Documento, se especifican los atributos que puede

tener cada tipo de elemento, así como sus valores y tipos de valor posible.

12

Page 22: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

Al igual que en otras cadenas literales de XML, los atributos pueden estar marcados

entre comillas simples (') o dobles ("). Cuando se usa uno para delimitar el valor del

atributo, el otro tipo se puede usar dentro.

A veces, un elemento con contenido, puede modelarse como un elemento vacío con

atributos. Un concepto se puede representar de muy diversas formas, pero una vez

elegida una, es aconsejable fijarla en el DTD, y usar siempre la misma

consistentemente dentro de un documento XML [Reino, 2000].

1.3.2.3- Comentarios

A veces es conveniente insertar comentarios en el documento XML, que sean

ignorados por el procesado de la información y las reproducciones del documento.

Los comentarios tienen el mismo formato que los comentarios de HTML. Es decir,

comienzan por la cadena "<!--" y terminan con "-->".

Se pueden introducir comentarios en cualquier lugar de la instancia o del prólogo, pero

nunca dentro de las declaraciones, etiquetas, u otros comentarios [Reino, 2000].

1.3.3- Comparación entre XML y HTML

XML no es una versión nueva de HTML. Aunque los dos proceden de un mismo

metalenguaje, el SGML, el origen y enfoque que se ha seguido en ambos es muy

distinto.

HTML, no es un lenguaje de programación, es un lenguaje de especificación de

contenidos para un tipo específico de documentos SGML; es decir, mediante HTML

se puede especificar, usando un conjunto de etiquetas o tags, cómo va a

representarse la información en un navegador; o sea, es un lenguaje enfocado a la

presentación del contenido.

XML conserva todas las propiedades importantes del antes mencionado SGML; es

decir, XML es un metalenguaje, dado que con él se puede definir un lenguaje propio

de presentación y, a diferencia del HTML, que se centra en la representación en la

pantalla de la información, XML se centra en la información en sí misma. El objetivo

del desarrollo del XML es ser un estándar que sustituya a todo el conjunto de

13

Page 23: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

tecnologías que permiten hoy acceder a información a través del Web [Lechuga,

2004].

1.3.4- DTD (Definición de Tipos de Documento)

Los DTD son definiciones de los elementos que puede incluir un documento XML, de

la forma en que deben hacerlo (qué elementos van dentro de otros) y los atributos

que se les puede dar.

Hay varios modos de referenciar un DTD en un documento XML:

Incluir dentro del documento una referencia al documento DTD en forma de URI

(Universal Resource Identifier, o identificador universal de recursos).

Incluir dentro del propio documento el DTD.

En cuanto a la definición de los elementos, es bastante intuitiva: después de la

cláusula <!ELEMENT se incluye el nombre del elemento y después diferentes cosas

en función del elemento:

entre paréntesis, si el elemento es no vacío, se indica el contenido que puede

tener el elemento: la lista de elementos hijos o que descienden de él si los tiene,

separados por comas; o el tipo de contenido, normalmente #PCDATA, que indica

datos de tipo texto, que son los más habituales.

si es un elemento vacío, se indica con la palabra EMPTY.

A la hora de indicar los elementos descendientes (los que están entre paréntesis)

estos pueden ir seguidos de caracteres especiales: '+', '*', '?' y '|'. Sirven para indicar

qué tipo de uso se permite hacer de esos elementos dentro del documento:

+: uso obligatorio y múltiple; permite uno o más elementos de ese tipo dentro del

elemento padre, pero como mínimo uno.

*: opcional y múltiple; puede no haber ninguna ocurrencia, una o varias.

?: opcional pero singular; puede no haber ninguno o como máximo uno.

|: equivale a un OR, es decir, da la opción de usar un elemento de entre los que

forman la expresión, y solo uno.

14

Page 24: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

Un documento XML presenta una jerarquía muy determinada, definida en el DTD si

es un documento válido, pero siempre inherente al documento en cualquier caso

(siempre se puede inferir esa estructura a partir del documento sin necesidad de

tener un DTD en el que basarse), con lo que se puede representar como un árbol de

elementos. Existe un elemento raíz, que siempre debe ser único (sea el documento

válido o solo bien formado) y que se llamará como el nombre que se ponga en la

definición del <!DOCTYPE si está asociado a un DTD o cualquiera que se desee en

caso contrario. De él descienden las ramas de sus respectivos elementos

descendientes o hijos.

El DTD, por ser precisamente la definición de esa jerarquía, describe precisamente la

forma de ese árbol. La diferencia está en que el DTD define la forma del árbol de

elementos, y un documento XML válido puede basarse en ella para estructurarse,

aunque no tienen que tener en él todos los elementos, si el DTD no te obliga a ello.

Un documento XML bien formado solo tendrá que tener una estructura jerarquizada,

pero sin tener que ajustarse a ningún DTD concreto.

Para la definición de los atributos, se usa la declaración <!ATTLIST, seguida de:

el nombre de elemento del que se están declarando los atributos.

el nombre del atributo.

los posibles valores del atributo, entre paréntesis y separados por el carácter |,

que al igual que para los elementos, significa que el atributo puede tener uno y

solo uno de los valores incluidos entre paréntesis. Si no hay valores definidos, se

escribe CDATA para indicar que puede ser cualquier valor. También se puede

indicar con la declaración ID que el valor alfanumérico que se le dé será único en

el documento, y se podrá referenciar ese elemento a través de ese atributo y

valor.

de forma opcional y entrecomillado, un valor por defecto del atributo si no se

incluye otro en la declaración.

si es obligatorio cada vez que se usa el elemento en cuestión declarar este

atributo, es necesario declararlo con la cláusula #REQUIRED; si no lo es, se debe

15

Page 25: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

poner #IMPLIED, o #FIXED si el valor de dicho atributo se debe mantener fijo a lo

largo de todo el documento para todos los elementos del mismo tipo [Merino,

2003].

1.3.5- El modelo de objetos de documentos DOM

El modelo de objetos de documentos del W3Consortium (W3C), o Document Object

Model (DOM) es una representación interna estándar de la estructura de un

documento, y proporciona un interfaz al programador (API) para poder acceder de

forma fácil, consistente y homogénea a sus elementos, atributos y estilo. Es un

modelo independiente de la plataforma y del lenguaje de programación.

El objetivo es que cualquier script pueda ejecutarse de forma más o menos

homogénea en cualquier navegador que soporte dicho DOM [Merino, 2003].

1.3.6- XSL (Extended Style Language)

El XSL es un lenguaje que permite definir una presentación o formato para un

documento XML. Un mismo documento XML puede tener varias hojas de estilo XSL

que lo muestren en diferentes formatos (HTML, PDF, RTF, VRML, PostScript,

sonido, etc.).

Básicamente, XSL es un lenguaje que define una transformación entre un documento

XML de entrada, y otro documento XML de salida.

Una hoja de estilo XSL es una serie de reglas que determinan cómo va a ocurrir la

transformación. Cada regla se compone de un patrón (pattern) y una acción o

plantilla (template).

De este modo, cada regla afecta a uno o varios elementos del documento XML. El

efecto de las reglas es recursivo, para que un elemento situado dentro de otro

elemento pueda ser también transformado. La hoja de estilo tiene una regla raíz que,

además de ser procesada, llama a las reglas adecuadas para los elementos hijos

[Reino, 2000].

16

Page 26: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

1.3.7- XML Schemas

Un "schema XML" es algo similar a un DTD, es decir, que define qué elementos

puede contener un documento XML, cómo están organizados, y qué atributos y de

qué tipo pueden tener sus elementos.

Los schemas usan sintaxis de XML, al contrario que los DTD; permiten especificar

los tipos de datos y son extensibles [Reino, 2000].

1.3.8- Aplicaciones y ventajas del XML

Algunas de las aplicaciones de XML son:

Ofrecer mecanismos más versátiles de mostrar datos, representando documentos

XML en los navegadores Web, de una forma más sofisticada que los documentos

HTML, ya que XML no solo proporciona una sintaxis, sino también una

semántica.

Implementar buscadores inteligentes. Debido a que la información en los

documentos XML está etiquetada por su significado de forma precisa, se puede

localizar más claramente que en documentos HTML. Con DTD estandarizados

para distintas aplicaciones (librerías, tiendas de deportes, catálogos de

componentes) se podrían programar buscadores Web que recuperasen

información sobre un producto de cualquier sitio Web en el mundo sabiendo que

todos tendrán el mismo formato de datos, aunque no tengan necesariamente la

misma representación gráfica.

Intercambio de información entre sistemas heterogéneos. El fundamento es el

mismo que para los buscadores inteligentes. Debido a que el DTD proporciona un

formato estándar para representar la información de un tema específico, puede

usarse para simplificar el intercambio de información entre distintas fuentes.

Las principales ventajas del XML son:

Los autores y proveedores pueden diseñar sus propios tipos de documentos

usando XML, en vez de limitarse a HTML. Los tipos de documentos pueden ser

17

Page 27: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

explícitamente hechos a la medida de una audiencia, autores y diseñadores serán

libres de inventar sus propias etiquetas.

La información contenida puede ser más rica y fácil de usar, porque las

habilidades hipertextuales de XML son mayores que las de HTML.

XML puede dar más y mejores facilidades para la representación en los

visualizadores.

Elimina muchas de las complejidades de SGML, en favor de la flexibilidad del

modelo, con lo que la escritura de programas para manejar XML es más sencilla

que haciendo el mismo trabajo en SGML.

La información es más accesible y reutilizable, porque la flexibilidad de las

etiquetas de XML permite que se utilicen sin tener que amoldarse a reglas

específicas de un fabricante, como es el caso de HTML.

Los ficheros XML válidos, lo son también en SGML, luego pueden utilizarse

igualmente fuera de la Web, en un entorno SGML [Lechuga, 2004].

Los contenidos XML se pueden representar con HTML y XSL, esto lo hace más

portable y reafirma que su propósito principal es el contenido y la independencia

de este de la forma de representarlo.

1.4- Sistemas automatizados existentes vinculados al campo de acción. Análisis comparativo con la solución propuesta

En la actualidad existen diversos sistemas (editores XML) con funcionalidades

semejantes a las de la solución propuesta; sin embargo, no se encontró ninguno que

englobe todos los requerimientos y se adecue a las características específicas de la

empresa. Además, la mayoría exigen de un gasto por adquisición muy elevado, no

comparable con los costos en que incurriría la empresa al producirlo por sí misma.

Un editor XML es una herramienta que ofrece facilidades para crear y editar

documentos XML. Existen dos tipos principales:

18

Page 28: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

Los que representan los ficheros en forma de árbol y permiten construir un

documento trabajando sobre este árbol y formularios adicionales (XML Notepad

de Microsoft o Visual XML).

Los que representan el documento XML en su formato original y que

normalmente son editores de ficheros de texto con facilidades para XML (XED o

PSGML de Emacs).

Entre ambos tipos hay que diferenciar los que trabajan con una DTD y por lo tanto,

validan el contenido de lo que se escribe, y los que simplemente aseguran que el

documento XML es bien formado, es decir, sintácticamente correcto respecto a las

especificaciones del XML [Lechuga, 2004].

A continuación se detallan los editores más significativos con sus características más

relevantes y los inconvenientes que presentan en comparación con la solución que

se propone.

El Authentic es un editor visual de documentos XML, desarrollado por Altova Inc. Las

plantillas visuales, que son presentadas a los usuarios finales, pueden ser

visualmente diseñadas usando el Stylesheet Designer. Soporta XML Schema y DTD.

Puede ser integrado a una base de datos. A pesar de que es gratis, solo está

disponible como aplicación de escritorio o como un plug-in para el Internet Explorer y

se puede ejecutar únicamente sobre la plataforma Windows.

El EditiX es un editor de XML poderoso y fácil de usar, desarrollado por JapiSoft.

Diseñado para ayudar a los programadores de aplicaciones a utilizar los avances de

las tecnologías XML y otras relacionadas. Provee a los usuarios de una extensa

gama de funcionalidades de XML. Tiene ubicación de XPath en tiempo real y

detección de errores de sintaxis. Incluye plantillas por defecto con XML, DTD,

XHTML y XSLT. Su principal inconveniente es su alto costo en el mercado.

El EditML Pro es un editor visual multidocumentos, desarrollado por NetBryx

Technologies, para la creación de documentos XML válidos y bien formados, que es

fácil de usar. Algunas de las funcionalidades son la validación de documentos, la

creación automática de XML, la generación visual de XPath Query, la generación

19

Page 29: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

automática de DTD y XML Schema, importar XML y ficheros de texto desde una

base de datos y un wizard para la creación de nuevos documentos. Es bastante

integrador pero muy costoso y solamente se puede ejecutar sobre la plataforma

Windows.

El Emilé es un editor de XML, desarrollado por Media Design in Progress. Provee de

diálogos y menús para un trabajo eficiente con documentos XML. Se adapta

automáticamente al DTD actual. Personaliza la interfaz de usuario de acuerdo a sus

necesidades particulares. Se puede ejecutar sobre la plataforma Macintosh

solamente, lo que junto a su alto precio, constituye su mayor desventaja.

El Exchanger es un editor de XML basado en Java, desarrollado por Cladonia Ltd.

Ofrece la validación contra DTD y XML Schema, una vista en forma de árbol para la

edición libre de las etiquetas del documento, búsqueda de expresiones XPath,

diferenciación y unión de documentos XML. Además contiene un debugger de

XSLT, que puede ejecutarse solo o integrado al editor. Al igual que los anteriores es

comercial.

El iXink es un editor de XML de código abierto, desarrollado por Pavel Vrecion.

Chequea que los documentos XML estén bien formados y los valida contra su DTD.

Incluye características como el autocompletamiento, el marcado de sintaxis,

generación de plantillas desde el DTD e importa documentos Excel. A pesar de sus

ventajas se puede ejecutar sobre la plataforma Windows solamente.

El Turbo XML es un ambiente de desarrollo integrado para el trabajo con XML. Fue

desarrollado por TIBCO Software Inc. Incluye facilidades para crear, validar y

convertir XML Schemas, ficheros XML y DTD. Se puede ejecutar únicamente sobre

la plataforma Windows (95/98/NT/2000) y fue creado para su comercialización.

El Ultra XML es un editor, desarrollado por Mai-KG en una versión comercial, que

permite la publicación y creación de documentos. Tiene un árbol XML para facilitar la

navegación y edición del documento. Incluye un editor visual de atributos y entidades

del DTD y una herramienta de creación de hojas de estilo. Presenta los mismos

inconvenientes que el anterior.

20

Page 30: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

El XML Wrench es un editor para el trabajo con XML y otros ficheros. Permite el

marcado de sintaxis tanto de XML como de CSS, DTD, XSL y RSS. También se

puede utilizar para importar desde HTML, chequear y validar XML y convertirlos

usando XSLT. Fue desarrollado por Nick Moon con fines comerciales y se puede

ejecutar sobre la plataforma Windows solamente.

El XML EditPro es un editor simple de XML para trabajar con documentos XML bien

formados, XSL, XHTML y DTD. Fue desarrollado en C++. Permite la validación de

documentos, tiene una vista de código y una vista en forma de árbol. Aunque es

gratis solo se puede ejecutar sobre la plataforma Windows.

El XML Spy es un editor de documentos para el trabajo con XML, DTD y XSLT,

desarrollado por Altova Inc con fines comerciales. Provee vistas de edición

estructurada y un diseñador gráfico de XSLT. Tiene una vista gráfica de diseño para

los XML Schemas. Permite el salvado de ficheros directamente hacia servidores

FTP. Se puede ejecutar sobre la plataforma Windows solamente [XML Software,

2000].

Muchas son las aplicaciones que existen actualmente para el manejo de contenidos

XML, pero la mayoría no es posible adquirirlas por sus altos costos; otras solo se

pueden implantar en una sola plataforma, y ninguna engloba todos los requerimientos

de la empresa CITMATEL, que consisten en la posibilidad de ejecutarse sobre

cualquier plataforma, fundamentalmente Unix; que cumplan con la política que sigue el

país de trabajar con software libre y de código abierto; que agrupe un conjunto de

funcionalidades como importar y validar documentos XML, mostrar gráficamente su

modelo de objetos, crear sus definiciones de tipo, entre otras, y que sea un sistema

organizado por niveles de acceso por usuarios y grupos, con distintos privilegios de

acceso a los módulos. Es por esto que se considera que la mejor solución es la que se

propone en el presente trabajo.

21

Page 31: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

1.5- Objetivos

Objetivo general

Diseñar e implementar una aplicación Web que sirva de núcleo para la gestión de

contenidos XML del conjunto de servicios de información de CITMATEL.

Objetivos específicos

Diseñar una interfaz Web adecuada para el trabajo de los especialistas en

información y gestión de contenidos de la UEB Servicios Web de CITMATEL.

Permitir a los especialistas en información y gestión de contenidos de la UEB

Servicios Web de CITMATEL: generar, publicar, graficar y validar contenidos

XML.

Establecer una organización de los contenidos que permita la reutilización de los

mismos por los distintos servicios de información de CITMATEL.

Interactuar con otros sitios Web que generen contenidos XML que se deseen

incorporar a los servicios de CITMATEL.

Independizar la publicación de los contenidos de las conexiones a las bases de

datos.

Implementar una aplicación que sea portable y pueda incluirse como módulo en el

conjunto de servicios de información de CITMATEL.

Conclusiones

Muchas son las alternativas que existen actualmente para el manejo de contenidos

XML, de lo que se trata es de seleccionar aquella que satisfaga mejor las

expectativas del usuario y se adecue a las características del entorno donde será

utilizada. La mayoría de los sistemas existentes en el mundo exigen de un gasto por

adquisición muy elevado, otros no es posible implantarlos en diversas plataformas,

específicamente sobre Unix que es la que existe en la empresa, y ninguno engloba

22

Page 32: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo I. Fundamentación teórica

todos los requerimientos necesarios; esto los elimina de la lista de posibles

soluciones de la situación problémica planteada.

Contar con una aplicación única que sirva de núcleo para la gestión de contenidos

XML del conjunto de servicios de información de CITMATEL, con una interfaz

sencilla, para los especialistas en información y gestión de contenidos de la UEB

Servicios Web de CITMATEL; permitirá el ahorro de tiempo y recursos en la gestión

de los contenidos de los diferentes proyectos que se desarrollen en la empresa.

Además beneficiará a los usuarios finales, para los que CITMATEL confecciona los

sitios, pues los contenidos que se exponen se harán más visibles y comprensibles,

habrá una contribución al uso de las nuevas tecnologías, se elevará el número de

visitantes a sus sitios y la fidelidad de estos a los mismos.

Para lograr esto es importante la correcta selección de las herramientas a utilizar en

su confección y para ello es necesario analizar las tecnologías y tendencias actuales.

23

Page 33: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

CAPÍTULO II. Tendencias y Tecnologías Actuales

Introducción

Para el desarrollo de las aplicaciones en la actualidad se utilizan herramientas que

garantizan que estas salgan al mercado soportadas por las tecnologías más

avanzadas.

El buen funcionamiento del sistema propuesto depende de la elección correcta de las

tecnologías de que se dispone para su realización. Es por ello que en el presente

capítulo se tienen en cuenta las ventajas y desventajas de las tendencias y

tecnologías actuales, para justificar así el lenguaje de programación, el gestor de

bases de datos y la metodología de análisis y diseño del sistema que fueron

seleccionados.

2.1- Fundamentación de la metodología utilizada

2.1.1- Unified Modeling Language (UML)

UML es un lenguaje de modelado visual y consistente, que unifica varios de los

lenguajes de modelado existentes anteriormente en un único lenguaje orientado a

objetos. Cubre todas las vistas necesarias para desarrollar y luego desplegar los

sistemas. Existe un equilibrio entre expresividad y simplicidad, pues no es difícil de

aprender ni de utilizar.

Comprende un conjunto de estereotipos para la modelación de cualquier proyecto, ya

sea de software, de arquitectura o de cualquier otra rama. Permite representar las

distintas fases de desarrollo por las que atraviesa un software según RUP, mediante

diagramas que relacionan cada uno de los componentes que constituyen el sistema

que se modela. La unión de estos diagramas representa la arquitectura del sistema.

Mediante UML es posible especificar todas las decisiones de análisis, diseño e

implementación, construyéndose así modelos precisos, no ambiguos y completos

[Jacobson, 2000].

24

Page 34: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

Es el estándar para la modelación de la arquitectura de los sistemas en desarrollo y

el resultado de su empleo constituye la documentación que acompañará al sistema

para futuros mantenimientos.

2.1.2- Rational Unified Process™ (RUP)

Rational Unified Process™ (RUP) es una propuesta de proceso para el desarrollo de

software orientado a objeto, que utiliza UML como Lenguaje de Modelamiento

Unificado para describir un sistema, mejora la productividad del equipo de trabajo y

entrega las mejores prácticas del software a todos los miembros del mismo. Es,

además, una metodología de desarrollo de software que intenta integrar todos los

aspectos a tener en cuenta durante el ciclo de vida del software, con el objetivo de

abarcar tanto pequeños como grandes proyectos [Kruchten, 2001].

RUP tiene una estructura bidimensional, dividiendo el proceso en fases, y estas en

flujos de trabajo, lo cual puede observarse en la siguiente figura.

Figura 3. Fases, iteraciones y disciplinas.

RUP divide el desarrollo del software en cuatro fases:

Inicio: Determinar la visión del proyecto.

Elaboración: Determinar la arquitectura óptima.

Construcción: Obtener la capacidad operacional inicial.

Transición: Obtener el release del proyecto.

25

Page 35: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

Cada una de estas etapas es desarrollada mediante el ciclo de iteraciones, que

consiste en reproducir el ciclo de vida en cascada a menor escala. Los objetivos de

una iteración se establecen en función de la evaluación de las iteraciones

precedentes.

El ciclo de vida que se desarrolla por cada iteración, es llevada bajo dos disciplinas o

flujos de trabajo:

Disciplina de Desarrollo:

Ingeniería de Negocios: Entendiendo las necesidades del negocio.

Requerimientos: Trasladando las necesidades del negocio a un sistema

automatizado.

Análisis y Diseño: Trasladando los requerimientos dentro de la arquitectura de

software.

Implementación: Creando un software que se ajuste a la arquitectura y que tenga

el comportamiento deseado.

Pruebas: Asegurándose que el comportamiento requerido es el correcto y que

todo lo solicitado está presente.

Disciplina de Soporte:

Configuración y administración del cambio: Guardando todas las versiones del

proyecto.

Administrando el proyecto: Administrando horarios y recursos.

Ambiente: Administrando el ambiente de desarrollo.

Distribución: Hacer todo lo necesario para la salida del proyecto.

Las características distintivas de RUP son las siguientes:

Dirigido por Casos de Uso:

Tiene a los casos de uso como el hilo conductor que orienta las actividades de

desarrollo. Se centra en la funcionalidad que el sistema debe poseer para satisfacer

26

Page 36: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

las necesidades de un usuario (persona, sistema externo, dispositivo) que interactúa

con él.

Centrado en la arquitectura:

La arquitectura involucra los elementos más significativos del sistema y está

influenciada entre otros por plataformas de software, sistemas operativos,

manejadores de bases de datos, protocolos; consideraciones de desarrollo como

sistemas heredados y requerimientos no funcionales. Una vez definida la arquitectura

se puede decir que el sistema tiene “forma”.

Iterativo e incremental:

Esta característica propone dividir el proceso de desarrollo en partes, cada una de

las cuales incluya las fases de: Requerimientos, Análisis, Diseño, Implementación y

Pruebas, con el objetivo de acelerar el ritmo de desarrollo para que el producto salga

al mercado en el menor tiempo posible y con mayor calidad.

Cualquier tipo de proyecto (incluidos los pequeños, los basados en Web, aquellos

fundamentales para un proyecto y los proyectos integrados) permiten obtener unos

resultados más acordes con las previsiones gracias a la aplicación del proceso

RUP™ [Jacobson, 2000].

2.1.3- Rational Rose Enterprise Edition

Rational Rose Enterprise Edition es una herramienta Lower CASE, que permite el

diseño detallado del software y la generación de código fuente (de programas y

bases de datos) e ingeniería inversa (obtención del diseño a partir del código fuente),

basado en modelos con soporte UML [Anónimo, 2006]. Es una forma de ayuda para

la comprensión del sistema y de sus distintos componentes. Su característica más

significativa consiste en la creación de componentes, que contengan una serie de

archivos dentro de los cuales se encuentran las distintas clases pertenecientes a

dicho componente [Anónimo, 2002].

27

Page 37: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

2.2- Fundamentación de las herramientas de desarrollo seleccionadas

2.2.1- Tecnologías del lado del Servidor

Estas tecnologías son interpretadas y ejecutadas por el servidor. Se consideran de

mayor importancia ya que son las que garantizan el intercambio de datos en ambos

sentidos, entre el navegador del cliente y el servidor Web, y a su vez las que

soportan la funcionalidad del sitio.

2.2.1.1- Java

En cuanto salió Java fue acogido con gran entusiasmo por la comunidad mundial de

los diseñadores de programas y de los proveedores de servicios Internet. Esto

porque Java permitía a los usuarios de Internet usar aplicaciones seguras e

independientes de la plataforma, y que se pueden encontrar en cualquier punto de la

red [Álvarez, 2005b].

Java es un lenguaje de programación orientado a objetos, y tiene todos los beneficios

que ofrece esta metodología de programación. Además al ser Java un lenguaje se

pueden hacer cálculos matemáticos, procesadores de palabras, bases de datos,

aplicaciones gráficas, animaciones, sonido, hojas de cálculo, etc.

Permite desarrollar páginas Web dinámicas y se le pueden poner toda clase de

elementos multimedia que permiten un alto nivel de interactividad, sin tener que

gastar en paquetes costosos de multimedia [Monografías, 2005].

Java compila e interpreta por lo que consume doble tiempo. El tiempo de compilación

es más lento que en otros lenguajes y es una tecnología nueva que no está

estandarizada [Anónimo, 2005b].

2.2.1.2- ASP (Active Server Pages)

Es el lenguaje del lado del servidor creado por Microsoft para la creación de páginas

dinámicas del servidor ASP, se puede programar utilizando el lenguaje Visual Basic

Script, Jscrip (Javascript de Microsoft) u otros lenguajes Script popularmente

conocidos para el uso del lado del cliente.

28

Page 38: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

ASP permite el acceso a bases de datos para extraer información y visualizarla en el

navegador, envío de correo electrónico, acceso al sistema de archivos del servidor y

en general a todos los recursos que tenga el propio servidor. Una potencialidad en

ASP está en el uso de controles ActiveX construidos para ser ejecutados en el

servidor.

El código ASP está mezclado con el contenido, la implementación de componentes y

la configuración es compleja y solo soporta lenguajes de scripting [Reynoso, 2006]. Es

difícil proveer seguridad a los datos de los clientes. El rendimiento de las aplicaciones

es limitado, debido al ancho de banda de Internet [Zarza, 2003].

2.2.1.3- Asp.NET

ASP.NET es la apuesta de la tecnología de Microsoft .Net para el desarrollo de

páginas Web dinámicas. El cual trae diversas mejoras con respecto al ASP

tradicional entre las que se destacan algunas:

Rapidez en programación: Mediante diversos controles se puede con unas pocas

líneas y en menor tiempo mostrar toda una base de datos y hacer rutinas complejas.

Programación Multilenguaje: El programador ya no se encuentra restringido a la

utilización de VBScript o JScript para programar las páginas ASP. Puede utilizar

cualquiera admitido por la plataforma .NET, lo que incluye diversos lenguajes como

C#, Visual Basic.NET, JScipt.NET, COBOL.NET, entre otros.

Programación visual: La arquitectura está diseñada de forma que el desarrollo de las

aplicaciones Web sea análogo a la forma en que se hace en las aplicaciones de

ventanas estándar, representando los controles como objetos que se pueden

manipular en la programación, al igual que se hace en las librerías de ventanas

orientadas a objetos. Además permitiendo que con herramientas visuales, diseñarlas

sea fácil, como arrastrar los componentes necesarios sobre la página y hacer doble

click sobre cada componente para escribir la lógica de respuesta a los eventos que

se puedan realizar sobre ellos, de forma parecida a como se hace en entornos RAD

(Rapid Application Development) como Delphi [Ciberaula, 2005].

29

Page 39: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

Sus principales desventajas consisten en que, a pesar de que el software es gratis, su

plataforma no lo es y además es solamente para Internet Information Server; su código

no está disponible y, comparado con PHP, su velocidad y eficiencia es más débil [Hull,

2006].

2.2.1.4- PHP (Hypertext Preprocessor)

PHP es un lenguaje de programación, de código abierto, que se ejecuta del lado del

servidor, cuyo código se combina con el HTML, para procesar la información de

formularios, generar páginas con contenidos dinámicos, o mandar y recibir cookies

[Cibertua, 2005].

Dispone de múltiples herramientas que permiten acceder a bases de datos de forma

sencilla, por lo que es ideal para crear aplicaciones en Internet. Existe mucha

documentación disponible sobre este lenguaje y miles de ejemplos y código fuente.

Es multiplataforma, funciona tanto para Unix (con Apache) como para Windows (con

Microsoft Internet Information Server), de forma que el código que se haya creado para

una de ellas no tiene por qué modificarse al pasar a la otra. Su integración con Apache

y MySQL es perfecta [Cortés, 2002].

La sintaxis que utiliza la toma de otros lenguajes muy extendidos como C y Perl. PHP

es muy parecido a las ASP (Active Server Pages) de Microsoft, solo que más rápido,

gratuito y multiplataforma, es por ello que fue el lenguaje seleccionado para el

desarrollo del sistema propuesto [Cibertua, 2005].

La versión utilizada es la 5.1.2, que es verdaderamente orientada a objetos.

2.2.2- Tecnologías del lado del cliente

Son las páginas dinámicas que se procesan en el navegador del cliente, en las que

toda la carga de procesamiento de los efectos y funcionalidades la soporta el

navegador. El código necesario para crear los efectos y funcionalidades se incluye

dentro del mismo archivo HTML y es llamado SCRIPT. Cuando una página HTML

contiene scripts de cliente, el navegador se encarga de interpretarlos y ejecutarlos

para realizar los efectos y funcionalidades. Ofrecen respuestas inmediatas a las

30

Page 40: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

acciones del usuario y permiten la utilización de algunos recursos de la máquina local

[Álvarez, 2005a].

2.2.2.1- HTML (Hyper Text Markup Language)

HTML es el punto de partida para el desarrollo Web. Es una aplicación del SGML que

utiliza etiquetas para marcar elementos, tales como texto y gráficos, en un

documento para indicar cómo los navegadores del Web deben visualizar estos

elementos al usuario y deben responder a las acciones del usuario.

Aunque existan ya, editores HTML muy potentes para la creación de páginas Web,

es importante conocer en plenitud este "lenguaje de marcado", pues se utiliza en

combinación con otros lenguajes de programación, como por ejemplo PHP, en el

caso del sistema propuesto [Escobar, 2004].

2.2.2.2- XHTML (eXtensible Hyper Text Markup Language)

XHTML es el lenguaje de marcado pensado para sustituir a HTML como estándar para

las páginas Web. Es la versión XML de HTML, por lo que tiene, básicamente, las

mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su

objetivo es avanzar en el proyecto del W3C de lograr una Web semántica, donde la

información, y la forma de presentarla estén claramente separadas. En este sentido,

XHTML serviría únicamente para transmitir la información que contiene un documento,

dejando para hojas de estilo y JavaScript su aspecto y diseño en distintos medios.

Tiene facilidad de edición directa del código y de mantenimiento, pero presenta

algunas desventajas como que algunos navegadores antiguos no son totalmente

compatibles con los estándares, lo que hace que las páginas no siempre se muestren

correctamente y muchas herramientas de diseño Web aún no producen código XHTML

correcto [Wikipedia, 2006].

2.2.2.3- Cascading Style Sheets (CSS)

Las hojas de estilo facilitan muchísimo la creación de páginas. Gracias a estas

podemos definir un estilo específico para cada atributo sin tener que modificar las

31

Page 41: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

etiquetas dentro de la página HTML. CSS se puede utilizar para manejar los estilos

de todo un sitio [Escobar, 2004].

2.2.2.4- JavaScript

JavaScript es un lenguaje script u orientado a documento. El código JavaScript para

cliente se integra directamente en páginas HTML y es interpretado en su totalidad por

el cliente Web en tiempo de ejecución. En este caso, lo importante es que, sin

necesidad de realizar ninguna transmisión de datos por la red, se puede validar dicha

información, mostrando al usuario un cuadro de diálogo en caso de que esta sea

incorrecta.

Los clientes Web que soportan JavaScript, tales como el Netscape

Navigator/Communicator (desde la versión 2.0) o el Microsoft Internet Explorer

(desde la versión 3.0) pueden interpretar sentencias JavaScript colocadas en un

documento HTML [Universidad de Navarra, 2005].

Se utiliza para activar procesos o desarrollar algoritmos que hagan tareas sencillas y

para darle vida a las Webs, haciendo que cambien imágenes, que se procesen datos,

entre otros.

2.3- Gestores de Bases de Datos

2.3.1- PostGreSQL

PostgreSQL es uno de los Sistemas de Gestión de Bases de Datos (SGBD) más

conocidos del mundo del código libre. Surge a mediados de los años ochenta con el

nombre Postgres, en sus inicios con un lenguaje de consulta propio denominado

Postquel, hasta 1995 que adopta SQL como lenguaje y pasa a llamarse PostGreSQL

en 1996 [Mateu, 2004].

Su principal desventaja es la velocidad, considerándose más lento que SqlServer y

MySql. Además consume una gran cantidad de recursos.

Se puede integrar a la plataforma .Net instalando un proveedor de acceso a datos

almacenados en bases de datos desarrolladas en PostGreSQL, denominado:

32

Page 42: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

PostgreSQLDirect.Net. Está basado completamente en tecnología ActiveX Data

Object para el framework .Net 1.1 o superior (ADO.Net). Puede ser utilizado de igual

forma que el proveedor de acceso a datos para SQL Server que viene incluido en el

framework [Development, 2005].

2.3.2- Oracle

Es un SGBD muy costoso aplicado fundamentalmente en grandes empresas

multinacionales. Trabaja con un lenguaje propio denominado PL/SQL, muy potente.

Para utilizar Oracle primeramente habría que instalar la herramienta servidor, Oracle

8i, y luego se podría acceder a la base de datos desde otros equipos con

herramientas de desarrollo como Oracle Designer y Oracle Developer, que son las

herramientas básicas de programación sobre Oracle [Masip, 2002].

La principal limitante de utilizar Oracle como SGBD es el alto precio de las licencias,

además de que se cuenta con muy poca experiencia en el manejo de este sistema.

2.3.3- Microsoft SQL Server 2000

Microsoft SQL Server 2000 está diseñado para funcionar eficazmente como base de

datos central en un servidor compartido por muchos usuarios que se conectan a la

misma a través de una red. El número de usuarios puede ascender a miles de

empleados en una empresa de mediano o gran tamaño, o a cientos de miles de

usuarios de la Web. Además está pensado como gestor de bases de datos de

escritorio que sirvan solo a aplicaciones que se ejecutan en el mismo escritorio

[Corporation, 2000].

Es el primero en soportar la auto-configuración y auto-sintonización y en proveer

administración de multi-servidor para cientos de servidores.

Microsoft SQL Server 2000 asigna también de manera muy eficaz los recursos

disponibles, como memoria, ancho de banda de la red y E/S del disco, entre los

distintos usuarios [Corporation, 2000].

Su principal desventaja es que corre solamente sobre la plataforma Windows por lo

que su portabilidad es limitada.

33

Page 43: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

2.3.4- MySQL

MySQL es un gestor de bases de datos SQL; una implementación Cliente-Servidor

que consta de un servidor y diferentes clientes [Fernández, 1998].

Una característica importante del servidor de bases de datos MySQL es que

consume muy pocos recursos, tanto de CPU (Unidad Central de Procesamiento)

como de memoria. Fue desarrollado originalmente para manejar grandes bases de

datos mucho más rápido que las soluciones existentes. Son apropiadas su

conectividad y velocidad para acceder a bases de datos en Internet.

Resulta útil para la administración (backup, recuperación de errores); no tiene límites

en el tamaño de los registros; es portable de modo que se puede emplear tanto en

servidores Linux como Windows y realiza control de acceso de usuarios y permisos;

posee una gran velocidad a la hora de realizar las operaciones, lo que le hace uno de

los gestores que ofrecen mayor rendimiento; tiene gran facilidad de configuración e

instalación, y una probabilidad muy reducida de corromper los datos, incluso en los

casos en los que los errores no se produzcan en el propio gestor, sino en el sistema

en el que está [Aguilar, 2004] [Anónimo, 2005a].

Por todas las ventajas antes mencionadas y por la perfecta integración Apache-PHP-

MySQL es el gestor de bases de datos seleccionado para el sistema propuesto.

2.4- Servidores

Un servidor es una máquina que provee datos de modo que otras máquinas

(clientes) puedan utilizarlos. Los clientes se comunican con los servidores a través de

los proveedores de Servicio de Internet, empresas que actúan de puente entre las

comunicaciones de clientes y servidores. Los archivos para cada sitio de Internet se

almacenan y se ejecutan en el servidor. Hay muchos servidores en Internet y muchos

tipos de servidores, con el objetivo común de proporcionar el acceso a los archivos y

servicios.

34

Page 44: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

2.4.1- Servidores Web

Un Servidor Web es un programa de aplicación que satisface las solicitudes HTTP

realizadas por los navegadores. La máquina que la soporta debe estar conectada a

la Intranet y, por consiguiente, tener asignada una dirección IP [EO, 2005].

Figura 4. Servidor Web.

2.4.1.1- Internet Information Server (IIS)

Internet Information Server (IIS), es el servicio Web con el que cuenta la familia de

Sistemas Operativos Windows 2000 y XP para la publicación de información en

Intranets e Internet.

Incluye una herramienta de administrador personal de la Web, que ayuda a

administrar y publicar un sitio de publicación personal. Permite a los usuarios

remotos crear, mover o borrar archivos, directorios y propiedades de directorio en el

servidor a través de una conexión HTTP. Brinda los servicios de FTP, Ghoper y

WWW, al igual que de envío de correo electrónico y noticias, a través del servicio

SMTP de Microsoft, que usa el Protocolo Simple de transferencia de correo (SMPT),

un estándar de Internet.

Ofrece mayor protección y confiabilidad de las aplicaciones Web. De manera

predeterminada, IIS ejecutará todas las aplicaciones en un proceso común o

agrupado que está separado de los procesos del núcleo de IIS. También puede aislar

35

Page 45: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

aplicaciones cuyas misiones sean críticas y que deban ejecutarse fuera tanto de los

procesos de núcleo de IIS como de los agrupados [Internet Information Server, 2000].

Sin embargo, posee algunas desventajas, ya que solo está disponible para Windows,

requiere pagar licencia para su utilización y resulta poco confiable ante los

numerosos ataques que sufren los sitios de Internet [Osmosis Latina, 2000].

2.4.1.2- Apache

Apache es un servidor Web, que permite el alojamiento de páginas Web en una

máquina específica. Es prácticamente universal ya que se ejecuta en la mayoría de

los Sistemas Operativos Windows y de las versiones de Unix y sus derivados.

Es una tecnología gratuita de código fuente abierto, de modo que se puede ver lo

que se está instalando como servidor sin ningún problema y se puede adaptar a los

requerimientos específicos de la empresa donde se use.

Es un servidor altamente configurable de diseño modular. Trabaja con Perl, PHP,

Java y otros lenguajes de script y permite personalizar la respuesta ante posibles

errores que se puedan dar en el servidor [EO, 2005].

Por ser fiable, portable, tolerante a fallas y poco infectado por virus, es el servidor

Web existente en CITMATEL desde 1996. Este se ejecuta sobre la plataforma Unix

requiriendo menos hardware que las aplicaciones Windows. Además, por ser

gratuito, cumple con la tendencia a nivel nacional de no usar softwares comerciales.

Conclusiones

La amplia variedad de tecnologías existentes actualmente para el desarrollo de

aplicaciones Web constituye un factor importante para decidir qué herramienta utilizar

en la confección de la aplicación.

Teniendo en cuenta los requerimientos del sistema propuesto, se seleccionan para

su implementación el lenguaje PHP y el SGBD MySQL por las facilidades que estos

brindan; además de que son tecnologías gratis y cumplen con las tendencias del país

36

Page 46: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo II. Tendencias y tecnologías actuales

de trabajar con aplicaciones de código abierto. Además constituyen una perfecta

integración con el Apache que es el servidor Web con que cuenta CITMATEL.

Para el análisis y diseño del sistema se sigue la metodología de desarrollo con

tecnología orientada a objetos Rational Unified Process (RUP), que utiliza notación

UML (Unified Modeling Language), la cual garantiza la elaboración de todas las fases

de un producto de software.

El análisis del sistema, que permite la metodología RUP, se inicia en el capítulo

siguiente.

37

Page 47: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

CAPÍTULO III. Descripción de la solución propuesta

Introducción

Para lograr una descripción de la solución propuesta primero se analiza el contexto

donde se desarrolla el sistema. Para ello existen dos métodos fundamentales,

Modelo del Negocio, que está dirigido a entender el funcionamiento del negocio

dentro de la organización, y Modelo del Dominio, que se utiliza para capturar los

objetos más importantes en el contexto del sistema.

De los métodos que propone la metodología empleada para presentar el entorno del

sistema, se seleccionó el Modelo del Dominio, que reúne los objetos más relevantes

del sistema y su relación; la justificación de dicha selección es uno de los temas

discutidos en este capítulo.

Los límites del sistema quedan definidos con la descripción de los casos de uso, que

responden a los requerimientos que debe cumplir el sistema y que también son

abordados en el presente capítulo.

3.1- ¿Por qué Modelo del Dominio?

El sistema está diseñado para ser empleado por los especialistas en información y

gestión de contenidos de la UEB Servicios Web de CITMATEL. Existen tres roles:

Administrador, Gestor de contenidos y Gestor de estructura; pero no es posible

identificar un flujo organizacional que permita describir el entorno actual del sistema

mediante el modelo del negocio, ya que este explica cómo se realiza un proceso por

un conjunto de trabajadores que usan unas entidades y unidades de trabajo

[Jacobson, 1999].

Se fundamenta el empleo del Modelo del Dominio para representar los objetos

principales que conforman el sistema a desarrollar, sobre la base de que no se

cumplen los siguientes factores que permiten la modelación del negocio:

Entender la estructura y la dinámica de la organización.

38

Page 48: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Entender los problemas actuales e identificar mejoras potenciales.

Asegurarse de que los clientes, usuarios finales y desarrolladores tengan una

idea común de la organización.

Derivar los requerimientos del sistema a partir del modelo de negocio que se

obtenga.

3.2- Glosario de términos del Dominio

Documento XML: Documento con una estructura lógica que garantiza la organización

del contenido, y una estructura física compuesta por entidades.

DTD: Definición de los elementos que puede incluir un documento XML. Puede estar

incluida dentro de este o con una referencia hacia un fichero externo.

DOM: Representación interna estándar de la estructura de un documento XML. Se

puede graficar, en forma de árbol, para una mejor comprensión de la estructura y

contenido del documento XML.

XML Válido: Son documentos XML que además de estar bien formados (que

cumplen con las especificaciones del lenguaje), siguen una estructura y una

semántica determinada por un DTD.

Documento XML Importado: Documento XML tomado de un sitio Web de Internet y

almacenado en la base de datos del sistema.

Documento XML Publicado: Documento XML almacenado en la base de datos del

sistema y publicado en un sitio Web.

Administradores: Son los usuarios que tienen todos los privilegios para trabajar con el

sistema.

Gestores de contenido: Son los usuarios que se ocupan de trabajar con los

contenidos XML. Tienen permisos solamente para importar y validar documentos

XML.

39

Page 49: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Gestores de estructura: Son los usuarios que se encargan de trabajar con la

estructura de los documentos XML, con la posibilidad de crear ficheros DTD, ver la

estructura DOM de un documento XML, publicarlo, importarlo y validarlo.

3.3- Reglas del negocio

Las reglas del negocio son aquellas condiciones o restricciones que existen en el

negocio o entorno del sistema, que deben ser tenidas en cuenta en las etapas de

desarrollo, ya que representan políticas a seguir para que el sistema cumpla con los

requerimientos planteados [Ortín, 2004]. A continuación se reúnen las reglas

identificadas para el presente proyecto:

El sistema permite a los Administradores del mismo trabajar con todas sus

funcionalidades; sin embargo, los Gestores de contenido solo pueden importar y

validar documentos XML y los Gestores de estructura, además de estas dos

funcionalidades, pueden crear DTD, ver la estructura DOM y publicar los documentos

XML.

Para importar XML se requiere de una conexión suficientemente rápida a Internet.

Una vez importados los documentos, son almacenados en una ubicación física única,

sin permitir al usuario modificarla. Cuando se importa un documento cuyo nombre es

igual al de algún fichero previamente importado, se le concatena a su nombre un

número para diferenciarlo.

Para crear un DTD se hace siempre a partir de un documento XML almacenado en la

base de datos y no se permite al usuario que escoja un XML de otra ubicación.

Para publicar un documento XML en un sitio Web se requiere de permiso de escritura

en el mismo.

Para las funcionalidades que requieren trabajar con documentos XML, se garantiza la

existencia de estos listando los almacenados en la base de datos para que el usuario

escoja el que desea.

40

Page 50: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

3.4- Representación del Modelo del Dominio

Administradores

Gestores de contenido

Gestores de estructura

DTD

GraficaDOM

PublicaDoc

UsuariosDocumento XML

11

11

11 11

1

1

1

1

0..n 10..n 1

XMLValidador

1

1

1

1ImportaDoc

1..n

1

1..n

1

0..1 10..1 1

Figura 5. Representación del Modelo del Dominio.

3.5- Requerimientos funcionales

Los requisitos funcionales son capacidades o condiciones que el sistema debe

cumplir, expresando más detalladamente las responsabilidades del mismo. Con ellos

se pretende determinar de manera clara y concisa lo que debe hacer el sistema

siguiendo un enfoque funcional [Jacobson, 2000].

Seguidamente se enumeran los requerimientos funcionales del sistema propuesto:

1. Importar documentos XML de otros sitios Web.

2. Mostrar, gráficamente, el Modelo de Objetos de un documento XML.

3. Validar un documento XML.

Dada su ubicación física.

Seleccionado de la base de datos.

Dado el contenido del fichero.

4. Crear una DTD a partir de un documento XML existente.

Seleccionado de la base de datos.

5. Publicar documentos XML.

41

Page 51: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Listar documentos publicados.

Publicar documentos XML por copia interna.

6. Administrar documentos XML.

Listar.

Insertar.

Modificar.

Eliminar.

Buscar documentos XML por distintos criterios.

7. Administrar Usuarios.

Listar.

Insertar.

Modificar.

Eliminar.

8. Administrar Grupos.

Listar.

Insertar.

Modificar.

Eliminar.

9. Administrar Módulos.

Listar.

Insertar.

Modificar.

Eliminar.

10. Administrar Opciones.

42

Page 52: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Listar.

Insertar.

Modificar.

Eliminar.

11. Administrar Sitios de Publicación.

Listar.

Insertar.

Modificar.

Eliminar.

12. Administrar Privilegios de los grupos de usuarios.

Listar.

Insertar.

Modificar.

Eliminar.

13. Autenticar usuarios registrados en el sistema.

3.6- Requerimientos no funcionales

Los requerimientos no funcionales especifican las propiedades o cualidades que el

producto debe tener, añadiéndole funcionalidad al sistema, pues hacen que sea fácil

de usar, seguro o interactivo [Jacobson, 2000].

Apariencia o interfaz externa

La interfaz del sistema debe ser sencilla y de fácil manejo, para agilizar el trabajo con

la información por los especialistas que manipularán el sistema. Debe respetar los

estándares de diseño Web, sin uso excesivo de recursos, para aumentar la velocidad

43

Page 53: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

de carga de las páginas; ser un sitio consistente, es decir, que tenga el mismo

aspecto y diseño en todas sus páginas.

Usabilidad Por la sencillez de la interfaz y la fácil navegación, el sistema debe alcanzar una gran

aceptación por parte de los diferentes usuarios. A esto contribuirán también las

facilidades que se brindan a los Gestores de contenido y de estructura, para los que

está concebido el sistema, para gestionar los documentos XML de forma sencilla y

rápida; permitiéndoles crear DTD, mostrar el DOM, importar, validar y publicar

documentos XML. Además deben existir usuarios en el rol de Administradores con

todos los privilegios para trabajar con las funcionalidades antes mencionadas y para

administrar la información de la base de datos del sistema.

Rendimiento

La interfaz Web implementa el manejo de sesiones para reducir el tiempo de

respuesta a las solicitudes de los diferentes usuarios. El sistema será utilizado por la

UEB Servicios Web de CITMATEL, por lo que la audiencia del mismo será reducida,

influyendo positivamente en su rendimiento. A esto además contribuye la rápida

conexión de la Intranet de la empresa, donde será utilizado.

Soporte

La asistencia y mantenimiento del sistema es responsabilidad de los administradores

del mismo. Se implementan las funcionalidades más importantes del sistema pero se

prevé, en los próximos años, incorporar otras más a la solución para el trabajo con

documentos XML y RSS (Really Simple Syndication), entre otras, por lo que la

implementación actual del sistema debe ser lo suficientemente flexible para este

propósito. Por ello se utilizan las facilidades que brinda la arquitectura multicapas,

que garantizan la independencia de los datos, la presentación y la lógica del negocio.

El sistema debe ser compatible con los sistemas operativos Windows, Unix y Linux.

Portabilidad

44

Page 54: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

La aplicación se debe poder ejecutar sobre cualquier plataforma, por lo que la

portabilidad no será limitada, esto se basa en las herramientas de desarrollo

seleccionadas para la implementación del sistema.

Seguridad

La seguridad del sistema debe ser garantizada con la debida autenticación de los

usuarios, con distintos privilegios según el grupo de usuarios al que pertenezcan. Los

roles: Administrador, Gestor de contenido y Gestor de estructura, se corresponden

con los grupos en que están divididos los usuarios del sistema.

Se deben verificar los datos antes de su envío y/o almacenamiento. El sistema gestor

de base de datos realiza el control de acceso de usuarios y permisos.

Confiabilidad

El sistema debe notificar al usuario en caso de que no exista conexión a la base de

datos.

Ayuda y documentación en línea

El sistema debe contar con una ayuda en línea que sirva de manual de usuario y que

incluya las instrucciones necesarias para el trabajo con el mismo.

Software

El sistema requiere de la instalación de PHP 5 con soporte para XML; para el trabajo

con la base de datos, de MySQL Server y de un servidor Web, que puede ser

Apache o IIS.

La máquina cliente debe tener como sistema operativo Windows 98 o superior; con

los navegadores Internet Explorer 5.5 o superior, Opera, o NetScape 7 como mínimo.

Hardware

Se recomienda emplear para el servidor donde se instale el sistema:

Plataforma Unix: Pentium III o superior, 256 MB o más de memoria RAM, 1 GHz,

10 GB de disco duro como mínimo.

45

Page 55: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Plataforma Windows: Pentium IV o superior, 256 MB o más de memoria RAM, d2

GHz, 10 GB de disco duro como mínimo.

La máquina cliente debe tener como requerimientos de hardware: Pentium II o

superior y 128 MB o más de memoria RAM.

Políticos culturales

El sistema debe responder a los intereses y convicciones de la empresa que

representará (CITMATEL) y del país, mostrando información acorde a los principios

de los mismos.

3.7- Actores del sistema

Tabla 1. Descripción de los actores del sistema.

Nombre del Actor Descripción

Administrador Se le asocian todos los requerimientos funcionales del

sistema.

Gestor de estructura Es el que se encarga de trabajar con la estructura de los

documentos XML, con la posibilidad de crear ficheros DTD,

ver la estructura DOM de un documento XML y publicarlo.

Los Administradores también pueden jugar este rol.

Gestor de contenidos Rol que juegan los Administradores y los Gestores de

estructura al autenticarse en el sistema, así como al

importar o validar documentos XML.

46

Page 56: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

3.8- Paquetes y sus relaciones

Administración

Autenticación

Gestión de contenidos XML

Figura 6. Paquetes y sus relaciones.

3.9- Diagrama de casos de uso del sistema

3.9.1- Paquete Autenticación

Gestor de estructura

(f rom Actores)

Administrador

(f rom Actores)

AutenticarseGestor de contenidos(f rom Actores)

Figura 7. Diagrama de casos de uso. Paquete Autenticación.

47

Page 57: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

3.9.2- Paquete Gestión de Contenidos XML

Administrador

(from Actores)

Importar XML

Validar XML

<<extend>>

Gestor de contenidos(from Actores)

Publicar XMLCrear DTD

Mostrar DOM graficamente

Gestor de estructura

(from Actores)

Figura 8. Diagrama de casos de uso. Paquete Gestión de Contenidos XML.

3.9.3- Paquete Administración

Administrar documentos XML

Administrar usuarios

Administrar grupos

Administrar modulos

Administrar opciones

Administrar sitios de publicacion

Administrar privilegios

Administrador

(from Actores)

Figura 9. Diagrama de casos de uso. Paquete Administración.

48

Page 58: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

3.10- Descripción de los casos de uso

3.10.1- Paquete Autenticación

Tabla 2. Descripción del caso de uso Autenticarse.

Nombre del caso de uso

Autenticarse

Gestor de contenidos Actores

Resumen

El caso de uso se inicia cuando el Gestor de

contenidos desea entrar al sistema, especificando

su usuario y contraseña. El sistema chequea en la

base de datos que el usuario exista y se culmina el

caso de uso mostrando la página principal con las

opciones disponibles en dependencia de los

privilegios del Gestor de contenidos.

En caso de que la información suministrada por el

Gestor de contenidos sea incorrecta, se muestra

una página de error notificando que el usuario o la

contraseña son incorrectos, con la opción de

regresar a la página de autenticación nuevamente.

Que exista el Gestor de contenidos en la base de

datos con sus privilegios definidos.

Precondiciones

El Gestor de contenidos entra al sistema con sus

privilegios establecidos.

Poscondiciones

- Requisitos especiales

Prototipo

49

Page 59: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

3.10.2- Paquete Gestión de Contenidos XML

Tabla 3. Descripción del caso de uso Importar XML.

Nombre del caso de uso

Importar XML

Gestor de contenidos Actores

Resumen

El caso de uso se inicia cuando el Gestor de

contenidos desea importar documentos XML de

sitios Web determinados; indicando la cantidad de

documentos que desea importar, la URL desde

donde lo hará y si desea importar o no el XSL

asociado. El sistema valida que la URL esté escrita

correctamente y que se trate de un documento

XML.

Se importan los XML y sus DTD hacia una

ubicación específica, registrándose en la base de

datos. En caso de que la operación no se haya

podido realizar esto se notifica al Gestor de

contenidos.

El sistema brinda la posibilidad de Validar los

50

Page 60: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

documentos XML importados, así como de

importar más.

El caso de uso culmina cuando se han importado

y/o validado los documentos.

Debe existir conexión a Internet. Precondiciones

Se importan los documentos XML, sus DTD y,

opcionalmente, sus XSL, hacia una ubicación

específica y quedan registrados en la base de

datos.

Poscondiciones

- Requisitos especiales

Prototipo

Tabla 4. Descripción del caso de uso Mostrar DOM gráficamente.

Nombre del caso de uso

Mostrar DOM gráficamente

Actores Gestor de estructura

51

Page 61: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Resumen

El caso de uso se inicia cuando el Gestor de

estructura desea ver la estructura DOM de un

documento XML, gráficamente. El sistema muestra

los documentos disponibles de la base de datos y

el Gestor de estructura selecciona el que desea

ver. Se lleva el documento al formato adecuado

para mostrarlo y se muestran gráficamente los

diferentes niveles del árbol DOM: la raíz y los

nodos de los diferentes niveles con sus atributos y

contenido.

El caso de uso culmina cuando se muestra el

gráfico del DOM.

Debe existir el documento XML en la base de

datos.

Precondiciones

Se obtiene la estructura gráfica del DOM con los

diferentes nodos y sus atributos.

Poscondiciones

- Requisitos especiales

Prototipo

52

Page 62: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Tabla 5. Descripción del caso de uso Validar XML.

Nombre del caso de uso

Validar XML

Gestor de contenidos Actores

El caso de uso se inicia cuando el Gestor de

contenidos desea validar un documento XML. El

sistema muestra tres opciones para validar un

documento XML: de una ubicación específica o

almacenado en la base de datos, y una tercera

opción para introducir el código del documento a

validar. El Gestor de contenidos selecciona la

opción que va a utilizar y el sistema valida el

documento XML contra su DTD y verifica que esté

bien formado. El caso de uso termina cuando se

muestra el resultado de estas operaciones,

especificando, en caso necesario, los errores del

XML.

Resumen

Debe existir el documento XML que se quiere

validar.

Precondiciones

Se conoce si el documento seleccionado es válido

y bien formado.

Poscondiciones

- Requisitos especiales

Prototipo

53

Page 63: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Tabla 6. Descripción del caso de uso Crear DTD.

Nombre del caso de uso

Crear DTD

Gestor de estructura Actores

El caso de uso se inicia cuando el Gestor de

estructura desea crear un DTD a partir de un

documento XML existente. El sistema muestra los

documentos disponibles de la base de datos y el

Gestor de estructura selecciona el que desea. El

sistema crea el fichero DTD y lo almacena en la

misma ubicación física del XML, referenciándolo

dentro de este; culminándose el caso de uso.

Resumen

Debe existir el documento XML en la base de

datos.

Precondiciones

Se almacena el fichero DTD y se referencia en el

XML correspondiente.

Poscondiciones

- Requisitos especiales

Prototipo

54

Page 64: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Tabla 7. Descripción del caso de uso Publicar XML.

Nombre del caso de uso

Publicar XML

Gestor de estructura Actores

Resumen

El caso de uso se inicia cuando el Gestor de

estructura desea publicar un documento XML. Para

ello se listan los documentos XML disponibles, así

como los sitios Web en los cuales se pueden

publicar.

Además el Gestor de estructura tiene la posibilidad

de conocer los documentos XML que ya están

publicados, mediante una lista de los mismos con

sus correspondientes sitios de publicación.

El caso de uso termina cuando se escribe el

fichero XML en un directorio específico del sitio

Web de publicación seleccionado.

Precondiciones Que exista el documento XML en la base de datos

y que haya sitios Web de publicación disponibles.

El Gestor de estructura debe tener permiso de

escritura en el directorio donde se publicará el

XML.

55

Page 65: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Se publica el documento XML. Poscondiciones

- Requisitos especiales

Prototipo

3.10.3- Paquete Administración

Tabla 8. Descripción del caso de uso Administrar documentos XML.

Nombre del caso de uso

Administrar documentos XML

Administrador Actores

Resumen

El caso de uso se inicia cuando el Administrador

desea insertar, eliminar o modificar un documento

XML. Para ello se listan los documentos

registrados en la base de datos.

También se puede iniciar cuando el Administrador

desea buscar documentos XML almacenados en la

base de datos. La búsqueda se puede realizar por

distintos criterios.

56

Page 66: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Para modificar o eliminar un documento XML, este

debe existir en la base de datos.

Precondiciones

Poscondiciones Se actualiza la base de datos por la inserción,

eliminación o modificación del documento XML.

Se elimina, inserta o modifica el fichero XML

físicamente.

Si se realizó una búsqueda de documentos XML,

se muestra la lista de los que cumplen con los

parámetros especificados.

- Requisitos especiales

Prototipo

Tabla 9. Descripción del caso de uso Administrar usuarios.

Nombre del caso de uso

Administrar usuarios

Administrador Actores

Resumen

El caso de uso se inicia cuando el Administrador

desea insertar, eliminar o modificar un usuario.

Para ello se listan los usuarios registrados.

57

Page 67: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Para modificar o eliminar un usuario, este debe

existir en la base de datos.

Precondiciones

Se actualiza la base de datos por la inserción,

eliminación o modificación del usuario.

Poscondiciones

- Requisitos especiales

Prototipo

Tabla 10. Descripción del caso de uso Administrar grupos.

Nombre del caso de uso

Administrar grupos

Administrador Actores

El caso de uso se inicia cuando el Administrador

desea insertar, eliminar o modificar un grupo. Para

ello se listan los grupos existentes.

Resumen

Precondiciones Para modificar o eliminar un grupo, este debe

existir en la base de datos.

58

Page 68: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Se actualiza la base de datos por la inserción,

eliminación o modificación del grupo.

Poscondiciones

- Requisitos especiales

Prototipo

Tabla 11. Descripción del caso de uso Administrar módulos.

Nombre del caso de uso

Administrar módulos

Administrador Actores

El caso de uso se inicia cuando el Administrador

desea insertar, eliminar o modificar un módulo.

Para ello se listan los módulos existentes.

Resumen

Para modificar o eliminar un módulo, este debe

existir en la base de datos.

Precondiciones

Se actualiza la base de datos por la inserción,

eliminación o modificación del módulo.

Poscondiciones

Requisitos especiales -

59

Page 69: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Prototipo

Tabla 12. Descripción del caso de uso Administrar opciones.

Nombre del caso de uso

Administrar opciones

Administrador Actores

El caso de uso se inicia cuando el Administrador

desea insertar, eliminar o modificar una opción.

Para ello se listan las opciones existentes.

Resumen

Para modificar o eliminar una opción, esta debe

existir en la base de datos.

Precondiciones

Se actualiza la base de datos por la inserción,

eliminación o modificación de la opción.

Poscondiciones

- Requisitos especiales

Prototipo

60

Page 70: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Tabla 13. Descripción del caso de uso Administrar sitios de publicación.

Nombre del caso de uso

Administrar sitios de publicación

Administrador Actores

El caso de uso se inicia cuando el Administrador

desea insertar, eliminar o modificar un sitio Web.

Para ello se listan los sitios Web registrados en la

base de datos.

Resumen

Para modificar o eliminar un sitio Web, este debe

existir en la base de datos.

Precondiciones

Se actualiza la base de datos por la inserción,

eliminación o modificación del sitio Web.

Poscondiciones

- Requisitos especiales

Prototipo

61

Page 71: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Tabla 14. Descripción del caso de uso Administrar privilegios.

Nombre del caso de uso

Administrar privilegios

Administrador Actores

El caso de uso se inicia cuando el Administrador

desea insertar, eliminar o modificar un privilegio.

Para ello se listan los privilegios existentes por

grupo de usuarios.

Resumen

Para modificar o eliminar un privilegio, este debe

existir en la base de datos.

Precondiciones

Se actualiza la base de datos por la inserción,

eliminación o modificación del privilegio.

Poscondiciones

- Requisitos especiales

Prototipo

62

Page 72: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo III. Descripción de la solución propuesta

Conclusiones

En este capítulo se ha descrito el contexto en que se desarrolla el sistema propuesto

a través del Modelo del Dominio, para representar los objetos fundamentales en la

comprensión del alcance que se pretende. Se han establecido los requerimientos

funcionales y no funcionales para comprender mejor el problema que la aplicación ha

de solucionar. Además, se definen casos de uso que especifican la secuencia de

acciones que el sistema debe llevar a cabo. Estos se describen detalladamente y se

presenta el prototipo de la aplicación. Los casos de uso se agrupan en paquetes que

se definen teniendo en cuenta la gran utilidad que representa su uso. Esta

explicación posibilitará la comprensión de las fases posteriores de construcción y el

estudio de factibilidad realizado al sistema.

63

Page 73: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

CAPÍTULO IV. Construcción de la solución propuesta

Introducción

Dando continuidad al proceso de análisis llevado a cabo en el capítulo anterior, a

este le corresponde la etapa de diseño, donde se define cómo debe ser construido el

sistema. Teniendo en cuenta esto, se realizan los diagramas de clases, agrupados

en paquetes, empleando los mecanismos de extensión definidos por el UML para

aplicaciones Web, así como el diagrama de clases persistentes para la base de

datos y el modelo de despliegue. Además, se definen las pautas para el diseño de la

interfaz de la aplicación partiendo de su importancia en la obtención del producto

final.

4.1- Diagrama de clases del diseño

4.1.1- Paquete Autenticación

4.1.1.1- Caso de uso Autenticarse

Usuario

idusuarionombreapell idosloginclaveclasificacionestado

Eliminar()Insertar()Modificar()

(f rom Acceso a datos)

index

(f rom Autenticacion)

form

(f rom Autenticacion)

main(f rom Autenticacion)

<<submit>>

indexform

ValidateForm()

(f rom Autenticacion)

<<build>>

error(f rom Autenticaci...

<<redirect>><<link>>

<<dependency>>

bienvenido

(f rom Autenticacion)

<<build>>

cooljsmenu

COOLjsMenu()

(f rom Autenticacion)

<<javascript>>

<<include>>

Figura 10. Diagrama de clases del caso de uso Autenticarse.

64

Page 74: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.2- Paquete Gestión de Contenidos

4.1.2.1- Caso de uso Crear DTD

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista DTD

(from Crear DTD)

Lista_DTD

(from Crear DTD)

<<build>>

DTDCreado

(from Crear DTD)

DTDM

(from Crear DTD)

<<link>><<build>>

<<dependency>>

DTDControl

Crear_DTD()

(from Crear DTD)

<<dependency>>

DTD

parse()Fix()GetAttributes()AttributeOcurrency()DeleteRepeated()FinAttrib()Multiplicity()Alones()Signs()

(from Crear DTD)

111 1

Figura 11. Diagrama de clases del caso de uso Crear DTD.

65

Page 75: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.2.2- Caso de uso Importar XML

Documento

iddoctitulofichurlidusuariopublicadoestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

GetWebObject

hostportpathheadercontent

GetWebObject()fetch()get_header()get_content()

(from Importar XML)

Import_doc

filename

Import_doc()ImportXML()ImportXSL()ImportDTD()QuitarRefereciaXSL()

(from Importar XML)

1

1

1

1

1..n

1

1..n

1

formimport

(from Importar XML)

Import

(from Importar XML)

Importar XML

(from Importar XML)

<<submit>>

Import_form

ValidateForm()

(from Importar XML)

<<build>>

Validacion

Validar()

(from Validar XML)

<<javascript>>

Validar importados

(from Importar XML)

<<build>><<link>>

<<include>>

<<dependency>>

Figura 12. Diagrama de clases del caso de uso Importar XML.

4.1.2.3- Caso de uso Mostrar DOM gráficamente

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista DOM

(from Mostrar DOM)

Lista_DOM

(from Mostrar DOM)

<<build>>

Dibujo

(from Mostrar DOM)

<<link>>

Diagram

bordercolorfontalignwidth

Diagram()Draw()

(from Mostrar DOM)<<dependency>>

Dibujar

(from Mostrar DOM)

<<link>>

<<build>>

Graficar

DOM

Fix()Draw()

(from Mostrar DOM)

1

1

1

1

<<dependency>>

Figura 13. Diagrama de clases del caso de uso Mostrar DOM gráficamente.

66

Page 76: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.2.4- Caso de uso Publicar XML

DocPublicado

iddocpubiddocidsitio

DocPublicados()Insertar()

(from Acceso a datos)

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista sitios Web

(from Publicar XML)

Publicar

(from Publicar XML)

Lista publicados

(from Publicar XML)

Lista publicar

(from Publicar XML)

Lista_sitiosWeb

(from Publicar XML)

<<build>>

<<link>>

Lista_publicados

(from Publicar XML)

<<build>>

Lista_publicar

(from Publicar XML)

<<build>>

<<link>>

<<link>>

<<dependency>>

<<dependency>>

<<dependency>>

<<dependency>>

Figura 14. Diagrama de clases del caso de uso Publicar XML.

67

Page 77: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.2.5- Caso de uso Validar XML

Validate

(from Val idar XML)

Validacion

Validar()

(from Val idar XML)

<<javascript>>

Lista_validate_db

(from Val idar XML)

<<include>>ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Validate_db

(from Val idar XML)

<<build>>

Validateoptions

(from Val idar XML)

<<build>>

<<include>><<link>>

script

Muestra()

(from Val idar XML)

<<javascript>><<include>>

<<dependency>>

Figura 15. Diagrama de clases del caso de uso Validar XML.

68

Page 78: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.3- Paquete Administración

4.1.3.1- Caso de uso Administrar documentos XML

Insertar documento XML

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_documentos(from Administrar documentos)

Lista documentos

(from Administrar documentos)

<<build>>

adddocumentoform

ValidateForm()

(from Administrar documentos)

<<link>><<build>>

formadddocumento

(from Administrar documentos)

<<dependency>>

adddocumento

(from Administrar documentos)

<<submit>>

Documento

iddoctitulofichurlidusuariopublicadoestado

Eliminar()Insertar()Modificar()Publicar()

(from Acceso a datos)

<<dependency>>

Figura 16. Diagrama de clases del caso de uso Administrar documentos XML (Insertar).

69

Page 79: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Modificar documento XML

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_documentos(from Administrar documentos)

Lista documentos

(from Administrar documentos)

<<build>>

formmodifdocumento

(from Administrar documentos)

modifdocumento

ValidateForm()

(from Administrar documentos)

<<link>><<build>>

<<dependency>>

actdocumento

(from Administrar documentos)

<<submit>>

Documento

iddoctitulofichurlidusuariopublicadoestado

Eliminar()Insertar()Modificar()Publicar()

(from Acceso a datos)

<<dependency>>

Figura 17. Diagrama de clases del caso de uso Administrar documentos XML (Modificar).

70

Page 80: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Eliminar documento XML

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(f rom Acceso a datos)

Lista_documentos(f rom Administrar documentos)

Lista documentos

(f rom Administrar documentos)

<<build>>

elimina_documento

(f rom Administrar documentos)

<<link>><<build>>

formelimdocumento

(f rom Administrar documentos)

<<dependency>>

eliminadocumento

(f rom Administrar documentos)

<<submit>>

Documento

iddoctitulofichurlidusuariopublicadoestado

Eliminar()Insertar()Modificar()Publicar()

(f rom Acceso a datos)

<<dependency>>

Figura 18. Diagrama de clases del caso de uso Administrar documentos XML (Eliminar).

71

Page 81: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.3.2- Caso de uso Administrar grupos

Insertar grupo

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_grupo(from Administrar grupos)

Lista grupo

(from Administrar grupos)

<<build>>

addgroupform

ValidateForm()

(from Administrar grupos)

<<link>> <<build>>

formaddgroup

(from Administrar grupos)

Grupo

idgruponombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

addgroup

(from Administrar grupos)

<<submit>>

<<dependency>>

<<dependency>>

Figura 19. Diagrama de clases del caso de uso Administrar grupos (Insertar).

72

Page 82: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Modificar grupo

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_grupo(from Administrar grupos)

Lista grupo

(from Administrar grupos)

<<build>>

modifgrupo

ValidateForm()

(from Administrar grupos)

<<link>><<build>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

formmodifgroup

(from Administrar grupos)

Grupo

idgruponombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

11

11

actgroup

(from Administrar grupos)

<<submit>>

<<dependency>>

<<dependency>>

Figura 20. Diagrama de clases del caso de uso Administrar grupos (Modificar).

73

Page 83: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Eliminar grupo

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_grupo(from Administrar grupos)

Lista grupo

(from Administrar grupos)

<<build>>

elimina_grupo

(from Administrar grupos)

<<link>> <<build>>

formelimgrupo

(from Administrar grupos)

eliminagrupo

(from Administrar grupos)

<<submit>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

Grupo

idgruponombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

11

11

<<dependency>>

<<dependency>>

Figura 21. Diagrama de clases del caso de uso Administrar grupos (Eliminar).

74

Page 84: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.3.3- Caso de uso Administrar módulos

Insertar módulo

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_modulo(from Administrar modulos)

Lista modulo

(from Administrar modulos)

<<build>>

addmodulosform

ValidateForm()

(from Administrar modulos)

<<link>> <<build>>

formaddmodulo

(from Administrar modulos)

Modulo

idmodulonombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

addmodulo

(from Administrar modulos)

<<submit>>

<<dependency>>

<<dependency>>

Figura 22. Diagrama de clases del caso de uso Administrar módulos (Insertar).

75

Page 85: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Modificar módulo

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_modulo(from Administrar modulos)

Lista modulo

(from Administrar modulos)

<<build>>

modifmodulo

ValidateForm()

(from Administrar modulos)

<<link>><<build>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

formmodifmodulo

(from Administrar modulos)

Modulo

idmodulonombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

1

1

1

1

actmodulo

(from Administrar modulos)

<<submit>>

<<dependency>>

<<dependency>>

Figura 23. Diagrama de clases del caso de uso Administrar módulos (Modificar).

76

Page 86: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Eliminar módulo

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_modulo(from Administrar modulos)

Lista modulo

(from Administrar modulos)

<<build>>

elimina_modulo

(from Administrar modulos)

<<link>> <<build>>

formelimmodulo

(from Administrar modulos)

eliminamodulo

(from Administrar modulos)

<<submit>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

Modulo

idmodulonombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

11

11

<<dependency>>

<<dependency>>

Figura 24. Diagrama de clases del caso de uso Administrar módulos (Eliminar).

77

Page 87: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.3.4- Caso de uso Administrar opciones

Insertar opción

Opcion

idopciontitulourlestadomodulo

Eliminar()Insertar()Modificar()

(from Acceso a datos)

addopcion

(from Administrar opciones)

formaddopcion

(from Administrar opciones)

<<submit>>

addopcionform

ValidateForm()

(from Administrar opciones)

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_opciones(from Administrar opciones)

<<link>>

Lista opciones

(from Administrar opciones)

<<build>>

<<build>>

<<dependency>>

<<dependency>>

Figura 25. Diagrama de clases del caso de uso Administrar opciones (Insertar).

78

Page 88: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Modificar opción

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_opciones(from Administrar opciones)

Lista opciones

(from Administrar opciones)

<<build>>

modifopcion

ValidateForm()

(from Administrar opciones)

<<link>> <<build>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

formmodifopcion

(from Administrar opciones)

Opcion

idopciontitulourlestadomodulo

Eliminar()Insertar()Modificar()

(from Acceso a datos)

11

11

actopcion

(from Administrar opciones)

<<submit>>

<<dependency>>

<<dependency>>

Figura 26. Diagrama de clases del caso de uso Administrar opciones (Modificar).

79

Page 89: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Eliminar opción

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_opciones(from Administrar opciones)

Lista opciones

(from Administrar opciones)

<<build>>

elimina_opcion

(from Administrar opciones)

<<link>> <<build>>

formelimopcion

(from Administrar opciones)

eliminaopcion

(from Administrar opciones)

<<submit>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

Opcion

idopciontitulourlestadomodulo

Eliminar()Insertar()Modificar()

(from Acceso a datos)

11

11

<<dependency>>

<<dependency>>

Figura 27. Diagrama de clases del caso de uso Administrar opciones (Eliminar).

80

Page 90: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.3.5- Caso de uso Administrar privilegios

Insertar privilegio

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_privilegios(from Administrar privilegios)

Lista privilegios

(from Administrar privilegios)

<<build>>

addprivilegioform

ValidateForm()

(from Administrar privilegios)

<<link>> <<build>>

formaddprivilegio

(from Administrar privilegios)

Privilegio

idprivilegioidgrupoidopcionacceso

Eliminar()Insertar()Modificar()

(from Acceso a datos)

addprivilegio

(from Administrar privilegios)

<<submit>>

<<dependency>>

<<dependency>>

Figura 28. Diagrama de clases del caso de uso Administrar privilegios (Insertar).

81

Page 91: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Modificar privilegio

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_privilegios(from Administrar privilegios)

Lista privilegios

(from Administrar privilegios)

<<build>>

modifprivilegio

ValidateForm()

(from Administrar privilegios)

<<link>> <<build>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

formmodifprivilegio

(from Administrar privilegios)

Privilegio

idprivilegioidgrupoidopcionacceso

Eliminar()Insertar()Modificar()

(from Acceso a datos)

11

11

actprivilegio

ModificarPrivilegio()

(from Administrar privilegios)

<<submit>>

<<dependency>>

<<dependency>>

Figura 29. Diagrama de clases del caso de uso Administrar privilegios (Modificar).

82

Page 92: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Eliminar privilegio

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_privilegios(from Administrar privilegios)

Lista privilegios

(from Administrar privilegios)

<<build>>

elimina_privilegio

(from Administrar privilegios)

<<link>> <<build>>

formelimprivilegio

(from Administrar privilegios)

eliminaprivilegio

(from Administrar privilegios)

<<submit>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

Privilegio

idprivilegioidgrupoidopcionacceso

Eliminar()Insertar()Modificar()

(from Acceso a datos)

11

11

<<dependency>>

<<dependency>>

Figura 30. Diagrama de clases del caso de uso Administrar privilegios (Eliminar).

83

Page 93: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.3.6- Caso de uso Administrar sitios de publicación

Insertar sitio de publicación

SitioPublicacion

idsitionombrecaminoestadodescripcionpath

Eliminar()Insertar()Modificar()

(from Acceso a datos)

addsitio

(from Administrar sitios)

formaddsitio

(from Administrar sitios)

<<submit>>

addsitioform

ValidateForm()

(from Administrar sitios)

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_sitios(from Administrar sitios)

<<link>>

Lista sitios

(from Administrar sitios)

<<build>>

<<build>><<dependency>>

<<dependency>>

Figura 31. Diagrama de clases del caso de uso Administrar sitios de publicación (Insertar).

84

Page 94: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Modificar sitio de publicación

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_sitios(from Administrar sitios)

Lista sitios

(from Administrar sitios)

<<build>>

modifsitio

ValidateForm()

(from Administrar sitios)

<<link>> <<build>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

formmodifsitio

(from Administrar sitios)

SitioPublicacion

idsitionombrecaminoestadodescripcionpath

Eliminar()Insertar()Modificar()

(from Acceso a datos)

1

1

1

1

actsitio

(from Administrar sitios)

<<submit>>

<<dependency>>

<<dependency>>

Figura 32. Diagrama de clases del caso de uso Administrar sitios de publicación (Modificar).

85

Page 95: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Eliminar sitio de publicación

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_sitios(from Administrar sitios)

Lista sitios

(from Administrar sitios)

<<build>>

elimina_sitio

(from Administrar sitios)

<<link>> <<build>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

formelimsitio

(from Administrar sitios)

SitioPublicacion

idsitionombrecaminoestadodescripcionpath

Eliminar()Insertar()Modificar()

(from Acceso a datos)

1

1

1

1

eliminasitio

(from Administrar sitios)

<<submit>>

<<dependency>>

<<dependency>>

Figura 33. Diagrama de clases del caso de uso Administrar sitios de publicación (Eliminar).

86

Page 96: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.1.3.7- Caso de uso Administrar usuarios

Insertar usuario

Usuario

idusuarionombreapellidosloginclaveclasificacionestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

adduser

(from Administrar usuarios)

formadduser

(from Administrar usuarios)

<<submit>>

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_usuario(from Administrar usuarios)

adduserform

ValidateForm()

(from Administrar usuarios)

<<link>>

Lista usuario

(from Administrar usuarios)

<<build>>

<<build>>

<<dependency>>

<<dependency>>

Figura 34. Diagrama de clases del caso de uso Administrar usuarios (Insertar).

87

Page 97: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Modificar usuario

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_usuario(from Administrar usuarios)

Lista usuario

(from Administrar usuarios)

<<build>>

modifuser

ValidateForm()

(from Administrar usuarios)

<<link>> <<build>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

formmodifuser

(from Administrar usuarios)

Usuario

idusuarionombreapellidosloginclaveclasificacionestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

1

1

1

1

actusuario

(from Administrar usuarios)

<<submit>>

<<dependency>>

<<dependency>>

Figura 35. Diagrama de clases del caso de uso Administrar usuarios (Modificar).

88

Page 98: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Eliminar usuario

ADODBPager

iddbsqlelimmodifagrowsshowpageLinkslinksPerPages

ADODB_Pager()Render()

(from Acceso a datos)

Lista_usuario(from Administrar usuarios)

Lista usuario

(from Administrar usuarios)

<<build>>

elimina_usuario

(from Administrar usuarios)

<<link>>

<<build>>

formelimuser

(from Administrar usuarios)

eliminausuario

(from Administrar usuarios)

<<submit>>

ADOConnection

databasedatabasetypehostuserpass

ADONewConnection()PConnect()Execute()GetUpdateSQL()Close()

(from Acceso a datos)

Usuario

idusuarionombreapellidosloginclaveclasificacionestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

1

1

1

1

<<dependency>>

<<dependency>>

Figura 36. Diagrama de clases del caso de uso Administrar usuarios (Eliminar).

4.2- Principios de diseño

4.2.1- Interfaz de usuario

La interfaz diseñada presenta a los usuarios una aplicación clara, sencilla y de fácil

manejo; con vistas a garantizar la eficiente navegación a través de las diferentes

opciones que brinda el sistema. El sistema tiene el mismo aspecto y diseño en todas

sus páginas, garantizando la consistencia del sitio lo que permite a los usuarios

construir un modelo preciso de la forma en que trabaja.

89

Page 99: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Se utiliza un menú desplegable que posibilita el agrupamiento de la navegación y no

ocupa mucho espacio, permitiendo al usuario moverse libremente dentro del sitio.

Además ofrece una visión de la estructura del mismo. (Ver Anexo 1).

La aplicación se caracteriza por tener pocas imágenes. Los colores y fuentes

utilizados cumplen con los estándares de diseño para aplicaciones Web.

Se utilizan textos oscuros en fondos claros y textos claros en fondos oscuros para

resaltar las opciones que se brindan. Predominan las tonalidades naranjas siguiendo

el estándar usado para representar los contenidos XML en Internet.

La familia de fuentes seleccionada fue: Verdana, Arial, Helvética y se utilizaron hojas

de estilo para garantizar la uniformidad de la información que se visualiza.

4.2.2- Formato de reportes

El Sistema de Gestión de Contenidos XML muestra diferentes listados para el trabajo

con las funcionalidades del mismo. Estos tienen un formato estándar para garantizar

la consistencia de la interfaz de la aplicación.

Los títulos se muestran centrados y de color negro. La fuente de los encabezados de

las tablas es de color blanco, sobre un fondo gris. El color de fondo en el resto de la

tabla es diferente para las celdas alternas. La primera columna de cada listado

contiene los números correspondientes a las filas. En el extremo superior izquierdo

se ubican los números de las páginas, resaltando el de la página visualizada; para

los casos en que la información que se muestra exceda los siete elementos. En el

extremo inferior izquierdo aparece el número de la página actual y el de la cantidad

total de páginas del listado. Para las funciones de administración se brinda la

posibilidad de realizar operaciones en lote. Los vínculos a estas opciones se ubican

en la parte inferior derecha. Se utilizan imágenes sencillas y que sugieren claramente

el tipo de operación que se realiza al dar click sobre ella. (Ver Anexo 2).

4.2.3- Concepción general de la ayuda

La ayuda se concibió para el trabajo de todos los usuarios que interactúen con el

sistema y se puede acceder a ella desde el menú principal de la aplicación.

90

Page 100: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Se contemplan los pasos necesarios para el manejo de las distintas funcionalidades

del sistema. Contiene documentación sobre la tecnología XML, para un mejor

entendimiento de las operaciones que se pueden realizar con la aplicación sobre los

documentos XML. (Ver Anexo 3).

4.2.4- Estilo de código

El uso de un estilo uniforme facilita la lectura del código por parte de los

programadores, particularmente en las etapas de mantenimiento y los ciclos de

depuración de errores; evitando que se pueda llegar incluso a la reprogramación,

debido a la difícil asimilación del código fuente del software. La correcta utilización

del estilo de código evidencia el aumento de la eficiencia de los programadores.

Palabras reservadas

Las palabras reservadas van en minúsculas sin excepción alguna.

Identación

El identado es de dos espacios por bloque de código.

Los inicios ( { ) y cierre ( } ) de ámbito están alineados debajo de la declaración a la

que pertenecen y en una línea ellos solamente.

Las funciones no llevan espacio de separación con respecto al margen izquierdo.

Uso de espacios en blanco

El uso de espacios en blanco mejora la legibilidad del código agrupando secciones

de código que se relacionan lógicamente.

Los signos lógicos y de operación están separados por un espacio antes y después

del mismo.

Líneas en blanco

Se coloca una línea en blanco antes y después de:

la declaración de una clase.

las funciones de una clase.

91

Page 101: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

comentarios que están relacionados con una porción de código.

el conjunto de instrucciones que cumplen una función específica y difícil de

comprender.

Comentarios

Los comentarios se hacen en español.

Los comentarios de línea siguen al código que referencian y aparecen en la misma

línea.

Se coloca un comentario al inicio de cada clase y método para explicar su objetivo.

Declaraciones IF

La cláusula else, siempre está alineada con la cláusula if.

Declaraciones SWITCH

Las expresiones constantes dentro de las declaraciones switch están ordenadas

numérica o alfabéticamente, dependiendo del tipo al que pertenecen; si

corresponden a variables sin tipo están ordenadas de acuerdo al grado de

importancia.

Todas las partes de la declaración están identadas. Todas las declaraciones de

condición están escritas dentro del bloque {}. La cláusula default se alinea con la

cláusula case.

Declaraciones repetitivas: WHILE, FOR, DO WHILE

Todo el código de inicialización para un ciclo se realiza antes de entrar al mismo.

Los inicios ( { ) y cierre ( } ) no aparecen en la misma línea de la declaración del ciclo,

estos se alinean debajo de la declaración.

Reglas para seleccionar nombres

Se buscan nombres nemotécnicos que pueden ser una palabra simple o compuesta.

Las variables usadas para el control de un ciclo generalmente son nombradas con un

solo caracter como i, j o k.

92

Page 102: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.2.5- Tratamiento de excepciones

Dada la importancia del tratamiento de errores, se realiza un trabajo minucioso tanto

del lado del cliente como del servidor de las páginas Web.

En el cliente se usarán listas de selección y checkbox para seleccionar datos,

siempre que deba elegir valores predeterminados. Por otra parte, se realizarán las

validaciones de los formularios a través de funciones JavaScript.

En todos los casos se mostrarán mensajes de error al usuario que especifiquen de

forma clara los errores cometidos para su corrección.

4.3- Diseño de la base de datos

4.3.1- Modelo lógico de datos

SitioPublicacion

idsitionombrecaminoestadodescripcionpath

Eliminar()Insertar()Modificar()

(from Acceso a datos)

DocPublicado

iddocpubiddocidsitio

Insertar()

(from Acceso a datos)

0..n1 0..n1

Documento

iddoctitulofichurlidusuariopublicadoestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

10..n 10..n

Usuario

idusuarionombreapellidosloginclaveclasificacionestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

10..n 10..n

Grupo

idgruponombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

1

0..n

1

0..n

Privilegio

idprivilegioidgrupoidopcionacceso

Eliminar()Insertar()Modificar()

(from Acceso a datos)

10..n 10..n

Opcion

idopciontitulourlestadomodulo

Eliminar()Insertar()Modificar()

(from Acceso a datos)

0..n1 0..n1

Modulo

idmodulonombreestado

Eliminar()Insertar()Modificar()

(from Acceso a datos)

0..n1 0..n1

Figura 37. Modelo lógico de datos.

93

Page 103: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

4.3.2- Modelo físico de datos

T_SitiosPublicacionidsitio : INTnombre : VARCHAR(0)camino : VARCHAR(0)estado : CHAR(0)descripcion : VARCHAR(0)path : VARCHAR(0)

T_DocPublicadosiddocpub : INTiddoc : INTidsitio : INT

0..*1 0..*1

T_Documentosestado : CHAR(0)fecha : DATETIMEfile : VARCHAR(0)publicado : CHAR(0)titulo : VARCHAR(0)urlfrom : VARCHAR(0)iddoc : INTidusuario : INT

0..* 10..* 1

T_Usuariosidusuario : INTnombre : VARCHAR(0)apellidos : VARCHAR(0)login : VARCHAR(0)clave : VARCHAR(0)estado : CHAR(0)idgrupo : INT

0..*1

0..*1

T_Gruposidgrupo : INTnombre : VARCHAR(0)estado : CHAR(0)

0..*1 0..*1

T_Modulosidmodulo : INTnombre : VARCHAR(0)estado : CHAR(0)

T_Privilegiosacceso : CHAR(0)idprivilegio : INTidgrupo : INTidopcion : INT

0..* 10..* 1

T_Opcionesidopcion : INTtitulo : VARCHAR(0)url : VARCHAR(0)estado : CHAR(0)idmodulo : INT

0..* 10..* 1

0..*

1

0..*

1

Figura 38. Modelo físico de datos.

4.4- Modelo de despliegue

El diagrama de despliegue muestra la configuración de los componentes hardware,

los procesos, los elementos de procesamiento en tiempo de ejecución y los objetos

que existen en tiempo de ejecución. En este tipo de diagramas intervienen nodos,

asociaciones de comunicación, componentes dentro de los nodos y objetos que se

encuentran a su vez dentro de los componentes. Un nodo es un objeto físico en

tiempo de ejecución, es decir, una máquina que se compone habitualmente de, por lo

94

Page 104: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

menos, memoria y capacidad de procesamiento, a su vez puede estar formado por

otros componentes [Booch, 1996].

4.4.1- Estructura de los nodos

A continuación se detallan las características de los nodos:

Tabla 15. Estructura de los nodos.

Nodo Características

Cliente Memoria externa: 40Gb

Potencia de procesamiento: PIII 800MHz

Servidor Web Memoria externa: 20Gb

Potencia de procesamiento: PIII 800MHz

RAM: 512Mb

Protocolo: TCP/IP

Servidor de

aplicaciones y BD

Memoria externa: 2HDD 20Gb c/u

Potencia de procesamiento: PIII 900MHz

RAM: 512Mb

Protocolo: TCP/IP

Proxy Potencia de procesamiento: PIV 2GHz Compaq

Protocolo: TCP/IP

Servidor en Internet Protocolo: HTTP

Tipo de conexión: Internet

4.4.2- Modelo de capas

El sistema se diseña utilizando un modelo de cuatro capas: capa de datos, que

contiene todo lo relacionado con el almacenamiento de la información que maneja el

sistema así como las operaciones que se realizan sobre los datos, todas las tablas y

las relaciones entre ellas, además de los procedimientos almacenados y los ficheros

que utiliza; la capa de acceso a datos, que incluye las operaciones y métodos para

interactuar con la base de datos y los ficheros del sistema; capa de las reglas del

negocio, que permite realizar las validaciones de la entrada de los datos del usuario y

95

Page 105: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

los procesos que rigen el comportamiento de la aplicación; capa de presentación,

que establece una organización en cuanto a los elementos que se desean mostrar ya

sea en la inferfaz del sistema, en cuanto a fuentes, estilo de botones, imágenes,

colores, así como en la estructura de la base de datos.

Esta estructura multicapas ofrece muchas facilidades debido a la independencia

entre las capas, es decir, que una no conoce las responsabilidades de la otra, lo cual

posibilita que al realizar una actualización o mantenimiento del software en una, no

se afecte el funcionamiento de otra y por tanto la corrección de errores no sería una

tarea muy compleja.

4.4.3- Diagrama de despliegue

Figura 39. Diagrama de despliegue.

Conclusiones

La construcción de la solución comienza con la confección de los diagramas de

clases por paquetes, en aras de conocer las clases que se implementan para dar

solución al problema, teniendo presente que el sistema constituye una aplicación

Web y por lo tanto sigue otro tratamiento según UML.

96

Page 106: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo IV. Construcción de la solución propuesta

Se diseña la base de datos a través del diagrama de clases persistentes y el modelo

de datos. También se incluye el modelo de despliegue y se definen los principios de

diseño para desarrollar la aplicación y garantizar, de esta manera, claridad y una

buena navegabilidad.

De este modo queda demostrado cómo fue construida la solución propuesta para

resolver la situación problémica planteada. Seguidamente se realiza un estudio de

factibilidad al sistema y se analizan sus beneficios.

97

Page 107: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo V. Estudio de factibilidad

CAPÍTULO V. Estudio de Factibilidad

Introducción

Para la confección y desarrollo de todo proyecto de software siempre resulta

imprescindible hacer un estudio de factibilidad del mismo en fases tempranas, con el

objetivo de controlar todos los recursos que se mueven a su alrededor y reducir las

posibilidades de gastos innecesarios. Los resultados que se obtienen de este estudio

son la base para la toma de decisiones en la posterior introducción del software.

La estimación temprana del tiempo y esfuerzo requeridos para el desarrollo de un

proyecto de software, es la clave para evitar problemas como: el incremento de la

complejidad de los sistemas, que los proyectos nunca terminen en el plazo previsto,

así como problemas más costosos que se producen en las fases más tempranas del

desarrollo del software.

Existen varias metodologías para realizar el estudio de factibilidad de un proyecto de

software, la utilizada en este caso fue la estimación basada en casos de uso, ya que

resulta muy efectiva para estimar el esfuerzo requerido en el desarrollo de los

primeros casos de uso de un sistema, estos son los que ejercitan la mayor parte de

la arquitectura del software y los que a su vez ayudan a mitigar los riesgos más

significativos.

5.1- Planificación basada en casos de uso

Factor de Peso de los Actores sin ajustar (UAW). Tabla 16. Factor de Peso de los Actores sin ajustar (UAW).

Tipo de Actor Factor # Actores Resultado

Simple 1 0 0

Promedio 2 0 0

Complejo 3 3 9

Total (UAW) 9

98

Page 108: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo V. Estudio de factibilidad

Factor de Peso de los Casos de Uso sin ajustar (UUCW). Tabla 17. Factor de Peso de los Casos de Uso sin ajustar (UUCW).

Tipo de CU Descripción Factor # CU Resultado

Simple 1-3 transacciones 5 9 45

Promedio 4-7 transacciones 10 2 20

Complejo 8 o más transacciones 15 2 30

Total (UUCW) 95

Puntos de Casos de Uso sin ajustar (UUCP)

UUCP = UAW + UUCW = 9 + 95

UUCP = 104

Factores Técnicos (TCF)

Tabla 18. Factores técnicos (TCF).

# Factor Descripción Peso Valor Factor Comentario

T1 Sistema

Distribuido

2 4 8 Es una aplicación cliente-

servidor.

T2 Tiempo de

respuesta

1 5 5 Su objetivo fundamental

es agilizar todos los

procesos de gestión de

contenidos.

T3 Eficiencia por el

usuario

1 5 5 Garantiza que se

gestionen los contenidos

eficientemente.

T4 Procesamiento

interno complejo

1 1 1 No hay cálculos

complejos.

T5 Reusabilidad 1 5 5 Es totalmente reusable.

T6 Facilidad de 0.5 0 0 No requiere de

99

Page 109: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo V. Estudio de factibilidad

instalación instalación.

T7 Facilidad de uso 0.5 4 2 Fácil de usar.

T8 Portabilidad 2 5 10 Garantiza la portabilidad

hacia varios sistemas.

T9 Facilidad de

cambio

1 3 3 Se requiere un costo

moderado de

mantenimiento.

T10 Concurrencia 1 4 4 Garantiza la concurrencia

de usuarios.

T11 Objetivos

especiales de

seguridad

1 3 3 Seguridad normal.

T12 Acceso directo a

terceras partes

1 0 0 Los usuarios que navegan

por la Web no tienen

acceso directo.

T13 Facilidades

especiales de

entrenamiento a

usuarios finales

1 1 1 Pocos usuarios internos,

sistema fácil de usar.

Total (TFactor) 47

TCF = 0.6 + 0.01 * TFactor = 0.6 + 0.01 * 47 = 0.6 + 0.47

TCF = 1.07

Factores de Ambiente (EF)

Tabla 19. Factores de Ambiente (EF).

# Factor Descripción Peso Valor Factor Comentario

E1 Familiaridad con

el modelo de

proyecto utilizado

1.5 3 4.5 No existía una alta

familiaridad con el modelo

de proyecto utilizado.

100

Page 110: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo V. Estudio de factibilidad

E2 Experiencia en la

aplicación

0.5 3 1.5 Experiencia media en

cuanto al lenguaje de

programación utilizado.

E3 Experiencia en

O.O.

1 4 4 El grupo tiene experiencia

anterior en la

programación O.O.

E4 Capacidad del

analista líder

0.5 3 1.5 El analista líder tiene

experiencias anteriores de

otros proyectos

semejantes.

E5 Motivación 1 5 5 Alta motivación.

E6 Estabilidad de los

requerimientos

2 3 6 Existen posibilidades de

cambios futuros.

E7 Personal media

jornada

-1 5 -5 Todo el personal trabaja

media jornada.

E8 Dificultad en el

lenguaje de

programación

-1 3 -3 El lenguaje no tiene una

alta complejidad.

Total (EFactor) 14.5

EF = 1.4 + (-0.03 * EFactor) = 1.4 + (-0.03 * 14.5) =1.4 – 0.435

EF = 0.965

Puntos de Casos de Uso ajustados (AUCP)

AUCP = UUCP * TCF * EF = 104 * 1.07 * 0.965

AUCP = 107

Esfuerzo (E)

E = AUCP * CF = 107 * 20

E = 2140

101

Page 111: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo V. Estudio de factibilidad

Esfuerzo total (Etotal)

Etotal = E / 0.4 = 2140 / 0.4

Etotal = 5350

Tiempo de desarrollo (TDes)

TDes = Etotal / CHtotal = 5350 / 2

TDes = 2675

Costo Total (Ctotal)

Ctotal = Etotal * 2 * TH = 5350 * 2 * 1.031

Ctotal = 11031

CF: Factor de Conversión

TH: Tarifa Horaria

CHtotal: Cantidad de Hombres

5.2- Beneficios de la utilización del sistema

5.2.1- Beneficios tangibles

En el mercado internacional existen soluciones que brindan algunas de las

funcionalidades que se requieren, pero no engloban todas las que se necesitan ni se

adaptan a las especificidades de la empresa CITMATEL, además de que son

comerciales, lo que implicaría un gasto monetario que superaría el costo de la

realización del sistema en la empresa.

El desarrollo del mismo en CITMATEL implicaría un ahorro de 8300 dólares por una

cuota inicial de diez licencias, sin contar los costos de mantenimiento y cumpliría con

la política del país que aboga por la utilización de software gratis y de código abierto.

102

Page 112: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo V. Estudio de factibilidad

5.2.2- Beneficios intangibles

La realización de este proyecto resulta muy factible a la empresa, ya que constituirá

una herramienta de trabajo diario, brindando facilidades como ahorro de tiempo y

recursos. Con la utilización de la tecnología XML las páginas se cargan más rápido y

se agiliza la gestión de contenidos, ya que no se requiere del acceso a las bases de

datos pues estos están en formato XML. El sistema propuesto será portable y

genérico, de modo que servirá a los diferentes proyectos que se desarrollen en la

empresa; ya que esta actualmente desarrolla aplicaciones para móviles y palms,

entre otras, que no utilizan código HTML pero sí manejan, gestionan y publican

contenidos Web.

Además beneficiará a los usuarios finales, para los que CITMATEL confecciona los

sitios, pues los contenidos que se exponen se harán más visibles y comprensibles,

habrá una contribución al uso de las nuevas tecnologías, se elevará el número de

visitantes a sus sitios y la fidelidad de estos a los mismos.

La puesta en funcionamiento de este sistema representa un aporte al desarrollo del

plan de informatización de la sociedad y el empleo eficiente de las TIC, lo que

contribuye con la batalla de ideas que se lleva a cabo en nuestro país.

5.3- Análisis de costo-beneficio

Tomando como base el estudio de factibilidad realizado y el conjunto de beneficios

tangibles e intangibles que brinda el sistema propuesto, se determina que el mismo

es factible y que su empleo contribuye en gran medida al desarrollo satisfactorio de la

empresa CITMATEL.

El costo estimado es bajo en comparación con los del resto de las soluciones

existentes en el mercado internacional, a pesar de no incluir los costos adicionales

que conllevarían la completa realización y posterior implantación y mantenimiento del

sistema.

103

Page 113: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Capítulo V. Estudio de factibilidad

Conclusiones

El estudio de factibilidad de un proyecto de desarrollo de software constituye un

factor importante y una herramienta clave en el análisis de la estimación de los

resultados del proyecto y de los valores de tiempo, costo y recursos requeridos.

Este contribuye a estimar el alcance que tendrá el producto en desarrollo.

El sistema propuesto se considera económicamente factible debido a todos los

beneficios que reporta y al impacto social que conlleva.

104

Page 114: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Conclusiones

CONCLUSIONES

A partir de la realización del presente trabajo se puede arribar a las siguientes

conclusiones:

Se automatizaron los procesos que permiten a los especialistas en información y

gestión de contenidos de la UEB Servicios Web de CITMATEL una gestión

eficiente de los contenidos XML, cumplimentando así los requerimientos

funcionales del sistema propuesto.

Se logró la interacción con otros sitios Web que generan contenidos XML y la

reutilización de los mismos por los distintos servicios de información de

CITMATEL.

Se independizó la publicación de los contenidos de las conexiones a las bases de

datos, con la réplica de los mismos en formato XML.

Se diseñó una interfaz sencilla y de fácil manejo para el trabajo de los

especialistas en información y gestión de contenidos de la UEB Servicios Web de

CITMATEL, que son los usuarios del sistema.

Se realizó un análisis crítico y comparativo de los sistemas de este tipo existentes

en el mundo con el sistema propuesto, que junto al análisis costo-beneficio del

desarrollo de este último, corroboraron la factibilidad de la realización del mismo.

Se conformó la documentación detallada del proyecto de software que se propone

con el empleo del lenguaje UML y de RUP como metodología para el desarrollo

de la Ingeniería de Software del sistema.

Se implementó una aplicación Web portable, que sirve de núcleo para la gestión

de contenidos XML del conjunto de servicios de información de CITMATEL.

105

Page 115: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Recomendaciones

RECOMENDACIONES

Con vistas a mejorar los resultados obtenidos con la realización de este proyecto se

recomienda:

Proveer al sistema de otras funcionalidades como: generar XML a partir de una

base de datos y/o con un formato específico, crear plantillas XML y corregir

contenidos.

Extender la aplicación al trabajo con ficheros RSS, para aumentar las facilidades

en el manejo de contenidos; específicamente en los servicios de noticias de

CITMATEL, que requieren de actualizaciones frecuentes.

106

Page 116: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Referencias bibliográficas

REFERENCIAS BIBLIOGRÁFICAS

[Aguilar, 2004]. Aguilar, V; Suau, P. MySQL vs. PostgreSQL. http://www.mmlabx.ua.es/mysql_postgres.html. (22/12/05). 2004. [Álvarez, 2005a]. Álvarez, M.A. Páginas dinámicas de cliente. http://www.desarrolloweb.com/articulos/714.php?manual=27. (13/02/06). España 2005. [Álvarez, 2005b]. Álvarez, M.A. ¿Qué es Java? http://www.DesarrolloWeb.com. (09/02/06). España 2005. [Anónimo, 2002]. Rational Rose Enterprise Edition. http://www.ciao.es/Rational_Rose_Enterprise_Edition__Opinion_612900. (13/02/06). 2002. [Anónimo, 2005a]. Comparativa en Benchmarks entre MySQL Y PostgreSQL. http://glud.udistrital.edu.co/glud/areas/doc/miniproyectos/6_comparativa_bd/miproyecto_old/x996.html. (20/02/06). Colombia. 2005. [Anónimo, 2005b]. Ventajas y desventajas de Java. http://paidoteca.dgsca.unam.mx/neopaidoteca/cursos/becas-java/Java2b.html. (13/02/06). 2005. [Anónimo, 2006]. Introducción a la ingeniería del software. http://www.desarrollos-mecame.com. (13/02/06). 2006. [Booch, 1996]. Booch, G. Análisis y Diseño Orientado a Objetos. 2da edición. Ed. Addison-Wesley / Díaz de Santos. 1996. [Castillo, 2004]. Castillo, C. XML y marcado. http://www.tejedoresdelweb.com/307/article-1057.html. (17/02/06). 2004. [Ciberaula, 2005]. Ciberaula. Acerca de ASP.NET. http://www.ciberaula.com/curso/aspnet/que_es/. (13/02/06). 2005.

107

Page 117: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Referencias bibliográficas

[Cibertua, 2005]. Cibertua.Net. Introducción a PHP. http://www.cibertua.net/webmaster/php/default.asp. (09/02/06). 2005. [CITMA, 2005]. CITMA. Proyecto Red de la Ciencia. http://programa.redciencia.cu. (20/02/06). Cuba. 2005. [Corporation, 2000]. Corporation, M. Libros en Pantalla de Microsoft SQL Server 2000. 2000.

[Cortés, 2002]. Cortés Cortés, C. ¿Porque PHP se esta comiendo al ASP?. http://bulma.net/body.phtml?nIdNoticia=1363. (20/02/06). 2002.

[Delgado, 2001]. Delgado, A. XML y tecnologías asociadas: Hacia la Web Semántica. Barcelona, España. 2001.

[Development, 2005]. Development, C.S. PostGreSQLDirect.Net Data Provider. http://crlab.com/pgsqlne. (20/02/06). 2005. [EO, 2005]. EO. ¿Qué es un servidor Web? http://eo.ccu.uniovi.es/llamaquique/virtual/recursos/comun/webHTML/servidorweb/servidorweb.htm. (16/01/06). 2005. [Escobar, 2004]. Escobar Jariton, N. Tecnologías. http://www.alexandria.com.mx/tecnologias.php. (24/02/06). México. 2004. [Fernández, 1998]. Fernández, J.M. MySQL Servidor de Bases de Datos. http://www.linuxfocus.org/Castellano/July1998/article59.html. (23/02/06). 1998.

[Hull, 2006]. Hull, S. PHP and ASP.NET Go Head-to-Head. One developer's view of the pros and cons of the two most popular means of building web applications. http://www.oracle.com/technology/pub/articles/hull_asp.html. (20/02/06). 2006.

[Internet Information Server, 2000]. Internet Information Server. Microsoft Corporation. Microsoft Windows 2000 Server Documentation. 2000.

108

Page 118: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Referencias bibliográficas

[Jacobson, 1999]. Jacobson, I; Booch, G; Rumbaugh, J. Ed. Addison Wesley, Proceso Unificado Captura Requisitos. España. 1999.

[Jacobson, 2000] Jacobson, I; Booch, G; Rumbaugh, J. El proceso unificado de desarrollo de software. 2da Edición. Madrid, España. 2000. [Kruchten, 2001]. Kruchten, P. The Rational Unified Process An Introduction. Addison Wesley. 2001.

[Lechuga, 2004]. Lechuga Gómez, O.L. Extended Markup Language (XML). http://www.programacion.net/visitar.php?id=76. (10/02/06). Universidad de Málaga, España. 2004.

[Masip, 2002]. Masip, D. ¿Qué es Oracle? http://www.desarrooloweb.com/articulos. (23/5/2005). 2002.

[Mateu, 2004]. Mateu, C. Desarrollo de Aplicaciones Web. 1ra Edición. Catalunya: Eureca Media. 2004.

[Merino, 2003]. Merino, M. Manual de XML. http://www.mundophp.org/documentacion/xml/?cap=1. (10/02/06). España. 2003.

[Monografías, 2005]. Monografías. Introducción a Java. http://www.monografias.com/trabajos/java/java.shtml. (13/02/06). 2005.

[Ortín, 2004]. Ortín, M.J. El Modelo del Negocio como base del Modelo de Requisitos. http://www.lsi.us.es/~amador/JIRA/Ponencias/JIRA_Ortin.pdf. (05/05/06). España. 2004.

[Osmosis Latina, 2000]. Osmosis Latina. Servidores de Páginas: "Web-Servers" y "Java Application Servers". http://www.osmosislatina.com/aplicaciones/servidor_web.htm. (13/02/06). 2000.

[Reino, 2000]. Reino, A. Introducción a XML en castellano. http://asptutor.com/xml/default.asp. (10/02/06). 2000.

109

Page 119: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Referencias bibliográficas

[Reynoso, 2006]. Reynoso, A.; Pagano de Harriague, J. Desarrollo de Aplicaciones en .NET. http://www.microsoft.com/Argentina/downs/ppt_nov02_arg/MB_Cordoba_3-12/Conferencia1y2.htm. España. 2006.

[Universidad de Navarra, 2005]. Universidad de Navarra. Introducción al JavaScript. http://www.unav.es/cti/manuales/TutorialJavaScript/lecciones/leccion1.html. (13/02/06). 2005.

[Wikipedia, 2006]. Wikipedia. XHTML. http://es.wikipedia.org/wiki/XHTML. (24/02/06). 2006.

[XML Software, 2000]. XML Software. XML Editors. http://www.xmlsoftware.com/editors.html. (15/03/06). 2000.

[Zarza, 2003]. Zarza, J.L. Application Service Provider ASP. http://64.233.179.104/search?q=cache:xxYJirAi-IwJ:www.jeuazarru.com/docs/ASP.html. (13/02/06). Asunción, Paraguay. 2003.

110

Page 120: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Bibliografía

BIBLIOGRAFÍA

Alcaide Rodríguez, I. Sistema de gestión de los cursos académicos de la CUJAE. Trabajo de Diploma para optar por el título de Ingeniero Informático. Instituto Superior Politécnico “José Antonio Echeverría”. Ciudad de La Habana, Cuba. 2002. Definición de las TICs. http://www.transformando.com/minisites/tecnologia/escritorio/Paginas/Cont1D.htm. (10/03/06). 2006. Guirola Tsibulova, D. Sistema de gestión para servicio de indexación de contenido Web de la RED-CUJAE. Trabajo de Diploma para optar por el título de Ingeniero Informático. Instituto Superior Politécnico “José Antonio Echeverría”. Ciudad de La Habana, Cuba. 2005.

Jorge Aguirre, Y.; Romero Lovio, L. Subsistema de selección y contratación. Versión SQL. Trabajo de Diploma para optar por el título de Ingeniero Informático. Instituto Superior Politécnico “José Antonio Echeverría”. Ciudad de La Habana, Cuba. 2004.

López Báez, Y. MiPlayer. Sistema de reproducción de contenidos multimedia. Trabajo de Diploma para optar por el título de Ingeniero Informático. Instituto Superior Politécnico “José Antonio Echeverría”. Ciudad de La Habana, Cuba. 2005.

Martínez Prieto, J.; Fernández Pérez, Y.; Otero Cruz, C.; et al. Buenas Prácticas para el Diseño de Sitios Web. Instituto Superior Politécnico “José Antonio Echeverría”. Ciudad de La Habana. Cuba. 2002.

Peralta, M. Estimación del esfuerzo basada en casos de uso. http://www.itba.edu.ar/capis/rtis/rtis-6-1/estimaci%F3n-del-esfuerzo-basada-en-casos-de-usos.pdf. (6/03/06). Buenos Aires, Argentina. 2004.

Tomas, Alex. Apache - Servidor HTTP. http://www.manualphp.es/diccionario-apache.html. (10/03/06). 2005.

Universidad Carlos III de Madrid. ¿Cómo citar bibliografía? http://www.uc3m.es/biblioteca/GUIA/citasbibliograficas.html. (27/02/06). España. 2005.

111

Page 121: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Bibliografía

Universidad de los Andes (Chile). Normas para la presentación de tesis. http://biblioteca.uandes.cl/doc/NTesis26102005.pdf. (27/02/06). Chile. 2005.

Vera, R. ¿Cómo escribir una tesis de grado? http://www.monografias.com/trabajos/tesisgrado/tesisgrado.shtml. (27/02/06). Argentina. 1997.

Wikipedia. Dirección IP. http://es.wikipedia.org/wiki/Direcci%C3%B3n_IP. (10/03/06). 2006.

Wikipedia. Domain Name System. http://es.wikipedia.org/wiki/DNS. (10/03/06). 2006.

Wikipedia. File Transfer Protocol. http://es.wikipedia.org/wiki/FTP. (10/03/06). 2006.

Wikipedia. RSS. http://es.wikipedia.org/wiki/RSS. (09/03/06). 2006.

Wikipedia. Web semántica. http://es.wikipedia.org/wiki/Web_sem%C3%A1ntica. (10/03/06). 2006.

112

Page 122: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Glosario de términos

GLOSARIO DE TÉRMINOS

Apache: Servidor HTTP de para plataformas Unix, Windows y otras,

que implementa el protocolo HTTP y la noción de sitio virtual.

código abierto

Base de datos: Conjunto de datos comunes a un proyecto, almacenados sin

redundancia, para ser útiles a múltiples aplicaciones.

Caso de uso: Especifica una secuencia de acciones que el sistema puede llevar a

cabo interactuando con sus actores, incluyendo alternativas dentro de la secuencia.

Cliente: Programa que se usa para contactar y obtener datos de un programa de

servidor localizado en otro ordenador, a menudo a gran distancia. Cada programa

cliente está diseñado para trabajar con uno o más tipos de programas servidores

específicos, y cada servidor requiere un tipo especial de cliente.

Código abierto (Open source): Término por el que se conoce al distribuido

y desarrollado bajo el concepto de código fuente disponible públicamente.

software

Dirección IP: Número que identifica a una interfaz de un dispositivo (habitualmente

un ordenador) dentro de una red que utilice el protocolo IP.

DNS (Domain Name System): Es una base de datos distribuida y jerárquica que

almacena información asociada a nombres de dominio en redes como Internet.

Aunque como base de datos el DNS es capaz de asociar distintos tipos de

información a cada nombre, los usos más comunes son la asignación de nombres de

dominio a direcciones IP y la localización de los servidores de correo electrónico de

cada dominio.

DOM (Modelo de Objetos del Documento): Representación interna estándar de la

estructura de un documento XML.

DTD (Definición de Tipos de Documentos): Definición de los elementos que puede

incluir un documento XML.

Escalabilidad: Capacidad de un sistema de incrementar sus prestaciones en función

del número de usuarios simultáneos que lo utilizan.

113

Page 123: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Glosario de términos

FTP (File Transfer Protocol): Es uno de los diversos protocolos de la red Internet y es

el ideal para transferir grandes bloques de datos por la red.

HTML (HyperText Markup Language): Lenguaje para dar formato a documentos de

hipertexto, concebido para mostrar páginas Web en un navegador. El formato de los

documentos se marca mediante etiquetas que indican el comienzo y el final de los

elementos que componen el documento como: encabezados, párrafos, hipervínculos

y otros.

HTTP: Protocolo estándar de comunicación y transferencia de información entre un

navegador y un servidor Web. Conjunto de reglas para transferencia de ficheros

(texto, gráfico, imagen, sonido, video, y otros) sobre la Web. Es un protocolo de

aplicación diseñado para la capa superior de protocolos TCP/IP.

IIS (Internet Information Server): Servidor Web que permite administrar las

aplicaciones Web y comunicarse con los navegadores cliente mediante el protocolo

HTTP; también ofrece otros servicios de protocolo, como transferencia de archivos

(FTP), servicio de correo electrónico (SMTP) y servicio de noticias (NNTP).

Internet: Conjunto de redes de computadoras interconectadas entre sí, Internet no

tiene una autoridad central. Cada red mantiene su independencia y se une

cooperativamente al resto respetando normas de interconexión. La familia de

protocolos TCP/IP es la encargada de agrupar esta diversidad de redes.

Intranet: Red de redes de una empresa. Su aspecto es similar al de las páginas de

Internet.

Java: Lenguaje de programación que permite crear programas que funcionan en

cualquier tipo de computadora y sistema operativo.

Lenguajes Scripts: Lenguajes de programación en el que los programas no son

compilados, sino interpretados.

Página dinámica: Página que crece a medida que se ingresa información sin

necesidad de generar más código, el cliente puede modificarlas tantas veces quiera,

añadiendo, borrando o modificando el contenido.

114

Page 124: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Glosario de términos

Página Web: Documento electrónico, unidad básica de información de la Web.

Portal: Término, sinónimo de puente, para referirse a un sitio Web que funciona

como una plataforma de despegue para la navegación en la Web.

Rational Rose: Herramienta de modelación visual que provee el modelado del

desarrollo de los proyectos basado en UML.

Red: En términos de tecnologías de información, una red es una serie de puntos o

nodos interconectados por algún medio físico de comunicación.

RSS (Really Simple Syndication): Es parte de la familia de los formatos XML

desarrollado específicamente para todo tipo de sitios que se actualicen con

frecuencia y por medio del cual se puede compartir la información y usarla en otros

sitios Web o programas.

Script: Tipo de programa que consiste en una serie de instrucciones que serán

utilizadas por otra aplicación.

Servidor: Un servidor es una computadora que trata las peticiones de datos, el

correo electrónico, la transferencia de ficheros, y otros servicios de red realizados por

otras computadoras (clientes).

SGBD (Sistema de Gestión de Base de Datos): Conjunto de elementos software con

capacidad para definir, mantener y utilizar una base de datos.

SGML (Standar Generalized Markup Language): Sistema para la organización y

etiquetado de documentos. Utilizado para especificar las reglas de etiquetado de

documentos y no impone en sí ningún conjunto de etiquetas en especial. Empleando

este lenguaje, se crean y mantienen documentos que luego son llevados a otros

formatos finales como HTML, XML, etc.

Sitio Web: Conjunto de archivos electrónicos y páginas Web referentes a un tema en

particular, que incluye una página inicial, con un nombre de dominio y dirección en

Internet.

Software: Conjunto de programas, instrucciones y reglas informáticas para ejecutar

ciertas tareas en una computadora.

115

Page 125: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Glosario de términos

TCP/IP: Conjunto de protocolos que cubren los distintos niveles del modelo OSI,

utilizado por todas las computadoras conectadas a Internet, de manera que estas

puedan comunicarse entre sí. TCP/IP es compatible con cualquier sistema operativo

y con cualquier tipo de hardware.

TIC (Tecnologías de la Información y las Comunicaciones): Conjunto de tecnologías

que permiten la adquisición, producción, almacenamiento, tratamiento, comunicación,

registro y presentación de informaciones contenidas en señales de naturaleza

acústica (sonidos), óptica (imágenes) o electromagnética (datos alfanuméricos).

UML: Lenguaje gráfico para especificar, construir, visualizar y documentar las partes

o artefactos que son información utilizada u originada mediante un proceso de

software. Es un lenguaje estándar de modelado orientado a objetos.

WAP (Wireless Application Protocol): Es un protocolo basado en los estándares de

Internet que ha sido desarrollado para permitir a teléfonos celulares navegar a través

de Internet.

WWW: Es uno de los muchos servicios que utiliza Internet sobre el protocolo IP, el

más visible y el que más rápidamente ha evolucionado.

XML (eXtensible Markup Language): Tecnología cuya principal novedad consiste en

permitir compartir los datos con los que se trabaja a todos los niveles, por todas las

aplicaciones y soportes.

XML Schema: Es un lenguaje para definir la estructura de los documentos XML.

XSL (eXtensible Stylesheet Language): Hojas de estilo para XML.

116

Page 126: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Anexos

ANEXOS

Anexo 1. Interfaz de usuario.

117

Page 127: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Anexos

Anexo 2. Formato de reportes.

118

Page 128: Biblioteca Virtual en Salud de Honduras - … · 2007. 2. 7. · 2.3.2- Oracle ... 5.3- Análisis de costo-beneficio.....103 Conclusiones ... La información contenida puede ser más

Anexos

Anexo 3. Formato de la Ayuda del sistema.

119