Desarrollo de herramientas de administración y acceso

dehuesca.es

Desarrollo de herramientas de administración y acceso

Objetivos del cursoPatrimonio CulturalDesarrollo de Herramientasde Administración y Acceso• Adquirir visión generalizada de lastecnologías de desarrollo utilizadas enSistemas de gestión del Patrimonio Cultural.• Política de acceso público.• Interfaces de acceso a bases de datos.• Especificaciones de Administración.• El SIPCA como ejemplo de Sistema deGestión de Patrimonio Cultural.2Política de Acceso PúblicoPolítica de Acceso Público• La información almacenada ha de seraccesible.• Conservación del patrimonio cultural.• Difusión del patrimonio cultural.• Las nuevas tecnologías de informacióncomo herramienta al servicio delPatrimonio Cultural.• Interfaces de acceso a bases de datos.• Ley de Protección de Datos◦ Ley Orgánica 15/1999, de 13 de Diciembre, deProtección de Datos de Carácter Personal.◦ En todo momento se garantizará y protegerá, enlo que concierne al tratamiento de los datospersonales, las libertades públicas y losderechos fundamentales de las personasfísicas, y especialmente de su honor e intimidadpersonal y familiar.34Interfaces de acceso a base de datosInterfaces de acceso a base de datos• Consideraciones previas:◦ Expresar claramente nuestras necesidades.(Que sea rápida, segura, normalizada, etc)◦ El programador o empresa que desarrolla laaplicación no tiene por qué saber nada sobrePatrimonio Cultural.◦ Elección de software, entornos y lenguajes deprogramación.◦ En definitiva, saber qué se nos pretende vender.• Interfaces “ de escritorio”◦ La principal característica de este tipo deinterfaces es que serán programas que tendránque ser instalados en nuestros PC (FileMaker).◦ Desarrollo de alto coste◦ Relegadas a un segundo plano tras la llegadade las Interfaces WEB.561


