Anda di halaman 1dari 130

UNIVERSIDAD POLITCNICA DE CARTAGENA

ESCUELA TCNICA SUPERIOR DE INGENIERA DE TELECOMUNICACIN


Ingeniero Tcnico de Telecomunicacin, especialidad Telemtica

PROYECTO FIN DE CARRERA

GESTO DE RESERVAS DE I FRAESTRUCTURAS

AUTOR: Juan Julio Gonzlez Paredes DIRECTORA: Mara Dolores Cano Baos

Cartagena, Septiembre 2009

Autor E-mail del Autor Director(es) E-mail del Director Codirector(es)

Juan Julio Gonzlez Paredes julioteleco@gmail.com Mara Dolores Cano Baos mdolores.cano@upct.es

Ttulo del PFC Descriptores

Gestin de Reservas de Infraestructuras


Gestin, infraestructura, aplicacin web,reserva , aula, inventario , php , mysql ,administrador.

Resumen

Aplicacin web de reserva de recursos y salas para la Escuela Tcnica Superior de Ingenieria de Telecomunicacin que dar soporte al servidor del centro, donde los usuarios podrn llevar a cabo reservas de aulas y materiales. La gestin de usuarios la llevar a cabo un administrador, el cual se encargar de toda la tramitacin de solicitudes. Se trata de una aplicacin web robusta y eficaz con una interfaz amigable para los usuarios y fcilmente gestionable por parte del administrador. Se puede acceder a travs de cualquier intranet o desde internet, algunas de sus caractersticas son: autentificacin, visualizacin en tiempo real de las reservas, iteraciones y repeticiones de reservas , notificacin de eventos al administrador , mltiples idiomas. Est herramienta est basada en cdigo de libre distribucin GNU , y programada en Php y MySql..

Titulacin Intensificacin Departamento

Ingeniero Tcnico de Telecomunicacin , especialidad Telemtica

Tecnologas de la Informacin y las Comunicaciones

Fecha de Presentacin Septiembre de 2009

Proyecto Fin de Carrera

Septiembre 2009

Gestin de reservas de infraestructuras


Autor: Juan Julio Gonzlez Paredes
julioteleco@gmail.com

Supervisin: Mara Dolores Cano Baos


mdolores.cano@upct.es

Departamento de las Tecnologas de Informacin y las Comunicaciones Universidad Politcnica de Cartagena

Prefacio
Acerca de este proyecto
Esta aplicacin ha sido creada como proyecto fin de carrera para la obtencin del ttulo de Ingeniero Tcnico en Telecomunicaciones especialidad en Telemtica de la Universidad Politcnica de Cartagena (UPCT). Su principal funcin es la dar soporte a la gestin y reserva de salas de la universidad. En este documento se adjunta toda informacin necesaria para la gestin y mantenimiento por parte del administrador y por parte del usuario de la aplicacin web Gestin de Reservas de Infraestructuras (GRI) para una correcta utilizacin.

Agradecimientos

A mi hermana Ana, por ayudarme y apoyarme durante todos estos aos A mis padres Julio y Ana, por el esfuerzo que han hecho para que este da se hiciera realidad A mi novia Silvia, por el apoyo incondicional a su estudiante A todos esos amigos que me han acompaado a lo largo de la carrera, Javi, Roco, Diego, Angulo... Y como no, a Juan Manuel todo un maestro para m. Vale ms saber alguna cosa de todo, que saberlo todo de una sola cosa.(Blaise Pascal)

ndice

ndice
Captulo 1: Introduccin
1.1 Antecedentes y objetivos.... objetivos ..1 1.2 Estructura y descripcin del proyecto .....2

Capitulo 2: Herramientas de desarrollo


2.1 Introduccin ... .....3 2.2 Conceptos bsicos: Tipos de licencias software: ..3 2.3 Base de datos...... ...... .....7 2.3.1 Ventajas por la integracin de datos.. datos ..8 2.3.2 Ventajas .. .9 2.3.3 Inconvenientes... Inconvenientes .10 2.4 MySQL .. ..12 2.4.1 Historia.. 2.4.2 Caractersticas principales...... principales ...12 2.5 Servidor web 2.5.1 Introduccin ccin ..15 2.5.2 Clasificacin de servidores web web.....16 2.6. Servidor Apache ..17 2.6.1. Historia 2.6.2 Arquitectura y funcionamiento. funcionamiento .......18 2.7. PHP 2.7.1 Historia... ... ...22 2.7.2 Caractersticas Caractersticas.....23 2.7.3 Funcionamiento Funcionamiento..24 2.8 Xampp 2.8.1 Caractersticas ractersticas.... ....24

ndice

Captulo 3: : Descripcin de la aplicacin


3. La aplicacin25 aplicacin 25 3.1 Introduccin............ ..............................................................................................25 .........................................25 3.2 Caractersticas de la aplicacin.. aplicacin 25 3.3 Requisitos del sistema sistem ...26 3.4 Topologa: .... ...26 3.5 La aplicacin y sus fases de desarrollo ..... ....27 3.5.1 Instalacin del Xampp..... Xampp .....30 3.5.2 .2 Instalacin del de modulo MRBS... ...37 3.5.3 Configuracin de MRBS..40 MRBS 40 3.5.4 Modificaciones del mdulo MRBS..55 MRBS 55 3.5.5 Puesta en marcha de la aplicacin....62 aplicacin .62

Capitulo 4 :Gua del usuario


1. El programa y sus caractersticas... caractersticas ..69 1. Funciones: 1.1.Entrada/salida de usuario ..70 1.2. Editar informacin del usuario.. ..71 1.3Ir a fecha .. ..72 1.4. Reservas: 1.4.1Nueva reserva reserva 73 1.4.2. Editar reserva. reserva .. ....75 1.4.3.Copiar reserva.. reserva .77 1.4.4.Borrar reserva... reserva ....79 .... 1.5. Buscar reservas reservas ......81 1.6.Volver .Volver a pgina principal principal .......83 1.7.Resumen .Resumen de funciones y sus campos campos.....84

ndice

Capitulo 5: Gua a del administrador


1. El programa y sus caractersticas... caractersticas ...87 1. Funciones: 1.1.Entrada/salida de usuario...... usuario ...88 1.2.Editar informacin del usuario .. ... ...89 1.3Ir a fecha .. ..90 1.4. Reservas: 1.4.1Nueva reserva. reserva 91 1.4.2.Editar reserva.... reserva .93 1.4.3.Copiar reserva... reserva 95 1.4.4.Borrar reserva reserva 97 1.5.Buscar reservas. . ...99 1.6.Informes.. Informes.. 101 1 1.7.Volver a pgina principal.102 2. Panel de administrador... administrad 103 2.1.Agregar edifcio... edifcio...104 2.2.Editar edifcio. . 105 2.3. Borrar edifcio. 107 2.4.Agregar sala... ... .....108 2.5.Editar sala .. ....109 2.6.Borrar sala 111 2.7.Aadir usuario. . .112 2.8.Editar o borrar usuario. usuario.113 3. Resumen de funciones y sus campos.. campos ..115

Capitulo 6: : Conclusiones
6.1 Conclusiones: .... 117 6.2 Lneas futuras .... 118

Referencias. . 119

ndice

Captulo1 Introduccin

Captulo 1

Introduccin

1.1 Antecedentes y objetivos


Hoy en da resultan indispensables las herramientas telemticas para ayudar en las tareas relacionadas con el procesado, distribucin, almacenamiento de datos y documentos en diversos escenarios. El entorno ento no docente de la ETSIT es un claro ejemplo de ello, pues tanto alumnos como profesores pueden realizar numerosas tareas de forma telemtica: consulta acceso a material de asignaturas, encuestas de profesorado, consulta de fichas personales, listado de proyectos final de carrera, preparacin de programas de asignaturas, etc. La Escuela Tcnica Superior de Ingeniera de Telecomunicacin disfruta de dicho entorno para el almacenamiento, acceso y distribucin de recursos docentes, mediante la pgina web del centro. . Sin embargo, no dispone de un sistema de gestin ges de reserva de aulas e inventario de manera dinmica. Por tanto nace la necesidad de crear un entorno web centralizado donde se puedan realizar tareas de reserva de aulas y material docente, organizndolos por campos y facilitando las labores de consulta consulta y bsqueda por parte de los usuarios. Para abordar estas necesidades, se propone el diseo de una aplicacin web instalada en el servidor web del centro que e cumpla con estos requisitos. Esta E aplicacin dar un mayor servicio y utilidad a la pgina principal p del mismo, pudiendo dar acceso a cualquier persona autorizada.

Captulo1 Introduccin

1.2 Estructura y descripcin del proyecto


En este proyecto se proponen una serie fases para su desarrollo: Primera fase: : Necesidades que debe cubrir la aplicacin y bsqueda de soluciones. Segunda fase: Seleccin de la solucin ms viable y que ms se acerca a las necesidades planteadas. Tercera fase: Diseo y estructuracin de la aplicacin, y primeras pruebas en un entorno local. Cuarta fase: : Implementacin de las funcionalidades idades de PHP y MySQL, pruebas finales, depuracin y optimizacin en el servidor.

Estas fases se han descrito en la memoria de este proyecto bajo los siguientes captulos: Captulo 2: Se presentan las diversas soluciones software existente para abordar el proyecto, enumerando y destacando aquellas que, por sus ventajas desde el punto de vista de la arquitectura, se eligen para realizar la aplicacin. Captulo 3: Descripcin de la aplicacin y su arquitectura desarrollada bajo las herramientas software elegidas en el captulo anterior. Se tienen en cuenta a nivel usuario todos los pasos a seguir para la instalacin y configuracin de la aplicacin para su puesta en marcha. Capitulo 4: Manual del de usuario, donde se describen todas las la funcionalidades de la aplicacin, sus secciones y procedimientos. Capitulo 5: Manual del de usuario administrador, donde se describen desc todas las funcionalidades de la aplicacin, sus secciones y procedimientos. cedimientos. Capitulo 6: : Conclusiones, donde se resumen las etapas, resultados y lneas futuras del proyecto. proyecto

22

Captulo2 Herramientas de desarrollo

Captulo 2

Herramientas de desarrollo
2.1 Introduccin
A continuacin vamos a enumerar los conceptos y tecnologas utilizadas en el proyecto, describiendo sus ventajas y caractersticas ms importantes.

2.2 Conceptos bsicos: Tipos de licencias software


Licencia: contrato entre el desarrollador de un software sometido a propiedad intelectual y a derechos de autor y el usuario, en el cual se definen con precisin los derechos y deberes de ambas partes. Es el desarrollador, o aqul a quien ste haya cedido los derechos de explotacin, quien elige la licencia licencia segn la cual distribuye el software. Patente: conjunto de derechos exclusivos garantizados por un gobierno o autoridad al inventor de un nuevo producto (material o inmaterial) susceptible de ser explotado industrialmente para el bien del solicitante por un periodo de tiempo limitado Derecho de autor o copyright: forma de proteccin proporcionada por las leyes vigentes en la mayora de los pases para los autores de obras originales incluyendo obras literarias, dramticas, musicales, artsticas e intelectuales, tanto publicadas como pendientes de publicar. Software libre: proporciona la libertad de: Ejecutar el programa, para p cualquier propsito. Estudiar el funcionamiento del programa, y adaptarlo a sus necesidades. Redistribuir copias. Mejorar el programa, y poner sus mejoras a disposicin del pblico, para beneficio de toda la comunidad. Software de fuente abierta: abierta sus trminos de distribucin cumplen los criterios de: Distribucin libre. Inclusin del cdigo fuente. Permitir modificaciones y trabajos derivados en las mismas condiciones que el
3

22

Captulo2 Herramientas de desarrollo

software original. Integridad del cdigo fuente del autor, pudiendo requerir que los trabajos derivados tengan distinto nombre o versin. No discriminacin a personas o grupos. Sin uso restringido a campo de actividad. Los derechos otorgados a un programa sern vlidos para todo el software redistribuido sin imponer condiciones complementarias. La licencia no debe ser especfica para un producto determinado. La licencia no debe poner restricciones a otro producto que se distribuya junto con el software licenciado. La licencia debe ser tecnolgicamente neutral. n Estndar abierto: Esta basado en los principios de Disponibilidad. Maximizar las opciones del usuario final. Sin tasas sobre la implementacin. Sin discriminacin de implementador. Permiso de extensin o restriccin. Evitar prcticas predatorias por fabricantes dominantes Software de dominio pblico: aqul que no est protegido con copyright. Software con copyleft: software libre cuyos trminos de distribucin no permiten a los redistribuidores agregar ninguna restriccin restriccin adicional cuando lo redistribuyen o modifican. O sea, la versin modificada debe ser tambin libre. Software semi libre: aqul que no es libre, pero viene con autorizacin de usar, copiar, distribuir y modificar para particulares sin fines de lucro. luc Freeware: se usa comnmente para programas que permiten la redistribucin pero no la modificacin (y su cdigo fuente no est disponible). Shareware: software con autorizacin de redistribuir copias, pero debe pagarse cargo por licencia de uso continuado. uado. Software privativo: aqul cuyo uso, redistribucin o modificacin estn prohibidos o necesitan una autorizacin. Software comercial: el desarrollado por una empresa que pretende ganar dinero por su uso.

22

Captulo2 Herramientas de desarrollo

Desarrollos de software libre: libre Motivacin tica: abanderada por la Free Software Foundation [FSF FSFO09] partidaria del apelativo libre, , que argumenta que el software es conocimiento, debe poderse difundir sin trabas y que su ocultacin es una actitud antisocial y que la posibilidad de modificar programas gramas es una forma de libertad de expresin. Motivacin pragmtica: abanderada por la Open Source Initiative [OSIN09] partidaria del apelativo fuente abierta, , que argumenta ventajas tcnicas y econmicas, apartando el trmino free para poder evitar as la posible confusin entre libre y gratis. En la figura 2.1 [SOFT T09] podemos observar un mapa conceptual ual de software libre donde estn n relacionados los conceptos ms importantes.

Figura 2.1 Mapa conceptual del software libre

En la figura 2.2 [LSOF09 LSOF09] podemos ver una tabla que muestra una comparativa de las licencias ms importantes para software no propietario, indicando si son compatibles con la licencia GNU[GENU09] [GENU09] GPL[GPLI09] y si estn aprobadas por la Open Source Initiative.

22

Captulo2 Herramientas de desarrollo

Figura 2.2 Tabla comparativa de licencias

