nuevo

123
LICENCIATURA EN INFORMÁTICA BASE DE DATOS DE LA BIBLIOTECA DEL MUSEO REGIONAL BASE DE DATOS DE LA BIBLIOTECA DEL MUSEO REGIONAL DE ANTROPOLOG DE ANTROPOLOGÍ A CARLOS PELLICER C A CARLOS PELLICER CÁMARA MARA” TRABAJO PROFESIONAL BAJO LA OPCION X TRABAJO PROFESIONAL BAJO LA OPCION X MEMORIA DE RESIDENCIA PROFESIONAL MEMORIA DE RESIDENCIA PROFESIONAL ZARO ZURITA P ZARO ZURITA PÉREZ REZ ALUMNO LICENCIATURA EN INFORM LICENCIATURA EN INFORMÁTICA TICA M.I.S. M.I.S. ROSA G ROSA GÓMEZ DOM MEZ DOMÍ NGUEZ NGUEZ ASESOR INTERNO VILLAHERMOSA, TAB. AGOSTO 2008 VILLAHERMOSA, TAB. AGOSTO 2008

Transcript of nuevo

Page 1: nuevo

LICENCIATURA EN INFORMÁTICA

““BASE DE DATOS DE LA BIBLIOTECA DEL MUSEO REGIONAL BASE DE DATOS DE LA BIBLIOTECA DEL MUSEO REGIONAL DE ANTROPOLOGDE ANTROPOLOGÍÍA CARLOS PELLICER CA CARLOS PELLICER CÁÁMARAMARA””

TRABAJO PROFESIONAL BAJO LA OPCION XTRABAJO PROFESIONAL BAJO LA OPCION XMEMORIA DE RESIDENCIA PROFESIONALMEMORIA DE RESIDENCIA PROFESIONAL

LLÁÁZARO ZURITA PZARO ZURITA PÉÉREZREZALUMNO

LICENCIATURA EN INFORMLICENCIATURA EN INFORMÁÁTICATICA

M.I.S.M.I.S. ROSA GROSA GÓÓMEZ DOMMEZ DOMÍÍNGUEZNGUEZASESOR INTERNO

VILLAHERMOSA, TAB. AGOSTO 2008VILLAHERMOSA, TAB. AGOSTO 2008

Page 2: nuevo

Instituto Tecnológico de Villahermosa

INDICE PAG Introducción 3 Justificación 4 1. Antecedentes del Proyecto 6

1.1. Objetivos del proyecto 6 Caracterización del área 1.2. Antecedentes de la institución 7 1.3. Descripción de la Institución 8 1.4. Misión, Visión, Valores y Filosofía 9 1.5. Estructura Organizacional 11 1.6. Productos y/o Servicios que Comercializa 12 1.7. Identificación del Problema 13 1.8. Alcances y Limitaciones 14

2. Marco Teórico 16

2.1. Estado del Arte en las teorías y tecnologías que sustenten el proyecto

16

2.1.1. Internet 16 2.1.2. World Wide Web 17 2.1.3. Arquitectura de Red 19 2.1.4. Languages de Programación 20

2.1.4.1. HTML 20 2.1.4.2. PHP 21 2.1.4.3. CSS 22 2.1.4.4. JavaScript 22

2.1.5. Base de Datos para paginas Web 23 2.1.5.1. Concepto Básico 23 2.1.5.2. Normalización 23 2.1.5.3. SQL 24 2.1.5.4. Manejador de Base de Datos 24

3. Desarrollo del Proyecto 26

3.1. Definición de Parámetros de Evaluación de los SGBD 26 3.2. Análisis y Evaluación de SGBD 28 3.2.1 SGBD Comerciales 29 3.2.2 SGBD Open Source 35 3.3. Evaluación y Selección del Sistema Operativo 45 3.4. Evaluación y Selección del Servidor Web 54 3.5. Requerimientos del Equipo Servidor y Equipo Cliente 76

4. Diseño de la solución 78

4.1 Diseño de la arquitectura de la aplicación Web 78 4.2 Diseño Lógico de la Base de Datos (Esquema Relacional) 79 4.3 Definición de la Estructura de la Base de Datos (Descripción de tablas y campos por base de datos)

80

4.4 Creación de los Esquemas de la Base de Datos (Interno, Conceptual y Externo)

87

1

Page 3: nuevo

Instituto Tecnológico de Villahermosa

4.5 Creación de las Restricciones y Esquemas de Integridad 97 4.6 Definición e Implantación de Procedimientos Almacenados Y Disparadores

99

5. Resultados de la solución 103

5.1. Plantillas de la interfaz y Plantillas de captura 103 6. Conclusiones y recomendaciones 121 7. Bibliografía 122

2

Page 4: nuevo

Instituto Tecnológico de Villahermosa

INTRODUCCIÓN Toda empresa o institución posee, para su eficiente operación, activos que fungen como patrimonio de la misma, tales se consideran de mucha importancia, pero la empresa necesita tener un control adecuado sobre sus activos, sin el cual, sería prácticamente imposible conocer la cantidad de ellos. Otro motivo de peso por la cual las empresas necesitan implementar controles sobre sus activos es para fines estadísticos, legales u otros aspectos importantes. Es por ello que el Museo Regional de Antropología Carlos Pellicer Cámara ha visto la necesidad de contar con una base de datos confiable que almacene los libros con los que cuenta la biblioteca de dicha institución. Para el logro de este propósito se ha hecho uso de las tecnologías disponibles que permitan utilizar las ventajas que ofrece el ambiente Web, el Internet y las Intranets, y así realizar un sistema que también pueda ofrecer información al público en general que se encuentra al exterior de la institución. A lo largo de esta monografía se irán describiendo los procesos del desarrollo de esta herramienta hasta su implementación, lo que nos permitirá observar la evolución de este y determinar si el uso de esta herramienta es la solución para la necesidad que tiene esta institución. Debemos remarcar que esta monografía está conformada por nueve unidades en la que se dividió para su mejor manejo y las cuales son: Introducción, Justificación, Los Antecedentes del proyecto, El Marco Teórico, El Desarrollo del Proyecto, El Análisis de la Solución, El Diseño de la Solución, Los Resultados de la Solución, Las Conclusiones y Recomendaciones y desde luego la Bibliografía.

En estas unidades encontraremos las diversas técnicas y formas de investigación y diseño de sistemas para el mejor desarrollo de los mismos.

3

Page 5: nuevo

Instituto Tecnológico de Villahermosa

JUSTIFICACIÓN

La razón por la que debe aplicarse una base de datos automatizada en

el Museo Carlos Pellicer Cámara, específicamente en el área de Biblioteca, es

por que hasta la fecha no se cuenta con ningún control de los libros que se

encuentran aquí, lo que ocasiona que nadie o casi nadie de los que pudieran

estar interesados en estos libros, tengan conocimiento de que los libros existen

en esta biblioteca, por lo que el movimiento actual de los libros es nulo o casi

nulo, y existe a su vez una baja consulta de libros en esta biblioteca.

Cabe mencionar que la biblioteca del Museo de Antropología Carlos

Pellicer Cámara ubicada en el estado de Tabasco, es una de las pocas que

aun no cuentan con una base de datos automatizada ya que la mayoría de los

demás estados cuentan ya con una base de datos de este tipo.

Uno de los principales beneficios que se obtendrían con la realización de

una base de datos automatizada, es que al tenerla se podría dar a conocer el

acervo bibliográfico con que cuenta esta biblioteca, y esto nos llevaría a tener

un movimiento de libros, que hasta ahora no ha existido, así como además

cabe la posibilidad de poder realizar intercambio de libros con las bibliotecas de

otros estados de la República Mexicana e incluso de otros países.

4

Page 6: nuevo

Instituto Tecnológico de Villahermosa

5

Page 7: nuevo

Instituto Tecnológico de Villahermosa

1. Antecedentes del Proyecto 1.1. Objetivos del Proyecto (General y Específico) Objetivo General Automatizar la gestión de los datos de la Biblioteca del Museo Regional

de Antropología Carlos Pellicer Cámara, así como también dar a conocer al

público en general por medio de una aplicación Web el acervo conque cuenta

dicho centro de información

Objetivos específicos

Crear una base de datos de los libros con que cuenta la Biblioteca

del Museo Regional de Antropología Carlos Pellicer Cámara.

Crear una aplicación Web por medio de la cual se ingresen, modifiquen, eliminen y visualicen los datos de los libros.

Mostrar los catálogos de los libros así como las fichas catalográficas de estos

6

Page 8: nuevo

Instituto Tecnológico de Villahermosa

1.2 Antecedentes de la Institución

Con el propósito de adquirir y conservar todos aquellos objetos, reliquias

y documentos que tenían relación con la historia y arqueología de Tabasco, el

Lic. Francisco J. Santamaría decretó en 1947 la creación del “Museo tabasco”

el cual fue inaugurado el 15 de Septiembre de 1947 en un edificio localizado en

la esquina que conforman las calles de Francisco I. Madero e Ignacio Zaragoza

En el lapso de 1950-1952 el poeta Carlos Pellicer Cámara, con el apoyo

del Lic. Santamaría organiza de forma clara el “Museo Arqueológico de

Tabasco” en un edificio ubicado frente a Plaza de Armas. Este nuevo museo

inaugurado el 19 de Noviembre de 1952, contaba con 13 salas que daban

cuenta de la historia cultural de Mesoamética. Para estas fechas contaba con

un número mayor de piezas arqueológicas adquiridas por el propio Carlos

Pellicer a través del INAH del Museo Nacional de Antropología e Historia y de

algún museo de estado. Este museo contaba también con un importante

acervo bibliográfico que el Maestro Pellicer fue reuniendo a fin de apoyar el

trabajo de investigadores que tuvieran interés en trabajar con el acervo

arqueológico del museo.

Con el tiempo, el acervo arqueológico del museo creció de tal forma, que

el edificio resultaba insuficiente, por lo que a instancias del poeta tabasqueño

Carlos Pellicer, el Gobierno comenzó a construir en la margen izquierda del río

Grijalva, el actual Museo Regional de Antropología, el cual es concluido,

arquitectónicamente en 1976, y museográficamente en 1980.

El Museo Regional de Antropología que en honor al poeta de América

lleva su nombre “Carlos Pellicer Cámara”, fue inaugurado el 16 de Febrero de

1980, por el Lic. José López Portillo, Presidente de la republica y el gobernador

del estado, Ing. Leandro Rovirosa Wade.

7

Page 9: nuevo

Instituto Tecnológico de Villahermosa

1.3 Descripción de la Institución

El Museo de Antropología Carlos Pellicer Cámara se encuentra ubicado

en la zona CICOM, Atendiendo al público en general en un horario de 9:00 AM

a 4:00 PM.

Contando con atención especiales a grupos escolares desde nivel

básico a nivel superior; cuenta también con traductores para grupos especiales

de turistas nacionales y/o extranjeros.

Entre los servicios con los que cuenta el museo está una exhibición

permanente de poco mas de 700 obras arqueológicas de las culturas de

Mesoamérica, sala de exposiciones temporales, visitas guiadas, talleres

infantiles, biblioteca arqueológica, historia indígena (3mil), fonoteca y videoteca

especializada en arqueología de Mesoamérica y pueblos indígenas de México,

sala interactiva para la atención a personas con capacidades especiales, venta

de libros y reproducciones de piezas.

El museo cuenta con estacionamiento, rampas de acceso para personas

con capacidades especiales y elevador.

8

Page 10: nuevo

Instituto Tecnológico de Villahermosa

1.4 Misión, Visión, Valores y filosofía

• Misión

Fundado por el poeta Carlos Pellicer Cámara, el Museo de las Culturas

del Agua es una institución permanente sin fines de lucro que investiga,

conserva, protege, documenta, difunde y exhibe el patrimonio arqueológico

más importante de la región. Es una puerta privilegiada de acceso a las

civilizaciones ancestrales del Sureste de México, que fomenta y estimula de

forma lúdica el interés por la conservación y disfrute del patrimonio cultural y

natural en su megadiversidad. A través del aprendizaje significativo, despierta

vocaciones en un marco de desarrollo sustentable para elevar la calidad de

vida de la comunidad. Utiliza enfoques y medios museográficos de vanguardia,

así como estándares en materia de conservación y seguridad y, dada la calidez

de sus servicios al público, estimula la creatividad y la participación activa a

través de talleres, clubes, exposiciones, conferencias, cursos y publicaciones

de calidad.

• Visión

Ser un museo de prestigio Internacional que se erija como un centro de

calidad e innovación continua, con los más modernos estándares de

conservación, exhibición y seguridad, constituyéndonos en un polo de

desarrollo urbano y económico sostenible que eleva la calidad de vida de la

población. Se conforma como un emblema regional articulador de una red de

museos y oferta cultural, un centro de confluencia de la investigación de

excelencia y modelo de cooperación interinstitucional, que genera, interpreta,

administra y comparte conocimientos sobre la región a un público diverso.

• Valores El museo esta concebido como un foro para todo tipo de público, y

atiende, de forma destacada, a escolares de nivel básico terminal (quinto de

primaria en adelante) y medio; se vincula con la comunidad científica que

garantiza su constante actualización y establece un diálogo continuo con los

creadores y los ciudadanos.

9

Page 11: nuevo

Instituto Tecnológico de Villahermosa

El museo es uno de los principales promotores del desarrollo equitativo y

sustentable y, a la vez, reflejo de los avances que se generen en la calidad y

cantidad de los servicios urbanos y educativos, así como de la investigación

afín a las matemáticas del museo que se realiza en el país y en el mundo.

Por medio de una estrategia transdisciplinaria el museo brinda una oferta

cultural y de servicios diversificados, in situ y en línea, que atiende las

necesidades de información, investigación y formación de la sociedad, a la vez

que genera y vincula comunidades relacionadas con las ciencias y las artes,

enfatizando la vinculación con el medio ambiente.

A través de programas de colaboración con las asociaciones

profesionales científicas y artísticas, el museo establece una política

permanente de evaluación y actualización de sus servicios y contenidos.

La infraestructura arquitectónica, de conservación, museográfica y de

equipamiento del museo responde a los estándares en materia de exhibición,

comunicación, seguridad y servicios.

10

Page 12: nuevo

Instituto Tecnológico de Villahermosa

1.5 Estructura Organizacional

DIRECCION DE PATRIMONIO CULTURAL M.SC GRACIELA BEAURREAGARD SOLIS

BIBLIOTECA ENCARGADAS

ZILIA GOÑI GARRIDO LUZ DEL C. SOLIS SARABIA

MUSEO REGIONAL DE ANTROPOLOGIA “C.P.C.”

ARQLGA. REBECA PERALES VELA

ASISTENTE DE ADMINISTRACIÓN MA. DE LOURDES

GONZALEZ CASTRO

SECRETARIA ROSALINDA SANCHEZ

VELAZQUEZ

AREA DE INVESTIGACIÓN MTRA. LETICIA

RIVERA VIRGILIO

MUSEOGRAFIA, USO Y MANEJO DE

COLECCIONES ING. MARGARITA

NARVAEZ GALLEGOS

SERVICIOS EDUCATIVOS

C. MARIO SANCHEZ GUZMAN

SEGURIDAD, VIGILANCIA Y

MANTENIMIENTO NARCISO ORTIZ

PATRICIO

11

Page 13: nuevo

Instituto Tecnológico de Villahermosa

1.6 Productos y/o servicios que comercializa

El Museo de Antropología Carlos Pellicer Cámara proporciona los

siguientes servicios:

Exhibición permanente de poco más de 700 obras arqueológicas de

las culturas de Mesoamérica.

Sala de exhibiciones temporales

Visitas guiadas

Talleres infantiles

Biblioteca arqueológica, histórica e indígena

Fonoteca y videoteca especializada en arqueología de Mesoamética

y pueblos indígenas de México

Sala interactiva para la atención a personas con capacidades

especiales

Venta de libros y reproducciones de piezas

12

Page 14: nuevo

Instituto Tecnológico de Villahermosa

1.7 Identificación del Problema

1. Falta de un sistema de control automatizado de los libros de la biblioteca del Museo Regional de Antropología Carlos Pellicer Cámara.

2. Lentitud en la búsqueda de libros que contengan determinados temas.

3. Poco conocimiento por parte del público en general de la existencia del

acervo que existe en la biblioteca del Museo Regional de Antropología Carlos Pellicer Cámara por falta de un sistema que lo de a conocer.

13

Page 15: nuevo

Instituto Tecnológico de Villahermosa

1.8 Alcances y Limitaciones

Aunque durante el análisis efectuado hemos encontrado ciertas

cuestiones que nos limitan en el desarrollo del sistema de evaluación y aun

teniendo ya la idea de lo que puede solucionar este tipo de problemas, nos

detendremos en un punto importante.

Lo que consideramos que nos puede ayudar a lograr nuestros objetivos

son:

Alcances:

El Museo de Antropología Carlos Pellicer Cámara proporciona

facilidad de acceso a la información.

El personal que labora en el Museo de Antropología Carlos Pellicer

Cámara está interesado en cambiar la forma de manejar la

información.

De la misma manera se muestran entusiasmados por conocer cuál y

cómo será esa nueva forma de manejar la información.

Entre las razones que nos pueden impedir llegar a cubrir los objetivos

aquí planteados, encontramos las siguientes:

Limitaciones:

Nulo conocimiento en materia de computación por parte de las

personas que estarían interactuando con el SGBD.

Tiempo disponible para la capacitación del personal

14

Page 16: nuevo

Instituto Tecnológico de Villahermosa

15

Page 17: nuevo

Instituto Tecnológico de Villahermosa

2. Marco Teórico

2.1- Estado del Arte en las teorías y tecnologías que sustenten el proyecto El Marco Teórico que estamos manejando comprende las tecnologías de Información más recientes y confiables a las que se tiene acceso y se dispone de ellas para la mejor realización del Sistema de Bienes Muebles SIBIM. 2.1.1 Internet Internet es una red de redes a escala mundial de millones de computadoras interconectadas con el conjunto de protocolos TCP/IP. Al contrario de lo que se piensa comúnmente, Internet no es sinónimo de World Wide Web. Ésta es parte de aquella, siendo la World Wide Web uno de los muchos servicios ofertados en la red Internet. La Web es un sistema de información mucho más reciente (1995) que emplea la red Internet como medio de transmisión. Algunos de los servicios disponibles en Internet aparte de la Web son el acceso remoto a otras máquinas (telnet y ssh), transferencia de archivos (FTP), correo electrónico (e-mail), boletines electrónicos (news o grupos de noticias), conversaciones en línea (chat), mensajería instantánea (ICQ, YIM, Jabber), etcétera. Orígenes de Internet A finales de 1972 se realizó la primera demostración pública de ARPANET, una nueva red de comunicaciones financiada por la DARPA que funcionaba de forma distribuida sobre la red telefónica conmutada. El éxito de esta nueva arquitectura sirvió para que, en 1973, la DARPA iniciara un programa de investigación sobre posibles técnicas para interconectar redes (orientadas al tráfico de paquetes) de distintas clases. Para este fin, desarrollaron nuevos protocolos de comunicaciones que permitiesen este intercambio de información de forma "transparente" para los ordenadores conectados. De la filosofía del proyecto surgió el nombre de "Internet", que se aplicó al sistema de redes interconectadas mediante los protocolos TCP e IP. El 1 de enero de 1983 ARPANET cambió el protocolo NCP por TCP/IP. Ese mismo año, se creó el IAB con el fin de estandarizar el protocolo TCP/IP y de proporcionar recursos de investigación a Internet. Por otra parte, se centró la función de asignación de identificadores en la IANA que, más tarde, delegó parte de sus funciones en el IR que, a su vez, proporciona servicios a los DNS. En 1986 la NSF comenzó el desarrollo de NSFNET que se convirtió en la principal red troncal de Internet, complementada después con las redes NSINET y ESNET, todas ellas en EEUU. Paralelamente, otras redes troncales en Europa, tanto públicas como comerciales, junto con las americanas formaban el esqueleto básico ("backbone") de Internet. A partir de 1989, con la integración de los protocolos OSI en la arquitectura de Internet, se inició la tendencia actual de permitir no sólo la interconexión de

