SISTEMA DE GESTIÓN DE CONTENIDOS XML



Documentos relacionados
Sistema de Gestión de Contenidos XML. Ing. Lianet Luaces Torres Ing. Ayleen Menéndez Senarega Ing. Yanet Bellón Landa Ing. Renier Valdés González

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

1 El trabajo expuesto está subvencionado por el proyecto de la URJC PGRAL-2001/14

Capítulo 1 Documentos HTML5

Elementos requeridos para crearlos (ejemplo: el compilador)

<Generador de exámenes> Visión preliminar

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Capitulo III. Diseño del Sistema.

Novedades. Introducción. Potencia

comunidades de práctica

5.2. PROYECTO RODA. (6/07/04).

CAPÍTULO 3 VISUAL BASIC

Guía de los cursos. Equipo docente:

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

Práctica de introducción a

Presentación de Pyramid Data Warehouse

Visión General de GXportal. Última actualización: 2009

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 5. Cliente-Servidor.

Gestor de Contenidos CMS. Prof: Ing. Henrry Servitá

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Mejores prácticas para el éxito de un sistema de información. Uno de los problemas de información dentro de las empresas es contar con datos

APOLO GESTION INTEGRAL.

Redes de área local: Aplicaciones y servicios WINDOWS


Oracle vs Oracle por Rodolfo Yglesias Setiembre 2008

PROGRAMA FORMATIVO MICROSOFT ACCESS 2007 (COMPLETO)

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

I. OBJETIVOS INTRODUCCIÓN. Oscar Daniel Camuendo Vásquez

Leer XML con XMLReader en el aula

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

EXPERIENCIAS EN LA IMPLANTACIÓN DE UN SISTEMA DE GESTIÓN DE LA CALIDAD PARA EL PROCESO DE PRODUCCIÓN DE SOFTWARE

CORPORACIÓN MEXICANA DE INVESTIGACIÓN EN MATERIALES, S.A. DE CV

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

TEMA: DESARROLLO DE APLICACIONES WEB INTERACTIVAS UTILIZANDO LA TÉCNICA AJAX AUTOR: MERY SUSANA ZAMBONINO BAUTISTA

GLOSARIO. Arquitectura: Funcionamiento, estructura y diseño de una plataforma de desarrollo.

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

1. Resumen Objetivos Introducción. 3

Prezi: editor de presentaciones

Administración del conocimiento y aprendizaje organizacional.

Unidad II. Interfaz Grafica (continuación ) Basado en clases de Ing. Carlos A. Aguilar

Cómo seleccionar el mejor ERP para su empresa Sumario ejecutivo

Durante la determinación del problema dentro de los procesos de mercadeo de R & S Training se pudo notar notables deficiencias en las relaciones con

Capítulo I. Marco Teórico

DEFINICIÓN DE POWER POINT

Sistema informatizado de Trazabilidad alimentaria

FACULTAD DE INFORMATICA MATERIA: GESTION DE CONTENIDO ELECTRONICO PROFESOR: JONATHAN VEGA ALUMNOS: LUISA ROSERO JAIME CAMACHO DATOS INFORMATIVOS:

PROGRAMA FORMATIVO MICROSOFT ACCESS 2003 (COMPLETO)

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Cuadros de mando interactivos para los responsables de la toma de decisiones

Presentación y Planificación del Proyecto: Administración de Calzado

Plataformas virtuales

Creación y administración de grupos de dominio

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Ofrezca la nueva tendencia de innovación empresarial con un entorno de red abierta

K2BIM Plan de Investigación - Comparación de herramientas para la parametrización asistida de ERP Versión 1.2

Ley Orgánica de Protección de Datos

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Tableros de control interactivos para los responsables de la toma de decisiones

Gestión de archivos (módulo transversal, MF0978_2)

SISTEMA DE PAPELES DE TRABAJO PARA AUDITORÍA SPT AUDIT

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Componentes de Integración entre Plataformas Información Detallada

Resumen de la Tesina. Autor: Adrià Batet López. Tutor: Víctor Pascual Ayats

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

Manual del Usuario. Sistema de Help Desk

Servidores Donantonio

Términos definiciones

Anexo 4 Documento de Arquitectura

SAP BusinessObjects Edge BI Standard Package La solución de BI preferida para. Empresas en Crecimiento

Centro de Interoperabilidad Semántica y Sistema de Gestión de Mensajes de Intercambio

LLEVE SU NEGOCIO al SIGUIENTE NIVEL. digitalice todos sus documentos y procesos.

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Planificación de Sistemas de Información

Planificación de Sistemas de Información

SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

UNIVERSIDAD DE OVIEDO

CAPÍTULO 1 Instrumentación Virtual

La Digitalización del Ayuntamiento. Gestión Integral

INTRODUCCIÓN A LA PROGRAMACIÓN WEB UNIDAD. Estructura de contenidos: cisvirtual@ucv.edu.pe. 1.

Sistema de base de datos para la gestión del fondo documental de la Biblioteca de la Facultad Enrique Cabrera.

Estándares Web: XHTML y CSS - Usabilidad - Accesibilidad. Desarrollo de Sitios Web de Calidad, Usables, Seguros, Válidos y Accesibles

CRONO SISTEMA DE CONTROL DE PRESENCIA. Software abierto. Distintas opciones para realizar las picadas. Web personal para cada usuario

1 Introducción a XML

IDEA DE NEGOCIO EDUGER LOGISTIC GERMAN EDUARDO BALSERO MORALES PROFESOR: GERARDO ANDRES ARCOS CELIS

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

CATÁLOGO DE CURSOS. Centro de Prácticas y Capacitación Profesional

Estándares para el Uso de Herramientas de Desarrollo y Plataformas de Aplicaciones Web

Unidad 1. Fundamentos en Gestión de Riesgos

ORBERE. Memoria Técnica del Aplicativo de Gestión de la producción para ADIMDE

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

Análisis de esquemas XML [1]

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

Nos encargamos del tuyo, tú disfruta

Analista SharePoint OBJETIVOS REQUISITOS CERTIFICACIONES

Proyecto Scratch:

Transcripción:

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: Tutores: Lianet Luaces Torres Ayleen Menéndez Senarega Ing. Yanet Bellón Landa Ing. Renier Valdés González Ciudad de La Habana Junio de 2006

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.

Í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

Í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

Í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

Í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

Í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

Í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

Í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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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