Los tipos de licencia ms utilizados son: BSD[BSDI09]: Una aplicacin licenciada con BSD permite que otras versiones pueden tener otros tipos de licencias, tanto propietarias, como BSD o GPL. GPL: Esta licencia aplica la necesidad del copyleft, haciendo que las nuevas versiones de la aplicacin sean siempre libres y licenciadas bajo GPL. MPL[MOPL09]: Aplica licencias dobles al cdigo fuente y a los ejecutables, obligando a devolver al autor las fuentes modificadas y permitiendo licenciar los binarios como propietarios.

22

Captulo2 Herramientas de desarrollo

2.3 Base de datos:


En una base de datos los datos son introducidos y almacenados almacenados de una sola vez, con independencia de los tratamientos, a nivel lgico. Antes de la existencia de las bases de datos se empleaban archivos secuenciales para almacenar datos, lo que supona un serio problema para el acceso a una determinada posicin, in, ya que haba que recorrer el archivo por completo, mermando seriamente la velocidad. Tiempo despus hicieron su aparicin los archivos indexados, con lo que ya se poda acceder a una determinada posicin directamente. Con el uso y el crecimiento de las necesidades exigidas, se requera un almacenamiento que permitiera operaciones complejas, sin que se violasen las restricciones impuestas por el sistema de archivos que se estuviese empleando, y cada usuario necesitaba tener confidencialidad e integridad integri en sus datos almacenados. Por todo esto surgieron las bases de datos jerrquicas, en donde los datos se situaban siguiendo una jerarqua, pero tambin presentaban serias limitaciones. Los accesos a datos eran unidireccionales, por lo que no se tardaba el mismo tiempo empo en hacer un camino que otro. Despus hicieron aparicin las bases de datos relacionales, que daban una mayor libertad a las relaciones entre tablas y tenan te las propiedades ACID y un lenguaje comn de acceso a datos conocido como SQL. SQL Estas propiedades impiden que las bases de datos sean igual de rpidas que el trabajo directo con archivos, aunque a nivel interno la base de datos trabaje sobre archivos y hoy da, an est en serio debate si el acceso a ciertos datos a travs de base de datos es ms rpido que el acceso directo a disco. En el esquema de la figura 2.4 2. [FORO09] podemos observar el funcionamiento de una base de datos a grandes rasgos:

22

Captulo2 Herramientas de desarrollo

Figura 2.3 Tabla Funcionamiento de una base de datos

Los sistemas s de bases de datos (SGBD) presentan numerosas ventajas que se pueden dividir en dos grupos: las que se deben a la integracin de datos y las que se deben a la interface comn que proporciona el SGBD.

2.3.1 Ventajas por la integracin de datos


Control sobre la redundancia de datos. Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, adems de provocar la falta de consistencia de datos. En los sistemas de bases s de datos todos estos ficheros estn integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones s entre los datos, o bien es necesaria para mejorar las prestaciones. Consistencia de datos. Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato est almacenado una sola vez, cualquier actualizacin se debe realizar slo una vez, y est disponible para todos los usuarios inmediatamente. Si un dato est duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen nen consistentes. Desgraciadamente, no todos los SGBD de hoy en da se encargan de mantener automticamente la consistencia.

22

Captulo2 Herramientas de desarrollo

Ms informacin sobre la misma cantidad de datos. Al estar todos los datos integrados, se puede extraer informacin adicional sobre sobr los mismos. Comparticin de datos. En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos todos los usuarios que estn autorizados. Adems, las nuevas aplicaciones que se vayan creando pueden utilizar los datos de la base de datos existente. Mantenimiento de estndares. Gracias a la integracin es ms fcil respetar los estndares necesarios, tanto tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estndares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estndares de documentacin, procedimientos de actualizacin y tambin bin reglas de acceso.

2.3.2 Ventajas
Mejora en la integridad de datos. La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas. Mejora en la seguridad. La seguridad de la base de datos es la proteccin de la base de datos frente a usuarios ios no autorizados. Sin unas buenas medidas de seguridad, la integracin de datos en los sistemas de bases de datos hace que stos sean ms vulnerables que en los sistemas de ficheros. Sin embargo, los SGBD permiten mantener la seguridad mediante el establecimiento establecimiento de claves para identificar al personal autorizado a utilizar la base de datos. Las autorizaciones se pueden realizar a nivel de operaciones, de modo que un usuario puede estar autorizado a consultar ciertos datos pero no a actualizarlos, por ejemplo. plo. Mejora en la accesibilidad a los datos. Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicacin que realice tal tarea. Mejora en la productividad. El SGBD proporciona muchas de las funciones estndar que el programador necesita escribir en un sistema de ficheros. A nivel bsico, el SGBD proporciona todas las rutinas de manejo de ficheros tpicas de los programas de aplicacin. El hecho de disponer de estas funciones permite al programador centrarse mejor en la funcin especfica requerida por los usuarios, sin tener que preocuparse de los detalles de implementacin de bajo nivel. Muchos SGBD tambin proporcionan un entorno de cuarta generacin consistente en un conjunto de herramientas que simplifican,
9

22

Captulo2 Herramientas de desarrollo

en gran medida, el desarrollo de las aplicaciones que acceden a la base de datos. Gracias a estas herramientas, el programador puede ofrecer una mayor productividad en un tiempo menor. Mejora en el mantenimiento gracias a la independencia de datos. En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicacin que los manejan. Esto hace que los programas programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados. Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos. Aumento de la concurrencia. En algunos sistemas de ficheros, si hay varios vari usuarios que pueden acceder simultneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda informacin o, incluso, que se pierda la integridad. La mayora de los SGBD gestionan el acceso concurrente a la base de d datos y garantizan que no ocurran problemas de este tipo. Mejora en los servicios de copias de seguridad y de recuperacin ante fallos. Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada da, y si se produce algn fallo, utilizar estas copias para restaurarlos. En este caso, todo el trabajo realizado sobre los datos desde que se hizo la ltima copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.

2.3.3 Inconvenientes
Complejidad. Los SGBD son conjuntos de programas muy complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder sacar un buen partido de ellos. Tamao. Los SGBD son programas complejos y muy extensos que requieren una gran cantidad de espacio en disco y de memoria para trabajar de forma eficiente. Coste econmico del SGBD. El coste de un SGBD vara dependiendo del entorno y de la funcionalidad que ofrece. Por ejemplo, un SGBD para un ordenador personal puede costar 500 euros, mientras que un SGBD para un sistema multiusuario que d servicio a cientos de usuarios puede costar entre 10.000 y 100.000 euros. Adems, hay que pagar
10

22

Captulo2 Herramientas de desarrollo

una cuota anual de mantenimiento que suele ser un porcentaje del precio del SGBD. Coste del equipamiento adicional. Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir ms espacio de almacenamiento. Adems, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una mquina ms grande o una mquina que se dedique solamente al SGBD. Todo esto har que la implantacin de un sistema de bases de datos sea ms cara. Coste de la conversin. En algunas ocasiones, el coste del SGBD y el coste del equipo informtico que sea necesario adquirir para su buen funcionamiento, es insignificante icante comparado al coste de convertir la aplicacin actual en un sistema de bases de datos. Este coste incluye el coste de ensear a la plantilla a utilizar estos sistemas y, probablemente, el coste del personal especializado para ayudar a realizar la conversin con y poner en marcha el sistema. Este coste es una de las razones principales por las que algunas empresas y organizaciones se resisten a cambiar su sistema actual de ficheros por un sistema de bases de datos. Prestaciones. Un sistema de ficheros est est escrito para una aplicacin especfica, por lo que sus prestaciones suelen ser muy buenas. Sin embargo, los SGBD estn escritos para ser ms generales y ser tiles en muchas aplicaciones, lo que puede hacer que algunas de ellas no sean tan rpidas como antes. a Vulnerable a los fallos. El hecho de que todo est centralizado en el SGBD hace que el sistema sea ms vulnerable ante los fallos que puedan producirse. Existen una gran diversidad de sistemas de administracin de bases de datos relacionales (RDBMS: BMS: Relational Relational Data Base Management System) base de datos relacionales los ms conocidos se explican a continuacin: MySQL: disponible bajo S.O. MS Windows y GNU/Linux, posee una gran velocidad, es muy empleada sobre todo en aplicaciones desarrolladas en PHP o Perl y tiene un bajo coste en cuanto al espacio que necesita. Es de cdigo abierto y la base de datos ms popular del mundo. Como principales inconvenientes destacan las grandes limitaciones para transacciones [TRAN09], , procedimientos almacenados y complejas sentencias de SQL.

Oracle: fabricado por Oracle Corporation [ORAC09], , es un producto vendido a nivel mundial, aunque su gran potencia y su elevado precio lo hace slo accesible a grandes empresas. Otorga gran robustez y numerosas caractersticas caractersticas que garantizan la seguridad e integridad de los datos, que las transacciones se ejecuten de una forma
11

22

Captulo2 Herramientas de desarrollo

correcta sin inconsistencias, ayuda a administrar y almacenar gran cantidad de informacin, estabilidad, escalabilidad y est disponible bajo MS Win Windows y GNU/Linux. Hasta hace poco tiempo ha presentado un dominio casi total en el mercado de servidores empresariales. Access: disponible nicamente bajo S.O. MS Windows, su uso se aconseja nicamente para volmenes de datos pequeos, bajo nmero de visitas visitas simultneas y que la aplicacin que acceda a ella no efecte cambios. Se deben de emplear aplicaciones elaboradas en ASP para acceder a ella. MS SQL Server: disponible nicamente bajo S.O. MS Windows, est orientada para programadores especializados especializad en ASP y Visual Basic, entre otros de Microsoft, y es adecuada para aplicaciones crticas y con cualquier grado de complejidad. PostgreSQL: disponible bajo S.O. MS Windows y GNU/Linux. Se trata del servidor de bases de datos de cdigo abierto ms potente, y es, de los de cdigo abierto, el ms adecuado para aplicaciones complejas o crticas. Entre sus principales caractersticas se encuentran: funciones (que pueden escribirse en variedad de lenguajes para que se ejecuten en el servidor, como C, C++ y JAVA), alta concurrencia (que permite que un proceso escriba en una tabla y mientras otros accedan a esa misma tabla sin necesidad de bloqueos), amplia variedad de tipos nativos (como texto ilimitado y direcciones IP y MAC), integridad transaccional y herencia h de tablas. Su principal inconveniente est en que se trata de los servidores de bases de datos ms lentos. En este proyecto ecto se va a emplear el sistema de administracin de bases de datos d MySQL aportando: Integridad referencial, la informacin est almacenada con una mayor seguridad frente a borrados accidentales, pero no es necesaria la alta seguridad y gran soporte para estos menesteres que Oracle y Postgre SQL, por ejemplo, brindan. Buena relacin entre calidad, usabilidad y coste.

2.4 MySQL.
2.4.1 Historia
Los inicios de MySQL se remontan a la necesidad necesidad de conectar el gestor mSQL a las propias tablas de MySQL, , para lo que se comenz con unas rutinas a bajo nivel. Despus de diversas pruebas se hizo ms evidente que mSQL no brindaba la suficiente

12

22

Captulo2 Herramientas de desarrollo

flexibilidad para estos menesteres, motivo por el cual se comenzaron a desarrollar nuevas funciones, que dieron lugar a una interfaz SQL totalmente compatible con mSQL. Desde sus comienzos se han ido desarrollando multitud de versiones, siendo sien actualmente la versin estable 5.0.27 la ms reciente. El origen del nombre MySQL no se conoce con certeza, parece ser que durante los ltimos aos sus libreras han llevado el prefijo my, lo que justamente coincide con el nombre de la hija de un miembro miembro del equipo de desarrollo.

2.4.2 Caractersticas principales


Actualmente la versin ms reciente es la versin 5.1, aunque la versin 4 an se emplea mucho a pesar de que MySQL AB comunic recientemente la finalizacin de actualizaciones de seguridad seguridad para dicha versin. Aunque en el servidor donde en principio se va a instalar la aplicacin cuenta con MySQL 5.0.32, a continuacin se detallan las caractersticas comunes a ambas versiones para una mayor generalizacin: Internas y portabilidad: portabilidad Programado mado en C y C++ Verificado en una gran variedad de compiladores Multiplataforma, soportando varios Sistemas Operativos como GNU/Linux, Mac OS X, SunOS y MS Windows, entre otros. Emplea GNU Automake, Autoconf y Libtool para la portabilidad. Tiene disponibles APIs para C, C++, Eiffel, Java, Perl y PHP, entre otros lenguajes. Soporta multi-hilo hilo (multi-threaded) (multi threaded) para mltiples microprocesadores. Posee sistemas de almacenamiento transaccional y no transaccional. transaccional Permite trabajar con tablas MyISAM, con gran rapidez con compresin de ndice. Sencillez para aadir otro sistema de almacenamiento, permitiendo aadir una interfaz SQL a una base de datos propia. Reserva de memoria muy rpida basada en threads (hilos). Joins muy rpidos empleando multi-join multi de una sola pasada. Tablas hash empleadas como tablas temporales, al estar alojadas en memoria. Trabaja con funciones SQL implementadas mediante una librera altamente optimizada, con una rapidez tan grande como sea posible, y por lo que normalmente no se reserva reserva memoria despus de toda la inicializacin para consultas. Cdigo probado con Purify y Valgrind, aplicaciones que permiten encontrar memoria perdida. El servidor se puede utilizar como un programa separado para el caso de un
13

22

Captulo2 Herramientas de desarrollo