Interfaces de acceso a base de datos• Interfaces web◦ Construidas utilizando páginas WEB.◦ Documentos de texto a los que se les añadenetiquetas que nos permiten visualizar el texto endistintas formas y establecer enlaces entre unaspáginas y otras.◦ Se idea el formato HTML (HyperText MarkupLanguage) como estándar para representar estosdocumentos. (http://www.w3c.org)Interfaces de acceso a base de datos• Interfaces web◦ Navegadores web como frontal universal parala presentación de información.◦ Dicha información podrá encontrarsealmacenada en cualquier parte del mundo yser accesible.◦ Acceso a datos actualizados en tiempo real.◦ Costes de desarrollo mas bajos.78Interfaces de acceso a base de datos• Data Warehousing◦ Surgen como respuesta a la problemática deextraer información sintética a partir de datosatómicos almacenados en bases de datos.◦ La información almacenada en base de datos yano se trata como entidades independientes, sinoque surge el concepto de grupo.◦ Por ejemplo, podremos realizar operacionessobre grupos de registros de bienes culturalesresultantes de una búsqueda. Estasoperaciones afectarán al grupo.Interfaces de acceso a base de datos• Interfaces web◦ El navegador realiza una petición, consulta dedatos.◦ Esta petición es pasada al servidor web o alservidor de aplicaciones.◦ El servidor de aplicaciones procesa dichapetición y la pasa al servidor de base de datosque será el encargado de realizar la consulta ala base de datos.◦ El servidor de base de datos devuelve elresultado de ejecutar dicha petición al servidorde aplicaciones.910Interfaces de acceso a base de datos• Interfaces WEBAplicaciones WEB• Aplicaciones web estáticas◦ Es necesario modificar el código de la páginapara que el contenido cambie.◦ Útiles cuando la información mostrada cambiepocas veces.◦ Se pueden desarrollar herramientas quegeneren páginas web estáticas.◦ Fáciles de desarrollar.11122


Aplicaciones WEBSoftware libre vs propietario• Aplicaciones web dinámicas◦ El contenido de la página web cambiará enfunción del usuario que la visite y de la tareaque quiera realizar.◦ Podremos filtrar, ordenar y presentar lainformación de la forma más adecuada enfunción de las necesidades de cada momento.◦ Nos permiten mostrar ofrecer la informaciónmas actual.◦ Desarrollo mas complejo.• Software propietario (o “ no libre” )◦ Algún individuo o compañía retiene los derechosde autor sobre dicho software.◦ No se tiene acceso al código fuente de dichosoftware.◦ Se niega el derecho a copiarlo, modificarlo oestudiarlo.1314Software libre vs propietarioSoftware libre vs propietario• Software libre◦ Se trata de un concepto de “libertad” no deprecio. No tiene por qué ser gratis.◦ Libertad de usar el programa.◦ Libertad de estudiar cómo funciona. Acceso alcódigo fuente◦ Libertad de distribuir copias.◦ Libertad de mejorar el programa y hacerpúblicas las mejoras a los demás.◦ http://www.gnu.org/philosophy/free­sw.es.html• Software comercial◦ Se trata de software libre.◦ Las compañías que lo producen cobran dineropor el producto.◦ Ejemplos de software comercial:• Varias distribuciones de Linux: Suse, Redhat, etc.1516Software libre vs propietarioAplicaciones WEB• Conclusión◦ Ventajas del uso del software libre frente al usode software propietario.http://www.opensource.orghttp://sourceforge.net/◦ Evolución hacia la implantación de software libreen detrimento del software comercial.(Linux frente a Windows)• Servidor web◦ Programa que implementa el protocolo HTTP(Protocolo de transferencia de Hipertexto).◦ Recibe las peticiones HTTP llevadas a cabo porel Navegador.◦ Protocolo diseñado para transferir páginas webo páginas HTML◦ Páginas HTML: textos complejos con enlaces,imágenes, botones, etc.17183


Aplicaciones WEBAplicaciones WEB• Servidor web◦ Ejemplos de servidores web importantes:• Apache. Servidor de código abierto másusado en la actualidad. Gratuitohttp://www.apache.org• IIS (Internet Information Server).Propiedadde Microsoft Corporation.Incorporado en las últimas versiones deWindows. De pago.• Servidor de aplicaciones◦ En función del lenguaje de programaciónempleado.◦ Independiente tanto de la interfaz de usuariocomo de la base de datos.◦ Ejecuta la lógica de negocio de la aplicación.◦ Intérprete del lenguaje de programaciónutilizado.1920Aplicaciones WEBAplicaciones WEB• Servidor de aplicaciones◦ Ejemplos de servidores de aplicaciones:• Tomcat. Servidor de aplicaciones gratuito.jakarta.apache.org/tomcat/• iPlanet.• WebLogic (www.bea.com)• Resin (www.caucho.com) Gratis si es de usopersonal. De pago si el uso es comercial.• Lenguajes de programación◦ Existen multitud de lenguajes de programación,tanto de cliente como de servidor.◦ Nos interesan aquellos utilizados en lageneración de páginas web dinámicas.◦ La generación dinámica de contenidos requiereque el servidor realice algún tipo deprocesamiento adicional sobre la petición HTTPiniciada por el cliente, con el fin de generar unarespuesta personalizada y adaptada al usuario.2122Aplicaciones WEB• Lenguajes de programación◦ Java(Sun Microsystems). www.sun.com◦ .Net (Microsoft). www.microsoft.es◦ Php, XML,etc.◦ Java es un lenguaje robusto ya que realizaverificaciones en busca de errores.◦ Lenguaje seguro.◦ Portable. Un programa escrito en Java puedeser ejecutado en diferentes entornos.23Aplicaciones WEB• Servidores de bases de datos◦ Oracle: Es el mayor y mas usado SistemaManejador de Base de Dato Relacional(RDBMS) en el mundo. Alto coste◦ SQL Server: Potente servidor de base de datos.Generalmente utilizado en aplicaciones queutilizan tecnología Microsoft (Alto coste).Utilizado en Domus (Software de gestión demuseos utilizado por la DGA).◦ MySQL: Alta velocidad y gratuito(www.mysql.com)◦ PostgreSQL: Más potente que MySQL peromas lento244


Aplicaciones WEBEspecificaciones de Administración• Conclusiones◦ Siempre o casi siempre dispondremos desoftware gratuito o software libre, lo cualdisminuirá los costes de desarrollo.◦ Gran abanico de combinaciones entre SistemasOperativos, Servidores de Aplicaciones,Servidores de Base de Datos y Lenguajes deProgramación.◦ Decidir siempre en función de nuestrasnecesidades no en función del presupuesto.• Ejemplo pliego de prescripciones técnicas parael desarrollo de software de gestióndocumental para la Administración.2526Especificaciones de AdministraciónEspecificaciones de Administración2728Especificaciones de AdministraciónEspecificaciones de Administración29305


Especificaciones de AdministraciónEl SIPCA como ejemplo• Ofertas ­ Condiciones Iniciales.◦ Desarrollo de aplicación de gestión de centro documental.◦ Distintos perfiles de usuarios (Redactores de tesauros,Administradores, Gestores de datos, etc).◦ Accesibilidad vía web (Internet/Intranet).◦ Implementación de estándares.◦ Migración de datos.◦ PC Pentium 4, ADSL 1 Mb.◦ 5 Usuarios simultáneos.• Características principales del SIPCA◦ Sistema de Información del Patrimonio Cultural.Desarrollado por el CIPCA (Centro deInformación del Patrimonio Cultural Aragonés).◦ Permite el trabajo en entorno distribuido.◦ Los componentes de ese entorno distribuidoserán un nodo central encargado de recogertodos los datos de los nodos secundarios loscuales tendrán modelos de datos compatiblespero no iguales que el nodo central.3132El SIPCA como ejemploEl SIPCA como ejemplo• Características principales del SIPCA◦ Compatible con cualquier Sistema Operativo.◦ Servidor Web Apache.◦ Servidor de aplicaciones Tomcat.◦ Compatible con distintos servidores de bases dedatos (Oracle, MySQL, etc).◦ Tecnologías aplicadas en el sistema: ServiciosWEB, XML y lenguaje de programación Java.3334El SIPCA como ejemplo• Servicios Web◦ Técnica que permite a los servicios utilizadospor distintos sistemas operativos y que seejecutan en distintas plataformas “hablar entreellos”.◦ Disponibilidad abierta al público. Seránaltamente accesibles debido a la facilidad yuniformidad de acceso al basarse enestándares.◦ Al ser accesibles a todo el mundo, suponen unaclara ventaja comercial pero ¿qué ocurre con laseguridad?El SIPCA como ejemplo• Servicios Web ­ Seguridad◦ Las técnicas de seguridad tradicionales comocortafuegos (que actúan filtrando puertos ydirecciones IP´s) no servirán en este caso yaque la información viaja “en claro” a través deinternet.◦ Necesitamos cortafuegos que actúen a nivel deaplicación no a nivel de red. Estos serán loscortafuegos de aplicaciones XML.◦ Son capaces de comprender los servicios web,las peticiones de servicio y el contenido de losmensajes XML intercambiados.35366


El SIPCA como ejemplo• Servicios Web ­ XML◦ XML (Extensible Markup Language) comolenguaje estándar de intercambio deinformación.◦ Sintaxis creada a partir de un estándarinternacional de procesamiento de textoexistente, el Lenguaje Generalizado Estándarde Marcas (Standard Generalized MarkupLanguage, ISO 8879:1986(E)).◦ http://www.w3.org/XMLEl SIPCA como ejemplo• Servicios Web – XML◦ Se trata de un lenguaje de etiquetas con unaestructura jerárquica. Un fichero de texto en elque introduciremos datos de forma estructurada.◦ Es un lenguaje dinámico, permite que cadadesarrollador defina estas etiquetas comoquiera.◦ La extensibilidad y flexibilidad de estelenguaje nos permitirá agrupar una variedadamplia de aplicaciones, desde páginas webhasta bases de datos.3738El SIPCA como ejemplo• Servicios Web ­ XML◦ Un ejemplo de XMLHuesca…Jaén…El SIPCA como ejemplo• Servicios Web ­ XML◦ Para que otros sistemas comprendan laestructura de nuestro XML, tendremos quedefinir dicha estructura en lo que se conocecomo DTD (Document Type Definitions).◦ El propósito del DTD es definir la estructura delos bloques de nuestro XML de manera quepueda ser interpretado por cualquier aplicación.◦ Puede definirse dentro del documento XML ofuera, en un archivo externo.3940El SIPCA como ejemplo• Comunicación◦ Dos tipos de nodos, un nodo central y nodosdistribuidos que pueden trabajar de formaindependiente.◦ Nodo central encargado de administrar todoslos datos asociados al Patrimonio CulturalAragonés.◦ Nodos distribuidos podrán tener acceso a todala información o a información determinada.El SIPCA como ejemplo• Procesos◦ Todas las modificaciones, insercionesrealizadas dentro del nodo central han de serenviadas a los nodos distribuidos.◦ Estas modificaciones no necesariamente han deser enviadas en tiempo real.◦ Proceso de sincronización: Proceso medianteel cual los nodos, tanto central comodistribuidos, mantienen la informaciónactualizada.◦ Podrá ser automático o manual.41427


El SIPCA como ejemplo• Proceso de sincronización automático◦ Se pueden fijar intervalos de tiempodeterminados para el proceso desincronización. Al final del proceso todos losnodos tendrán la información actualizada.El SIPCA como ejemplo• Proceso de sincronización manual◦ En cualquier momento, cualquier nodo podráactualizar los datos que ha modificado sobre elservidor central.◦ También recogerá los datos que han cambiadodel servidor central desde el momento en quese realizó por última vez este proceso.4344El SIPCA como ejemplo• Operaciones◦ Se trata de un proceso bidireccional en el quese distinguen dos tipos de operaciones.◦ Actualización y replicación.◦ Actualización: Envío al nodo únicamente de losdatos que han cambiado desde unadeterminada fecha.◦ Replicación: Envío de toda la información alnodoEl SIPCA como ejemplo• Elementos◦ Para que la comunicación entre nodos serealice de forma correcta definimos doselementos principales:• Política de resolución de conflictos: Permitiráevitar inconsistencias entre datos de nodossecundarios y el nodo central.• Modelo de Intercambio de Datos: Tenemosen cuenta que el modelo de datos de losnodos distribuidos puede variar. Se define unmodelo central que entienda todos los nodos.4546El SIPCA como ejemplo• Control de usuarios◦ Todo sistema que quiera asegurar una ciertafiabilidad en su uso, debe proporcionar uncontrol de usuarios.◦ Debido a la distinta naturaleza de los nodos y delos datos de cada nodo, se definen usuarios condistintos privilegios (Consulta y modificación).El SIPCA como ejemplo• Registro de metadatos◦ Es necesario que el sistema ofrezca unmecanismo que asegure que va a existir uncontrol sobre los cambios que se realicen en lainformación.◦ Esto implica recoger información sobre los datoso elementos a los que afecta la modificación.◦ Para facilitar esto, se facilita un modelo de datosque recoge estos metadatos en cada uno de losnodos del sistema.47488


El SIPCA como ejemploEl SIPCA como ejemplo4950El SIPCA como ejemploEl SIPCA como ejemplo5152El SIPCA como ejemploEl SIPCA como ejemplo53549


El SIPCA como ejemploEl SIPCA como ejemplo5556El SIPCA como ejemploEl SIPCA como ejemplo5758El SIPCA como ejemploEl SIPCA como ejemplo596010

More magazines by this user
Similar magazines