16

Page 18: nuevo

Instituto Tecnológico de Villahermosa

redes de estructuras dispares, sino también la de facilitar el uso de distintos protocolos de comunicaciones. En 1989 también, en el CERN de Ginebra, un grupo de Físicos encabezado por Tim Berners-Lee, crearon el lenguaje HTML, basado en el SGML. En 1990 el mismo equipo construyó el primer cliente Web, llamado WorldWideWeb (WWW), y el primer servidor web. Actualmente Internet incluye aproximadamente 5000 redes en todo el mundo y más de 100 protocolos distintos basados en TCP/IP, que se configura como el protocolo de la red. El protocolo de transferencia de archivos (FTP o File Transfer Protocol) es el protocolo estándar en la red para efectuar transferencias de archivos de un servidor a un ordenador o entre ordenadores. En algunos países el acceso a Internet está restringido únicamente a entidades gubernamentales y empresas extranjeras o fuertemente controladas por el estado. Internet y sociedad Hoy en día, Internet ha llegado a gran parte de los hogares y de las empresas de los países ricos, en este aspecto se ha abierto una brecha digital con los países pobres, en los cuales la penetración de Internet y las nuevas tecnologías es muy limitada. Es muy común en países ricos y en vías de desarrollo el acceso a Internet en establecimientos especializados llamados Cibercafé. 2.1.2 World Wide Web La Web o WWW, es un sistema de hipertexto que funciona sobre Internet. Para ver la información se utiliza una aplicación llamada navegador web para extraer elementos de información (llamados "documentos" o "páginas web") de los servidores web (o "sitios") y mostrarlos en la pantalla del usuario. El usuario puede entonces seguir hiperenlaces que hay en la página a otros documentos o incluso enviar información al servidor para interactuar con él. A la acción de seguir hiperenlaces se le suele llamar "navegar" por la Web. No se debe confundir la Web con Internet, que es la red física mundial sobre la que circula la información. Evolución La Web nació alrededor de 1989 a partir de un proyecto del CERN, en el que Tim Berners-Lee construyó el prototipo que dio lugar al núcleo de lo que hoy es la World Wide Web. La intención original era hacer más fácil el compartir textos de investigación entre científicos y permitir al lector revisar las referencias de un artículo mientras lo fuera leyendo. Un sistema de hipertexto enlazaría todos los documentos entre sí para que el lector pudiera revisar las referencias de un articulo mientras lo fuera leyendo. El nombre original del prototipo era "Enquire

17

Page 19: nuevo

Instituto Tecnológico de Villahermosa

Within Upon Everything". La funcionalidad elemental de la Web se basa en tres estándares: El Localizador Uniforme de Recursos (URL), que especifica cómo a cada página de información se asocia una "dirección" única en la que encontrarla; el Protocolo de Transferencia de Hipertexto (HTTP), que especifica cómo el navegador y el servidor intercambian información en forma de peticiones y respuestas, y el Lenguaje de Marcación de Hipertexto (HTML), un método para codificar la información de los documentos y sus enlaces. Berners-Lee dirige en la actualidad el World Wide Web Consortium, que desarrolla y mantiene estos y otros estándares que permiten a los ordenadores de la Web almacenar y comunicar todo tipo de información. El programa inicial del CERN, "www", sólo presentaba texto, pero navegadores web posteriores, como Viola de Pei Wei (1992) añadieron la capacidad de presentar también gráficos. Marc Andreesen de NCSA presentó un navegador web llamado "Mosaic" en 1993 que disparó la popularidad de la Web entre principiantes. Andreesen fundó Mosaic Communications Corporation (hoy Netscape Communications), añadiendo características adicionales como contenido dinámico, música y animación que están incluidas en los modernos navegadores. A menudo la capacidad de los navegadores y servidores avanza mucho más rápido que los estándares, con lo cual es habitual que las características más nuevas no funcionen en todas las máquinas, impidiendo la accesibilidad universal. El imparable avance técnico de la WWW permite hoy incluso servicios en tiempo real como webcasts, radio web y web cams en directo. Una de las tecnologías en constante evolución en el mundo de la WWW es Flash, un formato registrado por la compañía Macromedia que aportan un gran dinamismo a las webs. El lenguaje de scripting que usan, Actionscript, goza de un gran potencial que abarca desde la aplicación visual hasta la interactividad con el servidor. Actionscript, ya en su versión 2.0, va abriéndose paso entre los grandes lenguajes de la programación web del lado del cliente. Otro avance importante fue la plataforma Java, de Sun Microsystems, que permitió a las páginas web incluir pequeños programas (llamados applets) que se ejecutan en la máquina del cliente y mejoran la presentación y la interactividad. La web ha crecido hasta arrinconar otras formas de comunicación anteriores, como los tableros electrónicos (BBS), los servicios de noticias (News), el Gopher, los buscadores de documento (Archie) y ha mantenido cierta convivencia con el protocolo de transferencias de ficheros (FTP) y los protocolos de correo electrónico: SMTP, POP3 e IMAP. La W3C es el organismo que regula los estándares web, necesario para asegurar así el acceso universal a la información. Aun así, hay quien ignora estos estándares dando lugar a páginas web que solo se ven bien con uno o unos pocos navegadores concretos.

18

Page 20: nuevo

Instituto Tecnológico de Villahermosa

Navegadores Un navegador es (entre otras cosas) un intérprete de lo que se conoce como Lenguaje de Marcado de HiperTexto (HTML ó HyperText Markup Language).

En el mundo de Internet, se puede decir que sólo hay estos dos Navegadores Explorer y Netscape Navigator 4, pero eso está muy lejos de la verdad. Existen docenas de Navegadores, y la mayoría de ellos son gratis. A continuación se presentan algunos de estos Navegadores.

Mosaic, Netscape, Mozilla, Mozilla Firefox, Opera, Amaya, Internet Explorer, Ares(navegador), Safari (Apple). 2.1.3 Arquitectura de Red Dentro de las características importantes de la tecnología de la informática encontramos la forma en que físicamente están conectadas las redes y es su arquitectura o como esta conformada esa conexión, enseguida hablaremos sobre la tecnología cliente-servidor. Cliente-servidor

La arquitectura cliente-servidor llamado modelo cliente-servidor o servidor-cliente es una forma de dividir y especializar programas y equipos de cómputo a fin de que la tarea que cada uno de ellos realiza se efectúe con la mayor eficiencia, y permita simplificar las actualizaciones y mantenimiento del sistema.

En esta arquitectura la capacidad de proceso está repartida entre el servidor y los clientes.

En la funcionalidad de un programa distribuido se pueden distinguir 3 capas o niveles:

1. Manejador de Base de Datos (Nivel de almacenamiento), 2. Procesador de aplicaciones o reglas del negocio (Nivel lógico) y 3. Interface del usuario (Nivel de presentación)

En una arquitectura monolítica no hay distribución; los tres niveles tienen lugar en el mismo equipo.

En un comienzo, los mainframes concentraban la funcionalidad de almacenamiento (#1) y lógica (#2) y a ellos se conectaban terminales tontas, posiblemente ubicadas en sitios remotos.

En el modelo cliente-servidor, en cambio, el trabajo se reparte entre dos ordenadores. De acuerdo con la distribución de la lógica de la aplicación hay dos posibilidades:

1. Cliente delgado: si el cliente solo se hace cargo de la presentación.

19

Page 21: nuevo

Instituto Tecnológico de Villahermosa

2. Cliente pesado: si el cliente asume también la lógica del negocio.

En la actualidad se suele hablar de arquitectura de tres niveles, donde la capa de almacenamiento y la de aplicación se ubican en (al menos) dos servidores diferentes, conocidos como servidores de datos y servidores de aplicaciones. Ventajas de la arquitectura cliente-servidor

• El servidor no necesita tanta potencia de procesamiento, parte del proceso se reparte con los clientes.

• Se reduce el tráfico de red considerablemente. Idealmente, el cliente se conecta al servidor cuando es estrictamente necesario, obtiene los datos que necesita y cierra la conexión dejando la red libre.

2.1.4 Lenguajes de Programación Web Los lenguajes de programación Web son una herramienta que facilita al programador el desarrollo de sus páginas, para que estas tenga un nivel profesional de acuerdo con las expectativas propias de los avances tecnológicos que día a día estamos obligados a absorber y experimentar para nuestro mejor desempeño profesional. 2.1.4.1 HTML El HTML, acrónimo inglés de Hyper Text Markup Language (lenguaje de marcación de hipertexto), es un lenguaje de marcas diseñado para estructurar textos y presentarlos en forma de hipertexto, que es el formato estándar de las páginas web. Gracias a Internet y a los navegadores del tipo Explorer o Netscape, el HTML se ha convertido en uno de los formatos más populares que existen para la construcción de documentos. HTML utiliza etiquetas o marcas, que consisten en breves instrucciones de comienzo y final, mediante las cuales se determinan la forma en la que deben aparecer en su navegador el texto, así como también las imágenes y los demás elementos, en la pantalla del ordenador. No hay especificación oficial del HTML 1.0 porque ya existían múltiples estándares informales del HTML cuando se decidió crear un estándar oficial. Los trabajos para crear un sucesor del HTML, posteriormente llamado 'HTML+', comenzaron a finales de 1993. El HTML+ se diseñó originalmente para ser un súper conjunto del HTML que permitiera evolucionar gradualmente desde el formato HTML anterior. A la primera especificación formal de HTML+ se le dio, por lo tanto, el número de versión 2.0 para distinguirla de esos "estándares no oficiales" previos. Los trabajos sobre HTML+ continuaron, pero nunca se convirtió en un estándar. El borrador del estándar HTML 3.0 fue propuesto por el recién formado W3C en marzo de 1995. Con él se introdujeron muchas nuevas capacidades, tales como facilidades para crear tablas, hacer que el texto fluyese alrededor de las

20

Page 22: nuevo

Instituto Tecnológico de Villahermosa

figuras y mostrar elementos matemáticos complejos. Aunque se diseñó para ser compatible con HTML 2.0, era demasiado complejo para ser implementado con la tecnología de la época y, cuando el borrador del estándar expiró en septiembre de 1995, se abandonó debido a la carencia de apoyos de los fabricantes de navegadores web. El HTML 3.1 nunca llegó a ser propuesto oficialmente, y el estándar siguiente fue el HTML 3.2, que abandonaba la mayoría de las nuevas características del HTML 3.0 y, a cambio, había adoptado muchos elementos desarrollados inicialmente por los navegadores web Netscape y Mosaic. La posibilidad de trabajar con fórmulas matemáticas que se había propuesto en el HTML 3.0 pasó a quedar integrada en un estándar distinto llamado MathML. El HTML 4.0 también adoptó muchos elementos específicos desarrollados inicialmente para un navegador web concreto, pero al mismo tiempo comenzó a limpiar el HTML señalando algunos de ellos como 'desaprobados'. Ya no va a haber nuevas versiones del HTML. Sin embargo, la herencia del HTML se mantiene en XHTML, que se basa en XML.

2.1.4.2 PHP PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje de programación de scripts, concebido en el tercer trimestre de 1994 por Rasmus Lerdorf. Se utiliza principalmente para la programación de CGIs para páginas web, destaca por su capacidad de ser embebido en el código HTML. Además, existe un compilador comercial (el Zend Optimizer).

Los principales usos del PHP son los siguientes:

• Programación de páginas dinámicas en servidores, habitualmente en combinación con MySQL, aunque cuenta con soporte nativo para otras muchas bases de datos, soportando además ODBC, lo que le permite conectarse prácticamente a cualquier base de datos.

• Puede ser utilizado también como lenguaje de scripting en consola, al estilo de Perl, en Linux, Windows y Mac.

• Creación de aplicaciones gráficas "stand-alone" que no usan un navegador Web (Web browser), con la combinación de PHP y GTK (Gimp Tool Kit). Con PHP-GTK se pueden desarrollar aplicaciones de escritorio tanto para los sistemas operativos basados en Unix, como para Windows y Mac OS.

2.1.4.3 CSS: Cascading Style Sheets. Hojas de Estilo en cascada. Lenguaje que se encarga de especificar al navegador como debe de presentar el documento al usuario. Las hojas de estilos serán todas validadas.

21

Page 23: nuevo

Instituto Tecnológico de Villahermosa

2.1.4.4 JavaScript: Un viejo conocido lenguaje de programación Web de script del lado del cliente que permite añadir una serie de efectos dinámicos a la Web. 2.1.5 Base de Datos para Páginas Web En este punto definiremos lo que son las bases de datos, algunas de sus características, así como, cuales manejadores existen, entre otros aspectos que nos aclarara el concepto de base de datos. 2.1.5.1 Concepto Básico En la actualidad las bases de datos pueden definirse como: Una colección de datos y/o documentos digitales, que pueden ser homogéneos o no, que disponen de sistemas de gestión de bases de datos (relacionales o documentales) y un conjunto de aplicaciones que hacen posible su publicación, integración y consulta dentro o fuera de Internet. 2.1.5.2 Normalización Normalización es un proceso que clasifica relaciones, objetos, formas de relación y demás elementos en grupos, en base a las características que cada uno posee. Si se identifican ciertas reglas, se aplican a una categoría; si se definen otras reglas, se aplicará otra categoría.

Estamos interesados en particular en la clasificación de las relaciones BDR. La forma de efectuar esto es a través de los tipos de dependencias que podemos determinar dentro de la relación. Cuando las reglas de clasificación sean más y más restrictivas, diremos que la relación está en una forma normal más elevada. La relación que está en la forma normal más elevada posible es que mejor se adapta a nuestras necesidades debido a que optimiza las condiciones que son de importancia para nosotros:

• La cantidad de espacio requerido para almacenar los datos es la menor posible;

• La facilidad para actualizar la relación es la mayor posible; • La explicación de la base de datos es la más sencilla posible.

22

Page 24: nuevo

Instituto Tecnológico de Villahermosa

2.1.5.3 SQL Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal. Es de eso de lo que trata el Structured Query Language que no es más que un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL). El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras. Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas. Por una parte, presenta una potencia y versatilidad notables que contrasta, por otra, con su accesibilidad de aprendizaje. 2.1.5.4 Manejador de Bases de Datos El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica.

Las funciones principales de un DBMS son:

• Crear y organizar la Base de datos.

• Establecer y mantener las trayectorias de acceso a la base de datos de tal forma que los datos puedan ser accesados rápidamente.

• Manejar los datos de acuerdo a las peticiones de los usuarios.

• Registrar el uso de las bases de datos.

• Interacción con el manejador de archivos.

Esto a través de las sentencias en DML al comando del sistema de archivos. Así el Manejador de base de datos es el responsable del verdadero almacenamiento de los datos.

23

Page 25: nuevo

Instituto Tecnológico de Villahermosa

• Respaldo y recuperación: Consiste en contar con mecanismos implantados que permitan la recuperación fácilmente de los datos en caso de ocurrir fallas en el sistema de base de datos.

• Control de concurrencia: Consiste en controlar la interacción entre los

usuarios concurrentes para no afectar la inconsistencia de los datos.

• Seguridad e integridad: Consiste en contar con mecanismos que permitan el control de la consistencia de los datos evitando que estos se vean perjudicados por cambios no autorizados o previstos.

El DBMS es conocido también como Gestor de Base de datos.

Fig. No. 3

La figura muestra el DBMS como interfase entre la base de datos física y las peticiones del usuario. El DBMS interpreta las peticiones de entrada/salida del usuario y las manda al sistema operativo para la transferencia de datos entre la unidad de memoria secundaria y la memoria principal.

En sí, un sistema manejador de base de datos es el corazón de la base de datos ya que se encarga del control total de los posibles aspectos que la puedan afectar.

24

Page 26: nuevo

Instituto Tecnológico de Villahermosa

25

Page 27: nuevo

Instituto Tecnológico de Villahermosa

3. Desarrollo Del Proyecto

3.1. Definición de Parámetros de Evaluación de los SGBD

No hay dos aplicaciones con las mismas necesidades, así que el hecho

de que un sistema no ofrezca determinada opción no lo invalida como la

solución que se necesite. Se debe recordar que no siempre más es mejor.

Plataformas soportadas

Si se va a instalar una aplicación en una empresa que tiene toda su red

basada en un determinado servidor con determinado protocolo, no es

recomendable que se abandone todo lo que se tiene hecho para que el

programa nuevo pueda ejecutarse.

En segundo lugar, no todos los sistemas operativos se comportan igual

de eficientes actuando como servidores de bases de datos. Esto tiene que ver

sobre todo con la implementación que realiza el sistema operativo de la

concurrencia.

Soporte de tipos de datos y restricciones

Casi todos los sistemas actuales tienen tipos de datos que incluyen a los

especificados en el estándar.

También entran las claves primarias, claves alternativas, relaciones de

integridad referencial, etc. Un elemento a tener en cuenta, por ejemplo es si se

permite o no la propagación en cascada de modificaciones en la tabla maestra

de una relación de integridad referencial.

Lenguaje de triggers y procedimientos almacenados

Se debe poner atención en si el lenguaje permite triggers a nivel de fila o

de operación o de ambos niveles. Un trigger a nivel de fila se dispara antes o

después de modificar una fila individual. Por el contrario, un trigger a nivel

operación se dispara después de que se ejecute una operación completa que

puede afectar a varias filas.

26

Page 28: nuevo

Instituto Tecnológico de Villahermosa

Implementación de transacciones: recuperación y aislamiento

Este es otro criterio de análisis, hay dos puntos en los que se debe

centrar la atención: cómo se implementa la atomicidad (la forma en que el

sistema deshace operaciones inconclusas), y el método para aislar entre sí las

transacciones concurrentes.

Segmentación

Es conveniente poder distribuir los datos de un servidor en distintos

dispositivos físicos. Al situar tablas en distintos discos, o segmentos de las

propias tablas, se puede aprovechar la concurrencia inherente a la existencia

de varios controladores físicos de estos medios de almacenamiento. Esta

opción permite, además superar las restricciones impuestas por el tamaño de

los discos en el tamaño de la base de datos.

Replicación

Uno de los usos principales de la replicación consiste en aislar las

aplicaciones que realizan mantenimientos de las aplicaciones para toma de

decisiones.

Costo

Todos queremos lo mejor, pero no siempre estamos dispuestos a pagar

por eso. Así que muchas veces una decisión de compra representa un balance

entre la calidad y el precio.

27

Page 29: nuevo

Instituto Tecnológico de Villahermosa

3.2 Análisis y Evaluación de SGBD

La razón principal por la que usamos una computadora es para

almacenar, recuperar y procesar la información y todo ello hacerlo muy

rápidamente, aprovechando de este modo el tiempo de trabajo.

Al mismo tiempo, el sistema debe ser simple, robusto, rápido, fiable,

económico y muy fácil de usar. De esta forma se realizarán evaluaciones y