entorno de red cliente-servidor. cliente idor. A su vez tambin est disponible como biblioteca y puede ser embebido en aplicaciones autnomas, con disponibilidad o no de red. Tipos de datos, sentencias y funciones Soporte para una gran variedad de tipos de datos: enteros con y sin signo, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM. Permite registros tanto de longitud fija como variable. Da soporte completo para operadores operadores y funciones en las clusulas de consultas SELECT y WHERE. Soporta de una manera completa las clusulas GROUP BY y ORDER BY, adems de funciones de agrupacin COUNT, AVG, STD, SUM MAX, MIN y GROUP_CONCAT, as como LEFT OUTER JOIN y RIGHT OUTER JOIN cumpliendo iendo estndares de sintaxis SQL y ODBC. Permite el uso de alias en tablas y columnas. Las clusulas DELETE, INSERT, REPLACE y UPDATE devuelven el nmero de filas que han sido afectadas o el nmero de filas que seran afectadas, segn se requiera. Las funciones iones pueden llamarse igual que las tablas o las columnas, no hay colisiones entre ellos, salvo que no se permiten espacios entre el nombre de la funcin y los parntesis empleados para invocarla. Seguridad y conectividad Empleo de un sistema de privilegios privilegios y contraseas con gran flexibilidad y seguridad, permitiendo la autenticacin basada en la mquina servidora, adems de intercambiar contraseas de manera cifrada. Se puede conectar al sistema empleando sockets TCP/IP en cualquier plataforma. Los servidores res basados en MS Windows permiten conexiones con memoria compartida si se inicializan con la opcin para tales efectos, as como los clientes tambin pueden utilizar esta prestacin. La interfaz para el conector MyODBC, disponible para todas las plataformas, proporciona a MySQL soporte para programas clientes que utilicen conexiones ODBC (Open Open Database Connectivity), como es el caso de emplear MS Access para conectarse al servidor MySQL. MySQ De igual manera existen interfaces para conectores J y NET que permiten conexiones a la base de datos desde aplicaciones desarrolladas en Java y .NET. Escalabilidad y localizacin MySQL es empleado en bases de datos que contienen 50 millones de registros. registro Tambin hay casos con 60.000 tablas y alrededor de 5 millones de registros. Permite hasta 32 ndices por tabla (64 a partir de la versin 4.1.2), de los que cada
14

22

Captulo2 Herramientas de desarrollo

uno puede tener desde 1 hasta 16 columnas o partes de columnas. El mximo ancho de lmite son on 500 bytes (1000 a partir de la versin 4.1.2). Los mensajes de error pueden ser mostrados en multitud de idiomas, segn en el que sea configurado el servidor. Soporte para gran variedad de conjuntos de caracteres. Datos guardados en el conjunto de caracteres caracteres elegido, adems de que todas las comparaciones, salvo si se indica en el juego de caracteres, son insensibles a maysculas (case-insensitive). insensitive). Las ordenaciones son llevabas a cabo en el conjunto de caracteres elegido.

2.5 Servidor web 2.5.1 Introduccin


Para el desarrollo y puesta en marcha de este proyecto, resulta indispensable la utilizacin de un servidor web, entiendo por este como el programa que implementa el protocolo HTTP [HTTP09 HTTP09]. . Sobre la palabra servidor es necesario distinguir claramente clarame entre la parte que identifica al programa y la parte que identifica al ordenador en s. En este caso todo el texto se refiere por entero al programa, salvo si se indica lo contrario. El servidor web tiene la funcin de permanecer a la espera de peticiones peticio HTTP de los clientes, que suelen llevarlas a cabo a travs de un navegador web. Los clientes realizan peticiones HTTP al servidor, y est les responde con el/los contenido/s que los clientes solicitan, aunque tambin se puede configurar el servidor para para que no permita ms de un cliente simultneamente. Los contenidos devueltos por el servidor suelen ser interpretados por los navegadores web de los clientes, que los muestran por pantalla acorde a unas fuentes, colores, disposicin de textos y objetos, por por lo que el servidor se limita a transferir el cdigo de la pgina sin llevar a cabo ninguna interpretacin de ella. Cada vez con ms frecuencia se est disponiendo de aplicaciones web, que consisten en fragmentos de cdigo que se ejecutan tras realizar ciertas ciertas peticiones o respuestas HTTP, de las que cabe diferenciar entre: Aplicaciones del lado del servidor: aquellas en las que el servidor lleva acabo la/s ejecucin/es de una o varias aplicaciones que producen una respuesta, normalmente un cdigo en HTML. L. El servidor enva esta respuesta al cliente empleando el protocolo HTTP. Aplicaciones del lado del cliente: aquellas en las que el servidor proporciona al cliente el cdigo de las aplicaciones al cliente, y ste mediante el navegador las ejecuta. Las ms conocidas son las tipo Java, Javascript, Actionscript, etc. Para que la ejecucin se lleve a cabo el navegador ha de tener permisos para estas ejecuciones adems de soportarlas. Para el caso de Javascript, ste suele ir soportado nativamente por el navegador, egador, pero para el resto lo normal es que el navegador tenga que emplear plugins. plugins Las aplicaciones del lado del cliente presentan la ventaja de que el cliente realiza un
15

22

Captulo2 Herramientas de desarrollo

procesado mnimo, pero el gran inconveniente de que a veces es necesario que el cliente clie cuente con unos plugins especficos para poder visualizar correctamente los resultados que recibe del servidor. A diferencia de las del lado del cliente, las aplicaciones del lado del servidor tienen el inconveniente de que en algunas ocasiones el servidor serv puede encontrarse muy saturado, por ejemplo, debido a un gran nmero de peticiones simultneas pero a su vez esta tecnologa presenta la gran ventaja de que apenas requiere procesado por parte del cliente, ni ninguna capacidad adicional para poder visualizar vis la respuesta del servidor.

2.5.2 Clasificacin de servidores web


Existen infinidad de servidores web, unos propios de una plataforma en concreto y otros multiplataforma, para abarcar pequeas cantidades de clientes o para grandes cantidades de clientes ientes y trfico. A continuacin se detallan algunos: Apache[APAC09]: se trata de un servidor de cdigo abierto cuyos inicios se remontan a 1995, actualmente se desarrolla dentro del proyecto HTTP Server de Apache Software Foundation, y que soporta plataformas plataformas UNIX, Windows y cualquier otra que implemente el protocolo HTTP/1.1. Es muy posiblemente el servidor web ms conocido y utilizado. ISS[ISSE09]: Internet Information Services, es una serie de servicios para los ordenadores que funcionan en la plafatorma Windows. En sus inicios formaba parte del Option Pack para MS Windows NT, pero despus fue integrado en el resto de sistemas operativos de Microsoft orientados a ofrecer servicios. El servicio de servidor web es uno ms de los que ofrece, a parte de FTP, SMTP y NNTP. Cherokee[CHER09] CHER09]: de cdigo abierto, comenz a ser ideado deado a finales de 2001 por un ingeniero espaol que trabaja para Sun Microsystems, aunque en el proyecto colaboran desarrolladores de todo el mundo. Est disponible para plataformas plat UNIX y Windows. Su mejor publicidad es su gran velocidad, facilidad de uso y modularidad. Por esto ltimo es por lo que resulta tan eficiente y consume pocos recursos, ya que no presenta ninguna funcionalidad instalada. Es una herramienta especializada especiali a la que se le aaden funcionalidades a travs de plugins y slo cuenta con funcionalidades que el servidor va a necesitar para llevar a cabo su servicio. Lighttpd[LHTT09]: : de software libre y disponible para plataformas UNIX, est diseado para ser flexible, rpido, seguro y fiel a los estndares, especialmente pensado para ordenadores con escasos recursos. Thttpd[THTT09]: distribuido como software libre y disponible para plataformas UNIX, tiene como mejores prestaciones su simplicidad, poco tamao, tama portabilidad, rapidez y seguridad, empleando los requerimientos mnimos de un servidor HTTP. En su pgina web se presume que puede permitirse ms de 1000 clientes conectados. Para el desarrollo y funcionamiento de esta aplicacin se va a emplear el servidor Apache. Decisin adoptaba por los siguientes motivos:
16

22

Captulo2 Herramientas de desarrollo

Es necesario que el servicio funcione sobre plataforma GNU/Linux, dado que es el Sistema Operativo que tiene instalado el ordenador en el que se va a implantar el sistema. Por esta razn, a pesar de sus servicios complementarios, ISS queda descartado para esta aplicacin. El sistema requiere estabilidad tanto a nivel de Sistema Operativo como tambin de la aplicacin que trabaja de servidor web, motivo por el que de los servidores web restantes se considera que Apache es el ms idneo por su gran variedad de versiones, antigedad y amplia comunidad de desarrollo. Resulta aconsejable que la aplicacin tenga un buen soporte y asistencia tcnica, y de todas las mencionadas Apache es la ms extendida y utilizada. Todo su cdigo est escrito en C, por lo que a pesar de no estar compuesto de las funcionalidades nicamente necesarias, el detrimento que ellas pueden ocasionar en su velocidad no es muy apreciable para el uso que en este proyecto va a tener. En algn momento puede ser necesario implementar un sistema de conexiones seguras a travs del servidor web, funcionalidad no disponible por parte de Thttpd.

2.6. Servidor Apache 2.6.1 Historia


El origen de Apache se remonta a 1995, ao en el que comenz el desarrollo del proyecto del grupo Apache, tambin conocido como ASF (Apache Software Foundation). Este proyecto est basado en el servidor Apache HTTPd de la aplicacin original de NCSA[NCSA09] [NCSA09]. El desarrollo de la aplicacin original sufri una pausa tras la marcha de algunos de sus desarrolladores, motivo por el que varios administradores de servidores webs que lo empleaban empleaban siguieron creando sus parches por labores de mantenimiento. Estos desarrolladores de parches se unieron un tiempo tiemp despus y formaron el grupo actual, en el que cada desarrollador trabaja en sus propios proyectos de cdigo abierto. En sus inicios esta aplicacin era slo para Sistemas Operativos UNIX, y con las distintas evoluciones pas a estar tambin disponible para pa plataformas Windows. 2.3.3.2 Caractersticas principales Actualmente existen multitud de versiones 1.x y 2.x de Apache, pero el ordenador que efectuar las labores de servidor de este proyecto tiene instalado Apache 1.3.34 y esas decisiones no competen a este proyecto. A continuacin se citarn las caractersticas disponibles en ambas versiones. Disponible para una gran variedad de Sistemas Operativos, como ya se cit en su presentacin en otro apartado anterior. Al ser una tecnologa gratuita de cdigo cd fuente abierta, , su software es transparente y quien lo administra puede saber concretamente lo que est instalando. Tiene diseo modular, lo que permite de una manera muy sencilla ampliar sus capacidades, y al estar escrito en C cualquier conocedor de de este lenguaje y que quiera implementar ms funcionalidades puede crearse sus propios mdulos.
17

22

Captulo2 Herramientas de desarrollo

Permite trabajar con CGI, Java, Perl y PHP, entre otros lenguajes de script, incluso en modo CGI o como mdulos. Hace posible la personalizacin de los diversos diversos errores que se pueden dar, como por ejemplo al intentar acceder a una pgina inexistente. Ofrece una alta configurabilidad en la creacin y gestin de logs, por si se requiere tener un mayor control sobre el funcionamiento del servidor web.

2.6.2 Arquitectura rquitectura y funcionamiento


El servidor web Apache se basa en un concepto muy simple de divisin del sistema en mdulos, representando estos la divisin del trabajo dentro del sistema, valga la redundancia. Este servidor tiene un Ncleo (core), que lleva a cabo todas las funcionalidades importantes del sistema, y los mdulos, externos a este ncleo, aaden funcionalidades al servidor web, configurndose cada uno de ellos por separado. Es por ello que se obtiene globalmente un sistema muy flexible, que que permite ser configurado y optimizado acorde a unas necesidades mediante la implementacin de mdulos externos. Esta arquitectura tradicional esquemticamente ha sido siempre como muestra mue la figura 2.4 [FORO09]:

Figura 24 4 Arquitectura del Servidor Web Apache (modelo antiguo)

La manera tradicional de ver el sistema ha consistido en pensar en l como en 4 capas, de las que cada una intercambiaba informacin con otra a travs de una interfaz. Las cuatro capas eran Ncleo, Ncleo, Mdulos, Sistema Operativo (SO) y Utilidades (Util). La capa de los mdulos era la ms independiente y consista en un subsistema que provea de funcionalidades adicionales, como el subsistema subsistem MIME[MIME09]. Como se aprecia en la figura 2.5 [FORO09] actualmente la arquitectura del sistema se contempla desde el punto de vista de otro modelo:

18

22

Captulo2 Herramientas de desarrollo

Figura 2.5 Arquitectura actual del Servidor Web Apache

En este modelo la perspectiva es diferente. El Ncleo del servidor web puede decirse que ue est compuesto del Subsistema Ncleo, Subsistema de Sistema Operativo y Subsistema de Utilidades. Los tres subsistemas se encuentran formando tres capas en el Ncleo, y los mdulos se comunican a travs de interfaces proporcionadas por cada una de esas capas, por lo que esencialmente los mdulos suplementan las funcionalidades del Ncleo. cleo Compuesto fundamentalmente por cuatro esquemticamente en la figura 2.6 [FORO09]:

componentes,

representado

Figura 2.6 - Componentes fundamentales del Ncleo de Apache

19

22

Captulo2 Herramientas de desarrollo

Mdulos El servidor Apache dispone de diversos mdulos que implementan las funcionalidades de los servicios solicitados por el cliente. Estos mdulos interactan con el Ncleo y son independientes unos s de otros, pero todos tienen la misma interfaz hacia l. El servidor Apache contiene varios mdulos estndares, de los cuales dado su gran nmero slo se describirn algunos, agrupados segn su fase de uso o utilidad, aunque hay diversas clasificaciones. Traduccin de direcciones mod_userdir: traduce el directorio de usuario en las rutas reales de mod_rewrite. mod_rewrite: proporciona un motor de reescritura, basado en reglas que reescriben las peticiones de direcciones de inmediato.

Fases de autenticacin/autorizacin Comprueban que el usuario tiene permiso para acceder al servidor, y se verifica mediante nombre de host o direccin IP. mod_auth, mod_auth_anon, mod_auth_db, mod_auth_dbm: empleados para la autenticacin. mod_access: proporciona proporciona control de acceso basndose en el nombre del host del cliente, direccin IP u otras caractersticas de la peticin del cliente.

Determinacin de tipo MIME de los objetos solicitados mod_mime: determina el tipo de archivo a travs de la extensin del archivo. mod_mime_magic: determina el tipo MIME de un archivo analizando los bytes iniciales del contenido.

Fase de fijacin mod_alias: traduce diferentes partes del sistema de archivos del servidor en el rbol de documentos del servidor y redirecciona direcciones. mod_env: modifica el entorno que se enva a los scripts CGI y las pginas SSI (Server Side Includes). mod_speling: puede corregir automticamente algunos errores tipogrficos de la direccin e ignora maysculas y minsculas

20

22

Captulo2 Herramientas de desarrollo

Envo de datos al cliente mod_actions: se utiliza para ejecutar scripts CGI basndose en el tipo de medio o el mtodo de peticin. mod_asis: empleado para el envo de archivos que tienen sus propias cabeceras HTTP. mod_autoindex: lista y muestra los contenidos de un directorio direct de manera automtica. mod_cgi: permite la ejecucin de scripts CGI. mod_include: posibilita el incluir documentos HTML generados por el propio servidor, tambin conocido como SSI. mod_dir: utilizado para redirecciones y servir los archivos de listado de directorios. mod_imap: necesario para el procesado de imgenes en el lado del servidor.

Fase de registro de peticiones mod_log_config: registro de las peticiones efectuadas al servidor. mod_logio: registro del nmero de bytes recibidos y enviados en cara respuesta de peticin de un cliente.

Peticin de una direccin:

Figura 2.7 - Procesos a seguir por la peticin de una direccin [FORO09 FORO09]

21

22

Captulo2 Herramientas de desarrollo

El Ncleo del servidor web Apache est dividido en componentes, cada uno con una responsabilidad especfica en el ciclo del tratamiento de peticiones. Una peticin de un cliente primeramente contacta con HTTP_PROTOCOL, componente responsable de todas las conexiones con los clientes. El servidor Apache gestiona la peticin transfirindola la entre los diferentes mdulos, en donde cada mdulo es responsable de una funcionalidad especfica, y por lo tanto el ncleo debe de asegurarse de que la peticin es reenviada por el mdulo apropiado para el procesado necesario. Cada mdulo es independiente nte de los dems, y por lo tanto nunca interactan entre ellos directamente, slo a travs del ncleo. El componente HTTP_REQUEST es el responsable del intercambio de peticiones entre ncleo y mdulos. Por lo tanto, una peticin es recibida por HTTP_PROTOCOL, HTTP_REQUEST toma el control y comienza el ciclo tpico de ejecucin. Primero tiene lugar la traduccin de la direccin (URL) y extraccin del nombre del archivo solicitado en la peticin. En el transcurso de esta etapa el mdulo mod_userdir recibe la peticin y resuelve la ruta de direccin. A continuacin, se autentica la peticin. El componente HTTP_REQUEST enva la peticin a los mdulos mod_auth, mod_auth_anon y mod_auth_db y mod_auth_dbm. Esta etapa corresponde a la fase de autenticacin anteriormente anteriorm mencionada. Una vez que el nivel de acceso es el correcto y se permite este, se entrega la peticin al sistema de archivos o al script CGI. Finalmente el componente HTTP_REQUEST permite el tipo MIME necesario. El tipo MIME es el tipo de contenido que ser enviado por el flujo de salida de datos hacia el cliente. Este determina el contenido, la codificacin en este y el lenguaje empleado para entregar la salida al cliente. Al final del proceso, el resultado es colocado en el flujo de salida con la ruta y direcciones reales, las cuales sern des-traducidas. des traducidas. As que por ltimo, el componente HTTP_PROTOCOL comunicar al cliente la respuesta a su peticin, y al final de esta labor la peticin ser registrada en el registro de peticiones del servidor.

2.7. PHP 2.7.1 Historia


PHP fue concebido en 1994 [WIKI09]. . Curiosamente sus primeras versiones no distribuidas al pblico fueron usadas en sus pginas web para mantener un control de quien consultaba el Currculum Vitae del autor y ciertos datos como la cantidad de trfico que la pgina reciba. Al ao siguiente, 1995, se public la primera versin disponible al pblico, que se conoci como Herramientas para pginas web personales, o Personal Home Page Tools. Estas herramientas consistan en un analizador analizad sintctico muy sencillo y unas utilidades de libro de visitas, contador de estas y otras de menor tamao. Meses despus el analizador sintctico fue reescrito y nombrado a PHP/FI
22

22

Captulo2 Herramientas de desarrollo

versin 2, (FI era otro programa del desarrollador que procesaba datos de formularios), por lo que ya la herramienta para pginas web tambin contaba con un intrprete de formularios, adems de soporte para mSQL. PHP/FI fue creciendo con gran rapidez y mucha gente comenz a contribuir en el desarrollo de este pequeo proyecto inicial. in En 1997 el desarrollo del proyecto sufri un profundo cambio al pasar a ser un proyecto mucho ms organizado, reescribindose por ejemplo el analizador sintctico, y creando las bases para la versin 3, la cual fue lanzada oficialmente en 1998. En 1999 se volvi a reescribir gran parte del cdigo producindose el motor Zend, motor de procesamiento para la compilacin y cifrado del cdigo, desarrollado por Zend Tecnologies. Un ao despus, en Mayo de 2000, fue lanzado PHP 4, en Julio de 2004 se lanz PHP 5 y en breve se espera el lanzamiento de PHP 6. Actualmente estn activos las actualizaciones y soportes para las versiones 4 y 5, y para cuando haga aparicin la versin 6 se espera que entonces este soporte se ample a las tres.

2.7.2 Caractersticas
Cabe destacar que de las dos versiones actualmente activas, las mayores ventajas de la versin 5 frente a la versin 4 son el mejor soporte para Programacin Orientada a Objetos, mejoras de rendimiento, mejor soporte para MySQL y XML, iteradores es de datos y excepcin de errores. Dado que el servidor en el que se va a instalar este proyecto de repositorio de artculos cuenta con la versin 4.4.4, las caractersticas se centrarn en esta versin: Hace posible la utilizacin de pginas web dinmicas dinmicas en combinacin con el motor de base de datos MySQL, aunque cuenta con soporte para una gran variedad de motores de bases de datos. Con l se pueden crear aplicaciones grficas independientes del navegador, por medio de PHP y GTK, permitiendo desarrollar aplicaciones de escritorio si el Sistema Operativo en cuestin lo soporta. Es multiplataforma, se puede compilar su cdigo en diferentes arquitecturas. Permite la lectura y manipulacin de datos desde diversas fuentes, como datos ingresados en formularios HTML. Tiene capacidad para expandir su utilidad con una gran variedad de mdulos, como el empleado en este proyecto para la autenticacin mediante directorio LDAP. Amplia documentacin y soporte en su pgina web. Es libre, resultando una alternativa alternativa de fcil acceso para todos. Soporta tcnicas de Programacin Orientada a Objetos. Tiene una biblioteca nativa de funciones sumamente amplia e incluida. No requiere de la definicin de tipos de d variables.
23

22

Captulo2 Herramientas de desarrollo

2.7.3 Funcionamiento
PHP se comporta como un mdulo de Apache, que extrae cdigo dentro de las pginas, lo ejecuta en el servidor y enva el resultado al cliente. El cliente no puede visualizar el cdigo del programa, solamente su resultado. Adems es importante destacar que al ser un lenguaje de script, script, los programas en PHP no se compilan, sino que nicamente se interpretan, por lo que es ms lento en ejecutarse como programas hechos en C, que requieren estar compilados. No obstante, su gran ventaja es que un cambio en el cdigo en PHP tiene el efecto efec inmediato, y en C por ejemplo, es necesario volver a compilarlo. Resulta importante aclarar que slo son interpretados por el mdulo PHP, es decir pasados por parte del Ncleo de Apache a l, los archivos que hayan sido definidos en la configuracin del servidor como tales, dado que la interpretacin de cdigo es un proceso que necesita un tiempo mayor que el empleado en enviar una pgina tal como est. Normalmente se emplea la extensin .php, aunque tambin se utilizan otras como .php3, .php4, y phtml.

2.8 Xampp
libre que consiste [XAMPP] es un servidor independiente de plataforma, software libre, principalmente en la base de datos MySQL, el servidor Web Apache y los intrpretes para lenguajes de script: PHP y Perl. El nombre proviene del acrnimo acrnim de X (para cualquiera de los diferentes sistemas operativos), Apache,MySQL, PHP, Perl. El programa est liberado bajo la licencia GNU y acta como un servidor Web libre, fcil de usar y capaz de interpretar erpretar pginas dinmicas. dinmicas

2.8.1 Caractersticas
XAMPP solamente requiere descargar y ejecutar un archivo zip, tar, tar o exe, con unas pequeas configuraciones en alguno de sus componentes que el servidor Web necesitar. XAMPP se actualiza regularmente para incorporar las ltimas versiones de Apache/MySQL/PHP y Perl. Tambin Tambin incluye otros mdulos como OpenSSL y [PHPM09 PHPM09] Para instalar XAMPP se requiere solamente una pequea fraccin del tiempo necesario para descargar y configurar los programas por separado. Los os diseadores de XAMPP slo pretendan su uso como una herramienta de desarrollo, para permitir a los diseadores de sitios webs y programadores testear su trabajo en sus propios ordenadores sin ningn acceso a Internet. En la prctica, sin embargo, XAMPP es utilizado actualmente para servidor de sitios Web y, con algunas modificaciones, es generalmente lo suficientemente seguro para serlo. Con el paquete se incluye una herramienta especial para proteger fcilmente las partes ms importantes.

24

Captulo3 Descripcin Descripcin de la aplicacin

Captulo 3

Descripcin de la aplicacin
3. La aplicacin
Veremos a continuacin como se ha desarrollado la aplicacin ,sus fases de desarrollo y su puesta en marcha en el servidor.

3.1 Introduccin
Gestin y Reservas de Infraestructuras (GRI) es una aplicacin basada en PHP / MySQL para la reserva de salas de reunin basada en un mdulo de gestin con licencia GPL de libre modificacin in y distribucin llamado MRBS. MRBS La aplicacin a nivel fsico est compuesta por diversos archivos almacenados en el lado del servidor.

3.2 Caractersticas de la aplicacin


Algunas de sus caractersticas principales son: Soporte para Web / Intranet, Intranet disponible isponible desde cualquier estacin de d trabajo a travs de un navegador. navegador Fcil manejo, , opciones con interfaz web muy intuitiva. Reservas con posibilidad de repeticiones flexibles. Reconoce la autenticacin de su base de datos de usuarios usuario existente (por ejemplo, Netware, NT Domain, NIS, etc). etc) Asegura consistencia en las entradas. Opcin de informes. informes Seleccionable da / semana / mes para las visitas. Mltiples niveles autoridades (de slo lectura, usuario, admin). admin) Apoyo para las reservas por el tiempo o perodo - ideal para uso en las escuelas. Los administradores de la sala pueden ser notificados de las reservas por correo electrnico. electrnico Mltiples idiomas soportados. soportados Estable y seguridad habilitada. habilitada Basada en MySQL y Postgres. Postgres
25

Captulo3 Descripcin Descripcin de la aplicacin

3.3 Requisitos del sistema


Los requisitos mnimos del sistema para un buen comportamiento de la aplicacin son: PHP4 / 5 con MySQL y / o el soporte para PostgreSQL. MySQL o PostgreSQL. Cualquier servidor web soportado por PHP.

Recomendaciones: - JavaScript activado en el navegador - CSS activado en el navegador - Conexin del mdulo de PHP en el servidor (tambin llamados SAPI) si desea utilizar cualquier de los sistemas de autenticacin bsica HTTP proporcionado.

3.4 Topologa
Como podemos ver en la figura 3.1, nuestro sistema consta principalmente de un servidor con la aplicacin Xampp, que integra entre otros mdulos un servidor Apache, MySQL y Php. Dicho servidor est conecta a una red con acceso a internet haciendo posible el acceso a los distintos usuarios a nuestra nuest aplicacin.

Figura 3.1 Topologa de nuestra sistema

26

Captulo3 Descripcin Descripcin de la aplicacin

3.5 La aplicacin y sus fases f de desarrollo


Para el desarrollo de este proyecto se ha optado por utilizar como soporte las tecnologas de desarrollo web libre: Apache, PHP y MySQL. La aplicacin est basada en un software llamado MRBS con licencia GNU /GPL de libre distribucin. Para su implementacin y puesta en marcha se ha hecho uso de Apache Server para el servidor web, PHP para el lenguaje de programacin y MySQL para el sistema ema de administracin de base de datos, proporcionando a la aplicacin un conjunto de herramientas indispensables para su desarrollo. El proyecto se ha desarrollado en cuatro fases: Primera fase: Necesidades que debe cubrir la aplicacin y bsqueda de soluciones. Segunda fase: Seleccin de la solucin ms viable y que ms se acerca a las necesidades planteadas. Tercera fase: Diseo y estructuracin de la aplicacin, y primeras pruebas en un entorno local. Cuarta fase: Implementacin de las funcionalidades funcionalidades de PHP y MySQL, pruebas finales, depuracin y optimizacin en el servidor.

En la primera fase, se definen defi los requisitos que debe tener la herramienta de reserva de aulas, , para ello consultamos al a centro implicado para conocer sus necesidades a la hora de reservar. El sistema deba cumplir las siguientes caractersticas: Aplicacin web con soporte para mltiples usuarios . Autentificacin de usuarios. usuarios Interfaz intuitivo y de fcil manejo. Gestin de reservas por parte de un administrador. Soporte para ara salas y edificios Notificacin de reservas por correo electrnico.

Una vez conocidos todos los requisitos empezamos con la bsqueda de soluciones y el tipo de plataforma donde se iba a desarrollar. Para ello se hizo una gran labor de bsqueda, comparando rando las diversas soluciones que otras instituciones daban a dicho problema. El resultado fue el menos esperado, ya que la a gran mayora no tena ningn sistema de gestin, y slo lo algunas se hacan valer de un formulario de reservas como se puede ver en la figura 3.2, 3.2 el cual se rellena y se le enva a un administrador para que tramite la solicitud.

27

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.2 Ejemplo de formulario de reserva

[RESER09]

Dichos formularios no cumplen nuestros objetivos marcados, , y se opto por una u bsqueda ms a fondo en aplicaciones ms especficas como son los Gestores de Contenidos CMS [CMSY09] y software de libre distribucin (GPL). Tras cientos de programas descartados, encontramos un software que cumple con parte de los requisitos. Se trata de una aplicacin llamada MRBS [MRBS09] (figura 3.4). El mdulo MRBS es una aplicacin web desarrollada con licencia GPL, GPL para la reserva de recursos. MRBS est basado en Webcalendar [WEBC09] (figura 3.3), aplicacin basada en PHP que implementa un calendario de eventos en lnea que puede ser configurado como para un usuario nico, o un calendario para grupos de usuarios. WebCalendar puede tener la configuracin en una variedad de formas, tales como: como Un sistema de gestin estin de calendario para una sola persona Un sistema de gestin de calendario para un grupo de personas, permitiendo que uno o varios asistentes para gestionar el calendario de otro usuario Un calendario de eventos que se puedan ver, permitiendo a los visitantes vis a presentar los nuevos eventos Un servidor de calendario que puede ser visto con iCalendar compatible con aplicaciones de calendario, como Mozilla Sunbird, Apple iCal o aplicaciones habilitadas GNOME Evolution o RSS-como RSS como Firefox, Thunderbird, RSSOwl, RSSOw FeedDemon o BlogExpress. Dichas aplicaciones se encuentran alojadas en el servidor de SourceForge , central de desarrollos de software que controla y gestiona varios proyectos de software libre y acta como un repositorio de cdigo fuente , sus direcciones direcci web son:

28

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.3 Aplicacin Webcalendar

Figura 3.4 Aplicacin MRBS

29

Captulo3 Descripcin Descripcin de la aplicacin

La segunda fase del proyecto finaliza con la eleccin de MRBS ya que es la solucin ms viable y cumple con los requisitos del servidor puesto que tiene soporte para servidores Apache , Php y Mysql. La tercera fase comienza con la necesidad de instalar la aplicacin en un servidor con sistema operativo Windows , para ello elegimos el Xampp. Xampp es una forma fcil de instalar la distribucin Apache que contiene contien MySQL, PHP y Perl.

3.5.1 Instalacin del Xampp


Vamos a proceder a instalar en local el Xampp, para ello ejecutamos el fichero de instalacin y seguiremos las instrucciones. Una vez terminada la instalacin, nos saldr la imagen de la figura 3.5.

Figura 3.5 Instalacin de Xampp

En esta ventana hay que elegir si queremos que se instale el Apache (servidor web), MySQL (bases de datos) y Filezilla FTP (servidor FTP), como servicios de Windows, es decir, que se inicien siempre con el ordenador y permanezcan conectados aunque cerremos la Sesin de Windows. Una vez hecha nuestra eleccin, la instalacin se dar por concluida y nos solicitar si queremos ver el Panel de Control del Xampp. Elegiremos que si, y se nos presentar la pantalla de la figura 3.6.

30

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.6 Ejemplo de formulario de reserva

Desde aqu veremos los diferentes servicios que nos provee el Xampp. Los explicaremos todos. Apache: Es lo que nos proveer del servidor web, para poder servir nuestras pginas en local.

MySQL: Para dar soporte a la bases de datos, necesitaremos necesitaremos siempre que est conectado. FileZilla: Nos proveer de un servidor FTP local, uno de los puntos fuertes del Xampp. Mercury: Programa para poder crearnos nuestro propio servidor de correo en local.

Procederemos pues a conectar los servicios servicios que requiramos. Para instalar la aplicacin de Gestin de Reservas e Infraestructuras necesitaremos como mnimo el Apache y MySQL. Deberemos de darles al botn "Start" para conectarlos. Si es Windows XP con el SP2, posiblemente el firewall muestre un aviso, aviso, si se da el caso, hay que dar permiso para acceder. As pues, deberemos de tener la pantalla como muestra la figura 3.7.

31

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.7 Panel de control del Xampp

Con esto termina la instalacin del servidor local. Ahora vamos vamos a ver las opciones del Xampp ms importantes. Si ahora introducimos en nuestro navegador la direccin http://localhost , veremos la apariencia del servidor web. Deberemos de elegir el idioma que queramos, y se nos presentar la pantalla de la figura 3.8. 3.

Figura 3.8 Pantalla principal del Xampp

32

Captulo3 Descripcin Descripcin de la aplicacin

En esta pantalla tenemos multitud de opciones. Vamos a proceder a explicarlas: Bienvenido: Introduccin del panel de administracin Estado: Aqu nos dar el estado (activado o no activado) de los distintos servicios cios del Xampp. Chequeo de seguridad: Desde aqu nos har un chequeo de la seguridad del server. Ms adelante veremos cmo configurarlo. Documentacin: Una serie de manuales para consultar. Componentes: Enumera los componentes que incluye el Xampp. phpinfo(): Informacin sobre la versin de PHP Categora Demos: Aqu tenemos una serie de scripts ya creados. phpMyAdmin: Lugar para administrar nuestras bases de datos. Webalizer: Estadsticas sobre nuestro servidor. Conmutador PHP: Opcin MUY til. La explicaremos detenidamente a continuacin.

Mercury Mail: Configuracin del servidor de correo FileZilla FTP: Configuracin del servidor FTP

El Xampp posee PHP 5.x.x . Esto puede darnos problemas en algunas aplicaciones, ya que la mayora yora estn pensadas para PHP 4.x.x , ya que la versin 5 aun es nueva. En caso de que tengamos problemas de este tipo, el conmutador PHP ser lo que portar nuestro PHP 5.x.x a uno 4.x.x , por ello es una opcin muy til. Ahora veremos cmo mejorar la seguridad, seguridad, lo primero es introducir una contrasea a nuestro servidor MySQL, para que no pueda entrar nadie a nuestras bases de datos desde el exterior. Para ello nos dirigiremos a chequeo de seguridad, donde se nos abre la ventana de la figura 3.13

33

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.9 Ventana de seguridad del Xampp

Esta pgina nos visualiza si tenemos bien configurado el XAMPP en cuanto a seguridad. Para corregirlo pulsamos sobre el enlace (), y nos saldr otra pantalla como podemos ver en la figura 3.14:

Figura 3.14 Pantalla Pantalla de configuracin de seguridad del Xampp

Ahora tenemos la posibilidad de poner la contrasea del administrador de MySQL (el usuario ser root). Para no confundirnos, pondremos como contrasea mysql, elegimos la autentificacin cookie y pulsamos sobre password changing para almacenar los cambios. Despus configuramos un usuario y una contrasea para proteger el acceso al panel del XAMPP. Pondremos como usuario y contrasea server para ambos, y pulsamos sobre Make safe the XAMPP directory. Se quedaran los siguientes usuarios y contraseas:

34

Captulo3 Descripcin Descripcin de la aplicacin

Para MySQL: User: root Passw: mysql Para el XAMPP: User: server Passw: server

Seguidamente cerramos todas las ventanas del navegador y volvemos a abrirlo otra vez en local con la direccin (http://localhost). ( . Ahora se nos pedir un usuario y una contrasea para entrar en el panel del XAMPP como podemos ver en la figura 3.10. 3.

Figura 3.10 Pantalla de acceso del Xampp

Introducimos como usuario server y como contrasea server. Volvemos a entrar en Chequeo de seguridad, y nos sale la pantalla que podemos ver en la figura 3.11 3.1

Figura 3.11 Chequeo de seguridad del Xampp

Como podemos observar hemos mejorado la seguridad. El campo que queda en


35

Captulo3 Descripcin Descripcin de la aplicacin

amarillo es la parte del servidor ftp, que no vamos a usar, la otra opcin de seguridad que queda en rojo nos indica que el php no se est ejecutando en modo seguro. Esta opcin la dejamos as, ya que de otra forma nos genera bastantes restricciones. restri Para finalizar con la configuracin desactivamos las register_globals o registros globales, las cuales estn activadas por defecto en el Xampp, cosa muy poco aconsejable. Para ello nos dirigiremos a "C:\Archivos "C: de programa\xampp\apache\bin" bin" y abriremos el php.ini (con el bloc de notas), aqu deberemos de buscar la siguiente cadena: register_globals = On

En la cual, tendremos que cambiar el "On", por un "Off", la podemos ver en la figura 3.12.

Figura 3.12 Instalacin de Xampp

Para poner er el servidor al safe mode, sera tambin en este fichero. Habra que buscar la cadena: Safe_mode = off En la cual tendremos que cambiar el "Off" por un "On" (figura 3.13). 3.1

Figura 3.13 Instalacin de Xampp

Ahora reiniciamos los servicios de Apache y MySQL (desde el panel de configuracin del inicio. Paramos los servicios y los volvemos a iniciar). Con esto, concluimos con la configuracin del Xampp.

36

Captulo3 Descripcin Descripcin de la aplicacin

3.5.2 .2 Instalacin del mdulo MRBS


Una vez instalado talado el Xampp, Xampp procedemos mos a la instalacin del mdulo MRBS procediendo a la descompresin del fichero mrbs-1.4.2.zip en un directorio temporal, temporal como podemos ver en la figura 3.14, este directorio contendr todos los archivos necesarios para la instalacin acin de MRBS.

Figura 3.14 Archivos de MRBS

Una vez tenemos los archivos en la carpeta temporal se copia la carpeta web que se encuentra dentro de mrbs-1.4.2 mrbs en C:/Archivos de programa/xampp/htdocs/. Renombramos la carpeta web por mrbs. Esa carpeta que ahora se llama mrbs es la que tendramos endramos que subir al raz de nuestro sitio web. Ahora todo lo que se encuentra bajo htdocs sera el raz de nuestro sitio web en local.
37

Captulo3 Descripcin Descripcin de la aplicacin

Creamos una base de datos nueva, para ello crearemos una base de datos en e blanco. Abrimos la direccin http://localhost/phpmyadmin y nos aparecer la pantalla de la figura 3.15

Figura 3.15 Pgina de inicio de pspMyAdmin

Nos pedir un usuario y contrasea, pondremos los que configuramos previamente para MySQL en el Xampp: Xampp Usuario: root Contrasea: mysql De esta forma entramos la pantalla de configuracin de MySQL como podemos ver en la figura 3.16. Ahora hora seleccionamos el campo donde pone crear base de datos, datos y escribimos mos el nombre de la base de datos en nuestro caso mrbs y presionamos al botn crear.

Figura 3.16 Men phpMyAdmin

38

Captulo3 Descripcin Descripcin de la aplicacin

Procedemos ahora a crear las tablas que necesitamos para la aplicacin. Pulsamos sobre la pestaa SQL que nos aparece encima de las tablas. Nos sale la pantalla que podemos ver en la figura 3.17

Figura 3.17 Pestaa SQL de phpMyAdmin

Pulsamos sobre el botn examinar, y vamos al directorio temporal donde descomprimimos el mrbs, buscamos busca el fichero tables.my.sql. Una vez encontrado lo abrimos, y pulsamos sobre el botn continuar, dejando la opcin de compresin en automtico como est y el juego de caracteres del archivo en utf8. Cuando acabe el proceso nos dir que la consulta se ejecut con xito, y si nos fijamos en las tablas, ahora aparecen cuatro de ellas que antes no estaban, y las cuatro comienzan por mrbs_. En la figura 3.18 vemos las tablas ablas que utilizar nuestro programa.

Figura 3.18 Pestaa SQL de phpMyAdmin

39

Captulo3 Descripcin Descripcin de la aplicacin

3.5.3 .3 Configuracin de MRBS


Una vez configurada la base de datos de MRBS. MRBS Pasamos a la configuracin del programa. Para ello hacemos hacemo uso de Dreamweaver, un editor web que nos n facilitar la edicin de los archivos en PHP. PHP Primero vamos amos a editar el fichero config.inc.php. Este fichero se encuentra en la direccin C:/Mis Archivos de Programa/xampp/htdocs/mrbs/ (es la antigua carpeta del fichero comprimido). Una vez abierto el fichero, lo primero es configurar los parmetros de la base de datos como podemos ver en la figura 3.19.

Figura 3.19 Parmetros de la base de datos 40

Captulo3 Descripcin Descripcin de la aplicacin

$dbsys = "mysql"; Indica ndica el tipo de base de datos, datos en nuestro caso elegimos mysql. $db_host = "localhost"; Hostname de la base de datos, por defecto se pone localhost, que indica que se encuentra en la propia mquina. $db_database = "mrbs"; "; Aqu deberemos poner la base de datos que utilizamos, utilizamos, donde creamos las tablas. $db_login = "root"; mbre de usuario de la base de datos MySQL . Nombre $db_password = 'mysql mysql'; Contrasea de la base de datos MySQL, MySQL Una vez introducidas las modificaciones, modificaci guardamos uardamos los cambios y abrimos Internet Explorer xplorer con la siguiente direccin: http://localhost/mrbs/index.php. Si todo va bien, nos saldr nuestra web como podemos observar en la figura 3.20

Figura 3.20. Pgina principal de la aplicacin 41

Captulo3 Descripcin Descripcin de la aplicacin

Esta es la ventana de la aplicacin, pero quedan por configurar bastantes parmetros como vemos en la figura 3.21.

Figura 3.21 Parmetros de informacin

$mrbs_admin = "Julio"; Nombre el administrador de la aplicacin. aplicacin $mrbs_admin_email = "UPCT"; Email del administrador de la aplicacin. aplicacin $mrbs_company = "UPCT"; Nombre de la institucin que da soporte la aplicacin. aplicacin $mrbs_company_logo = " "; Imagen a mostrar en la parte superior relacionada con la pgina.

42

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.22 Parmetros de calendario

43

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.23 Continuacin parmetros de calendario 44

Captulo3 Descripcin Descripcin de la aplicacin

Vamos a configurar los parmetros del calendario como se puede ver en las figuras 3.22 y 3.23. Tomamos como ejemplo un centro de estudios, donde los perodos no suelen coincidir con las horas en punto o las medias horas. En este caso, deberemos activar la opcin enable_periods enable_periods = TRUE. Con esta opcin activada, ya no se tienen en cuenta las opciones resolution, que nos marca la duracin de los perodos en minutos; morningstarts y eveningends, que nos marcan la hora de comienzo y de final; morningstartminutes y eveningendsminutes, que nos dicen los minutos despus de las horas de entrada y de salida que se aadirn a las horas que hemos configurado; y twentyfourhour_format, que nos marca el formato horario en 24 o en 12 horas. Ahora hay dos formas de configurar configurar el calendario, una por perodos, sin ponerles hora de comienzo ni de final, y otra configurando la hora de comienzo y de final de cada perodo. Para la primera opcin, ya tenemos dos perodos configurados: $periods[] = "Period 1"; $periods[] = "Period 2"; Sera cuestin de aadir ms lneas hasta completar los perodos que necesitemos. En el otro caso, ser necesario configurar la hora de entrada y de salida de cada bloque horario. Para ello habr que anular las lneas $periods[] = "Period 1"; riod 1"; $periods[] = "Period 2"; Para anularlas, podemos ponerles un # y un espacio delante de la lnea. Quedara: # $periods[] = "Period 1"; # $periods[] = "Period 2"; Ahora estaran anuladas. Ahora veamos eamos como configuramos el horario para un centro que comienza las clases a las 8:20 de la maana, con tres perodos lectivos de 50 minutos, un intervalo de 5 minutos entre clase, un descanso de 30 minutos y otros tres perodos de 50 minutos con sus correspondientes pondientes 5 minutos entre perodos. Es decir, el horario sera (figura 3.24):

45

Captulo3 Descripcin Descripcin de la aplicacin

1 2 3 Descanso 4 5 6

8:20 9:10 9:15 10:05 10:10 11:00 11:00 11:30 11:30 12:20 12:25 13:15 13:20 14:10
Figura 3.24 Horario

Habra que poner las siguientes lneas:

$periods[] = "08:20 - 09:10"; "08:20  $periods[] = "09:15 - 10:05"; "09:15  $periods[] = "10:10 - 11:00"; "10:10  $periods[] = "Recreo 1"; $periods[] = "11:30 - 12:20"; "11:30  $periods[] = "12:25 - 13:15"; "12:25  $periods[] = "13:20 - 14:10"; "13:20  parte de poner los perodos del horario, hay que configurar las siguientes opciones: Aparte $weekstarts = 0; $dateformat = 0; Tenemos que cambiar el 0 por un 1, para indicarle al programa que la semana empieza de lunes (weekstarts), y que el formato de fecha debe ser dd mm (dateformat). Quedara: $weekstarts = 1; $dateformat = 1;

46

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.24 Otros Parmetros

47

Captulo3 Descripcin Descripcin de la aplicacin

A continuacin veremos en e la figura 3.24 otros parmetros de configuracin como son: $max_rep_entrys = 365 + 1; Indica el mximo imo de repeticiones por entrada, entrada $default_report_days = 60; Periodo de informe por defecto en das $search["count"] = 20; Nmero de resultados por pgina en una bsqueda $refresh_rate = 0; Refresco de la pgina a en segundos, 0=desactivada $area_list_format = "list"; #$area_list_format = "select"; La lnea de arriba est activa, y nos dice que vamos a utilizar el formato de lista. La de abajo est t anulada (tiene un # delante) y tiene la funcin de activar el formato de casilleros. $monthly_view_entries_details = "both"; Muestra los detalles al visualizar las reservas por mes. $view_week_number = FALSE; Muestra las semanas en la parte inferior. inferior

$view_week_number = FALSE; Muestra el nmero de semana. semana

48

Captulo3 Descripcin Descripcin de la aplicacin

$times_right_side = FALSE; Muestra la hora de reserva en el lado derecho. derecho $javascript_cursor = TRUE Habilita cursor en javascript. javascript $show_plus_link = TRUE; Muestra un smbolo + en cada hora a reservas. reservas $highlight_method = "hybrid Cambia la apariencia del men sobresaltando los colores. colores $default_view = "day"; Vista por defecto a mostrar, mostrar ya sea por das o por semanas. $default_room = 0; Sala por defecto a mostrar.

Figura 3.25 Parmetros de autentificacin

49

Captulo3 Descripcin Descripcin de la aplicacin

Esta parte es la de autenticacin y consta de diversos campos como se puede observar en la figura 3.25 Los parmetros ms importantes son: son $auth["type"] = "db"; Indica el tipo de autentificacin tentificacin por base de datos, datos, para la primera puesta en marcha el programa automticamente ente nos crea una tabla en la base de datos para los usuarios, y sta slo contiene un usuario, llamado administrator, con derechos de administrador, pero que an no est dado de alta. Deberemos eberemos crear este primer usuario, usua que ser el administrador. Guardamos uardamos los cambios y abrimos Internet Explorer Explorer con la siguiente direccin: http://localhost/mrbs/index.php para abrir de nuevo el programa. Veremos que a la derecha, debajo del botn Log in, ahora nos aparece apar un enlace llamado User list. Pinchamos sobre l, y ahora sobre el botn add a new user. Nos sale la pantalla que aparece en la figura 3.26: 3.26

Figura 3.26 Aadir usuario

En Name debemos poner obligatoriamente administrator, y en Password la contrasea que elijamos para el administrador. Por ejemplo administrator (hay que poner la misma contrasea dos veces para verificar que no nos confundimos). Le damos a ok y nos sale la pantalla que aparece en figura 3.27.

Figura 3.27 Lista de usuarios

50

Captulo3 Descripcin Descripcin de la aplicacin

Ahora ya podemos aadir usuarios. A los usuarios que creemos tendremos que ponerles una contrasea, pero despus ellos podrn cambiarla por la que deseen. De todas formas, el administrador puede editar tanto el nombre como la contrasea de cualquier er usuario, aunque ste la haya cambiado. Del fichero config.inc.php slo resta ver las opciones del idioma. Buscamos el comando: $default_language_tokens = "en"; "e Sustituimos en por es para poner el castellano como lenguaje por defecto.

51

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.28 Parmetros de avisos por correo ispone de un mdulo para el envo envo de notificaciones va email como MRBS tambin dispone podemos ver en la figura 3.28. 3.28 Para habilitar cada parmetro se utiliza TRUE, TRUE y FALSE para deshabilitarlos. Los os ms importantes son: so MAIL_ADMIN_ON_BOOKINGS", FALSE); Notifica al administrador si se ha producido una entrada. MAIL_AREA_ADMIN_ON_BOOKINGS", FALSE Notifica al administrador del de edificio si se produce una entrada. MAIL_ROOM_ADMIN_ON_BOOKINGS", FALSE Notifica al administrador de la sala si se produce una entrada. entrada MAIL_ADMIN_ON_DELETE", FALSE) Notifica de una reserva borrada al administrador, admi , depende de las opciones anteriores. MAIL_ADMIN_ALL", FALSE) Notifica de cualquier cambio al administrador.