análisis de los SGBD más eficientes en la actualidad con la finalidad de elegir

el más adecuado para las operaciones y necesidades de la empresa.

28

Page 30: nuevo

Instituto Tecnológico de Villahermosa

3.2.1. SGD Comerciales

Microsoft SQL Server

Microsoft SQL Server constituye un lanzamiento determinante para los

productos de bases de datos de Microsoft, además, el RDBMS de elección

para una amplia gama de clientes corporativos y Proveedores Independientes

de Software que construyen aplicaciones de negocios. Las necesidades y

requerimientos de los clientes han llevado a la creación de innovaciones de

producto significativas para facilitar la utilización, escalabilidad, confiabilidad y

almacenamiento de datos.

Objetivos del Diseño de SQL Server

SQL Server disminuye el costo total de propiedad a través de

características como administración multi-servidor y con una sola consola;

ejecución y alerta de trabajos basadas en eventos; seguridad integrada; y

scripting administrativo. Esta versión también libera al administrador de base de

datos para aspectos más sofisticados del trabajo al automatizar las tareas de

rutina.

Innovación de SQL Server

La primera base de datos en escalar desde la computadora portátil hasta la empresa utilizando la misma base de código y ofrecer el 100% de compatibilidad de código.

La primera base de datos en soportar la auto-configuración y auto-sintonización

La primera base de datos con Servicios de Transformación de Datos integrado.

La primera base de datos en proveer administración de multi-servidor para cientos de servidores.

La más amplia gama de opciones de replicación de cualquier base de datos.

La mejor integración con Windows NT Server. La mejor integración con Microsoft Transaction Server.

29

Page 31: nuevo

Instituto Tecnológico de Villahermosa

Datos Distribuidos y Replicación

Llamadas a procedimientos remotos servidor a servidor (procedimientos almacenados remotos).

Replicación asíncrona o continua basada en registros, o sincronización planificad de tablas point-in-time.

Configuración de replicación gráfica y características de gestión. Replicación de subscriptores ODBC, incluyendo IBM DB2, ORACLE,

SYBASE y Microsoft Access. Replicación de tipos de datos Texto e Imagen.

Seguridad

Un único ID de login tanto para red como para la DB para mejorar la seguridad y facilitar la administración.

Password y encriptación de datos en red para mejorar la seguridad. Encriptación de procedimientos almacenados para la integridad y

seguridad de código de aplicación. Interoperabilidad e integración con desktops. API Standard DB-Library totalmente soportada: estándar ODBC Nivel 2

totalmente soportado como API nativa. Gateways de Microsoft y de terceros para fuentes de datos relacionales

y no-relacionales, incluyendo IBM DB2. Soporte de importantes estándares de mercado como ANSI SQL-92,

FIPS 127-2, XA, SNMP. NOTA: Sin duda Microsoft SQL Server tiene características muy importantes,

pero que sólo es soportada en una Plataforma Windows, que como veremos

posteriormente no es una de las alternativas más apropiadas. Además,

presenta problemas con volúmenes extensos de información, sin olvidar que el

costo de su utilización es elevado y está sujeto al tipo de operaciones que se

utilicen y al número de ordenadores en el que esté instalado.

30

Page 32: nuevo

Instituto Tecnológico de Villahermosa

Oracle

Es un manejador de base de datos relacional que hace uso de los

recursos del sistema informático en todas las arquitecturas de hardware, para

garantizar su aprovechamiento al máximo en ambientes cargados de

información. Es el conjunto de datos que proporciona la capacidad de

almacenar y acude a estos de forma consecuente con un modelo definido

como relacional. Además es una suite de productos que ofrece una gran

variedad de herramientas.

Estructura Física y Lógica

Las estructura física tales como los archivos del sistema operativo, son

almacenados en dispositivos tangibles como son cintas magnéticas, discos y

otros. A cada archivo le corresponde un espacio en el sistema operativo.

Oracle requiere de varios archivos para su funcionamiento, los cuales

conforman su estructura física. A la estructura lógica le corresponde un espacio

por unidad, pero sus limitaciones son independientes de las localizaciones de

espacio físico.

Uso de Memoria El uso de memoria en el RDBMS Oracle tiene como propósito lo siguiente:

Almacenar los códigos de los programas para empezar a ejecutarse.

Almacenar los datos necesarios durante la ejecución de un programa.

Almacenar información sobre como es la transferencia entre procesos y

periféricos.

31

Page 33: nuevo

Instituto Tecnológico de Villahermosa

Ventajas

Posee igual interacción en todas las plataformas (Windows, Unix, Macintosh y Mainframes). Estos porque más del 80% de los códigos internos de Oracle son iguales a los establecidos en todas las plataformas de Sistemas Operativos.

Soporta bases de datos de todos los tamaños, desde severas

cantidades de bytes y gigabytes en tamaño.

Provee salvar con seguridad de error lo visto en el monitor y la información de acceso y uso.

Soporta un verdadero ambiente cliente servidor. Este establece un

proceso entre bases de datos del servidor y el cliente para la aplicación de programas.

Lenguaje de Cuarta Generación 4GL

Es un lenguajes que se distingue por formar parte de un entorno de

desarrollo, que comprende el manejador de una base de datos, y todo lo que

de esto se deriva, como la administración de un diccionario de datos, el control

de accesos, el manejo de la consistencia de la información y otras

características enfocadas a facilitar los programas de acceso y explotación de

la información. Como ejemplos podemos citar a los 4 grandes: PROGRESS,

SYSBASE, INFORMIX, y ORACLE.

32

Page 34: nuevo

Instituto Tecnológico de Villahermosa

Informix

Actualmente Informix es parte de la Compañía IBM la cual se denomina:

IBM Informix® Dynamic Server (IDS) 9.30 la cual proporciona fiabilidad

superior, atendiendo las necesidades de las exigentes prácticas actuales de

negocios para negocios que requieran transacciones de alto desempeño.

Soporta requisitos de procesamiento de transacción online, complejos y

rigurosos. Optimiza capacidades de inteligencia del negocio competitivas.

Maximiza operaciones de datos para el grupo de trabajo y para la empresa en

total. Proporciona la firmeza de una administración de base de datos

comprobada, mejor de su especie.

Objetivos que se han cubierto

La sintaxis del lenguaje es casi idéntica a la de Informix-4GL. Se han implementado los tipos de datos básicos, los de fecha y hora, intervalos y 'datetime'.

Las sentencias de asignación, presentación en pantalla, estructuras

repetitivas (bucles while y for) y condicionales (if..else..), generación de menús y listados se han implementado completamente.

El manejo de los formularios de entrada de datos se ha implementado

siguiendo la sintaxis original de Informix-4GL, sin embargo se ha modificado la sintaxis de la definición de los formularios para dar cabida a nuevos tipos de objetos, como botones o casillas de verificación.

Se ha introducido una nueva sentencia (browse), que permite visualizar

todas las tuplas devueltas por una consulta y 'navegar' por ellas mediante movimientos del cursor.

La sintaxis de algunas sentencias se ha ampliado, permitiendo nuevas

funcionalidades no encontradas en Informix-4GL, como asignaciones múltiples. Estas modificaciones están explicadas con detalle en el manual de usuario.

33

Page 35: nuevo

Instituto Tecnológico de Villahermosa

Posibilidades de ampliación

En la última versión de Informix se ha generado únicamente una interfaz

en modo texto. Sin embargo, la implementación de las funciones de manejo de

formularios de entrada se ha realizado de manera independiente de la

implantación a bajo nivel (curses). Gracias a esto es posible desarrollar

librerías de funciones que gestionen los formularios de entrada de manera

gráfica, generando interfaces en X-Windows.

La generación de código está actualmente muy enfocada a la interfaz de

PostgreSQL. Una posible ampliación sería la generalización de este código,

para permitir el desarrollo de aplicaciones que accedan a datos almacenados

en otro tipo de servidores, o incluso usando ODBC (el API de acceso a bases

de datos definido por Microsoft y que se ha convertido en estándar).

34

Page 36: nuevo

Instituto Tecnológico de Villahermosa

3.2.2 SGBD Open Source

FireBird

Es un SGBD Open Source, cuyo código fuente deriva de Interbase 6.0

liberado bajo licencia IPL en el 2000 por Borland, que finalmente decidió dejar

en el olvido la versión Open Source de Interbase 6.0 y volver a cobrar por el en

las versiones posteriores (6.5 y 7.0 de momento ).

Nivel de aislamiento (Isolation Level). FireBird contempla situaciones de

tipo multiusuario, por lo que hay que tener especial atención a las

transacciones. Con el nivel de aislamiento se definen la visión que tendrá la

transacción a los cambios producidos por otras transacciones que se estén

ejecutando en ese momento. Así pues, tenemos los siguientes niveles de

aislamiento:

Read Commited: con este nivel, cualquier cambio realizado des de otra

transacción y que haya sido confirmado (commit) podremos verlo, es decir, tenemos acceso a la última versión confirmada de los datos. Es el nivel más bajo de aislamiento.

Read Commited no record_version: la transacción tiene acceso a los

registros modificados por otras y, si los cambios no han sido confirmados, dependiendo del modo de bloqueo (los veremos posteriormente) actuará de una forma y otra. Si el bloqueo está configurado como “wait”, la transacción esperará a la confirmación de la otra transacción que tenga bloqueado el registro, en cambio, si es “no wait”, la transacción devolverá error de forma inmediata.

SnapShot: con este nivel de aislamiento se asegura que el usuario

siempre vea los mismos datos aunque otros usuarios hagan cambios en las tablas afectadas y los hayan aceptado.

SnapShot table stability: es lo mismo que el nivel de aislamiento

anterior, pero con la característica que bloquea la tabla en cuestión a las demás transacciones impidiéndoles sólo la escritura.

35

Page 37: nuevo

Instituto Tecnológico de Villahermosa

Modo de Bloqueo. Este es otro de los parámetros que se pueden configurar al inicio de una transacción. Tiene dos posibles valores:

Modo en espera (Wait): si se intenta acceder a un registro bloqueado por otra transacción, la segunda en llegar quedará bloqueada a la espera de que la primera termine.

Modo sin espera (No Wait): si se intenta acceder a un registro

bloqueado por otra transacción, la segunda devolverá el control a la aplicación cliente informándola de la existencia de dicho bloqueo.

Manipulación de Datos

Para facilitarnos la manipulación de los registros en este Gestor de BD,

se utilizan diversos programas que podemos obtener directamente desde

Internet de forma gratuita, que permiten la creación de nuestras bases de datos

y la gestión de las mismas. El más utilizado es IB-Expert, en el cual podemos

realizar todas las operaciones imprescindibles, así que ya nos sirve para

nuestras necesidades; además, podemos configurarlo en español y la

instalación de esta aplicación es muy sencilla.

Se recomienda escribir en mayúsculas los nombres de tablas, campos y

demás para posteriormente olvidarnos de cómo han sido escritos (si usamos

minúsculas, deberemos también usarlas en el momento de escribir las

sentencias SQL, si usamos mayúsculas, no importará cómo las escribamos).

Interfaces disponibles

ODBC. OLEDB. JDBC. Provider para .NET / Mono IBX, FreeIb, IbObjects, ... ( para Delphi o C++ Builder ) PHP También hay librerías en C/C++ que hacen de "wrappers" de la libreria

cliente de Firebird.

36

Page 38: nuevo

Instituto Tecnológico de Villahermosa

Plataformas soportadas

MS Windows (95/98/NT/2000/XP). Linux. FreeBSD. Mac OS - Darwin/10.0/10.1. Solaris - Sparc and Intel. HP/UX - v10 and v11.

37

Page 39: nuevo

Instituto Tecnológico de Villahermosa

MYSQL

MySQL es un servidor de bases de datos multiusuario, concretamente,

el más rápido en entornos web. SQL es el lenguaje de bases de datos más

popular y estandarizado del mundo. MySQL es una implementación

cliente/servidor que consiste en un demonio mysqld y varios programas clientes

y librerías.

Las principales virtudes del MySQL son su gran velocidad, robustez y

facilidad de uso. Junto con PostgreSQL es lo mejor que hay en bases de datos.

MySQL soporta muchos lenguajes de programación distintos como: C, C++,

Eiffel, Java, Perl, PHP, Python y TCL. También tiene la opción de protección

mediante contraseña, la cual es flexible y segura.

Características Principales

El principal objetivo de MySQL es velocidad y robustez. Escrito en C y C++, testado con GCC 2.7.2.1. Usa GNU autoconf para

potabilidad. Clientes C, C++, Java, Perl, TCL, etc Multiproceso, es decir puede usar varias CPU si éstas están disponibles.

Puede trabajar en distintas plataformas y S.O. distintos. Sistema de contraseñas y privilegios muy flexible y segura. Todas las claves viajan encriptadas en la red. Registros de longitud fija y variable. 16 índices por tabla, cada índice puede estar compuesto de 1 a 15

columnas o partes de ellas con una longitud máxima de 127 bytes. Todas las columnas pueden tener valores por defecto. Utilidad (Isamchk) para chequear, optimizar y reparar tablas. Todos los datos están grabados en formato ISO8859_1. Los clientes usan TCP o UNIX Socket para conectarse al servidor. El servidor soporta mensajes de error en distintas lenguas. Todos los comandos tienen -help o -? Para las ayudas. Diversos tipos de columnas como enteros de 1, 2, 3, 4, y 8 bytes, coma

flotante, doble precisión, carácter, fechas, enumerados, etc. Según benchmarks disponibles en Internet, es hasta 80 veces más

rápida que Oracle en las mismas condiciones.

38

Page 40: nuevo

Instituto Tecnológico de Villahermosa

Gestión de Usuarios

MySQL lleva a cabo una gestión de usuarios que permite dotar a cada

uno de los mismos unos determinados privilegios, según los cuales dichos

usuarios podrán acceder, modificar, consultar y realizar tareas administrativas y

de control con la base de datos. La información sobre los usuarios se

encuentra almacenada en una tabla denominada user, dentro de la base de

datos interna de la aplicación (el manejo de dicha tabla para añadir usuarios,

privilegios, etc... será explicado más tarde).

Al instalar MySQL, por defecto se creará el usuario root, sin ninguna

contraseña. Al ser este el usuario más importante, ya que posee total control

sobre las bases de datos, se le deberá proporcionar una contraseña. Asimismo,

es aconsejable crear un nuevo usuario para acceder a las bases de datos, y

dejar dicho usuario root para tareas administrativas y de control.

39

Page 41: nuevo

Instituto Tecnológico de Villahermosa

PostgreSQL

Es uno de los Sistemas de Bases de Datos gratuita más popular del

mundo, y que implementa algunos de los estándares como: ISO SQL, ANSI

SQL/98, SQL/92 Y ANSI SQL 89. Además es una base de datos Objeto-

relacional de próxima generación, y los futuros estándares ANSI SQL como

SQL 1998 (SQL-3) y siguientes, que incrementarán el acercamiento entre las

bases de datos de tipo Objeto, y las orientadas a datos.

PostgreSQL es el único SGBDR gratuito del mundo que soporta bases

de datos Objeto y SQL. Este documento le indicará cómo instalar la base de

datos, como levantar la base de datos de Web, base de datos de aplicación,

interfaz gráfica de cliente y programas de interfaces. Al trabajar con los

estándares establecidos cualquier aplicación puede ser portable a múltiples

bases de datos, como Oracle, Sybase, Informix, etc.

Ofrece una potencia adicional sustancial al incorporar los siguientes

cuatro conceptos adicionales básicos en una vía en la que los usuarios pueden

extender fácilmente el sistema:

Clases. Herencia. Tipos. Funciones.

Otras características aportan potencia y flexibilidad adicional:

Restricciones (Constraints). Disparadores (triggers) Reglas (rules) Integridad transaccional

40

Page 42: nuevo

Instituto Tecnológico de Villahermosa

Características Principales

Proporciona un gran número de características que normalmente sólo se

encontraban en las bases de datos comerciales tales como DB2, Oracle o

Informix. La siguiente es una breve lista de algunas de esas características, a

partir de PostgreSQL 7.1.x.

DBMS Objeto-Relacional. Aproxima los datos a un modelo objeto-

relacional, y es capaz de manejar complejas rutinas y reglas. Ejemplos de su

avanzada funcionalidad son consultas SQL declarativas, control de

concurrencia multi-versión, soporte multi-usuario, transactions, optimización de

consultas, herencia, y arrays.

Altamente Extensible. Soporta operadores, funcionaes métodos de

acceso y tipos de datos definidos por el usuario.

Soporte SQL Comprensivo. Soporta la especificación SQL99 e incluye

características avanzadas tales como las uniones (joins) SQL92.

Integridad Referencial. Soporta integridad referencial, la cual es

utilizada para garantizar la validez de los datos de la base de datos.

Lenguajes Procedurales. PostgreSQL tiene soporte para lenguajes

procedurales internos, incluyendo un lenguaje nativo denominado PL/pgSQL.

Este lenguaje es comparable al lenguaje procedural de Oracle, PL/SQL. Otra

ventaja de PostgreSQL es su habilidad para usar Perl, Python, o TCL como

lenguaje procedural embebido.

Cliente/Servidor. Usa una arquitectura proceso por usuario

cliente/servidor. Esta es similar al método del Apache 1.3.x para manejar

procesos. Hay un proceso maestro que se ramifica para proporcionar

conexiones adicionales para cada cliente que intente conectar a PostgreSQL.

41

Page 43: nuevo

Instituto Tecnológico de Villahermosa

Seguridad La seguridad de la base de datos esta implementada en varios niveles:

Protección de los ficheros de la base de datos. Todos los ficheros almacenados en la base de datos estan protegidos contra escritura por cualquier cuenta que no sea la del superusuario de Postgres.

Las conexiones de los clientes al servidor de la base de datos estan permitidas, por defecto, únicamente mediante sockets Unix locales y no mendiante sockets TCP/IP. Ha de arrancarse el demonio con la opcion -i para permitir la conexion de clientes no locales.

A cada usuario de Postgres se le asigna un nombre de usuario y (opcionalmente) una contraseña. Por defecto, los usarios no tienen permiso de escritura a bases de datos que no hayan creado.

Los usuarios pueden ser incluidos en grupos, y el acceso a las tablas puede restringirse en base a esos grupos.

Autentificación de Usuarios

La autentificación es un proceso mediante el cual el servidor de la base

de datos y el postmaster se aseguran de que el usuario que está solicitando

acceso a la base de datos es en realidad quien dice ser. Todos los usuarios

que quieren utilizar Postgres se comprueban en la tabla pg_user para

asegurarse que están autorizados a hacerlo. Actualmente, la verificación de la

identidad del usuario se realiza de distintas formas:

• Desde la shell del usuario. Un demonio que se lanza desde la shell del

usuario anota el id original del usuario antes de realizar un setuid al id

del usuario postgres. El id original del usuario se emplea como base

para todo tipo de comprobaciones.

• Desde la red. Postgres se instala como distribuido, el acceso al puerto

TCP del postmaster está disponible para todo el mundo. El ABD

configura el fichero pg_hba.conf situado en el directorio PG_DATA

especificando el sistema de autentificacion a utilizar en base al equipo

que realiza la conexión y la base de datos a la que se conecta. Por

supuesto la autentificación basada en equipos no es perfecta incluso en

los sistemas Unix. Es posible, para determinados intrusos, enmascarar

el equipo de origen.

42

Page 44: nuevo

Instituto Tecnológico de Villahermosa