52

Captulo3 Descripcin Descripcin de la aplicacin

MAIL_DETAILS", FALSE Muestra detalles de la entrada enviada por correo electrnico. electrnico MAIL_BOOKER", FALSE Enva una copia al usuario que ha reservado de su solicitud. MAIL_DOMAIN",'' Utiliza una autentificacin por el domino de correo en lugar de hacerla hacerla por la base de datos. MAIL_USERNAME_SUFFIX",'' Sustituye el domino del usuario por un sufijo. sufijo MAIL_ADMIN_BACKEND", "mail" Define el mtodo de envio de correo electrnico.

Figura 3.29

Para poder utilizar el envi de notificaciones tendremos que configurar un servidor de correo o SMTP .Vamos a describir los parmetros ms importantes mostrados en la figura 3.29.

53

Captulo3 Descripcin Descripcin de la aplicacin

SMTP_HOST", "localhost" Hostname del servidor SMTP. SMTP SMTP_PORT", 25 Puerto rto del servidor SMTP. SMTP SMTP_AUTH", FALSE Autentificacin requerida por parte del servidor SMTP. SMTP SMTP_USERNAME", '' Nombre de usuario para la autentificacin en caso de estar habilitada. SMTP_PASSWORD", '' Contrasea de usuario para la autentificacin en caso de estar habilitada. Una vez terminado se guardan los cambios y cerramos la edicin del fichero config.inc.php. El programa ya est instalado y configurado. Slo nos resta aadir edificios y salas. Para ello entramos al programa, nos identificamos como administrador y pulsamos sobre el enlace Administracin. Primero crearemos los edificios y despus las salas asignadas a cada edificio. Por ltimo, hay un fichero que es el encargado de realizar las traducciones al castellano de todo el programa. Para gestionar recursos sera conveniente editarlo y cambiar Salas, por Aulas y Recursos, de forma que podramos reservar tanto aulas como otros recursos susceptibles de administrar (retroproyectores, caones de imgenes, ordenadores porttiles, tiles, etc.). Este fichero es lang.es, que est dentro de la carpeta mrbs. Una vez configurado totalmente los parmetros parmetro de MRBS vamos a comentar todas las variaciones y modificaciones que se realizaron

54

Captulo3 Descripcin Descripcin de la aplicacin

3.5.4 Modificaciones del mdulo MRBS


Para la modificacin de MRBS se hizo hizo uso del editor web Dreamweaver. Dreamweav Entre las mejoras introducidas destacan: Edicin de la hoja de estilos Css , para para la adecuacin de los colores Diseo e implementacin del encabezado con el programa de diseo grfico Adobe Photoshop Desarrollo de un mdulo en Php para el soporte de imgenes Distribucin del men superior Configuracin de todas las funciones de administracin. Configuracin global del servidor. Configuracin del calendario y las franjas horarias.

A continuacin comentaremos las mejoras con mayor repercusin por su relevancia en el programa. La configuracin visual de MRBS se hace ms cmoda gracias a que permite la configuracin de todo su interfaz por p medio de hojas estilos o CSS, pudiendo cambiar los distintos colores y tipos de fuente utilizados sin necesidad de editar cada pgina por separado. Para ello se cre un fichero en Php de configuracin personalizad o tema como podemos ver en la figura 3.30, donde el programa recoge parte de los parmetros par personalizados.

Figura 3.30 Personalizacin de la hoja CSS

55

Captulo3 Descripcin Descripcin de la aplicacin

Dicho fichero se encuentra dentro de la carpeta del programa denominada Themes Theme con el nombre default.inc, default.inc este nombre indica al programa que son los parmetros por defecto. Para la composicin del encabezado que podemos ver en la figura 3.31 se hizo uso de la aplicacin Adobe Photoshop. Una vez terminado se integr en la aplicacin a travs del archivo Php de configuracin config.inc que vimos anteriormente y por medio m del archivo function.inc, , dicho archivo recoge las principales principales funciones del programa. En E nuestro caso la funcin modificada es : function print_header($day, $month, $year, $area, $room) Es la encargada de imprimir el encabezado encabezado de cada pgina del programa. progra En ella se implement una nueva tabla en html para tabular y posicionar el nuevo encabezado. Podemos odemos ver un segmento de dicha funcin en la figura 3.32.

Figura 3.31 Encabezado de la pgina

Figura 3.32 Fragmento del fichero function.inc

56

Captulo3 Descripcin Descripcin de la aplicacin

Destacamos estacamos el desarrollo de un mdulo en PHP P para el soporte de imgenes imgene dndole un toque de dinamismo a la pgina. pgina La idea principal era la visualizacin del edificio edificio y sala a la hora de reservar. Para P ello se tena que dar soporte en los mens del programa a la subida de imgenes en la edicin de cada sala y de cada edificio como podemos observar en las la figuras 3.33 , 3.34. y 3.35.

Figura 3.33 Pantalla principal

Figura 3.34 Subida de imgenes en salas

57

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.35 Subida de imgenes en edificios

El funcionamiento es bastante sencillo, ya que a la hora de editar los datos del edificio o sala en el men superior aparecen dos botones: examinar, que nos sirve para buscar b la ubicacin de la imagen, y upload que sube la imagen una vez elegida. elegida Si todo se ha realizado correctamente la imagen aparecer en la parte superior. Una vez subidas las imgenes aparecern en el men principal segn vayamos cambiando de edificio o sala. Para la integracin y elaboracin de dicho mdulo tuvo que estudiarse estudiar muy bien la estructura de toda la aplicacin y cada uno de sus archivos para poder la edicin. El mdulo recibe el nombre de thumb_a.php o thumb_r.php dependiendo depend si es un edificio o sala y est alojado en el directorio raz de la aplicacin. Sus funciones f bsicas es el la carga de imgenes y el redimensionado de las imgenes generando una imagen miniatura o thumbail guardndolas en el servidor ms concretamente en la carpeta thumbail con un prefijo y nmero para su posterior visualizacin. . En la figura 3.36 podemos ver una parte del cdigo del programa.

58

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.36 3. Cdigo del mdulo de imgenes en miniatura

Para la integracin en la pantalla de edicin de edificios y salas, se ha tenido que editar la pgina llamada edit_area_room.php que se encarga de editar la informacin dentro de la aplicacin, programando primero el guardado de imgenes y luego la llamada al mdulo que genera la imagen miniatura. miniatura En n la figura 3.37 y 3.38 podemos ver parte del cdigo.

Figura 3.37 Cdigo de subida de imgenes 59

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.38 Cdigo para la visualizacin de la imagen

Para finalizar con el mdulo nos queda la presentacin de las imgenes imgenes en la pantalla principal, para ello se crearon aron dos nuevas funciones con el siguiente prototipo: print_photo_area($day, $month, $year, $area, $room); print_photo_room($day, $month, $year, $area, $room); sta funciones estn alojadas alojada en el archivo function.inc antes mencionado que recoge las principales funciones ciones llamadas por el programa. programa Su principal ipal cometido es el de representar la imagen correspondiente a la sala o edificio elegido en el men principal. En la figura 3.39 podemos ver su implementacin. implementacin

Figura 3.39 Funciones print_photo_area y print_photo_room

60

Captulo3 Descripcin Descripcin de la aplicacin

Para llamarlas se editaron las pginas principales ncipales del programa day.php, week.php y month.php, , ya que el mtodo de visualizacin en la aplicacin puede ser por da, da semana o mes. Podemos ver un ejemplo de llamada en la figura 3.40.

Figura 3.40 Llamada a la funcin 3.40 en el archivo archivo day.php

Cabe advertir en el cdigo que para la visualizacin de las imgenes se tuvo que implementar una tabla en html para su mejor distribucin y tabulado. Como gran contratiempo en la aplicacin mencionar que se realizaron dos versiones debido do a la actualizacin del mdulo mdulo MRBS a una versin superior, superior dando soporte a nuevas funcionalidades. En E la figura 3.41 podemos ver la primera versin anterior. anterior

Figura 3.41 Primera versin de la aplicacin

61

Captulo3 Descripcin Descripcin de la aplicacin

Aparte de toda la configuracin estas son las principales modificaciones realizadas al programa. Una vez depuradas uradas y probadas damos paso a la cuarta fase, fase donde se procede a la instalacin en el servidor haciendo todo tipo de pruebas. pruebas

3.5.5. . Puesta en marcha de la aplicacin


Para la puesta en marcha del servidor, servidor, se instala previamente el paquete del Xampp como hemos visto anteriormente, ya que nuestro servidor tiene Windows como sistema operativo. La instalacin es muy similar a la de MRBS recordemos mos el proceso y pasos a seguir. La aplicacin n est contenida en el fichero etsitgestion.zip, hay que descomprimir el fichero etsitgestion.zip en un directorio temporal (por ejemplo, la raz del C) y copiar la carpeta etsitgestion en C:/Archivos de programa/xampp/htdocs/ que sera el raz de e nuestro sitio web. Ahora creamos una base de datos nueva, para ello crearemos crearemos una base de datos en blanco. Abrimos la direccin http://localhost/phpmyadmin y nos aparecer la pantalla de la figura 3.42

Figura 3.42 Pgina de inicio de phpMyAdmin

Nos pedir un usuario y contrasea, pondremos los que configuramos previamente para MySQL en el Xampp: De esta forma entramos la pantalla de configuracin de MySQL como podemos ver en la figura 3.43. Ahora hora seleccionamos el campo donde pone crear base de datos, y escribimos el nombre de la base de datos en nuestro caso mrbs y presionamos al botn crear.

62

Captulo3 Descripcin Descripcin de la aplicacin

Figura 3.43 Men phpMyAdmin

Procedemos ahora a crear las tablas que necesitamos para la aplicacin. Pulsamos sobre la pestaa SQL que nos aparece encima de las tablas. Nos sale la pantalla que podemos ver en la figura 3.44 3

Figura 3.44 Pestaa SQL de phpMyAdmin

Pulsamos sobre el botn examinar, y vamos al directorio temporal donde descomprimimos omprimimos el archivo etsitgestion.zip, buscamos el fichero tables.my.sql. Una vez encontrado lo abrimos, y pulsamos sobre el botn continuar, dejando la opcin de compresin en automtico como est y el juego de caracteres del archivo en utf8.

63

Captulo3 Descripcin Descripcin de la aplicacin

Cuando acabe el proceso, proceso nos dir que la consulta se ejecut con xito, y si nos fijamos en las tablas, ahora aparecen cuatro de ellas que antes no estaban, y las cuatro comienzan por mrbs_. Podemos ver en la figura3.45 las tablas que utilizar nuestro nuest programa.

Figura 3.45 Pestaa SQL de phpMyAdmin

Una vez configurada la base de datos de la aplicacin. Pasamos a la configuracin del programa. Para ello hacemos uso de Dreamweaver, Dreamweaver un editor web que nos facilitar la edicin de los archivos en Php. Primero vamos a editar el fichero config.inc.php. Este fichero se encuentra en la direccin C:/Mis Archivos de Programa/xampp/htdocs/etsitgestion/ (es la antigua carpeta del fichero comprimido). Una vez abierto el fichero, lo primero es es configurar los parmetros de la base de datos y los parmetros de correo. correo $dbsys = "mysql"; Este parmetro indica el tipo de base de datos, datos, en nuestro caso elegimos mysql.

64

Captulo3 Descripcin Descripcin de la aplicacin

$db_host = "localhost"; Hostname de la base de datos , por defecto se pone localhost, que indica que se encuentra en la propia mquina. $db_database = "etsitgestion etsitgestion"; Aqu deberemos poner la base de datos que utilizamos, utilizamos, donde creamos las tablas. $db_login = " "; Nombre de usuario ario de la base de datos MySQL . $db_password = ' '; Contrasea de la base de datos MySQL, SMTP_HOST", "localhost" Hostname del servidor de correo SMTP. SMTP_PORT", 25 Puerto del servidor de correo SMTP. SMTP_AUTH", TRUE Autentificacin requerida por parte del servidor de correo SMTP. SMTP_USERNAME", '' Nombre de usuario para la autentificacin en caso de estar habilitada. SMTP_PASSWORD", '' Contrasea de usuario para la autentificacin en caso de estar habilitada.

65

Captulo3 Descripcin Descripcin de la aplicacin

Una vez introducidas las modificaciones, modificaciones guardamos los cambios y abrimos Internet I Explorer xplorer con la siguiente direccin: http://localhost/etsitgestion/index.php. http://localhost/etsitgestion/index.php Si todo va bien, nos saldr nuestra web como podemos observar en la figura 3.47 3.

Figura 3.47 Pgina principal de la aplicacin

En los siguientes captulos se muestra cmo utilizar la herramienta, tanto por parte del administrador como por parte del usuario que desea realizar reservas.

66

Captulo 4Gua 4 del usuario

Captulo 4

Gua del usuario

67

Captulo 4Gua 4 del usuario

I DICE

El programa y sus caractersticas 1.El 1.Funciones: 1.1.Entrada/salida Entrada/salida de usuario 1.2.Editar Editar informacin del usuario 1.3Ir a fecha 1.4.Reservas: 1.4.1.Nueva reserva 1.4.2.Editar reserva 1.4.3.Copiar reserva 1.4.4.Borrar reserva 1.5.Buscar reservas 1.6.Volver Volver a pgina principal .Resumen de funciones y sus campos 1.7.Resumen

68

Captulo 4Gua 4 del usuario

1. El programa y sus funciones: funciones

Opciones del men: -Sistema Sistema de Reservas de Sala de Reserva: : Nos dirige a la pgina principal con fecha actual -Ir a: Nos dirige a la fecha seleccionada -Ayuda: Pgina gina de ayuda con las preguntas ms frecuentes -Administrador: Nos dirige al men administrador (el usuario no est autorizado) -Informes: Consulta de nuestras reservas ordenadas por diversos criterios -Bsqueda: Busca reservas por alguna palabra clave contenida en la reserva -Entrar: Nos sirve para autentificarnos como usuario -Lista de usuarios: Nos sirve s para editar nuestros datos

Importante: Para poder hacer cualquier tipo de reserva tenemos que estar autentificados, para nuevo usuarios ponerse en contacto con el administrador (email en la opcin Ayuda).

69

Captulo 4Gua 4 del usuario

Funciones: 1.1.Entrada/salida Entrada/salida de usuario: usuario

Entrada de usuario (loguearse):

Procedimiento: -Presionamos Presionamos Entrar en el men superior. -Rellenamos Rellenamos los campos Nombre y Contrasea. -Presionamos Presionamos el botn Entrar situado bajo el campo contrasea Salida de usuario (desloguearse): Procedimiento: -Presionamos Presionamos Salir en el men superior

Observaciones: Debemos de tener un nombre de usuario y contrasea para entrar al sistema, si no es as pngase en contacto con el administrador va correo electrnico, el email de contacto se encuentra en la seccin n de Ayuda situado en el men superior.

70

Captulo 4Gua 4 del usuario

1.2.Editar Editar informacin del usuario

Editar informacin del usuario:

Procedimiento: Pantalla 1: -Presionamos Presionamos Lista de usuarios en el men superior. -Presionamos Presionamos el botn Editar situado al lado de nuestro correo electrnico. Pantalla 2: Introducimos nuevo nombre de usuario. -Introducimos -Introducimos Introducimos nuevo email. -Introducimos Introducimos contrasea (la misma en los 2 campos). -Presionamos el botn Salvar para guardar los cambios. Observaciones: Los campos nombre, email y contrasea se pueden editar individualmente sin necesidad de cambiar otros campos.

71

Captulo 4Gua 4 del usuario

1.3.Ir a fecha

Ir a fecha:

Procedimiento: -Introducimos Introducimos la fecha a seleccionar en el men superior. -Presionamos Presionamos el botn Ir a situado al lado de la fecha en el men superior. superior

Observaciones: Esta funcin nos lleva a la fecha seleccionada, es muy til para consultar das concretos y realizar reservas. Otras opciones como indica la imagen pueden ser, desplazarnos al da deseado seleccionndolo en uno de los tres calendarios (2 Forma), Forma o seleccionndolo al final de la pgina (3Forma).

72

Captulo 4Gua 4 del usuario

1.4. Reservas 1.4.1 ueva reserva

73

Captulo 4Gua 4 del usuario

ueva reserva:

Procedimiento: Pantalla 1 -Una Una vez elegidos el da y el edificio, seleccionamos el campo que coincide con la sala y la hora y le presionamos encima. Pantalla 2 -Rellenamos Rellenamos los campos del formulario. -Presionamos Presionamos el botn Salvar.

Observaciones: Los campos Da de repeticin repeticin y Nmero de semanas solo son necesarios si se elige tipo po de repeticin semanal o n-Semanas n respectivamente. Para visualizar nuestra reserva una vez guardada tenemos que situarnos en el da reservado de la pantalla principal o elegir la opcin Informes del men superior.

74

Captulo 4Gua 4 del usuario

1.4.2.Editar reserva

75

Captulo 4Gua 4 del usuario

Editar reserva:

Procedimiento: Pantalla 1 tabla -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (A) -Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.

Observaciones: Al no ser administradores, solo podemos editar las reservas hechas por nosotros.

76

Captulo 4Gua 4 del usuario

1.4.3.Copiar reserva

77

Captulo 4Gua 4 del usuario

Copiar reserva: reserva

Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (B) -Modificamos Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.

Observaciones: Al no ser administradores , solo podemos copiar las reservas hechas por nosotros

78

Captulo 4Gua 4 del usuario

1.4.4.Borrar reserva

79

Captulo 4Gua 4 del usuario

Borrar reserva:

Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Borrar Reserva. Pantalla 3 (C). -Presionamos Presionamos al botn Aceptar para confirmar.

Observaciones: Al no ser administradores , solo podemos borrar las reservas hechas por nosotros

80

Captulo 4Gua 4 del usuario

1.5.Buscar reservas

81

Captulo 4Gua 4 del usuario

Buscar reservas: reservas

Procedimiento 1: Pantalla 1 Seleccionamos Bsqueda en el men superior. -Seleccionamos -Rellenamos Rellenamos el campo Buscar por por la palabra clave a buscar contenida en la reserva -Seleccionamos Seleccionamos la fecha desde donde se quiere empezar la bsqueda en Desde -Presionamos Presionamos el botn Bsqueda. Procedimiento 2: Pantalla 2 -En En el campo Bsqueda del men superior introducimos el trmino a buscar y presionamos Intro en el teclado.

Observaciones: El procedimiento 1 permite perm una bsqueda ms especfica, , mientras en procedimiento 2 hace una bsqueda rpida. Para utilizar la bsqueda debemos introducir alguna algu palabra clave que contenga nuestra reserva a buscar en alguno de sus campos.

82

Captulo 4Gua 4 del usuario

1.6.Volver Volver a pgina principal

Volver a pgina principal: principal

Procedimiento: -Seleccionamos Seleccionamos Sistema de Reservas de Salas de Reserva y nos lleva a la pgina principal de la aplicacin con el da actual.

Observaciones: Se puede utilizar para volver a la pgina principal y cancelar alguna accin en curso. curso

83

Captulo 4Gua 4 del usuario

1.7 Resumen de funciones y sus campos

84

Captulo 5Gua Gua del administrador

Captulo 5

Gua del administrador

85

Captulo 5Gua Gua del administrador

I DICE

El programa y sus caractersticas 1.El 1.Funciones: 1.1.Entrada/salida Entrada/salida de usuario 1.2.Editar Editar informacin del usuario 1.3Ir a fecha 1.4.Reservas: 1.4.1Nueva Nueva reserva 1.4.2.Editar reserva 1.4.3.Copiar Copiar reserva: reserva 1.4.4.Borrar Borrar reserva 1.5.Buscar reservas 1.6.Informes 1.7.Volver Volver a pgina principal 1.8.Resumen de funciones y sus campos Panel de administrador 2.Panel 2.1.Agregar edifcio 2.2.Editar edifcio 2.3. Borrar edifcio 2.4.Agregar sala 2.5.Editar sala 2.6.Borrar sala 2.7.Aadir usuario 2.8.Modificar o borrar usuario 2.9 Notificacin otificacin de reservas 3. Resumen de funciones y sus campos

86

Captulo 5Gua Gua del administrador

1. El programa y sus funciones: funciones

Opciones del men: -Sistema Sistema de Reservas de Sala de Reunin: Nos dirige a la pgina principal con fecha actual -Ir a: Nos dirige a la fecha seleccionada -Ayuda: Pgina gina de ayuda con las preguntas ms frecuentes -Administrador: Nos dirige d al men administrador -Informes: Consulta de reservas ordenadas por diversos criterios -Bsqueda: Busca reservas por alguna palabra clave contenida en la reserva -Entrar: Nos sirve para autentificarnos autentif como usuario -Lista de usuarios: Nos sirve s para editar nuestros datos

Importante: Para poder hacer cualquier tipo de reserva tenemos que estar autentificados, para nuevo usuarios ponerse en contacto con el administrador (email en la opcin Ayuda).

87

Captulo 5Gua Gua del administrador

Funciones: 1.1.Entrada/salida Entrada/salida de usuario: usuario

Entrada de usuario:

Procedimiento: -Presionamos Presionamos Entrar en el men superior. -Rellenamos Rellenamos los campos Nombre y Contrasea. -Presionamos Presionamos el botn Entrar situado bajo el campo contrasea Salida de usuario: Procedimiento: -Presionamos Presionamos Salir en el men superior

Observaciones: Debemos de tener un nombre de usuario y contrasea contrasea para entrar al sistema, sistema si no es as pngase en contacto con el administrador va correo electrnico, , el email de contacto se encuentra en la seccin n de Ayuda situado en el men superior.

88

Captulo 5Gua Gua del administrador

1.2.Editar Editar informacin del usuario

Editar informacin del usuario:

Procedimiento: Pantalla 1: -Presionamos Presionamos Lista de usuarios en el men superior. -Presionamos Presionamos el botn Editar situado al lado de nuestro correo electrnico. Pantalla 2: Introducimos nuevo nombre de usuario. -Introducimos -Introducimos Introducimos nuevo email. -Introducimos Introducimos contrasea (la misma mism en los 2 campos). -Presionamos el botn Salvar para guardar los cambios. Observaciones: Los campos nombre, nombre, email y contrasea se pueden editar individualmente sin necesidad de cambiar otros campos. campo

89

Captulo 5Gua Gua del administrador

1.3.Ir a fecha

Ir a fecha:

Procedimiento: -Introducimos Introducimos la fecha a seleccionar en el men superior. -Presionamos Presionamos el botn Ir a situado al lado de la fecha en el men superior. superior

Observaciones: Esta funcin nos lleva a la fecha seleccionada, es muy til para consultar das concretos y realizar reservas. Otras opciones como indica la imagen imag pueden ser, desplazarnos al da deseado seleccionndolo en uno de los tres calendarios (2 Forma) o seleccionndolo al final de la pgina (3Forma).

90

Captulo 5Gua Gua del administrador

1.4.Reservas: 1.4.1 ueva reserva

91

Captulo 5Gua Gua del administrador

ueva reserva:

Procedimiento: Pantalla 1 -Una Una vez elegidos el da y el edificio, seleccionamos el campo que coincide con la sala y la hora y le presionamos encima. Pantalla 2 -Rellenamos Rellenamos los campos del formulario. -Presionamos Presionamos el botn Salvar.

Observaciones: Los campos Da de repeticin y Nmero de semanas solo son necesarios si se elige tipo po de repeticin semanal o n-Semanas n respectivamente. Para visualizar la reserva una vez guardada tenemos que situarnos en el da reservado de e la pantalla principal o elegir la opcin Informes del men superior.

92

Captulo 5Gua Gua del administrador

1.4.2.Editar reserva

93

Captulo 5Gua Gua del administrador

Editar reserva:

Procedimiento: Pantalla 1 tabla -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (A) -Modificamos Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.