Tabla Comparativa de Evaluación A continuación se presentan los factores principales que servirán de para la selección del mejor SGBD, de acuerdo a las necesidades que presenta nuestro proyecto.

Características Oracle Firebird SQL Server PostgreSQL MySQL Recuperación Si Si Si No No Copias de seguridad Si Si Si No No Segmentación Si No Si No No Copias en espejo Si Si Si No No Integridad referencial Si Si Si Si Si Nuevos tipos de datos Si No Si Si No Triggers Si Si Si Si Si Procedimientos almacenados

Si Si Si Si Si

Costo Alto Medio Medio Ninguno Ninguno Vistas Si Si Si Si Si Replicación Alto Alto Si Si No

43

Page 45: nuevo

Instituto Tecnológico de Villahermosa

Justificación del SGBD Seleccionado para el Proyecto

Después de analizar cada una de las características que ofrecen

algunos de los SGBD tanto comerciales como libres nos damos cuenta que el

software libre no ofrece muchas opciones por lo que nos inclinaremos por el

software comercial.

Tomando en cuenta cada una de las necesidades de la gestión de datos

del Museo Regional de Antropología Carlos Pellicer Cámara se llegó a la

decisión de seleccionar el SGBD MySQL, pues nos proporciona todas las

herramientas necesarias para lograr subsanar las principales necesidades y

requerimientos para el manejo de la información de la biblioteca de dicho

recinto:

Integridad referencial

Triggers

Procedimientos almacenados

Costo

Vistas

De esta manera se podrán cumplir los objetivos de controlar la

información de una manera confiable y segura, mejorando así las actividades

del actual sistema del Museo Regional de Antropología Carlos Pellicer Cámara.

44

Page 46: nuevo

Instituto Tecnológico de Villahermosa

3.3 Evaluación y Selección del Sistema Operativo

RED HAT ENTERPRISE LINUX V.4

Características y Beneficios

Red Hat Enterprise Linux v.4, introducido en Febrero de 2005, proporciona

importantes mejoras tecnológicas sobre la versión v.3. Entre las áreas de

desarrollo específico se incluyen mejoras en las capacidades de seguridad,

incremento en el rendimiento y escalabilidad del servidor, y mejoras en la

capacidad del escritorio -todo ello al mismo tiempo que se asegura un alto nivel

de compatibilidad con las versiones anteriores. Red Hat Enterprise Linux

soporta una amplia gama de aplicaciones de hardware y de software, y es la

compañía líder mundial dentro del entorno Linux enfocado a la empresa.

La siguiente sección subraya unas pocas de las nuevas características

presentes en Red Hat Enterprise Linux v.4:

Infraestructura del Kerner de Linux 2.6

Red Hat Enterprise Linux v.4 proporciona el producto comercial más estable y

robusto basado en el kernel 2.6.9 de la comunidad Linux. Los proyectos de

código abiertos, como Fedora, proporcionaron un entorno de maduración al

kernel Linux 2.6 durante el 2004. Como resultado, el kernel de Red Hat

Enterprise Linux v.4 ofrece numerosas ventajas sobre los kernels anteriores,

éstas incluyen mejoras en algoritmos y características:

• Planificador CPU genérico lógico: maneja núcleos múltiples y CPU con

tecnología hyper-thread.

• Object-based Reverse Mapping VM: incrementa el rendimiento en los

sistemas de memoria reducida.

• Read Copy Update: mejora del algoritmo SMP para las estructuras de

datos del sistema operativo.

• Planificador múltiple de E/S: capacidad de selección basada en las

aplicaciones del entorno.

45

Page 47: nuevo

Instituto Tecnológico de Villahermosa

• Soporte mejorado de SMP y NUMA: Incrementa el rendimiento y

escalabilidad de grandes servidores.

• Network interrupt mitigation (NAPI): incrementa el rendimiento en

pesados procesos de transferencia a través de la red.

Incremento en las capacidades de almacenamiento y sistemas de archivos

Numerosas ventajas han sido incorporadas a Red Hat Enterprise Linux v.4 para

incrementar la escalabilidad y rendimiento en los subsistemas de

almacenamiento de datos. Dichas mejoras incluyen:

• Rendimiento Ext3: Block Reservations y Hash Tree Directories

incrementan el rendimiento de lectura/escritura E/S y las operaciones de

búsqueda en directorios.

• Escalabilidad Ext3: La expansión de sistemas de archivos dinámico y los

sistemas de archivos de hasta 8TB son actualmente soportados.

• Administrador de volúmenes lógicos: una comprensiva actualización al

LVM provee nuevas características tales como lectura/escritura

instantánea y la actualización transaccional de metadata, al tiempo que

ofrece una interfaz (GUI) de administración nueva y flexible. La

introducción de mejoras en mirroring (copia espejo) y localización

múltiple están previstas para mediados de 2005.

• Escalabilidad: las mejoras del gestor de almacenamiento LUN posibilitan

la configuración de grandes subsistemas de almacenamiento.

• Montaje automático (automonting): la introducción de AutoFSv4

proporciona un sofisticado control de acceso a los dispositivos, ello

permite el soporte de características como montaje desde el navegador

y los servidores de replicación.

• Reducción de costos: El soporte de discos de almacenamiento seriales

ATA proporcionan un incremento en el rendimiento, una mayor densidad

y reduce el costo por megabyte sobre los tradicionales dispositivos IDE.

46

Page 48: nuevo

Instituto Tecnológico de Villahermosa

Nuevas funciones de seguridad

El suministro de sofisticadas funciones de seguridad ha sido uno de los focos

específicos de desarrollo de la versión Red Hat Enterprise Linux v.4. Entre las

nuevas características se incluyen:

• Mandatory Access Control (Control de acceso obligatorio): SELinux -

Seguridad Linux Mejorada- proporciona una infraestructura MAC que

complementa las características de seguridad del Discretionary Access

Control (Control de acceso discreto) presentes en el entorno Linux

estándar. En un entorno basado en MAC, las capacidades y privilegios

de las aplicaciones son determinadas por pólizas predefinidas y son

reforzadas por el kernel. Ello previene que aplicaciones errantes puedan

comprometer la seguridad del sistema.

• Mejoras en la gestión de memoria: varias características, como Exec

Shield y Position Independent Executable, se combinan para prevenir

que las aplicaciones sean blanco de ataques como el desborde de

buffer, etc

• Chequeo de consistencia en la compilación y el tiempo de ejecución:

nuevas técnicas de validación de buffer en el compilador GCC y la

librería Glibc reducen en gran medida el riesgo de transigencia de

aplicaciones erróneas.

Mejoramiento en las funciones de escritorio

Se ha prestado un importante énfasis para proporcionar un entorno de

escritorio rico en características y fácil de usar para todos los miembros de la

familia Red Hat Enterprise Linux (incluyendo Red Hat Desktop). Un breve

sumario de las nuevas características presentes son:

• Productividad personal: la suit de ofimática OpenOffice.org , el

navegador Firefox y el cliente de correo Evolution proporciona al usuario

funciones avanzadas

47

Page 49: nuevo

Instituto Tecnológico de Villahermosa

• Soporte de dispositivo Plug-and-play: facilita el manejo de dispositivos

como discos USB y cámaras digitales (así como aplicaciones para la

administración de fotos como gThumb)

• Multimedia: aplicaciones para audio, video y tecnología streaming como

RhythmBox, HelixPlayer, Totem y SoundJuicer.

• Entorno de usuario: las numerosas ventajas de GNOME 2.8

proporcionan un aspecto gráfico más consistente. Exhaustivas

herramientas de administración (por ejemplo los gestores de impresión y

de red y las aplicaciones de sesión compartida basadas en VNC) y

utilidades (como el cliente de mensajería instantánea Gaim, y el

procesador de imágenes GIMP) se combinan para proveer una

experiencia completa y altamente funcional al usuario.

• Interoperabilidad: tecnologías que permiten la autenticación de inicio de

sesión de usuario con Microsoft Active Directory, autenticación NTLM

para aplicaciones basadas en web y acceso a Windows Exchange

Servers desde el cliente de correo Evolution.

• IIIMF: el Internet/Intranet Input Method Framework proporciona la nueva

generación en métodos de entrada Unicode en diversos idiomas

Unicode. IIIMF ofrece características tales como soporte total de

Unicode y la habilidad de ejecutar máquinas concurrentes en múltiples

idiomas.

Características varias

Al ser una nueva versión casi todos los aspectos de Red Hat Enterprise Linux

han sido mejorados. Algunos de las más importantes mejoras son:

• Compatibilidad con versiones anteriores: Red Hat Enterprise Linux v.4

incluye librerías de compatibilidad que permiten a la mayoría de

aplicaciones de las versiones v.3 y v.2.1 ser ejecutadas sin necesidad de

ser modificadas.

• Idiomas: enfocados en estándares internacionales, tales como

OpenI18N y GB 18030, Red Hat Enterprise Linux dispone de

documentación y software en 15 idiomas: inglés, japonés, alemán,

48

Page 50: nuevo

Instituto Tecnológico de Villahermosa

portugués, coreano, italiano, francés, chino simplificado, chino

tradicional, español, devanagari, bangla, punjabi, tamil, guajarati.

• Auditoría: en un actualización programada para mediados de 2005, una

nueva facilidad de auditoría estará disponible. Dicha facilidad

proporciona una interfaz abierta y bidireccional que puede ser usada

para realizar auditorías sobre aplicaciones. Provee exhaustivas

facilidades de audición para SELinux y eventos Linux estándar.

• Servidor de archivos: la inclusión de NFSv4 proporciona características

tales como mejoras de seguridad, unión de operaciones y cierre

integrado de archivos; mientras Samba proporciona fácil acceso a

impresoras y archivos compartidos bajo Microsoft Windows

• Desarrollo de Software: proporciona la última cadena de compiladores

GCC 3.4 y un adelanto de GCC 4.0 para ofrecer la maleabilidad

estándar de los entornos de desarrollo C/C++ y Fortran 95.

• Interfaz de energía y configuración avanzada: el soporte del estándar

ACPI permite un amplio rango de capacidades de administración de

energía (monitoreo de la batería, apagado automático, suspensión), y

provee una base para el incremento de sofisticadas características en el

futuro.

• Extras: software adicional es proporcionado en el CD Red Hat Enterprise

Linux Extras y en los canales de Red Hat Network. Se incluyen

aplicaciones adicionales de escritorio (tales como Adobe Reader,

Macromedia Flash), entorno Java y fuentes con calidad de impresión

Agfa/Monotype.

Windows Server 2003, Standard Edition

Windows Server 2003 es un sistema operativo de propósitos múltiples

capaz de manejar una gran gama de funciones de servidor, en base a sus

49

Page 51: nuevo

Instituto Tecnológico de Villahermosa

necesidades, tanto de manera centralizada como distribuida. Algunas de estas

funciones del servidor son:

Servidor de archivos e impresión Servidor web y de aplicaciones web Servidor de correo Terminal Server Servidor de acceso remoto/red privada virtual (VPN) Servicio de directorio, sistema de dominio (DNS) y servidor DHCP Servidor de transmisión de multimedia en tiempo real (Streaming) Servidor de infraestructura para aplicaciones de negocios en línea

(tales como planificación de recursos de una empresa y software

de administración de relaciones con el cliente)

50

Page 52: nuevo

Instituto Tecnológico de Villahermosa

Windows Server 2003 cuenta con cuatro beneficios principales:

Beneficio Descripción

Seguro

Windows Server 2003 es el sistema operativo de servidor más

rápido y más seguro que ha existido. Windows Server 2003,

ofrece habilidad al:

Proporcionar una infraestructura integrada que ayuda a

asegurar que su información de negocios estará segura.

Proporcionar fiabilidad, disponibilidad y escalabilidad

para que usted pueda ofrecer la infraestructura de red

que los usuarios soliciten.

Productivo

Windows Server 2003 ofrece herramientas que le permiten

implementar, administrar y usar su infraestructura de red para

obtener una productividad máxima. Windows Server 2003

realiza esto al:

Proporcionar herramientas flexibles que ayuden a

ajustar su diseño e implementación a sus necesidades

organizativas y de red.

Ayudarle a administrar su red pro-activamente al

reforzar las políticas, tareas automatizadas y

simplificación de actualizaciones.

Ayuda a mantener bajos los gastos generales al

permitirles a los usuarios trabajar más por su cuenta

Conectado

Windows Server 2003 puede ayudarle a crear una

infraestructura de soluciones de negocio para mejorar la

conectividad con empleados, socios, sistemas y clientes,

Windows Server 2003 realiza esto al:

Proporcionar un servidor web integrado y un servidor de

transmisión de multimedia en tiempo real para ayudarle

a crear mas rapido, fácil y seguro una intranet dinámica

y sitios de Internet.

Proporcionar un servidor de aplicaciones integrado que

le ayude a desarrollar, implementar y administrar

51

Page 53: nuevo

Instituto Tecnológico de Villahermosa

servicios web a aplicaciones internas, proveedores y

socios.

Mejor economía

Windows Server 2003, cuando está combinado con productos

Microsoft como hardware, software y servicios de los socios de

negocios del canal brindan la posibilidad de ayudarle a obtener

el rendimiento más alto de sus inversiones de infraestructura.

Windows Server 2003 lleva a cabo esto al:

Proporcionar una guía perceptiva y de fácil uso para

soluciones que permitan poner rápidamente la

tecnología a trabajar.

Ayudarle a consolidar servidores aprovechando lo último

en metodologías, software y hardware para optimizar la

implementación de su servidor.

Bajar el coste total de propiedad (TCO) para recuperar

rápido la inversión.

52

Page 54: nuevo

Instituto Tecnológico de Villahermosa

Windows XP Professional

Características principales:

Confiabilidad

Basado en el nuevo motor de Windows XP Professional integra la base

de códigos de Windows NT y Windows 2000, que presenta una

arquitectura informática de 32 bits y un modelo de memoria

completamente protegida. Windows Xp Professional proporcionará una experiencia informática

confiable a todos los usuarios comerciales. Comprobador de controladores de dispositivos mejorado Proporciona mayores pruebas de carga para los controladores de

dispositivos Los controladores de dispositivos que superan estas pruebas son los

más sólidos disponibles, lo que garantiza la máxima estabilidad del

sistema. Escenarios de reinicio reducidos drásticamente Elimina la mayoría de los escenarios que obligaban a los usuarios

finales a reiniciar los equipos en Windows Nt 4.0 y Windows 95/98 Me. Las estructuras de los datos importantes del núcleo son de sólo lectura,

por lo que los controladores y las aplicaciones no pueden corromperlas.

Todos los códigos de controladores de dispositivos son de sólo lectura y

con protección de página. Las aplicaciones Rogue no pueden afectar negativamente las zonas del

núcleo del sistema operativo. Proporciona un mecanismo para instalar y ejecutar colateralmente varias

versiones de componentes individuales de windows.

53

Page 55: nuevo

Instituto Tecnológico de Villahermosa

Protección de archivos de Windows

Protege los archivos principales del sistema contra la sobrescritura por la

instalación de aplicaciones. Si se sobrescribe un archivo, la protección

de archivos de Windows restaura la versión correcta. Al guardar de forma segura los archivos del sistema, Windows XP

Professional mitiga muchos de los errores del sistema más comunes en

versiones anteriores de Windows. Su diseño permite que varias aplicaciones se ejecuten simultáneamente,

al tiempo que grantiza una gran respuesta y estabilidad del sistema. Memoria escalable y soporte de procesador Admite hasta 4 Gigabytes de memoria

Seguridad

Sistema de cifrado de archivos con soporte para varios usuarios

Cifra todos los archivos con una clave generada aleatoriamente. Los

procesos de cifrado y descifrado son transparentes para el usuario. En

Windows XP Professional, EFS permite que varios usuarios tengan

acceso a un documento cifrado.

El más alto nivel de protección contra piratas informáticos y robo de

datos

Seguridad IP (IPSec) Internet

Los administradores de tecnologías de la información podrán crear redes

virtuales privadas seguras con rapidez y facilidad.

54

Page 56: nuevo

Instituto Tecnológico de Villahermosa

3.4 Evaluación y Selección del Servidor Web

Características del servidor apache.

Dentro de las características del apache tenemos las siguientes.

• Es un servidor Web potente, flexible y ajustado al HTTP/1.1

• Es altamente configurable y extensible.

• Puede ser ajustado a través de la definición de módulos empleando su

propio API (Aplication Programming Interface).

• Provee todo su código fuente de forma libre y se distribuye bajo una

licencia no restrictiva.

• Se ejecuta en diversas plataformas operativas tales como: Windows

9x/NT, Macintosh, Novell NetWare, OS/2, Linux y la mayoría de los Unix

existentes: IRIX, Solaris, HPUX, SCO, FreeBSD, NetBSD, AIX, Digital

Unix, etc.

• Se desarrolla de forma acelerada estimulando la retroalimentación

desde sus usuarios a través de nuevas ideas, reportes de errores y

parches.

• Apache significa ``A PAtCHy sErver'', o sea se basa en un código y un

conjunto de ficheros ``parches''. Otros desarrolladores relacionan su

nombre con el de las tribus nativas americanas de Apaches.

• Bases de datos DBM para autenticación.

• Permiten establecer fácilmente la protección de documentos a través de

passwords para una gran cantidad de usuarios sin dañar el

funcionamiento del servidor.

• Respuestas adaptables a los errores o problemas.

• Se pueden definir ficheros o scripts de tipo CGI11.3 que respondan ante

la ocurrencia de errores internos o en las solicitudes realizadas.

• Directiva para definir múltiples índices.

• Se utiliza cuando se solicitan directorios por parte de los clientes a partir

de lo cual se puede buscar en estos y devolver un documento índice

cuyo nombre puede ser por ejemplo: index.html, index.cgi o default.html.

55

Page 57: nuevo

Instituto Tecnológico de Villahermosa

• Ilimitadas y flexibles posibilidades de redireccionamiento y definición de

alias para los URLs.

• Apache no tiene un límite establecido para definir alias y

redireccionamientos que pueden ser declarados en sus ficheros de

configuración.

• Negociación del contenido de las respuestas.

• Apache es capaz de ofrecer la mejor representación de la información

accedida de acuerdo con las capacidades del cliente solicitante.

• Soporte de hosts virtuales.

• Es la habilidad del servidor de distinguir entre los pedidos hechos a

diferentes direcciones IP o nombres de dominio definidos en la misma

máquina.

• Configuración flexible de las trazas generadas.

• Es posible adaptar el formato de las trazas obtenidas así como

redireccionarlas a través de tuberías (Unix) en aras de filtrarlas. De esta

forma se puede lograr por ejemplo dividir dinámicamente las trazas de

los hosts virtuales en distintos ficheros.

Ventajas del uso de servidor Apache.

Algunas de las ventajas son las siguientes:

• Se pueden extender las características de Apache hasta donde nuestra

imaginación y conocimientos lleguen.

• El Apache soporta Dinamic Shared Object (DSO). Gracias a ello se

pueden construir módulos que le den nuevas funcionalidades que son

cargadas en tiempos de ejecución.

• Apache puede facilitar información en varios formatos para que un

determinado cliente pueda interpretarla.

• Apache permite la creación de sitios Web dinámicos mediante:

1. El uso de CGI's.

2. El uso de Server Side Includes (SSI).

56

Page 58: nuevo

Instituto Tecnológico de Villahermosa

3. El uso de lenguajes de Scripting como PHP, javascript, Python.

4. El uso de Java y páginas jsp.