Observaciones: Al ser administradores tenemos la posibilidad de editar cualquier reserva.

94

Captulo 5Gua Gua del administrador

1.4.3.Copiar reserva

95

Captulo 5Gua Gua del administrador

Copiar reserva: reserva

Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Editar reserva. Pantalla 3 (B) -Modificamos Modificamos los campos deseados. -Presionamos Presionamos al botn Salvar.

Observaciones: Al ser administradores tenemos la posibilidad de copiar cualquier reserva. Esta opcin se utiliza para clonar las reservas sin necesidad de hacer una nueva.

96

Captulo 5Gua Gua del administrador

1.4.4.Borrar reserva

97

Captulo 5Gua Gua del administrador

Borrar reserva:

Procedimiento: Pantalla 1 -Seleccionamos nuestra reserva a editar en la tabla. Pantalla 2 -Presionamos Presionamos en Borrar Reserva. Pantalla 3 (C). -Presionamos Presionamos al botn Aceptar para confirmar.

Observaciones: Al ser administradores tenemos la posibilidad de borrar cualquier reserva.

98

Captulo 5Gua Gua del administrador

1.5.Buscar reservas

99

Captulo 5Gua Gua del administrador

Buscar reservas: reservas

Procedimiento 1: Pantalla 1 -Seleccionamos Seleccionamos Bsqueda en el men superior. -Rellenamos Rellenamos el campo Buscar por por la palabra clave a buscar contenida en la reserva -Seleccionamos Seleccionamos la fecha desde donde se quiere empezar la bsqueda en Desde -Presionamos Presionamos el botn Bsqueda. Procedimiento 2: Pantalla 2 -En En el campo Bsqueda del men superior introducimos el trmino a buscar y presionamos Intro en el teclado.

Observaciones: El procedimiento 1 permite perm una bsqueda ms especfica, , mientras en procedimiento 2 hace una bsqueda rpida. Para utilizar la bsqueda debemos introducir alguna palabra clave que contenga la reserva erva a buscar en alguno de sus campos.

100

Captulo 5Gua Gua del administrador

1.6.Informes

Informes:

Procedimiento: -Presionamos Presionamos Informes en el men superior -Rellenamos Rellenamos los campos que deseamos para la consulta de informes de reservas -Presionamos Presionamos el botn Pedir Informe.

Observaciones: Tenemos campos obligatorios y campos opcionales, los cuales se pueden quedar en blanco a la hora de pedir el informe.

101

Captulo 5Gua Gua del administrador

1.7.Volver Volver a pgina principal

Volver a pgina principal: principal

Procedimiento: -Seleccionamos Sistema de Reservas de Salas de Reunin y nos lleva a la pgina principal de la aplicacin con el da actual.

Observaciones: Se puede utilizar para volver a la pgina principal y cancelar alguna accin en curso. curso
102

Captulo 5Gua Gua del administrador

2.Panel del administrador

Operaciones bsicas del administrador: -Agregar edificio: Agrega un edificio nuevo en nuestra aplicacin -Editar edificio: Modifica los datos del edificio y permite carga de imgenes deben estar borradas -Borrar edificio: Borra el edificio seleccionado , previamente deben todas las salas -Agregar sala: Agrega una sala al edificio seleccionado -Editar sala: Modifica los datos de la sala y permite carga de imgenes -Borrar sala: Borra la sala seleccionada -Lista de usuarios: Consulta la lista de usuarios de la aplicacin -Aadir usurio: Agrega un nuevo usuario -Modificar usuario: Modifica los datos del usuario -Borrar usuario: Borra el usuario de la aplicacin

103

Captulo 5Gua Gua del administrador

2.1.Agregar edifico:

Agregar edifico:

Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Rellenamos el campo Nombre con el nombre del nuevo edificio. -Rellenamos -Presionamos Presionamos el botn Agregar edificio.

Observaciones: Para rellenar la informacin del edificio y subir una imagen hay que seleccionar Editar edificio en el edificio creado.

104

Captulo 5Gua Gua del administrador

2.2.Editar edificio:

105

Captulo 5Gua Gua del administrador

Editar edificio:

Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Pantalla 1 -Seleccionamos Seleccionamos Editar edificio en el edificio correspondiente. Pantalla 2 -Para Para subir una imagen presionamos el botn Examinar para buscarla y luego presionamos sionamos Upload para subirla (slo (slo se admiten imgenes en formato JPG). JPG) (Opcional) -Rellenamos Rellenamos los campos a editar. -Presionamos Presionamos el botn Cambiar para guardar los cambios. -Presionamos Presionamos el botn Volver a Admin para volver al panel de administrador.

Observaciones: Solo se admiten imgenes en formato JPG, JPG, la imagen puede tener cualquier tamao ya que ajusta automticamente.

106

Captulo 5Gua Gua del administrador

2.3.Borrar edificio:

Borrar edificio:

Procedimiento: Nos situamos en el panel de administrador , seleccionamos Administrador en el -Nos men superior. Seleccionamos Borrar edificio en el edificio correspondiente. -Seleccionamos

Observaciones: Para poder borrar un edificio primero deben estar borradas todas sus salas

107

Captulo 5Gua Gua del administrador

2.4.Agregar sala

Agregar sala:

Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Seleccionamos el edificio donde deseamos agregar la sala. -Seleccionamos -Rellenamos Rellenamos los campos Nombre, Descripcin y Capacidad de la sala. -Presionamos Presionamos el botn Agregar sala.

Observaciones: Para rellenar la informacin de la sala y subir una imagen hay que seleccionar Editar edificio en el edificio creado.

108

Captulo 5Gua Gua del administrador

2.5.Editar sala

109

Captulo 5Gua Gua del administrador

Editar sala:

Procedimiento: -Nos Nos situamos en el panel de administrador , seleccionamos Administrador en el men superior. Pantalla 1 -Seleccionamos Seleccionamos el edificio donde se encuentra la sala -Seleccionamos Seleccionamos Editar sala en el edificio correspondiente. Pantalla 2 -Para Para subir una imagen presionamos el botn Examinar para buscarla y luego presionamos sionamos Upload para subirla (slo (slo se admiten imgenes en formato JPG) (Opcional) -Rellenamos Rellenamos los campos a editar. -Presionamos el botn Cambiar para guardar los cambios. -Presionamos Presionamos el botn Volver a Admin para volver al panel de administrador.

Observaciones: Solo se admiten imgenes en formato JPG, JPG, la imagen puede tener cualquier tamao ya que ajusta automticamente. automticamen

110

Captulo 5Gua Gua del administrador

2.6.Borrar sala

Borrar sala:

Procedimiento: Nos situamos en el panel de administrador , seleccionamos Administrador en el -Nos men superior. Seleccionamos el edificio donde se encuentra la sala -Seleccionamos -Seleccionamos Seleccionamos Borrar en la sala correspondiente.

Observaciones: Al borrarse la sala desaparecen todas las reservas efectuadas en dicha sala

111

Captulo 5Gua Gua del administrador

2.7.Aadir usuario

Aadir usuario:

Procedimiento: Seleccionamos Lista de usuarios en el men superior -Seleccionamos Pantalla 1 -Presionamos Presionamos el botn Agregar usuario Pantalla 2 -Rellenamos Rellenamos los campos con los datos del usuario. usuario -Presionamos Presionamos el botn Salvar.

Observaciones: No se pueden crear dos usuarios con el mismo nombre. nombre

112

Captulo 5Gua Gua del administrador

2.8.Editar o borrar usuario

Editar usuario:

Procedimiento: -Seleccionamos Seleccionamos Lista de usuarios en el men superior Pantalla 1 -Presionamos Presionamos el botn Editar usuario Pantalla 2 -Rellenamos Rellenamos los campos a editar con los datos del usuario. -Presionamos Presionamos el botn Salvar.

113

Captulo 5Gua Gua del administrador

Borrar usuario:

Procedimiento: -Seleccionamos Lista de usuarios en el men superior Pantalla 1 -Presionamos Presionamos el botn Editar usuario Pantalla 2 -Presionamos Presionamos el botn Borrar usuario.

Observaciones: Se puede editar cada campo individualmente sin necesidad de editarlos todos.

2.9 otificacin de reservas: La notificacin de reservas se hace a travs del correo electrnico, dependiendo de la configuracin el sistema podr ser notificado tanto administrador como usuario de los posibles cambios en las reservas.

Observaciones: Para cualquier duda consulte con el administrador de la pgina la configuracin predeterminada de notificaciones.

114

Captulo 5Gua Gua del administrador

3. Resumen de funciones y sus campos

115

Captulo 5Gua Gua del administrador

116

Captulo tulo 6 Conclusiones

Captulo 6

Conclusiones
6.1 Conclusiones
Con este proyecto se ha conseguido ofrecer a los profesores del centro una aplicacin que agilice y facilite los trmites para la gestin de reservas de aulas, as como el control de las mismas por parte de un administrador. Se ha creado una herramienta web en la que los profesores podrn administrar sus reservas de salas en tiempo real, ofrecindoles mtodos de consulta y notificacin muy potentes. . Por otro lado, el sistema facilita enormemente la gestin por parte del administrador, ya que el sistema ofrece multitud opciones de consulta y modificacin de peticiones. Adems la herramienta web diseada en este proyecto es fcil f de modificar y extender con nueva funcionalidad. Primeramente se empez eligiendo la arquitectura de la herramienta. Para ello se hizo uso de un proyecto de libre licencia que aportaba parte de la funcionalidad del programa llamado MRBS que funcionaba bajo PHP y MySQL. Despus empez el desarrollo de las la nuevas funcionalidades, como una nueva interfaz o el soporte de imgenes entre otras. Para el desarrollo tuvo que hacerse un estudio exhaustivo de la estructura del programa y de sus funciones principales. princi Todo el desarrollo del cdigo se hizo a travs trav del editor web Dreamweaver y todas las modificaciones fueron integradas como parte del cdigo de la aplicacin. Para la realizacin de dichos cambios se tuvo que profundizar en el conocimiento de la programacin ogramacin en el lenguaje PHP , MySQL y estndares CSS. Una vez creados los mdulos bsicos de funcionalidad, se fueron depurando errores y aadiendo funcionalidad extra. Conforme la aplicacin creca, a su vez aumentaba la modularidad de la misma para crear crear un cdigo sencillo de entender y modificar.

117

Captulo tulo 6 Conclusiones

Seguidamente se pas a la configuracin y depuracin del programa en el lado del servidor, , para ello se instalo el Xampp para Windows, , que incluye un servidor Apache, PHP y MySQL. Como herramientas principales de desarrollo cabe destacar: Adobe Dreamweaber (editor web) Adobe Fireworks (editor grfico con soporte web) Adobe Photoshop (editor grfico) grfico Xampp (aplicacin que integra PHP P , MySQL y Apache)

6.2 Lneas Futuras:


Como principales lneas futuras se podran podra destacar las siguientes: Ampliacin de la herramienta a otras reas de gestin, , por la posibilidad de aadir multitud de edificios y salas. salas Ampliacin de uso a otros centros por su gran capacidad de gestin. Implementacin de nuevos campos a rellenar en las reservas. Implementacin de nuevas funcionalidades de bsqueda por otros criterios. Actualizacin y adaptacin del mdulo MRBS para sus futuras versiones importando las funcionalidades aadidas.

118

Referencias

Referencias
[APAC09] Apache. http://www.apache.org. http://www.apache.org 2009 [BSDI09] Berkeley Software Distribution. http://www.bsd.org.2009 .2009 [CHER09] Cherokke: : http://www.cherokee-project.com/.2009 [CMSY09] CMS..http://www.cmsenespanol.com/ http://www.cmsenespanol.com/. 2009 [FORO09]: Foros del web. http://www.forosdelweb.com.2009 .2009 [FSFO09]: Free Software Foundation. http://fsfe.org/index.es.html.2009 [GPLI09]: GPL.General General Public License. License http://www.gnu.org/licenses/gpl.html.2009 http://www.gnu.org/licenses/gpl.html [GE U09]: GNU. http://www.gnu.org/.2009 http://www.gnu.org/ [HTTP09]: HTTP.http://www.w3.org/Protocols/ http://www.w3.org/Protocols/. 2009 [ISSE09] ISS. http://www.microsoft.com/spain/technet/productos/iis/default.mspx. http://www.microsoft.com/spain/technet/productos/iis/default.mspx 2009 [LHTT09] Lighttpd.http://www.lighttpd.net/ http://www.lighttpd.net/.2009 http://www.forosdelweb.com [LSOF09]: Tabla comparativa de licencias. http://www.forosdelweb.com.2009 [MIME09]: Multipurpose Internet Mail Extensions. Extensions http://www.faqs.org/rfcs/rfc2045.html http://www.faqs.org/rfcs/rfc2045.html.2009 [MOPL09]: MPL. http://www.mozilla.org/MPL/.2009 http://www.mozilla.org/MPL/ [MRBS09]: MRBS. http://sourceforge.net/projects/mrbs/.2009 ht http://www.hughes.com.au/ [MSQL09]: MSQL. http://www.hughes.com.au/.2009
119

Referencias

[ CSA09]: NCSA. Nacional Center for Supercomputing Applications. http://www.ncsa.uiuc.edu/ .2009

[OPE 09]: Opensource .http://www.opensource.org/.2009


[ORAC09] Oracle. http://www.oracle.com.2009

[OSI 09]: Open Source Initiative. http://www.opensource.org/.2009 .2009 [PHPM09]: Phpmyadmin . http://www.phpmyadmin.net/.2009 [PSQL09] PSQL: http://www.postgresql.org.2009 http://www.postgresql.org [RESER09]: Formulario de reservas de aulas del campus de Getafe. http://portal.uc3m.es/portal/page/portal/informatica/Aulas http://portal.uc3m.es/portal/page/portal/informatica/Aulas.2009 http://es.wikipedia.org/wiki/Software_libre .2009 [SOFT09]: Web del documento :http://es.wikipedia.org/wiki/Software_libre [THTT09]: Thttpd . http://acme.com/software/thttpd/.2009 [TRA 09]:Transacciones.http:/www.wikipetia/transaccion/.2009 Transacciones. [WEBC09]: Webcalendar. ebcalendar. http://sourceforge.net/projects/webcalendar/.2009 http://sourceforge.net/projects/webcalendar/ [WIKI09]: Wikipedia. http://es.wikipedia.org/wiki/PHP. 2009 [XAMP09]: Xampp. http://www.apachefriends.org/es/xampp.html.2009 http://www.apachefriends.org/es/xampp.html.2009

120

Anda mungkin juga menyukai