Características Del IIS 5.0

A partir de la versión 5.0, el servidor web IIS ha incorporado servicios y una

funcionalidad que lo asemaja al servidor Apache. Los expertos consideran que

no tiene la capacidad y confiabilidad del servidor Apache. Sin embargo, puede

ser una herramienta aceptable para empresas que usan Windows 2000 y

quieren tener su propio servidor web.

Seguidamente sigue un resumen de las nuevas características del servidor web

IIS 5.0, que te puede ayudar a evaluarlo y ver si te es útil para implementar tu

propio servidor.

Confiabilidad y performance. Protección de aplicaciones, fácil re-iniciación

del servidor, control del uso de la CPU, agrupación de sockets de comunicación

de datos.

Protección de aplicaciones. Evita la caída o bloqueo del servidor web, cuando

alguna aplicación falla y entra en un ciclo infinito. El servidor inetinfo.exe

ejecuta como un proceso independiente. Las aplicaciones (DDLHost.exe) que

no son críticas, ejecutan agrupadas (pooled process), si una de ellas falla, todo

el conjunto falla. Las aplicaciones críticas ejecutan como procesos

independientes, que no son afectados por fallas ajenas.

Para fijar el nivel de protección de aplicaciones, tienes que abrir la lista

desplegable respectiva, en las Propiedades de la ficha titulada Directorio virtual o Directorio HOME y luego elegir Alta (independiente) o Media

(agrupada).

Confiable re-iniciación del servidor IIS. En las anteriores versiones, re-iniciar la

57

Page 59: nuevo

Instituto Tecnológico de Villahermosa

máquina era la forma de iniciar nuevamente el servidor web IIS. Ahora

pulsando un elemento en la consola de manejo MMC se puede en forma

confiable re-iniciar el IIS. También se lo puede re-iniciar desde la línea de

comandos.

Control del uso de la CPU y del ancho de banda. El administrador puede

controlar el uso del procesador por parte de los sitios web y también el volumen

de datos por segundo que transmiten. Puede planificar y distribuir

convenientemente el uso de los recursos.

Agrupación de sockets de comunicación. Un socket (zócalo) es un identificador

para una red y un servicio de comunicación de datos. El socket se crea cuando

el sitio web inicia su operación. Las estructuras del socket consumen bastante

memoria, lo cual limita el número de sitios web activos simultáneamente.

En el IIS 5.0 los sitios web que tienen direcciones IP diferentes y que

comparten el mismo puerto (servicio), también comparten el mismo socket.

Esto se denomina socket pooling (agrupación). Aumentan los sitios web activos

y se mejora la eficiencia del servidor web.

Hospedaje de múltiples sitios web. El IIS 5.0 tiene la capacidad de hospedar

múltiples sitios web en un mismo servidor, usando tres técnicas: asignando

diferentes puertos, diferentes direcciones IP y diferentes nombres de dominios.

Puertos distintos. Una misma dirección IP y nombre de dominio, permiten

hospedar distintos sitios web, asignándole a cada uno un número de puerto

diferente.

Ejemplos, al dominio www.aplice.net le corresponde la IP 202.101.20.82, la

sección facturación tiene su propia página web en el puerto 808 y la sección

cobranza con tarjetas de créditos tiene su propia página web en el puerto 101.

La dirección de ambas páginas son:

58

Page 60: nuevo

Instituto Tecnológico de Villahermosa

Sección de facturación www.aplice.net:808 y cobranza www.aplice.net:101.

Múltiples direcciones IP. Se pueden asignar varias direcciones IP a una tarjeta

interfase o bien se pueden tener varias tarjetas interfases en el mismo

computador. De esta forma, muchos servidores web virtuales pueden

implementarse en un solo computador.

Cada servidor virtual, tiene que tener su IP y su dominio registrado en el

servidor DNS.

Dominios diferentes. En esta técnica se comparte una misma dirección IP entre

varios nombres de dominios diferentes. Un servidor Windows 2000 con una

sola dirección IP, puede hospedar múltiples sitios web.

Esta técnica es posible porque en el protocolo HTTP 1.1 se incluye en el

encabezado, el parámetro host el cual especifíca el nombre del dominio del

sitio web. De esta forma, el servidor web IIS puede distinguir los sitios web que

comparten una misma dirección IP.

Cada uno de los nombres de dominios tiene que ser registrado en el servidor

DNS.

Agrupación de servidores. Una forma de mejorar la confiabilidad y

disponibilidad de los sitios web, consiste en interconectar dos o más

computadores. Cada uno de ellos puede actuar como respaldo de los demás.

Cuando un servidor falla, otro toma su trabajo. La carga de trabajo se distribuye

en forma balanceada entre todos.

El servidor avanzado Windows 2000, tiene software para agrupar

computadores (clustering), de forma tal que para los usuarios, parecen ser un

solo computador.

59

Page 61: nuevo

Instituto Tecnológico de Villahermosa

El servidor web IIS se puede configurar para manejar una red multi-nodos agrupada y balanceada, que permite alta disponibilidad y escalabilidad.

También para manejar una red agrupada de dos nodos, que permite una alta

disponibilidad de los servicios web.

Replicación. Consiste en la duplicación de registros de configuración y

archivos de un servidor en otro servidor del grupo. Con el objetivo de que todos

los servidores del grupo (cluster) puedan brindar los mismos recursos a los

usuarios.

Extensiones de Front Page. El IIS brinda soporte al sistema Front Page que le

permite al webmaster, administrar y mantener un sitio web usando una

interfase gráfica. El Front Page permite crear, editar e instalar en el servidor

las páginas web, a la vez que efectuar muchas otras tareas de mantenimiento

que requiere un sitio web.

La consola MMC permite administrar las extensiones del servidor de Front

Page.

Acceso remoto a directorios web. Un directorio WebDAV (Web Distributed

Authoring and Versioning) en el servidor, permite a los usuarios autorizados

compartir los documentos através de una intranet o de Internet. En forma

remota los autores pueden editar, mover, y borrar archivos en el directorio

WebDAV. Cuando un autor edita un documento, permite que los demás

autores puedan leerlo, pero no que puedan modificarlo.

El acceso a un directorio WebDAV puede hacerse desde Windows 2000,

mediante el Internet Explorer 5.x o desde cualquiera de los programas de

Office 2000.

En Windows 2000 puedes usar el utilitario Agregar sitio de red (Add Network

60

Page 62: nuevo

Instituto Tecnológico de Villahermosa

place wizard) para desplegar el contenido del directorio WebDAV como si fuera

parte de tu propio sistema de archivos en tu PC local.

Usando Internet Explorer 5.x puedes conectarte a un directorio WebDAV y

efectuar las mismas operaciones que desde Windows 2000.

Desde cualquier programa de Office 2000 puedes crear, editar, guardar y

publicar archivos en forma directa en un directorio WebDAV.

Para controlar el acceso a un WebDAV se usa el sistema de autenticación de

Windows 2000, el protocolo Kerberos v5, y la autenticación de huella digital que

permite el HTTP 1.1 para transmitir claves en forma segura através de Internet.

Carpeta web virtual. El soporte de carpeta web virtual (Web folder) permite a

los usuarios navegar directorios en servidores web remotos, como si fueran

parte de su sistema local. Los usuarios pueden arrastrar y soltar (drag and

drop), recuperar y modificar archivos, y efectuar otras tareas habituales. Un

web folder, abrevia el acceso a un WebDAV.

Sistema de archivos distribuido. Te permite unificar bajo un mismo espacio de nombres, archivos en diferentes computadores. Los usuarios perciben que

todos los archivos están ubicados en un mismo sitio de la red, aunque estén

dispersos en servidores remotos.

Transferencia FTP de archivos. Cuando la transferencia de un archivo se

interrumpe, es posible recomenzar y continuar a partir del carácter siguiente al

útimo transferido. Antes habia que transferir desde el principio del archivo,

aunque faltaran unos pocos bytes.

Seguridad del servidor web IIS. El IIS se beneficia de las características

61

Page 63: nuevo

Instituto Tecnológico de Villahermosa

estándares de seguridad de Internet, las cuales están completamente

integradas en el Windows 2000.

Estándares de seguridad. El IIS soporta los siguientes protocolos de seguridad:

Fortezza. Este el estándar de seguridad del gobierno de EE.UU. que satisface

los requerimientos de seguridad para el intercambio de mensajes. Permite

confiabilidad, integridad, autenticación y no-repudio de autoría (desconocer ser

el autor).

Secure Socket Layer. El SSL 3.0 es un protocolo de seguridad usado

ampliamente por los navegadores y servidores. Permite flujos de datos seguros

(no descifrable), verificar la identidad de los participantes (autenticar) e

intercambiar mensajes confidenciales.

Transport Layer Security. El TLS se basa en el SSL. Brinda autenticación

criptográfica de los usuarios y ofrece a los programadores una forma de escribir

código con instrucciones TLS que puede comunicarse con otros programas que

usan TLS.

PKCS #7. Este protocolo describe el formato de firmas digitales y sobres

digitales, que son encriptados. Los certificados digitales que maneja el servidor

IIS 5.0 lo usan.

PKCS #10. Este protocolo describe el formato de las solicitudes de certificados

que son remitidos a una autoridad de certificación.

El utilitario de certificados, simplifica las tareas de mantenimiento y

configuración de sitios web que usan SSL y autenticación. Obtener, mantener y

62

Page 64: nuevo

Instituto Tecnológico de Villahermosa

renovar un certificado digital de un servidor puede concretarse con facilidad,

usando este wizard.

El utilitario de permisos. Facilita al administrador las tareas de establecer y

configurar los permisos y los accesos autenticados de un sitio web. En los sitios

web públicos se usa autenticación anónima, que permite acceso a todas las

páginas y aplicaciones ASP.

Los sitios web seguros, son de acceso restringido, un ejemplo típico es una

extranet. La extranet es una intranet a la cual se accede através de Internet.

Normalmente el acceso a una extranet se otorga a los miembros de una

empresa u organización, y no al público.

El utilitario de lista de certificados, permite manejar y configurar las listas de

certificados confiables. Las CTLs (Certificate Trust List) son especialmente

útiles para los proveedores de hospedaje de sitios web, que necesitan manejar

la CTL de cada sitio web.

Ambiente de aplicación. El lenguaje ASP incluído en el servidor IIS 5.0,

combinado con el servicio de componentes y el acceso de datos de Windows

2000, ofrecen un ambiente sólido para el desarrollo de aplicaciones para

Internet.

Se mencionan seguidamente las principales mejoras introducidas en el

lenguaje ASP.

Capacidad de control de flujo. Cuando se usa Response.Redirect para cargar

otra página (redireccionar) en el mismo servidor, se produce un ciclo en el flujo

de datos, servidor-cliente-servidor. Se reduce la performance del servidor y el

ancho de banda. Para corregir esta ineficiencia se introdujeron en el objeto

Server las dos funciones: Server.Transfer y Server.Execute. Éstas permiten

cargar o ejecutar otra página ASP.

63

Page 65: nuevo

Instituto Tecnológico de Villahermosa

Evaluación y Selección de las Herramientas Web

Dreamweaver

Dreamweaver es la herramienta de diseño de páginas Web más avanzada,

tal como se ha afirmado en muchos medios. Aunque sea un experto

programador de HTML el usuario que lo maneje, siempre se encontrarán en

este programa razones para utilizarlo, sobretodo en lo que a productividad se

refiere.

Cumple perfectamente el objetivo de diseñar páginas con aspecto profesional, y soporta gran cantidad de tecnologías, además muy fáciles de

usar:

• Hojas de estilo y capas

• Javascript para crear efectos e interactividades

• Inserción de archivos multimedia...

Además es un programa que se puede actualizar con componentes, que

fabrica tanto Macromedia como otras compañías, para realizar otras acciones

más avanzadas.

En resumen, el programa es realmente satisfactorio, incluso el código generado es de buena calidad. La única pega consiste en que al ser tan

avanzado, puede resultar un poco difícil su manejo para personas menos

experimentadas en el diseño de Webs.

Dreamweaver ha evolucionado mucho en su versión 4, que incluye soporte

para la creación de páginas dinámicas de servidor en ASP, con acceso a bases

de datos (versión Ultradev) y una mayor integración con otras herramientas de

Macromedia como Fireworks.

Desde su lanzamiento, Dreamweaver ha conseguido ser el elegido de casi el

80% de los desarrolladores profesionales de páginas web, tanto en su versión

para Windows como en Macintosh. El año pasado su capacidad aumentó

enormemente con la versión Ultradev, que al editor de páginas Web añade un

64

Page 66: nuevo

Instituto Tecnológico de Villahermosa

potente entorno de desarrollo para servidor. Hace poco Macromedia sacó al

mercado la nueva versión de Dreamweaver Ultradev, que mejora más todavía

a la anterior. El número de la versión ha saltado directamente de la 1.0 a la 4.0

para estar a la par con la numeración de otros productos de la casa, como

Dreamweaver y Fireworks.

Pasemos a revisar primeramente el núcleo de la aplicación, es decir, el editor

de páginas Web llamado Dreamweaver 4.0. Esta aplicación de desarrollo

siempre ha tenido multitud de características avanzadas que permiten diseñar

páginas Web de modo totalmente WYSIWYG (What you see is what you get, lo

que ves es lo que obtienes). Con ella resulta muy sencillo construir páginas

Web avanzadas que incluyen JavaScript para conseguir todo tipo de efectos y

animaciones, respetando además el código que el programador escribe

manualmente, sin utilizar la herramienta.

A las características avanzadas que ya poseía el entorno (como Roundtrip

HTML, que arregla automáticamente HTML mal construido en editores

externos; manipulación visual de marcos; el Quick Tag editor, que permite

editar el contenido de etiquetas HTML directamente en la representación visual

de las mismas, etcétera), ahora se añaden otras como una edición de código

mejorada, un depurador de JavaScript integrado, plantillas para páginas más

perfeccionadas, progresos en la integración con otras aplicaciones (como

Flash, Fireworks e incluso Microsoft SourceSafe para control de versiones de

código). Es especialmente destacable la adición del Panel de Activos y del

Panel de Referencia. El primero de ellos permite agrupar todos los elementos

que deseemos utilizar en un sitio Web (gráficos, colores, URL, archivos de

Flash, vídeos, plantillas...) de forma que siempre tengamos a mano cualquier

elemento listo para ser utilizado. Puede verse en la parte inferior izquierda de la

figura adjunta.

Aunque Dreamweaver está dirigido principalmente al mercado profesional, el

Panel de Referencia puede resultar de mucha ayuda a los usuarios más

noveles, ya que muestra en todo momento una referencia con todos los

detalles de sintaxis y aplicación de la etiqueta HTML o CSS sobre la que se

65

Page 67: nuevo

Instituto Tecnológico de Villahermosa

está trabajando, con ejemplos, código JavaScript y las diferencias de aplicación

existentes entre los diferentes navegadores. Desde Macromedia Exchange se

pueden obtener referencias complementarias de ASP, JSP, CFML, u otros

lenguajes. Otra característica digna de mención es el nuevo Modo de

Distribución, con el que se convierte en una tarea sencilla la colocación precisa

de los elementos en la página sin necesidad de usar capas (ver recuadro

adjunto).

Dreamweaver Ultradev 4.0 permite la creación visual de aplicaciones web

dirigidas por bases de datos albergadas en el servidor. Trabaja con tres de los

principales lenguajes de servidor utilizados en la actualidad: Active Server

Pages, Cold Fusion y Java Server Pages. De este modo, es posible crear

desde un mismo entorno aplicaciones para la gran cantidad de plataformas de

servidor distintas que soportan estos lenguajes, ofreciendo al mismo tiempo un

control total sobre el código fuente, cosa que no ocurre con otros productos

como por ejemplo Drumbeat.

Con Ultradev se pueden conectar las páginas web a bases de datos (con

ODBC, JDBC u OLEDB) o a JavaBeans, añadir lógica de servidor en

cualquiera de los tres lenguajes, visualizar previamente los datos de la

aplicación en el área de trabajo, e incluso crear nuestros propios

comportamientos de servidor de manera sencilla con el nuevo Server

Behaviour Builder. Todo esto sin necesidad de ser programador, aunque, claro

está, para extraer toda su potencia conviene serlo.

En la voluminosa caja de este producto se incluyen los manuales en castellano

de Dreamweaver y Ultradev (es decir, del núcleo para diseño y de las

herramientas de desarrollo para servidor). En los CD que encontramos en la

caja se entregan las versiones para Windows y Macintosh de Dreamweaver

Ultradev, la versión completa del editor de páginas web Allaire Homesite 4.5

para Windows, una versión de prueba de Bare Bones BBEdit para Mac, la

versión 3.5 el servidor de aplicaciones WebSphere de IBM y el servidor de Cold

Fusion. Un paquete muy completo, como se puede observar.

Por otra parte, al ser usuarios registrados de Dreamweaver tenemos acceso al

66

Page 68: nuevo

Instituto Tecnológico de Villahermosa

portal www.exchange. macromedia.com, lugar desde el que podremos

descargar decenas de extensiones para el entorno de desarrollo que nos

facilitarán el trabajo. Existen extensiones para crear aplicaciones WAP,

herramientas para comercio electrónico, para creación de contenidos para

enseñanza, etc... Este portal ofrece, sin duda, un enorme valor añadido a la

compra del producto.

Dreamweaver Ultradev ofrece una gran cantidad de características avanzadas

para el desarrollo en Internet, tanto en el cliente como en el servidor; no en

vano es el entorno de programación web más utilizado profesionalmente en

todo el mundo. Su precio es bastante asequible si consideramos todo lo que

ofrece al programador de páginas web profesional. Además, si no nos interesa

la parte de programación en el servidor se puede adquirir solamente la parte de

diseño (Macromedia Dreamweaver 4). Las empresas o profesionales que se

involucren también en el diseño gráfico de sus creaciones se pueden comprar

Dreamweaver o Ultradev junto con Fireworks, ahorrándose una cantidad

apreciable sobre la compra de los productos por separado y obteniendo una

estupenda herramienta de programación web al mismo tiempo que un

excelente editor gráfico y creador de contenidos, como es Fireworks.

COLDFUSION

ColdFusion, según Macromedia, combina un lenguaje intuitivo, basado en tags,

rico, con herramientas visuales y un servidor de aplicaciones Web

probadamente confiable, para entregar la manera más rápida de desarrollar

poderosas aplicaciones web.

ColdFusion es una herramienta que corre en forma concurrente con la mayoría

de los servidores web de Windows, Linux y Solaris (también en servidores web

personales en Windows 98 y puede ser usado para intranets). El servidor de

aplicaciones web de ColdFusion trabaja con el servidor HTTP para procesar

peticiones de páginas web. Cada vez que se solicita una página de ColdFusion,

el servidor de aplicaciones ColdFusion ejecuta el script o programa contenido

en la página.

67

Page 69: nuevo

Instituto Tecnológico de Villahermosa

ColdFusion es un lenguaje de programación, puede crear y modificar variables

igual que en otros lenguajes de programación que nos son familiares. Posee

controles de flujo de programas, como IF, Switch Case, Loop,etc. Tiene

muchas funciones built-in para realizar tareas más complicadas como averiguar

que día caerá el 3 de Agosto del 2007

"DayOfWeekAsString(DayOfWeek('2007/08/03'))".

No es un lenguaje de bases de datos, pero interactúa de manera simple con

bases de datos (Sybase, Oracle, MySQL,SQL, o Access). Usando SQL

estándar, las páginas y aplicaciones web pueden fácilmente recuperar,

guardar, formatear y presentar información dinámicamente.

ColdFusion es un lenguaje basado en tags, si te sientes cómodo con HTML, te

encantará CFML (ColdFusion Markup Language). Muchas de las funciones

poderosas de ColdFusion, como leer desde y escribir en discos duros del

servidor, son basadas en tags. Así como el tag <Table> puede tener

argumentos como 'width' o 'align', el tag <CFFILE> tiene argumentos que

especifican 'action=read/write/copy/delete', path=' etc.

ColdFusion integra tecnologías. ¿No sería agradable si no tuvieras que escribir

todo el JavaScript para tus páginas?. El tag <CFFORM> construirá

automáticamente todo el código JavaScript para verificar los campos

requeridos antes de hacer submit al form. ColdFusion también tiene tags para

COM, Corba y Applets y Servlets de Java.

Es escalable. ColdFusion fue diseñado para desarrollar sitios complejos y de

alto tráfico. A veces, el problema más grande para un diseñador web es que su

sitio se vuelve popular. ColdFusion está diseñado para correr en máquinas

multi-procesador, y permite construir sitios que pueden correr en clusters de

servidores.

Es un lenguaje server-side. A diferencia de JavaScript y Applets Java, que

corren en el cliente o en browsers, ColdFusion corre en el servidor web. Esto

significa que los scripts escritos en ColdFusion correrán de la misma manera

en cualquier browser.

68

Page 70: nuevo

Instituto Tecnológico de Villahermosa

¿por qué usar Coldfusion? Permite construir aplicaciones Web rápidamente

• Mejora la productividad gracias al lenguaje de scripting del servidor

basado en tags, aplicado de manera única en aplicaciones web.

• Acelera el desarrollo con un conjunto poderoso de herramientas

poderosas de diseño, programación, depuración e implantación.

• Permite a los equipos de desarrollo colaborar de manera más efectiva

compartiendo el mismo servidor y trabajando local o remotamente.

Ensambla soluciones poderosas fácilmente

• El servidor ColdFusion provee funcionalidades built-in como graficar,

seguridad y búsqueda.

• Integración completa con la empresa, se conecta con todo el rango de

sistemas backend, incluyendo bases de datos, servidores de mail,

directorios, y aplicaciones empaquetadas. Se integra con tecnologías de

empresa y de internet, incluyendo COM, CORBA, EJB, XML, C/C++ y

Java.

• Posee inteligencia de negocios. Permite crear planillas y reportes

tabulares de calidad profesional.

• Completa búsqueda de texto. Permite indexar fácilmente y buscar

muchos tipos de contenido, incluyendo páginas Web y documentos

Microsoft Office 2000.

Entrega un alto desempeño y confiabilidad

• Arquitectura de alto desempeño. Asegura que las aplicaciones sean de

implantación multiplataforma, entrega un avanzado thread pooling,

caching de páginas built-in, consultas persistentes y pooling de

conexiones a bases de datos.

• Administración fácil. Simplifica la implantación y la administración del

servidor a través de una poderosa consola de administración basada en

69

Page 71: nuevo

Instituto Tecnológico de Villahermosa

Web, reportes robustos de servidor y herramientas de análisis, además

de integración con los sistemas de administración de la empresa.

• Clustering de servidor. Provee balance de carga y recuperación

automática para asegurar que las aplicaciones se mantengan

consistentemente disponibles y se escala fácilmente para manejar tráfico

creciente.

Ventajas, según CFM resources: CFML hace fácil la programación web para nuevos desarrolladores, con más

de 70 tags CFML y sobre 200 funciones personalizadas, prácticamente

cualquier aplicación web puede ser construida rápidamente. ColdFusion puede

ser usado en un sitio cada vez que se necesita interacción con el usuario.

Procesa formularios, hace seguras algunas partes del sitio, y recolecta o

publica datos. Se puede usar para construir diarios murales, clientes de POP

mail, calendarios en línea, y salas de chat. Se pueden escribir scripts para

rastrear estadísticas.

Usando ColdFusion se ahorra dinero en mantenimiento. Se gasta mucho más

dinero en ajustar el software a nuevos requerimientos que en el desarrollo

inicial, ColdFusion es experto en el área de mantenimiento sobre otras

herramientas middleware para crear sitios Web dinámicos, ya que:

Esconde la complejidad, usa menos líneas y son más intuitivas para alcanzar

resultados, permite al usuario migrar a otros servidores web y motores de

bases de datos con pocos cambios y sin plug-ins externos.

Permite setear y olvidarse de los defaults para el acceso a bases de datos, el

programador puede setear los detalles de la conexión a la base de datos una

vez y después sólo referirse a la fuente de los datos con un simple nombre. En

cambio, con ASP, los detalles de la conexión, como username y password,

deben ser repetidos en el código cada vez que se utiliza la fuente de los datos.

Permite setear y olvidarse de la administración de sesiones. Un archivo global,

que es transparentemente incluido al comienzo de cada página puede asignar

un ID de sesión y un símbolo que hace difícil perder la sesión y puede asociarla

transparentemente ( através de cookies o URLs) con todas las páginas

70

Page 72: nuevo

Instituto Tecnológico de Villahermosa

accesadas por un cliente. La creación de símbolos y la verificación de que el

símbolo está amarrado a el ID de la sesión se maneja automáticamente. Otros

middleware fuerzan al programador a manejar estos detalles.

ColdFusion simplifica el almacenamiento de variables, el programador puede

manipular fácilmente las variables apropiadas a su sesión lógica. Lo mismo

pasa con las variables en el servidor, en la aplicacióny al nivel de página. Otros

middleware necesitan más compromiso del programador y más trabajo para

que sea escalable.

ColdFusion hace loop implícito sobre consultas y listas. Sabe como hacer loop

sobre las columnas de una consulta. Obtiene automáticamente la siguiente

columna cuando no hay nada más que hacer con la columna actual. Se detiene

automáticamente cuando no hay más columnas. Estos detalles no se codifican

y no necesitan ser revisados durante el mantenimiento.

ColdFusion genera y envía javascript transparentemente on the fly cuando

ciertos tags de input son utilizados. Esto facilita el chequeo de inputs del lado

del cliente sin forzar al programador a escribir, revisar y modificar javascript

para hacer esto.

ColdFusion usa menos líneas de código y son más intuitivas. supongamos que

se necesita desplegar información de una base de datos.

ASP

Características generales de ASP

Las principales características de la tecnología ASP y de sus páginas

asociadas son:

• Es gratuita. Viene implementada por defecto en los servidores Web

PWS (Windows 95-98-Millenium) e IIS (Windows NT-2000-XP). Además

también es posible implementarla en otros servidores, aunque hace falta

la instalación de las extensiones adecuadas.

• Se puede mezclar código ASP con código HTML y código de script en

cliente, sin tener que compilarlos por separado. Esto facilita la

71

Page 73: nuevo

Instituto Tecnológico de Villahermosa

construcción de páginas ASP, siendo posible escribirlas en un simple

editor de textos (Notepad, Word, etc.).

• El código ASP se ejecuta en el servidor Web, produciendo como salida

HTML puro (junto con código de script en el cliente, si así se precisa).

Por este motivo, su resultado es interpretado correctamente por

cualquier navegador Web estándar, aunque se utilice VBScript,

compatible tan sólo con Internet Explorer y los navegadores en él

basados (aunque es posible ejecutar código VBScript en Nestcape

Navigator usando el plug-in ScriptActive, de la casa NetCompass).

• Permite usar componentes escritos en otros lenguajes de programación,

como Visual Basic, Delphi, etc., que pueden ser llamados desde los

propios guiones ASP.

• Se ha portado a la plataforma Java, lo que hace que pueda ser utilizado

en casi cualquier sistema operativo.

• Permite acceder a las bases de datos de una forma rápida y sencilla,

siendo éste uno de sus principales usos.

• También permite el uso de componentes OLE, acceso a ficheros, a login

del sistema, enviar correo, etc.

• Tiene persistencia de variables en memoria entre distintas

visualizaciones de página, permitiendo con ello manejar sesiones de

usuario, con lo que se resuelve uno de los mayores problemas de la

programación Web, derivado de la no orientación a conexión del

protocolo HTTP.

Herramientas necesarias para trabajar con ASPComo hemos dicho antes, para escribir código ASP sólo hace falta un editor de

textos cualquiera, desde el sencillo Notepad hasta editores de texto más

complejos, como Word. También se puede desarrollar en editores Web

comunes, como Allaire HomeSite, Macromedia Dreamweaver, etc. Para usos

avanzados existen aplicaciones especialmente concebidas para trabajar con

ASP, como Visual InterDev, de Microsoft.

72

Page 74: nuevo

Instituto Tecnológico de Villahermosa

En cambio, para poder visualizar páginas ASP hace falta disponer de un

servidor Web que implemente la tecnología necesaria. Para ello podemos usar

dos servidores de Microsoft:

• Personal Web Server, PWS: Es en realidad una especie de servidor

Web “de juguete”, pero que permite una instalación fácil y una perfecta

visualización de páginas ASP, y viene de forma gratuita con Windows

95-98-Millenium, por lo que es una solución ideal para trabajar “en local”.

• Internet Information Server, IIS: Este es ya un servidor Web en toda

regla, que no sólo permite implementar servicios de páginas Web

basados en el protocolo HTTP, si no que también suministra servicios de

correo, noticias, servidor seguro, etc. Su instalación y configuración son

mucho más complejas que las del PWS, siendo su uso indicado en

servidores Web públicos, accesibles desde Internet o desde una

Intranet.

PHP

Algunas características de PHP

Las cuatro grandes características: Velocidad, estabilidad, seguridad y

simplicidad.

Velocidad: No solo la velocidad de ejecución, la cual es importante, sino

además no crear demoras en la máquina. Por esta razón no debe requerir

demasiados recursos de sistema. PHP se integra muy bien junto a otro

software, especialmente bajo ambientes Unix, cuando se configura como

módulo de Apache, esta listo para ser utilizado.

Estabilidad: La velocidad no sirve de mucho si el sistema se cae cada cierta

cantidad de ejecuciones. Ninguna aplicación es 100% libre de bugs, pero

teniendo de respaldo una increíble comunidad de programadores y usuarios es

mucho más difícil para los bugs sobrevivir. PHP utiliza su propio sistema de

73

Page 75: nuevo

Instituto Tecnológico de Villahermosa

administración de recursos y dispone de un sofisticado método de manejo de

variables, conformando un sistema robusto y estable.

Seguridad: El sistema debe poseer protecciones contra ataques. PHP provee

diferentes niveles de seguridad, estos pueden ser configurados desde el

archivo .ini

Simplicidad: Se les debe permitir a los programadores generar código

productivamente en el menor tiempo posible. Usuarios con experiencia en C y

C++ podrán utilizar PHP rápidamente.

Conectividad: PHP dispone de una amplia gama de librerías, y agregarle

extensiones es muy fácil. Esto le permite al PHP ser utilizado en muchas áreas

diferentes, tales como encriptado, gráficos, XML y otras.

Ventajas de PHP

PHP corre en (casi) cualquier plataforma utilizando el mismo código

fuente, pudiendo ser compilado y ejecutado en algo así como 25

plataformas, incluyendo diferentes versiones de Unix, Windows

(95,98,NT,ME,2000,XP) y Macs. Como en todos los sistemas se utiliza

el mismo código base, los scripts pueden ser ejecutados de manera

independiente al OS.

La sintaxis de PHP es similar a la del C, por esto cualquiera con

experiencia en lenguajes del estilo C podrá entender rápidamente PHP.

Entre los lenguajes del tipo C incluimos al Java y Javascript, de hecho

mucha de la funcionalidad del PHP se la debe al C en funciones como

fread() o srtlen(), así que muchos programadores se sentirán como en

casa.

Muchas interfaces distintas para cada tipo de servidor. PHP actualmente

se puede ejecutar bajo Apache, IIS, AOLServer, Roxen y THTTPD. Otra

alternativa es configurarlo como modulo CGI.

74

Page 76: nuevo

Instituto Tecnológico de Villahermosa

Puede interactuar con muchos motores de bases de datos tales como

MySQL, MS SQL, Oracle, Informix, PostgreSQL, y otros muchos.

Siempre podrás disponer de ODBC para situaciones que lo requieran.

Una gran variedad de módulos cuando un programador PHP necesite

una interfase para una librería en particular, fácilmente podrá crear una

API para esta. Algunas de las que ya vienen implementadas permiten

manejo de gráficos, archivos PDF, Flash, Cybercash, calendarios, XML,

IMAP, POP, etc.

Rapidez. PHP generalmente es utilizado como modulo de Apache, lo

que lo hace extremadamente veloz. Esta completamente escrito en C,

así que se ejecuta rápidamente utilizando poca memoria.

Seleccion de las Herramientas WEB

Dreamweaver

Es utilizado debido a que proporciona la creación de paginas web de manera

rápida y por que actualmente proporciona una de las herramientas mas

eficaces tanto para programadores profesionales como para aquellos

principiantes, además de que es compatible con muchas tecnologías. También

nos permite generar código de buena calidad de manera fácil y rápida, es esta

facilidad de código lo cual nos proporciona ventajas ya que el tiempo es de

mucha importancia en la creación del proyecto.

Coldfusion

Nos permite construir paginas web de manera fácil, mejora la productividad de

la pagina e integrar al mismo tiempo varias tecnologías, además el coldfusion

no siendo un lenguaje de base de datos nos proporciona la facilidad para

interactuar de manera simple con muchos sistemas manejadores de base de

datos, en nuestro caso con MySQL. También este programa Acelera el

desarrollo con un conjunto poderoso de herramientas poderosas de diseño,

programación, depuración e implantación.

75

Page 77: nuevo

Instituto Tecnológico de Villahermosa

3.5 Requerimientos del equipo servidor y equipo cliente

Gabinete ATX

Procesador Pentium IV o Athlon que sea de 1.5 o superior

Memoria Ram de 256 mb o superior

Disco duro de 40 Gb o superior

Monitor SVGA de 15’ o superior

Mouse

Teclado

Unidad de floppy de 3 ½

Tarjeta de video no integrada de 64 Mb o superior

76

Page 78: nuevo

Instituto Tecnológico de Villahermosa

77

Page 79: nuevo

Instituto Tecnológico de Villahermosa

4.Diseño de la solución

4.1 Diseño de la arquitectura de la aplicación Web

Servidor WEB: Apache Sistema Operativo: Windows XP Professional

MY SQL Usuarios Sistema Operativo: Windows Professional

78

Page 80: nuevo

Instituto Tecnológico de Villahermosa

4.2 Diseño lógico de la Base de Datos (esquema relacional)

79

Page 81: nuevo

Instituto Tecnológico de Villahermosa

4.3 Definición de la estructura de la Base de Datos (Descripción de tablas y

campos por base de datos)

AUTOR

id_autor int (4) primary key id del autor

nombre text not null nombre del autor(es)

Esta tabla se encarga de almacenar los autores de los libros ya que cada libro

puede contener más de un autor.

CATEGORIA

id_categoria int (3) primary key id de la categoria del libro

categoria text not null

nombre de la categoría 1

del libro (mayas, zoques,

olmecas…)

CATEGORIA2

id_categoria2 int (3) primary key id de la categoria del libro

Categoria2 text not null

nombre de la categoria 2

del libro (mayas, zoques,

olmecas…)

CATEGORIA3

id_categoria3 int (3) primary key id de la categoria del libro

Categoria3 text not null

nombre de la categoria 3

del libro (mayas, zoques,

olmecas…)

Las tablas categoría, Categoria2 y Categoría3 almacenan las categorías a las

que pertenecerá el libro como por ejemplo Mayas, Zoques u Olmecas y cada

libro puede contener hasta tres categorías diferentes.

80

Page 82: nuevo

Instituto Tecnológico de Villahermosa

ANAQUEL

id_anaquel int (2) primary key

id del anaquel donde se

encuentra el libro

anaquel Int (2) not null

Nombre del anaquel

donde se encuentra el

libro (anaquel 1, anaquel

2..)

En esta tabla se guarda el número del anaquel de la biblioteca en donde se

encuentra ubicado el libro

UBICACIÓN

id_ubicacion1 int (1) primary key id de la Ubicacion

Ubicacion1 Int (1) not null Ubicación del libro

Esta tabla guarda el entrepaño en el que se encuentra el libro

IDIOMA

id_idioma int (2) primary key id del idioma del libro

idioma Varchar (20)not null Idioma del libro

Esta tabla guarda el idioma en que esta escrito el libro

NATURALEZA

id_naturaleza int (2) primary key id del contenido del libro

contenido Varchar (30)not null

Tipo de contenido del libro

(resumen, bibliografico….)

Esta tabla almacena el Tipo de contenido del libro: resumen, bibliográfico, etc.

81

Page 83: nuevo

Instituto Tecnológico de Villahermosa

SERIE

id_coleccion_serie int (4) primary key

id de la colección o serie

del libro

serie Varchar (40)not null

Nombre de la serie o

colección del libro

En esta tabla se almacena el nombre de la serie a la que pertenece el libro.

TIPO_COLECCION

id_tipo_coleccion int (2) Primary key id del tipo de colección

Tipo_coleccion Varchar (20)not null

Tipo de la colección (libro,

revista…)

En esta tabla se guarda el tipo de colección de libro que puede ser como por

ejemplo un libro, revista, etc.

EDITORIAL

id_editorial int (4) primary key id de la editorial del libro

editorial Varchar (40)not null Nombre de la editorial

En esta tabla se guarda el nombre de la editorial que contiene el libro.

TIPO_DE_PUBLICACION

id_tipo_publicacion int (2) primary key id del tipo de publicación

Tipo_publicacion Varchar (50)not null

Tipo de la publicación

(gubernamental, nacional,

estatal…)

Esta tabla guarda el tipo de publicación a la que pertenece el libro, por

ejemplo: gubernamental, nacional, estatal, etc.

82

Page 84: nuevo

Instituto Tecnológico de Villahermosa

LUGAR_DE_PUBLICACION

id_lugar_publicacion int (2) primary key id del lugar de publicación

lugar_publicacion Varchar (50)not null

Lugar donde se publicó el

libro

Esta tabla almacena el lugar donde se publicó el libro.

LIBROS

id_libro int (4) primary key

id del libro (inventario

numero consecutivo)

Titulo text not null Titulo del libro

id_autor Int (4) Foreign key (autor) Id del autor

edicion Int (2)

Numero de edicion

(primera, segunda..)

Id_lugar_publicacion Int (4)

Foreign Key (lugar

publicación)

Id del Lugar donde se

publicó el libro

id_editorial Int (4) Foreign key (editorial) Id de la editorial

fecha_publicacion Int (3) Not null

año de la publicación del

libro

num_pag Int (5)

Numero de paginas del

libro

Id_serie Int (2) Foreign key (serie)

Id de la serie o colección

a la que pertenece el libro

No_coleccion Int (2) Not null

No asigando al libro

dentro de la serie a la que

pertenece

Id_categoria Int (3) Foreign key (categoría)

Id de la categoría 1 a la

que pertenece el libro

Id_categoria2 Int (3) Foreign key (categoría2)

Id de la categoría 2 a la

que pertenece el libro

Id_categoria3 Int (3) Foreign key (categoría3)

Id de la categoría 3 a la

que pertenece el libro

83

Page 85: nuevo

Instituto Tecnológico de Villahermosa

Id_idioma Int (2) Foreign key (idioma) Id del idioma del libro

Sinopsis Text Sinopsis del libro

Id_anaquel Int (2) Foreign key (anaquel)

Id del anaquel donde se

encuentra el libro (primera

ubicación)

Isbn Varchar (20) Isbn del libro

Id_tipo_coleccion Int (2) Foreign key (tipo_coleccion)

Id del tipo de colección

del libro

Id_naturaleza Int (2)

Foreign key

(naturaleza_del_contendido)

Id del tipo de contenido

del libro

Id_tipo_publicacion Int (2)

Foreign key

(tipo_de_publicacion)

Id del tipo de publicación

del libro

Id_ubicacion1 Int (1) Foreign key (ubicación)

Id de la ubicación1 del

libro

Indice Bool Si el libro tiene índice

Present Bool

Si el libro tiene

presentación

Biblio Bool Si el libro tiene bibliografía

Fotos Bool Si el libro tiene fotos

Ilus Bool

Si el libro tiene

Ilustraciones

Mapas Bool Si el libro tiene mapas

Graficas Bool Si el libro tiene graficas

Tablas Bool Si el libro tiene tablas

Anexos Bool Si el libro tiene anexos

Cuadros Bool Si el libro tiene cuadros

Apend Bool Si el libro tiene Apéndice

Notas Bool Si el libro tiene notas

Ind Varchar (20)

present Varchar (20)

biblio Varchar (20)

ilu Varchar (20)

Mapa Varchar (20)

84

Page 86: nuevo

Instituto Tecnológico de Villahermosa

Graf Varchar (20)

tabl Varchar (20)

Anex Varchar (20)

cua Varchar (20)

ape Varchar (20)

Nota Varchar (20)

imagen Varchar (20)

Nombre de la imagen que

se le asignará a cada libro

Esta tabla guarda los libros con los que cuenta la biblioteca haciendo referencia

con las otras tablas.

LIBROS BUSQUEDA

id_libro int (4) primary key

id del libro (inventario

numero consecutivo)

Titulo text not null Titulo del libro

id_autor Int (4) Foreign key (autor) Id del autor

edicion Int (2)

Numero de edicion

(primera, segunda..)

Id_lugar_publicacion Int (4)

Foreign Key (lugar

publicación)

Id del Lugar donde se

publicó el libro

id_editorial Int (4) Foreign key (editorial) Id de la editorial

fecha_publicacion Int (3) Not null

año de la publicación del

libro

num_pag Int (5)

Numero de paginas del

libro

Id_serie Int (2) Foreign key (serie)

Id de la serie o colección

a la que pertenece el libro

No_coleccion Int (2) Not null

No asigando al libro

dentro de la serie a la que

pertenece

Id_categoria Int (3) Foreign key (categoría) Id de la categoría 1 a la

85

Page 87: nuevo

Instituto Tecnológico de Villahermosa

que pertenece el libro

Id_categoria2 Int (3) Foreign key (categoría2)

Id de la categoría 2 a la

que pertenece el libro

Id_categoria3 Int (3) Foreign key (categoría3)

Id de la categoría 3 a la

que pertenece el libro

Id_idioma Int (2) Foreign key (idioma) Id del idioma del libro

Sinopsis Text Sinopsis del libro

Id_anaquel Int (2) Foreign key (anaquel)

Id del anaquel donde se

encuentra el libro (primera

ubicación)

Isbn Varchar (20) Isbn del libro

Id_tipo_coleccion Int (2) Foreign key (tipo_coleccion)

Id del tipo de colección

del libro

Id_naturaleza Int (2)

Foreign key

(naturaleza_del_contendido)

Id del tipo de contenido

del libro

Id_tipo_publicacion Int (2)

Foreign key

(tipo_de_publicacion)

Id del tipo de publicación

del libro

Id_ubicacion1 Int (1) Foreign key (ubicación)

Id de la ubicación1 del

libro

Ind Varchar (20)

present Varchar (20)

biblio Varchar (20)

ilu Varchar (20)

Mapa Varchar (20)

Graf Varchar (20)

tabl Varchar (20)

Anex Varchar (20)

cua Varchar (20)

ape Varchar (20)

Nota Varchar (20)

imagen Varchar (20)

Nombre de la imagen que

se le asignará a cada libro

Esta tabla se utiliza para hacer la búsqueda de un libro por diferentes criterios.

86

Page 88: nuevo

Instituto Tecnológico de Villahermosa

4.4 CREACIÓN DE LOS ESQUEMAS DE LA BASE DE DATOS (INTERNO, CONCEPTUAL Y EXTERNO). ESQUEMA INTERNO El esquema interno es la forma en que el manejador almacena los datos que se van generando dentro de la base de datos para su mejor uso Lo cual a continuación se presentará la forma de crear los datafiles y los tablespaces CREATE DATAFILE datafile CREATE TABLESPACE tablespace ADD DATAFILE 'file' USE LOGFILE GROUP logfile_group EXTENT_SIZE [=] extent_size INITIAL_SIZE [=] initial_size ENGINE [=] engine ALTER TABLESPACE tablespace ADD DATAFILE 'file' INITIAL_SIZE [=] size ENGINE [=] engine ALTER TABLESPACE tablespace DROP DATAFILE 'file' ENGINE [=] engine

87

Page 89: nuevo

Instituto Tecnológico de Villahermosa

ESQUEMA CONCEPTUAL

create table autor ( id_autor int (4) auto_increment, nombre text not null, primary key (id_autor) ) type=innodb; create table idioma ( id_idioma int (2) primary key, idioma varchar (15) not null ) type=innodb; create table naturaleza( id_naturaleza int (2) primary key, contenido varchar(30) not null ) type=innodb; create table serie ( id_serie int auto_increment, serie varchar (50), primary key (id_serie) ) type=innodb; create table tipo_coleccion( id_tipo_coleccion int (2) primary key, tipo_c varchar (30) not null )type=innodb; create table editorial ( id_editorial int auto_increment, editorial varchar (40) not null, primary key (id_editorial) )type=innodb; create table tipo_publicacion( id_tipo_publicacion int (2) primary key, tipo varchar (50) not null )type=innodb; create table ubicacion1( id_ubicacion1 int (1) primary key, ubicacion1 int (1) not null

88

Page 90: nuevo

Instituto Tecnológico de Villahermosa

)type=innodb; create table anaquel ( id_anaquel int (2) primary key, anaquel int (2) not null )type=innodb; create table lugar_publicacion ( id_lugar_publicacion int (2) primary key, lugar_publicacion text )type=innodb; create table categoria ( id_categoria int (3) primary key, categoria text not null ) type=innodb; create table categoria2 ( id_categoria2 int (3) primary key, categoria2 text not null ) type=innodb; create table categoria3 ( id_categoria3 int (3) primary key, categoria3 text not null ) type=innodb; create table libros ( id_libro int (4) primary key, titulo text not null, id_autor int (4) not null, id_lugar_publicacion int (2), id_editorial int (3) not null, fecha_publicacion int (4), num_pag int (5), id_serie int (2) not null, no_coleccion int (2), id_idioma int (2) not null, sinopsis text, isbn varchar (20), id_anaquel int (2) not null, id_ubicacion1 int (1) not null, id_tipo_coleccion int (2) not null, id_naturaleza int (2) not null, id_tipo_publicacion int (2) not null,

89

Page 91: nuevo

Instituto Tecnológico de Villahermosa

id_categoria1 int (3) not null, id_categoria2 int (3) not null, id_categoria3 int (3) not null, indice bool, present bool, biblio bool, fotos bool, ilust bool, mapas bool, graficas bool, tablas bool, anexos bool, cuadros bool, apend bool, notas bool, ind varchar (15), pres varchar (15), bib varchar (15), fot varchar (15), ilu varchar (15), mapa varchar (15), graf varchar (15), tabl varchar (15), anex varchar (15), cua varchar (15), ape varchar (15), nota varchar (15), imagen varchar (20), edicion int(2), foreign key (id_autor) references autor (id_autor), foreign key (id_lugar_publicacion) references lugar_publicacion (id_lugar_publicacion), foreign key (id_editorial) references editorial (id_editorial), foreign key (id_serie) references serie (id_serie), foreign key (id_idioma) references idioma (id_idioma), foreign key (id_anaquel) references anaquel (id_anaquel), foreign key (id_ubicacion1) references ubicacion1 (id_ubicacion1), foreign key (id_tipo_coleccion) references tipo_coleccion (id_tipo_coleccion), foreign key (id_naturaleza) references naturaleza (id_naturaleza), foreign key (id_tipo_publicacion) references tipo_publicacion (id_tipo_publicacion), foreign key (id_categoria1) references categoria (id_categoria), foreign key (id_categoria2) references categoria2 (id_categoria2), foreign key (id_categoria3) references categoria3 (id_categoria3) )type=innodb;

90

Page 92: nuevo

Instituto Tecnológico de Villahermosa

create table libros_busqueda ( id_libro int (4) primary key, titulo text not null, fulltext (titulo), id_autor int (4) not null, id_lugar_publicacion int (2) not null, id_editorial int (3) not null, fecha_publicacion int (4), num_pag int (5), id_serie int (2) not null, no_coleccion int (2), id_idioma int (2) not null, sinopsis text, fulltext (sinopsis), isbn varchar (20), id_anaquel int (2) not null, id_ubicacion1 int (1) not null, id_tipo_coleccion int (2) not null, id_naturaleza int (2) not null, id_tipo_publicacion int (2) not null, id_categoria1 int (3) not null, id_categoria2 int (3) not null, id_categoria3 int (3) not null, ind varchar (15), pres varchar (15), bib varchar (15), fot varchar (15), ilu varchar (15), mapa varchar (15), graf varchar (15), tabl varchar (15), anex varchar (15), cua varchar (15), ape varchar (15), nota varchar (15), imagen varchar (20), edicion int(2) )type=myisam;

91

Page 93: nuevo

Instituto Tecnológico de Villahermosa

ESQUEMA EXTERNO (VISTAS) create view anaquel as SELECT *FROM museo1.anaquel create view autor as SELECT * FROM museo1.autor ORDER BY museo1.autor.nombre create view editorial as SELECT * FROM museo1.editorial ORDER BY museo1.editorial.editorial create view idioma as SELECT * FROM museo1.idioma create view lugar as SELECT * FROM museo1.lugar_publicacion ORDER BY museo1.lugar_publicacion.lugar_publicacion create view naturaleza as SELECT * FROM museo1.naturaleza create view serie as SELECT * FROM museo1.serie create view coleccion as SELECT * FROM museo1.tipo_coleccion create view publicacion as SELECT * FROM museo1.tipo_publicacion create view ubicacion as SELECT * FROM museo1.ubicacion1 create view categoria as SELECT * FROM museo1.categoria ORDER BY museo1.categoria.categoria

92

Page 94: nuevo

Instituto Tecnológico de Villahermosa

create view categoria2 as SELECT * FROM museo1.categoria2 ORDER BY museo1.categoria2.categoria2 create view categoria3 as SELECT * FROM museo1.categoria3 ORDER BY museo1.categoria3.categoria create view no_libro as SELECT museo1.libros_busqueda.id_libro FROM museo1.libros_busqueda create view ficha as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.fecha_publicacion, museo1.libros_busqueda.num_pag, museo1.libros_busqueda.no_coleccion, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.isbn, museo1.autor.nombre, museo1.lugar_publicacion.lugar_publicacion, museo1.editorial.editorial, museo1.serie.serie, museo1.idioma.idioma, museo1.anaquel.anaquel, museo1.ubicacion1.ubicacion1, museo1.naturaleza.contenido, museo1.tipo_publicacion.tipo, museo1.categoria.categoria, museo1.tipo_coleccion.tipo_c, museo1.categoria2.categoria2, museo1.categoria3.categoria3 FROM museo1.libros_busqueda, museo1.autor, museo1.lugar_publicacion, museo1.editorial, museo1.serie, museo1.idioma, museo1.anaquel, museo1.ubicacion1, museo1.tipo_publicacion, museo1.naturaleza, museo1.categoria, museo1.tipo_coleccion, museo1.categoria2, museo1.categoria3 WHERE museo1.libros_busqueda.id_libro = #URL.ID# AND museo1.libros_busqueda.id_autor=museo1.autor.id_autor AND museo1.libros_busqueda.id_lugar_publicacion=museo1.lugar_publicacion.id_lugar_publicacion AND museo1.libros_busqueda.id_editorial=museo1.editorial.id_editorial AND museo1.libros_busqueda.id_serie=museo1.serie.id_serie AND museo1.libros_busqueda.id_idioma=museo1.idioma.id_idioma AND museo1.libros_busqueda.id_anaquel=museo1.anaquel.id_anaquel AND museo1.libros_busqueda.id_ubicacion1=museo1.ubicacion1.id_ubicacion1 AND museo1.libros_busqueda.id_naturaleza=museo1.naturaleza.id_naturaleza AND museo1.libros_busqueda.id_tipo_publicacion=museo1.tipo_publicacion.id_tipo_publicacion AND museo1.libros_busqueda.id_categoria1=museo1.categoria.id_categoria AND museo1.libros_busqueda.id_categoria2=museo1.categoria2.id_categoria2 AND museo1.libros_busqueda.id_categoria3=museo1.categoria3.id_categoria3 AND museo1.libros_busqueda.id_tipo_coleccion=museo1.tipo_coleccion.id_tipo_coleccion

93

Page 95: nuevo

Instituto Tecnológico de Villahermosa

create view ilustraciones as SELECT museo1.libros_busqueda.ind, museo1.libros_busqueda.pres, museo1.libros_busqueda.bib, museo1.libros_busqueda.fot, museo1.libros_busqueda.ilu, museo1.libros_busqueda.mapa, museo1.libros_busqueda.graf, museo1.libros_busqueda.tabl, museo1.libros_busqueda.anex, museo1.libros_busqueda.cua, museo1.libros_busqueda.ape, museo1.libros_busqueda.nota FROM museo1.libros_busqueda WHERE museo1.libros_busqueda.id_libro = #URL.ID# create view catalogo as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.fecha_publicacion, museo1.libros_busqueda.imagen FROM museo1.libros_busqueda ORDER BY museo1.libros_busqueda.id_libro create view b_avanzada as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.tipo_coleccion.tipo_c, museo1.tipo_publicacion.tipo, museo1.naturaleza.contenido, museo1.libros_busqueda.fecha_publicacion FROM museo1.libros_busqueda, museo1.tipo_coleccion, museo1.tipo_publicacion, museo1.naturaleza WHERE museo1.libros_busqueda.titulo LIKE '#FORM.b5#' AND museo1.libros_busqueda.id_categoria1=#FORM.ca# AND museo1.libros_busqueda.id_tipo_coleccion=#FORM.col# AND museo1.libros_busqueda.id_tipo_publicacion=#FORM.pu# AND museo1.libros_busqueda.id_naturaleza=#FORM.na# or museo1.libros_busqueda.titulo LIKE '#FORM.b5#' AND museo1.libros_busqueda.id_categoria2=#FORM.ca# AND museo1.libros_busqueda.id_tipo_coleccion=#FORM.col# AND museo1.libros_busqueda.id_tipo_publicacion=#FORM.pu# AND museo1.libros_busqueda.id_naturaleza=#FORM.na# or museo1.libros_busqueda.titulo LIKE '#FORM.b5#' AND museo1.libros_busqueda.id_categoria3=#FORM.ca# AND museo1.libros_busqueda.id_tipo_coleccion=#FORM.col# AND museo1.libros_busqueda.id_tipo_publicacion=#FORM.pu# AND museo1.libros_busqueda.id_naturaleza=#FORM.na# ORDER BY museo1.libros_busqueda.id_libro

94

Page 96: nuevo

Instituto Tecnológico de Villahermosa

create view b_p_categoria as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.fecha_publicacion FROM museo1.libros_busqueda WHERE museo1.libros_busqueda.titulo LIKE '%#FORM.busqueda4#%' and museo1.libros_busqueda.id_categoria1=#FORM.categoria# or museo1.libros_busqueda.titulo LIKE '%#FORM.busqueda4#%' and museo1.libros_busqueda.id_categoria2=#FORM.categoria# or museo1.libros_busqueda.titulo LIKE '%#FORM.busqueda4#%' and museo1.libros_busqueda.id_categoria3=#FORM.categoria# or museo1.libros_busqueda.sinopsis LIKE '%#FORM.busqueda4#%' and museo1.libros_busqueda.id_categoria1=#FORM.categoria# or museo1.libros_busqueda.sinopsis LIKE '%#FORM.busqueda4#%' and museo1.libros_busqueda.id_categoria2=#FORM.categoria# or museo1.libros_busqueda.sinopsis LIKE '%#FORM.busqueda4#%' and museo1.libros_busqueda.id_categoria3=#FORM.categoria# ORDER BY museo1.libros_busqueda.id_libro create view b_categorias as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.fecha_publicacion, museo1.libros_busqueda.imagen FROM museo1.libros_busqueda WHERE museo1.libros_busqueda.id_categoria1=#FORM.Busqueda3# OR museo1.libros_busqueda.id_categoria2=#FORM.Busqueda3# OR museo1.libros_busqueda.id_categoria3=#FORM.Busqueda3# ORDER BY museo1.libros_busqueda.id_libro create view b_numero as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.imagen FROM museo1.libros_busqueda WHERE museo1.libros_busqueda.id_libro=#FORM.No# create view b_ubicacion as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.id_anaquel, museo1.libros_busqueda.id_ubicacion1, museo1.libros_busqueda.fecha_publicacion, museo1.libros_busqueda.imagen FROM museo1.libros_busqueda WHERE museo1.libros_busqueda.id_anaquel=#FORM.anaquel# and museo1.libros_busqueda.id_ubicacion1=#FORM.ubicacion# ORDER BY museo1.libros_busqueda.id_libro

95

Page 97: nuevo

Instituto Tecnológico de Villahermosa

create view b_palabra as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.fecha_publicacion, museo1.libros_busqueda.imagen FROM museo1.libros_busqueda WHERE museo1.libros_busqueda.titulo LIKE '%#FORM.Busqueda1#%' or museo1.libros_busqueda.sinopsis LIKE '%#FORM.Busqueda1#%' create view b_varias_palabras as SELECT museo1.libros_busqueda.id_libro, museo1.libros_busqueda.titulo, museo1.libros_busqueda.sinopsis, museo1.libros_busqueda.fecha_publicacion, museo1.libros_busqueda.imagen FROM museo1.libros_busqueda WHERE match (museo1.libros_busqueda.sinopsis) against ('%#FORM.Busqueda2#%') or match (museo1.libros_busqueda.titulo) against ('%#FORM.Busqueda2#%')

96

Page 98: nuevo

Instituto Tecnológico de Villahermosa

4.5 CREACION DE LAS RESTRICCIONES Y ESQUEMAS DE INTEGRIDAD Dentro de las restricciones que se manejarán en la Base de Datos que se realizará al Museo Carlos Pellicer Camara manejará las restricciones de llaves primarias las cuales no podrán concordar en el caso e eso suceda la base de datos nos enviará un mensaje de error especificando que el numero que se esta introduciendo ya existe o que otra ya lo tiene , también se utilizarán las llaves foráneas las cuales se extraerán de otras tablas para utilizarlas el la tabla libros la cual maneja diferentes llaves foráneas en el caso de que nosotros introduzcamos un ID que no existe aparecerá una pantalla la cual nos enviará un error donde el ID que introducimos no existe, además se utilizaran restricciones de tipo booleano donde solo puede ser verdadero o falso son las dos únicas opciones que se tienen Ejemplo de una llave primaria: create table autor ( id_autor int (4) auto_increment, nombre text not null, primary key (id_autor) ) type=innodb; Ejemplo de una llave foranea y restricciones de tipo boolenao create table libros ( id_libro int (4) primary key, titulo text not null, id_autor int (4) not null, id_lugar_publicacion int (2), indice bool, present bool, biblio bool, fotos bool, ilust bool, mapas bool, graficas bool, tablas bool, anexos bool, cuadros bool, apend bool, notas bool, foreign key (id_idioma) references idioma (id_idioma), foreign key (id_anaquel) references anaquel (id_anaquel), foreign key (id_ubicacion1) references ubicacion1 (id_ubicacion1), foreign key (id_tipo_coleccion) references tipo_coleccion (id_tipo_coleccion), foreign key (id_categoria1) references categoria (id_categoria), foreign key (id_categoria2) references categoria (id_categoria), foreign key (id_categoria3) references categoria (id_categoria) )type=innodb;

97

Page 99: nuevo

Instituto Tecnológico de Villahermosa

ESQUEMA DE INTEGRIDAD

98

Page 100: nuevo

Instituto Tecnológico de Villahermosa

4.6 DEFINICIÓN E IMPLANTACIÓN DE PROCEDIMIENTOS ALMACENADOS Y DISPARADORES. El siguiente procedimiento almacenado compara los datos que se introducen cuando se inserta un nuevo libro, por ejemplo, si el “id_autor” es igual a 1, significa que se insertó un nuevo autor, entonces se toma el último “id_autor” de la tabla autor y se le asigna ese “id_autor” al nuevo libro. create procedure nuevos_datos (id_autor int,id_lugar_publicacion int,id_editorial int,id_serie int,id_idioma int) begin if id_autor=1 then select count(*) into @n_autor from autor; else set @n_autor:=id_autor; end if; if id_lugar_publicacion=1 then select count(*) into @n_lugar from lugar_publicacion; else set @n_lugar:=id_lugar_publicacion; end if; if id_editorial=1 then select count(*) into @n_editorial from editorial; else set @n_editorial:=id_editorial; end if; if id_serie=2 then select count(*) into @n_serie from serie; else set @n_serie:=id_serie; end if; if id_idioma=1 then select count(*) into @n_idioma from idioma; else set @n_idioma:=id_idioma; end if; end;

99

Page 101: nuevo

Instituto Tecnológico de Villahermosa

DISPARADORES Dentro de la base de datos se utilizarán cuatro disparadores, el primero (TRIGGER DATOS_NUEVOS) entrará en función cuando se inserte un libro nuevo; si el autor, el lugar de publicación, la editorial, la serie, o el idioma de dicho no se encuentran registrados en la base de datos, por medio de este disparador se guardan los nuevos datos que se agregaron al llamar a un procedimiento (NUEVO_DATOS). El segundo disparador (TRIGGER TABLA_LIBRO_BUSQUEDA) hará una copia de la tabla LIBROS dentro de la tabla LIBROS_BÚSQUEDA que es de tipo MYISAM, ya que la ultima permite hacer búsquedas de palabras por medio del método MATCH AGAIN que sirve para buscar tanto palabras como frases completas. El tercer disparador (TRIGGER ELIMINAR) entra en función cuando se elimina un libro de la tabla LIBROS, por medio de este disparador se borra la copia inmediatamente de la tabla LIBROS_BUSQUEDA. La función del ultimo disparador (TRIGGER MODIFICAR_LIBRO) es modificar la copia del libro que se encuentra en la tabla LIBROS_BUSQUEDA cuando modificamos algun dato de un libro en la tabla LIBROS create trigger datos_nuevos before insert on libros for each row begin call nuevos_datos (new.id_autor,new.id_lugar_publicacion,new.id_editorial,new.id_serie,new.id_idioma); set new.id_autor = @n_autor; set new.id_lugar_publicacion = @n_lugar; set new.id_editorial = @n_editorial; set new.id_serie = @n_serie; set new.id_idioma = @n_idioma; end; create trigger tabla_libro_busqueda after insert on libros for each row begin insert into libros_busqueda values (new.id_libro,new.titulo,new.id_autor,new.id_lugar_publicacion,new.id_editorial,new.fecha_publicacion,new.num_pag,new.id_serie,new.no_coleccion,new.id_idioma,new.sinopsis,new.isbn,new.id_anaquel,new.id_ubicacion1,new.id_tipo_coleccion,new.id_naturaleza,new.id_tipo_publicacion,new.id_categoria1,new.id_categoria2,new.id_categoria3,new.indice,new.present,new.biblio,new.fotos,new.ilust,new.mapas,new.graficas,new.tablas,new.anexos,new.cuadros,new.apend,new.notas); end

100

Page 102: nuevo

Instituto Tecnológico de Villahermosa

create trigger eliminar after delete on libros for each row begin delete from libros_busqueda where id_libro=old.id_libro; end; create trigger modificar_libro after update on libros for each row begin update libros_busqueda set titulo=new.titulo, id_autor=new.id_autor, id_lugar_publicacion=new.id_lugar_publicacion, id_editorial=new.id_editorial,fecha_publicacion=new.fecha_publicacion,num_pag=new.num_pag, id_serie=new.id_serie,no_coleccion=new.no_coleccion,id_idioma=new.id_idioma,sinopsis=new.sinopsis,isbn=new.isbn,id_anaquel=new.id_anaquel,id_ubicacion1=new.id_ubicacion1,id_tipo_coleccion=new.id_tipo_coleccion,id_naturaleza=new.id_naturaleza,id_tipo_publicacion=new.id_tipo_publicacion,id_categoria1=new.id_categoria1,id_categoria2=new.id_categoria2,id_categoria3=new.id_categoria3,ind=new.ind,pres=new.pres,bib=new.bib,fot=new.fot,ilu=new.ilu,mapa=new.mapa,graf=new.graf,tabl=new.tabl,anex=new.anex,cua=new.cua,ape=new.ape,nota=new.nota where id_libro=old.id_libro; end;

101

Page 103: nuevo

Instituto Tecnológico de Villahermosa

102

Page 104: nuevo

Instituto Tecnológico de Villahermosa

5. Resultados de la Solución

5.1 Plantillas de la interfaz y Plantillas de captura En este apartado se describirán de manera clara las pantallas con las que cuenta el Sistema de Biblioteca del Museo Regional de Antropología “Carlos Pellicer Cámara”, así como las funciones de cada módulo de estas. Al abrir la aplicación se muestra la pantalla de inicio, en esta se piden los datos de inicio de sesión, Usuario y Contraseña (login),

103

Page 105: nuevo

Instituto Tecnológico de Villahermosa

Si son correctos tanto el nombre de Usuario y Contraseña, aparece el menú principal, desde donde el usuario del sistema puede acceder a la base de datos de los libros de la “Biblioteca del Museo Regional de Antropología Carlos Pellicer Cámara”, ya sea para insertar un nuevo libro, eliminar o modificar uno ya existente, ir a la pantalla de búsqueda o ver el catálogo completo de los libros con que cuenta dicha biblioteca.

Para acceder a la primer selección la cual es “BUSQUEDA”, el usuario deberá seleccionar la opción y oprimir el botón IR; para las siguientes opciones no es necesario oprimir dicho botón, solo seleccionarlas.

104

Page 106: nuevo

Instituto Tecnológico de Villahermosa

INSERCION DE UN NUEVO LIBRO Para acceder a la pantalla de inserción de un libro, el usuario podrá, desde cualquier pantalla de la aplicación, seleccionar la opción INSERTAR NUEVO LIBRO del MENU que aparece en el lado superior izquierdo de las ventanas

La pantalla de INSERTAR NUEVO LIBRO es la siguiente:

105

Page 107: nuevo

Instituto Tecnológico de Villahermosa

INSERTAR NUEVO LIBRO

106

Page 108: nuevo

Instituto Tecnológico de Villahermosa

Para insertar un nuevo libro en la base de datos, el usuario deberá rellenar los campos de la siguiente manera:

- No. De acceso: Número consecutivo que le fue asignado al libro al ingresar a la biblioteca. Arriba de este campo se muestran los números de inventario de los libros que ya se encuentran almacenados en la base de datos, en caso de querer visualizarlos, se debe seleccionar el número y oprimir el botón VER FICHA, el cuál nos mostrará la ficha del libro.

- Titulo: Este campo es obligatorio

- Autor: El campo AUTOR podemos seleccionarlo de una lista de autores

que ya fueron registrados, en caso de que el(los) nombre(s) del(los) autor(es) del nuevo libro no se encuentre(n) en la lista, el usuario introducirá el nuevo autor en el espacio NUEVO AUTOR y oprimir el botón GUARDAR.

- Lugar de Publicación: Al igual que el autor, se puede escoger de una

lista, sino se encuentra, se introduce en el espacio NUEVO LUGAR DE PUBLICACION y se oprime el botón GUARDAR, si el libro no tiene un lugar de publicación se selecciona la segunda opción de la lista, la cual es [s.l].

- Editorial: Mismo procedimiento que el anterior. - Edición: Es el número de la edición del libro.

- Año de publicación: Se escribe el año de publicación del libro

(2000,1999, etc.), si no se cuenta con esa información el campo se deja vacío.

- No. De Pág.: Se escribe el número de páginas del, si no se cuenta con

esa información el campo se deja vacío.

- Serie: : El campo SERIE podemos seleccionarlo de una lista de series que ya fueron registradas, en caso de que la serie a la que pertenece el nuevo libro no se encuentre en la lista, el usuario introducirá la nueva serie en el espacio NUEVA SERIE y oprimir el botón GUARDAR, en caso de que el libro no pertenezca a ninguna serie, se deberá de dejar vacío tanto el campo de lista SERIE como el campo NUEVA SERIE.

- No. De colección: En caso de que el libro sea parte de una colección o

serie aquí se introducirá el número del libro dentro de la serie si es que se cuenta con esa información.

- Idioma: El idioma se seleccionará de una lista de idiomas ya definida.

107

Page 109: nuevo

Instituto Tecnológico de Villahermosa

- Sinopsis: En este campo se introducirá, ya sea una sinopsis o el contenido (índice general) del libro

- ISBN: Se introduce el ISBN del libro si es que cuenta con esta

clasificación.

- Anaquel: Se selecciona en que número de anaquel de la biblioteca se encuentra guardado el libro.

- Entrepaño: Se selecciona en que número de entrepaño dentro del

anaquel se encuentra el libro.

- Tipo de colección: Se indica a que tipo de colección de la lista pertenece el libro.

- Naturaleza de contenido: Se indica cual es la naturaleza del contenido

del libro.

- Tipo de publicación: Se indica a que tipo publicación de la lista pertenece el libro.

- Los campos Categoría 1, Categoría 2 y Categoría 3, se seleccionan

de las listas, se pueden seleccionar hasta 3 categorías para cada libro, o bien, si no se sabe a que categoría pertenece dicho libro, se dejan las 3 categorías en “General”.

- En el campo imagen se coloca el nombre de la imagen que se mostrará

cuando se realice una busqueda, la imagen deberá ser scaneada, y guardada en la carpeta C:\CFusionMX7\wwwroot\museo\imagenes\, el nombre la imagen puede ser el número del libro al que pertenece, por ejemplo, si la imagen pertenece al libro número 100, entonces el nombre de la imagen sería 100.JPG

- Por ultimo se indica si el libro contiene índice, presentación

bibliografía, fotografías, ilustraciones, mapas, gráficas, tablas, anexos, cuadros, apéndice o notas, por defecto aparecen seleccionadas las primeras tres opciones, pero si el libro no contara con algunas o ninguna de las opciones simplemente se quita la selección.

Al terminar de rellenar todos los datos del libro, se da clic en el botón GUARDAR LIBRO y este es almacenado, inmediatamente se nos vuelve a presentar la misma ventana pero con los campos vacíos para insertar un nuevo libro, y en las listas AUTOR, LUGAR DE PUBLICACION, EDITORIAL, aparecen por defecto, tanto los nuevos datos que introducimos como los que fueron seleccionados al insertar el anterior libro.

108

Page 110: nuevo

Instituto Tecnológico de Villahermosa

En caso de que por error el usuario escribiera en el campo No. De acceso un número de libro que ya existe en la base de datos, aparecerá el siguiente aviso:

Al dar clic en aceptar nos regresará a la ventana anterior donde se estaba insertando el nuevo libro y nos presentará la información introducida para cambiar el número del libro o borrar todos los datos e introducir otro nuevo libro. En la ventana INSERTAR NUEVO LIBRO, hay una opción “Copia de : “ y hay una lista de los libros que ya fueron introducidos, por defecto aparece el número del último libro que fue registrado, en caso de hayan dos copias o más, el usuario no tiene que volver a introducir todos los datos de nuevo, sino simplemente seleccionar el número del libro y dar clic en el botón COPIA y se abre la ventana siguiente, en la cual aparecen los datos del libro que queremos copiar y sólo se tendrá que introducir el número del nuevo libro.

109

Page 111: nuevo

Instituto Tecnológico de Villahermosa

PANTALLA DE COPIA DE LIBR0

110

Page 112: nuevo

Instituto Tecnológico de Villahermosa

MODIFICACION DE UN LIBRO Para modificar un libro que ya fue introducido, desde el menú principal seleccionamos la opción: MODIFICAR FICHA y aparecerá la ventana siguiente:

Se selecciona de la lista el número del libro que se desea modificar y se oprime el botón BUSCAR, seguido de esto aparecerá la siguiente ventana:

111

Page 113: nuevo

Instituto Tecnológico de Villahermosa

PANTALLA DE MODIFICACIÓN DE LIBRO

(Sigue en la siguiente página)

112

Page 114: nuevo

Instituto Tecnológico de Villahermosa

Ya en esta ventana el usuario podrá modificar cualquier dato del libro seleccionado. Aquí se muestran los datos actuales del libro y en el momento de que el usuario modifica alguno de estos se muestra en tiempo real tal modificación. El usuario después de hacer la modificación en determinado dato deberá oprimir el botón MODIFICAR que esta a un costado de cada campo para que la modificación tenga efecto. Nota: Al modificar los datos del costado derecho (AUTOR, LUGAR DE PUBLICACION, EDITORIAL, SERIE) automáticamente se modificarán todos los libros que contengan la misma información del libro que se está modificando, por ejemplo: Si se encuentran registrados los libros 1,15 y 300 con el autor “Josué Vélez” y el usuario modifica una vez este dato en el libro 15 anexándole el apellido “Cerón” , los libros 1 y 15 también sufrirán tal modificación.

113

Page 115: nuevo

Instituto Tecnológico de Villahermosa

ELIMINAR UN LIBRO Para eliminar un libro de la base de datos, primero accedemos a esta opción desde el menú principal y aparece la ventana siguiente:

El usuario elige el número del libro que desea eliminar y da clic en buscar, inmediatamente aparece una ventana donde se muestra el número del libro, el titulo y la opción “eliminar” como un hipervínculo:

114

Page 116: nuevo

Instituto Tecnológico de Villahermosa

Al dar clic sobre la opción eliminar se abre una ventana de confirmación:

Para eliminar definitivamente el libro se oprime el botón “Confirme Eliminar Libro” y automáticamente se borran los datos del libro de la base de datos.

115

Page 117: nuevo

Instituto Tecnológico de Villahermosa

BUSQUEDA La ventana de BUSQUEDA le presenta al usuario varias opciones para realizar una búsqueda específica de acuerdo a lo que necesita:

116

Page 118: nuevo

Instituto Tecnológico de Villahermosa

Aquí el usuario puede buscar un libro por su número, introducir una sola palabra o una frase completa para especificar más su búsqueda, buscar un libro por el titulo o por categoría, etc. El resultado de la búsqueda se presenta de la siguiente forma:

En los resultados de las búsquedas aparece:

1. Cuántos resultados se produjeron para determinada búsqueda.

2. El número del libro

3. El titulo

4. El autor

5. El contenido del libro; en caso de que sea mucho, aparecen dos flechas para recorrer el contenido hacia arriba o abajo.

6. El año de publicación del libro. 7. Y por último la imagen de la portada del libro si es que fue guardada

previamente.

117

Page 119: nuevo

Instituto Tecnológico de Villahermosa

El titulo del libro aparece subrayado, como un link, al oprimir sobre este nos envía inmediatamente a la ficha del libro:

En la pantalla de FICHA DEL LIBRO aparece toda la información del libro que escogimos en forma de ficha. Desde esta ventana podemos mandar a imprimir tal ficha, modificarla o eliminar la información de tal libro.

118

Page 120: nuevo

Instituto Tecnológico de Villahermosa

CATALOGO DE LIBROS El usuario puede ver el catálogo de libros completo, el cual es presentado de 10 en 10, y se puede mover por todo el catálogo ya sea página por página o saltando del primero al ultimo y viceversa, o buscar un libro por determinado número. La ventana de Catálogo es la siguiente:

BOTON DE AYUDA

AYUDA

Se encuentra en todas las pantallas del lado superior derecho, al oprimir el botón de ayuda se abrirá automáticamente el manual del Sistema.

119

Page 121: nuevo

Instituto Tecnológico de Villahermosa

120

Page 122: nuevo

Instituto Tecnológico de Villahermosa

6. Conclusiones y Recomendaciones.

Después de haber trabajado bajo el sistema de control de libros con que cuenta la Biblioteca del Museo Regional de Antropología “Carlos Pellicer Cámara”, hemos encontrado que el manejo del acervo de dicha biblioteca sufre de carencias, además de ser tedioso, por ser llevado manualmente y muchas veces es muy poco eficiente al momento de hacer alguna búsqueda específica de información por no contar con un sistema automatizado. Por lo que nos dimos a la tarea de desarrollar un sistema tendiente a solucionar tales problemáticas, avocándonos al de Dando como resultado una aplicación dinámica, versátil y amigable, para el mejor desempeño del usuario final que en este caso son los encargados de la Biblioteca del Museo Regional de Antropología “Carlos Pellicer Cámara”, en los cuales nos hem cionalidad del istema, que ha eno de ellos y mbién con sus correcciones.

racias a todo lo anterior podemos concluir que el desarrollo de dicho Sistema

ho

sarrollo de éste en plataforma Web.

os apoyado pidiéndoles que evalúen la funsta el presente hemos contado con el visto bus

ta Gcubre las necesidades actuales de esta administración. Sin embargo podemos hacer algunas recomendaciones, las cuales radican en revisar continuamente las necesidades de cada administración y mantener actualizado el sistema, para poder sacarle el mayor provecho posible.

ero lo más importante por destacar es que se realizó la solución de un Pproblema imperante de esta administración en cuanto al control de los libros con que cuenta la Biblioteca del Museo Regional de Antropología “Carlos

ellicer Cámara”, el cual es uno de los pocos Museos que cuentan con dicPacervo.

121

Page 123: nuevo

Instituto Tecnológico de Villahermosa

BIBLIOGRAFÍA.

1.- Análisis y Diseño de Sistemas de Información James A. Senn Mc Graw-Hill México, D.F. 2da. Edición Julio 2002 2.- Teoría General de Sistemas John P. Van Gigch Editorial Trillas México, D.F. 2da. Reimpresión Noviembre 1990 3.- Análisis y Diseño de Sistemas Kennethe Kendall & Julie E. Kendall Pearson Educacion México, D.F.

3ra. Edición Junio 2001

122