Documento nº3-diseño. Alumno: grupo 5 Fecha: Firma: Profesor Referencia Curso academico



Documentos relacionados
Documento nº3-diseño. Alumno: grupo 5 Fecha: Firma: Profesor Referencia Curso academico

Manual de Instrucciones

Proyectos de Innovación Docente

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

GUÍA BÁSICA DE USO DEL SISTEMA RED

MANUAL DE AYUDA INSTALACIÓN VERSIÓN DEMO

Manual de usuario. Modulo Configurador V.1.0.1

HP Backup and Recovery Manager

MANUAL PARA EL PROFESOR

Guía de Inicio Respaldo Cloud


I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

GUÍA DE INSTALACIÓN Y ACTIVACIÓN

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

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

CÓMO CREAR NUESTRO CATÁLOGO

WINDOWS : COPIAS DE SEGURIDAD

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

Manual de usuario. Evolutivos REC Reingeniería ARE. Proyecto/Servicio. Tipo de documento. Fecha de entrega 26/03/2015. Versión actual 1.

Guía de instalación de Gesclivet.

Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5

Acceso a la aplicación de solicitud de subvenciones (Planes de Formación 2014)

DATOS IDENTIFICATIVOS DEL MÓDULO FORMATIVO INSTALACIÓN Y CONFIGURACIÓN DE APLICACIONES INFORMÁTICAS


GOOGLE NOTICIAS Y ALERTAS

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

REQUISITOS MÍNIMOS DE INSTALACIÓN A3ERP

INSTALACIÓ N A3ERP. Informática para empresas INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

UNIDAD EJECUTORA DE CONSERVACION VIAL MANUAL DEL USUARIO DEL SISTEMA INTEGRAL DE CONTROL DE PROYECTOS

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

5.8. REGISTRO DE FACTURAS.

Manual del usuario. Flash Point Genius. FLASH POINT GENIUS: Programación Serial para turismos

Manual de Uso Web profesional

Manual de Usuario FLOTA WEB.

La publicación. Pere Barnola Augé P08/93133/01510

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

Concepto de sistema operativo

DG.CO.P00.E03-Manual de Usuario Carpeta Ciudadana

Para ingresar al mismo debes hacer click en el ícono correspondiente en el panel de control.

SUMARIO. 2 Qué es conpay? 3 Acceso al sistema. 4 Como autorizar prestaciones. 7 Más funcionalidades de conpay. 12 Preguntas frecuentes

P/. Factura Electrónica D/. Manual de Usuario Proveedores

INSTALACIÓN A3ERP INTRODUCCIÓN CONSIDERACIONES GENERALES DE LA INSTALACIÓN PAQUETES DE INSTALACIÓN PREDEFINIDOS

Guía de instalación de la carpeta Datos de IslaWin

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

Oficina Online. Manual del administrador

Servicio de hospedaje de servidores

Exact Synergy Gestión Documental Exact

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT

Guía rápida del alumno. Versión 6.2

Bienvenido a su cuenta

INFORME TECNICO PREVIO DE EVALUACIÓN DE SOFTWARE N /UIE-PATPAL - FBB

Actualización de los equipos

Ayuda de instalación (Español) Primeros pasos

L U I S P A T I Ñ O IN FOR M Á T I C A SIS T E M A S AVA N Z A DOS

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

protección y replicación remota de datos... dib backup remoto GARANTÍA DE CONTINUIDAD DE NEGOCIO ante cualquier contingencia de pérdida de datos

DIRECCIÓN DE SISTEMAS DE INFORMACIÓN DEPARTAMENTO CERES

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

4. METODOLOGÍA. 4.1 Materiales Equipo

MANUAL DE AYUDA DEL USUARIO

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

Manual Usuario Manual Usuario

GUÍA DE CONFIGURACIÓN PC PARA HACER USO DE LA SEDE ELECTRÓNICA DEL CABILDO DE GRAN CANARIA

Centro de Capacitación en Informática

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

Notas para la instalación de un lector de tarjetas inteligentes.

. ConSix Gestión. Abogados. Versiones Home / Advance. Manual de Instalación. Copyright

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Instalación Modo Servidor

PLANES DE EMPRESA ICEX CONSOLIDA. Manual de Usuario

Desarrollo de un Sistema de Gestión de Proyectos mediante el framework GWT

Manual de Instalación.

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

Boot Camp Manual de instalación y configuración

Actualización de versión a Bizagi 10.x

Manual de ayuda para crear y gestionar Tareas, como actividad evaluable

UNIVERSIDAD DE SALAMANCA

LA PLATAFORMA VIRTUAL DE LA ASOCIACIÓN ARAGONESA DE PSICOPEDAGOGÍA. REQUISITOS MÍNIMOS PARA ACCEDER AL CURSO.

MANUAL COPIAS DE SEGURIDAD

Instalación Joomla. Instrucciones para instalar Joomla en un pc en la red local del instituto, o en un servidor en Internet

UPDATE BERUTI CABA TEL:

APOLO GESTION INTEGRAL.

Manual Time One Software control de horarios

Dell Premier. Guía para comprar y efectuar pedidos de. Registro en la página Premier. Administrar su perfil personal

BROKERMovil Online para SmartPhone Guía Rápida v1.0

Instalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.

CENTRO DE INVESTIGACIÓN CIENTÍFICA Y DE EDUCACIÓN SUPERIOR DE ENSENADA, BAJA CALIFORNIA Departamento de Cómputo / Dirección de Telemática ÍNDICE

Solución: Descargar e instalarse el componente desde la página Web de Microsoft:

CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES, BILIB RECETA TECNOLÓGICA REALIZACIÓN DE COPIAS DE SEGURIDAD CON GSYNC

INSTRUCCIONES BÁSICAS DE ACCESO AL PORTAL DEL CLIENTE

Descubre gnulinex 1. Capítulo 20. Instalación de gnulinex

Plataforma Helvia. Manual de Administración. Bitácora. Versión

Sincronización de carpetas con el disco duro virtual en sistemas GNU/Linux

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Transcripción:

Documento nº3-diseño Alumno: grupo 5 Fecha: Firma: Profesor Referencia Curso academico Fernando Andreu 2005 2006 1

Índice de Contenidos 1 Introducción de contenidos...4 2 Servidor...4 2.1 Diseño de alto nivel...4 2.1.1 Componentes del servidor...5 2.1.2 Backup...6 2.2 Diseño de bajo nivel...6 2.2.1 Software esencial...7 2.2.1.1 Debian GNU/Linux 3.1 sarge...7 2.2.1.2 Apache...7 2.2.1.3 MySQL...7 2.2.1.4 Exim...7 2.2.1.5 PHPBB...8 2.2.1.6 PHP...8 2.2.1.7 RSYNC...8 2.2.2 Software opcional...8 2.2.2.1 PhpMyAdmin...8 2.2.2.2 Webmin...8 2.2.3 Otro software...8 2.2.3.1 Iptables...9 2.2.3.2 Raid...9 3 Cliente...10 4 Organización de los servicios...11 4.1 Organización de la base de datos...11 4.1.1 Definición de las tablas...11 4.1.1.1 Tabla usuarios...11 4.1.1.2 Tabla asignaturas...12 4.1.1.3 Tabla matrícula...13 4.1.1.4 Tabla asignaturas matriculadas...13 4.1.1.5 Tabla apuntes disponibles...14 4.1.1.6 Tabla apuntes pedidos...14 4.1.1.7 Tabla apuntes solicitados...15 4.1.1.8 Tabla SMI...15 4.1.1.9 Tabla apuntes actuales...16 4.1.2 Definición de las relaciones entre tablas...17 4.1.2.1 Tabla usuarios-tabla matrícula...18 4.1.2.2 Tabla usuarios-tabla apuntes disponibles...18 4.1.2.3 Tabla usuarios-tabla apuntes pedidos...18 4.1.2.4 Tabla usuarios-tabla SMI...18 4.1.2.5 Tabla matrícula-tabla asignaturas matriculadas...18 4.1.2.6 Tabla matrícula-tabla apuntes pedidos...18 4.1.2.7 Tabla asignaturas matriculadas-tabla apuntes disponibles...18 4.1.2.8 Tabla asignaturas matriculadas-tabla asignaturas...18 4.1.2.9 Tabla apuntes disponibles-tabla asignaturas...19 4.1.2.10 Tabla apuntes disponibles-tabla apuntes...19 4.1.2.11 Tabla apuntes disponibles-tabla apuntes soilicitados..19 4.1.2.12 Tabla usuarios-tabla apuntes actuales...19 2

4.1.2.13 Tabla matrícula-tabla apuntes actuales...19 4.1.2.14 Tabla apuntes solicitados-tabla apuntes actuales...19 4.1.2.15 Tabla apuntes pedidos-tabla apuntes actuales...19 4.1.3 Listado de tablas...20 4.2 Organización de la Web...22 4.2.1 Usuarios estándar...23 4.2.1.1 Perfil...23 4.2.1.2 Buscar apuntes...26 4.2.1.3 Subir documentos...29 4.2.1.4 Cesta...30 4.2.1.5 Foro...33 4.2.1.6 Mensajería instantánea...33 4.2.2 Usuarios avanzados...34 4.2.2.1 Lista de pedidos...35 4.2.2.2 Administración de cuentas de usuario...38 4.2.2.3 Mensajería instantánea...38 5 Conclusiones...40 Anexo A: Microsoft vs LAMP...41 Anexo B: SIP/PAYPAL...44 Anexo C: Calidad de la Web...45 Anexo D: Referencias...46 3

1.- INTRODUCCIÓN DE CONTENIDOS En este apartado se hace una introducción de la solución propuesta para cumplir los diferentes requisitos impuestos por las especificaciones. Para el servidor se ha definido la arquitectura HW, que ha de ser capaz de soportar la carga impuesta por las aplicaciones ahora y en un futuro. Se ha escogido un servidor dual Xeon con 2GB RAM y 4 discos duros funcionando en modo Raid5. El SW, por su parte, constará de un sistema operativo Debian GNU/Linux 3.1 sobre el que correrán los diferentes servicios y aplicaciones en una configuración LAMP. Los requerimientos del cliente se han reducido al mínimo para soportar el mayor número de terminales posibles. La arquitectura de red se muestra en la siguiente figura: El cliente usará su terminal para conectarse al servicio de publicaciones mediante internet. El servidor ofrecerá una página web donde el usuario podrá acceder a los diferentes servicios. Adicionalmente se usarán servidores externos para algunos de los servicios ofertados como son el pago anticipado y la mensajería instantánea. 2.- SERVIDOR 2.1.- DISEÑO DE ALTO NIVEL 4

2.1.1.- Componentes del servidor PowerEdge 1800 Operating System Additional Processor Memory Keyboard Monitor Primary Hard Drive Primary Controller Floppy Drive Mouse Network Adapter CD/DVD Drive Documentation 2nd Hard Drive Hard Drive Configuration Chassis Configuration Hardware Support Services Installation Support Services Power Supply 4th Hard Drive 3rd Hard Drive Mail- In Rebate Purchase Intent Technical Sales Representative Contact Intel Xeon processor at 3.0GHz/2MB Cache, 800MHz FSB No Operating System Intel Xeon processor at 3.0GHz/2MB Cache, 800MHz FSB 2GB DDR2 400MHz (2X1GB), Single Ranked DIMMs No Keyboard Option No Monitor Option 146GB 10K RPM Ultra 320 SCSI Hard Drive PERC4eDC-PCI Express, 128MB Cache, 1-Internal 1-External Channel No Floppy Drive No Mouse Option Onboard NIC 16X DVD-ROM Electronic Documentation and OpenManage CD Kit 146GB 10K RPM Ultra 320 SCSI Hard Drive Add-in SCSI card RAID 5, with SCSI Backplane, minimum 3 drives required Tower Style Chassis 3Yr SILVER Support, 4Hr Onsite, S/W Support No Installation Assessment Non-Redundant Power Supply 146GB 10K RPM Ultra 320 SCSI Hard Drive 146GB 10K RPM Ultra 320 SCSI Hard Drive None Purchase is not intended for resale. Yes TOTAL:$4,207.50 5

2.1.2.- Backup Se ha escogido un disco duro externo como medio de backup debido a que el raid5 del servidor protege suficientemente contra corrupción y hace que el backup externo proteja más contra intrusión que contra fallo. Esta solución es barata y sencilla, adecuada para las necesidades del servicio. La capacidad del disco duro externo es de 500GB. Ofrece conectividad por usb y firewire y no requiere ningún tipo de instalación o configuración especial. 2.2.- DISEÑO DE BAJO NIVEL Aquí se muestran los diferentes servicios ofrecidos por nuestro servidor y las aplicaciones correspondientes. En la siguiente figura se muestra la relación entre las diversas aplicaciones que forman el proyecto. Como puede verse, no sólo los programas del usuario deben conectarse con los servicios de publicaciones, sino que las aplicaciones del servidor de publicaciones acceden las unas a los servicios de las otras, por lo que la interconexión de aplicaciones es una parte fundamental del diseño: 6

2.2.1.- Software esencial 2.2.1.1.- Debian GNU/Linux 3.1 Sarge Debian es una distribución muy popular en los servidores debido a su gran estabilidad, soporte de seguridad, gestor de paquetes y arquitecturas soportadas. Consideraciones para la instalación del sitema operativo: Debe instalarse Debian GNU/Linux 3.1 Sarge con el instalador correspondiente a la arquitectura escogida (ia64). El kernel a instalar o compilar será una versión 2.6.x El sistema de ficheros a usar será ext3 Los 4 discos duros deben configurarse en modo raid5 Debe incluirse soporte QoS en el kernel para futuras aplicaciones 2.2.1.2.- Apache Se ha elegido el servidor apache en su versión 2.0.54 como servidor web. Apache es el servidor web más usado del mundo, de una estabilidad y unas prestaciones conocidas y probadas. Su desarrollo es incesante gracias a una amplia comunidad de desarrolladores, y su integración con otras aplicaciones es sencilla. Ésto, unido a la gran cantidad de documentación disponible, hace que sea el servidor óptimo para las necesidades del cliente. 2.2.1.3.- MySQL El servidor de bases de datos usado va a ser MySQL. Este servidor es el más adecuado debido a su gran velocidad, su integración con las demás aplicaciones a usar y la gran cantidad de aplicaciones existentes que usan esta tecnología. Se ha optado por la versión 4 del servidor sobre la 5 debido a que la versión 5 no ofrece nuevas funcionalidades necesarias para el proyecto y la versión 4 es más rápida. 2.2.1.4.- Exim El servidor de correo que viene por defecto en la instalación de Debian GNU/Linux 3.1 es Exim v4. Es un servidor de correo de altas prestaciones, y sencillo de configurar durante la instalación del SO. Debido a la sencillez del uso que se le va a dar, no se ha planteado otra opción. 7

2.2.1.5.- PHPBB El foro que se va a implementar es PHPBB. Es un foro muy extendido en internet, que cumple con todos los requisitos, escrito en php y que se integra a la perfección con MySQL. 2.2.1.6.- PHP El lenguaje elegido para la página web es PHP. La versión 4.3.10 es la disponible en Debian GNU/Linux 3.1. En estos momentos, PHP 5 está en el mercado. Esta versión de php soporta el código escrito en php 4.3, por lo que se opta por la versión 4.3 disponible en la distribución escogida con garantías de validez en una futura actualización. PHP es un lenguaje interpretado, muy extendido en internet, especialmente en la creación de páginas web dinámicas. Es muy potente, la integración con apache y mysql es automática, y hay gran cantidad de código y ejemplos disponibles. 2.2.1.7.- RSYNC Esta aplicación usa el protocolo del mismo nombre y permite la sincronización remota de árboles de directorios, con lo que es una manera muy sencilla de hacer copias de seguridad incrementales mediante un sólo comando sin necesidad de usar aplicaciones más complicadas. Permite gran cantidad de opciones, como su encapsulamiento en ssh por lo que las transmisiones pueden hacerse encriptadas y por puerto 22 en caso de ser necesario. 2.2.2.- Software Opcional 2.2.2.1.- PhpMyAdmin Además del módulo de administración para el personal de publicaciones, puede ser útil para el desarrollador y el cliente instalar Phpmyadmin. Esta utilidad, consiste en una interfaz http que permite gestionar bases de datos de forma gráfica sin necesidad de ser experto en lenguaje SQL. 2.2.2.2.- Webmin Esta utilidad permite configurar y administrar servicios del sistema mediante una interfaz https. 8

2.2.3.- Otro Software 2.2.3.1.- Iptables La elección de ésta tecnología es: Reglas de filtrado implementadas a nivel de kernel, lo que hace de la seguridad parte del sistema operativo sin necesidad de gestionar el firewall a nivel de aplicación. Se debe realizar un scrip que se ejecute en cada arranque y que genere las reglas de filtrado del servidor para incrementar la seguridad del servidor cerrando todos los puertos que no sean necesarios, previniendo algunos ataques DOS y gestionando las conexiones máximas. Puertos/servicios que deben estar abiertos (INPUT): 443 https 22 ssh,sftp,scp (opcional) 10000 webmin (opcional) 2.2.3.2.- Raid Se ha escogido una configuración Raid5 para los 4 discos duros del servidor. Esta configuración protegerá contra fallos de disco sin afectar al servicio. El raid se implementará a nivel software debido a la gran flexibilidad que proporciona. 9

3.- CLIENTE En primer lugar el cliente ha de tener una cuenta de usuario válida para poder hacer uso del servicio. Por otro lado será necesario disponer de un terminal con acceso a internet y de un navegador web con soporte ssl. Opcionalmente puede instalarse un cliente de mensajeria/presencia que soporte SIP para poder usar el servicio correspondiente. Para ello se requiere un número SIP(una cuenta) en el servidor correspondiente. Nótese que desde el punto de vista de los servicios de mesajeria/presencia, tanto publicaciones como el usuario son clientes del servicio y necesitan cliente de mensajeria. 10

4.- ORGANIZACION DE LOS SERVICIOS 4.1.-ORGANIZACION DE LA BASE DE DATOS 4.1.1.- Definición de las tablas La base de datos constará de una serie de tablas, relacionadas entre sí mediante los diferentes atributos presentes en cada una de ellas. La selección de los diferentes atributos vendrá motivada por la funcionalidad de los propios datos. A continuación detallaremos los atributos de cada tabla y el tipo de datos de los registros correspondientes a cada campo. 4.1.1.1..- Tabla Usuarios Dentro de esta tabla se pretende recoger los datos personales de cada uno de los usuarios del sistema. Así, los campos serán: DNI (8 dígitos numéricos): Será identificador único de cada uno de los elementos recogidos en esta tabla. NOMBRE (30 caracteres) APELLIDO_1 (30 caracteres) APELLIDO_2 (30 caracteres) TELEFONO_SIP (9 dígitos numéricos) E_MAIL (30 caracteres) Nº CUENTA (20 dígitos numéricos) OCUPACION (10 caracteres): Las opciones son Alumno, Trabajador, Profesor o Delegado. SALDO_RESTANTE (5 dígitos numéricos con decimales) PASSWORD (15 caracteres) Ilustración 1: 11

4.1.1.2.- Tabla Asignaturas En esta tabla se pretende recoger toda la información genérica relevante a las diferentes asignaturas impartidas en la Escuela : CODIGO_ASIGNATURA (4 dígitos numéricos) NOMBRE_ASIGNATURA (50 caracteres) TITULACION (50 caracteres) CURSO (1 dígito numérico) TIPO_ASIGNATURA (15 caracteres): Las opciones son Obligatorias, Optativas o Libre eleccion. Ilustración 2: 4.1.1.3.- Tabla Matrícula Esta tabla relacionará los diferentes alumnos con un código de matrícula. DNI (8 dígitos numéricos) CODIGO_MATRICULA (4 dígitos numéricos) 12

Ilustración 3: 4.1.1.4.- Tabla Asignaturas Matriculadas Con esta tabla se pretende asignar a cada código de matrícula todas las asignaturas en las que el alumno está matriculado. CODIGO_MATRICULA (4 dígitos numéricos) CODIGO_ASIGNATURA (4 dígitos numéricos) Ilustración 4: 4.1.1.5.- Tabla Apuntes Disponibles En esta tabla se identifican los apuntes disponibles. CODIGO_APUNTES (5 dígitos numéricos) NOMBRE_ARCHIVO (20 caracteres) DESCRIPCION (100 caracteres): Campo de texto con una breve descripción de los apuntes. 13

CODIGO_ASIGNATURA (4 dígitos numéricos) TIPO_APUNTES (30 caracteres): Las opciones son Apuntes oficiales, Apuntes extraoficiales, Ejercicios propuestos, Examenes o Bibliografia. DUEÑO (8 dígitos numéricos): En este campo se identificará el DNI de la persona que subió los apuntes. FECHA (10 dígitos alfanuméricos): Fecha en la que se subieron los apuntes. PRECIO ( 5 dígitos numéricos con decimales ) Ilustración 5: 4.1.1.6.- Tabla Apuntes Pedidos En esta tabla aparecerán los apuntes pedidos por los diferentes alumnos. CODIGO_PEDIDO (5 dígitos numéricos) DNI (8 dígitos numéricos) ID_CODIGO_APUNTES (5 dígitos numéricos): Con esto se relacionarán el código del pedido con el código de los apuntes pedidos. ESTADO (12 caracteres): Las opciones son Solicitados, Disponibles o Recogidos. PRECIO_PEDIDO (5 dígitos numéricos con decimales) FECHA_PEDIDO (10 dígitos alfanuméricos): Fecha en la que se ha realizado el pedido. 14

Ilustración 6: Con esta tabla se pretende asignar a cada código de pedido todas los apuntes que se han solicitado. ID_CODIGO_APUNTES (5 dígitos numéricos) CODIGO_APUNTES (5 dígitos numéricos) UNIDADES (2 dígitos numéricos): El número de unidades de unos apuntes que el usuario quiera comprar. Ilustración 7: 4.1.1.8.- Tabla SMI En esta tabla se identifica el estado en el que están los usuarios en cada momento. DNI (8 dígitos numéricos) ESTADO (15 caracteres): Las opciones son Conectado o Desconectado. 15

Ilustración 8: 4.1.1.9.- Tabla Apuntes Actuales En esta tabla se mostrarán los apuntes solicitados que estén en preparación, o bien listos para ser recogidos. También aparecerá la prioridad que tiene cada uno de los apuntes. CODIGO_PEDIDO (5 dígitos numéricos) DNI (8 dígitos numéricos) ID_CODIGO_APUNTES (5 dígitos numéricos) PRIORIDAD (1 dígito numérico): La prioridad la asignarán los trabajadores de publicaciones, y estas prioridades irán del 1 al 3, siendo el 1 la más prioritaria, y el 3 la menos prioritaria. FECHA (10 dígitos alfanuméricos): Fecha en la que se ha realizado la solicitud de los apuntes. PRECIO_PEDIDO (5 dígitos numéricos con decimales) PAGADO (2 caracteres): Este campo indicará si los apuntes están pagados o no. Las opciones son Si o No. ESTADO (12 caracteres): Hay dos estados posibles para este campo, que serán Disponibles o Recogidos. 16

Ilustración 9: 4.1.2.- Definición de las relaciones entre tablas A continuación se procederá a detallar las relaciones entre las diferentes tablas que forman la base de datos. Ilustración 10: 17

4.1.2.1.- Tabla Usuarios Tabla Matricula Estas dos tablas se relacionan entre sí mediante el campo DNI de cada una de ellas. Este campo será identificador único en cada uno de los registros de las tablas. Con el número de DNI del usuario se podrá obtener la matrícula de dicho usuario, si es que está matriculado. 4.1.2.2.- Tabla Usuarios Tabla Apuntes Disponibles Estas tablas se relacionan mediante el campo DNI en la tabla Usuarios y el campo DUEÑO en la tabla Apuntes Disponibles. Con estos campos se podrá saber si un usuario ha subido apuntes, y que apuntes son esos. 4.1.2.3.- Tabla Usuarios Tabla Apuntes Pedidos Relacionamos estas tablas mediante los campos DNI de cada una de ellas. Mediante la introducción del este campo, se puede obtener los datos del usuario, y los pedidos que haya realizado. 4.1.2.4.- Tabla Usuarios Tabla SMI Estas tablas se relacionan mediante el campo comun DNI, mediante el cual se sabrá si un usuario está o no conectado, y es posible entablar una conversación con él a través del servicio de mensajería. 4.1.2.5.- Tabla Matricula Tabla Asignaturas Matriculadas Estas tablas se relacionan mediante el campo CODIGO_MATRICULA común a ambas. Mediante estas tablas se pueden obtener las asignaturas de las que se ha matriculado un usuario determinado. 4.1.2.6.- Tabla Matricula Tabla Apuntes Pedidos Estas tablas se relacionan mediante el campo DNI de cada una de ellas, y así podemos asociar un daterminado pedido a una matrícula. 4.1.2.7.- Tabla Asignaturas Matriculadas Tabla Apuntes Disponibles Estas tablas se relacionan mediante el campo CODIGO_ASIGNATURA común a ambas, pudiendo así saber si una determinada asignatura tiene apuntes o no disponibles. 18

4.1.2.8Tabla Asignaturas Matriculadas Tabla Asignaturas Estas tablas se relacionan mediante el campo CODIGO_ASIGNATURA, y se usarán para vincular las asignaturas de una determinada matrícula a dicha matrícula. 4.1.2.9.- Tabla Apuntes Disponibles Tabla Asignaturas Estas tablas se relacionan mediante el campo CODIGO_ASIGNATURA, y podremos asociar los apuntes que hay disponibles con las asignaturas a las que corresponden. 4.1.2.10.- Tabla Apuntes Disponibles Tabla Apuntes Solicitados Se relacionan mediante el campo CODIGO_APUNTES, y lo utilizaremos para relacionar los apuntes disponibles con un determinado pedido. 4.1.2.11- Tabla Apuntes Pedidos Tabla Apuntes Solicitados Mediante el campo ID_CODIGO_APUNTES, común a ambas tablas, las relacionaremos para vincular los apuntes y la cantidad de estos a un determinado pedido. 4.1.2.12.- Tabla Usuarios Tabla Apuntes Actuales Se relacionan estas tablas mediante los campos DNI de cada una de ellas. Mediante la introducción del este campo, se puede obtener los datos del usuario, y los pedidos que estén realizandose o pendientes de ser recogidos. 4.1.2.13.- Tabla Matricula Tabla Apuntes Actuales Estas tablas se relacionan mediante el campo DNI de cada una de ellas, y así podemos asociar un daterminado pedido pendiente a una matrícula. 4.1.2.14.- Tabla Apuntes Solicitados Tabla Apuntes Actuales Mediante el campo ID_CODIGO_APUNTES, común a ambas tablas, las relacionaremos para vincular los apuntes pendientes y la cantidad de estos a un determinado pedido. 4.1.2.15.- Tabla Apuntes Pedidos Tabla Apuntes Actuales Mediante el campo CODIGO_PEDIDO se pueden relacionar los apuntes que están en el historial con los apuntes que aún están pendientes, bien de ser recogidos o bien de ser realizados. 19

4.1.3.- Listado de tablas A continuación se muestra un listado de las tablas que se han diseñado. DNI NOMBRE APELLIDO_ 1 1234567 8 APELLID O_2 TELEFONO _SIP Tabla 1. Usuarios Antxon Urrutia Bilbao 123456789 Pruebas1@yes.com E_MAIL Nº CUENTA OCUPACI ON SALDO_REST ANTE PASSWO RD Alumno 50 1234 Trabajador Delegado Profesor Tabla 2. Matricula DNI CODIGO_MATRIC ULA 12345678 1234 Tabla 3. Asignaturas Matriculadas CODIGO_MATRIC ULA CODIGO_ASIGNA TURA 1234 1234 CODIGO_APUN TES NOMBRE_ARCH IVO DESCRIPCION 1234 Practica1 Apuntes de la practica 1 Tabla 4. Apuntes Disponibles CODIGO_ASIGNA TURA TIPO_APUNT ES 1234 Apuntes oficiales Apuntes extraoficiales Ejercicios propuestos Examenes Bibliografia DUEÑ O 123456 78 FECHA PRECIO 29/12/05 1,5 20

CODIGO_ASIGNAT URA NOMBRE_ASIGNAT URA Tabla 5. Asignaturas TITULACION CURSO TIPO_ASIGNATURA 1234 Frances Ingeniero de telecomunicacion 3 Obligatorias Optativas Libre Eleccion CODIGO_PEDI DO DNI Tabla 6. Apuntes Pedidos ID_CODIGO_APUN TES ESTADO PRECIO_PEDIDO FECHA_PEDIDO 1234 12345678 1234 Solicitados 1,5 29/12/05 Disponibles Recogidos Tabla 7. Apuntes Solicitados ID_CODIGO_APUNTES CODIGO_APUNTES UNIDADES 1234 1234 3 Tabla 8. SMI DNI ESTADO 12345678 Conectado Desconectado CODIGO_PE DIDO DNI 1234 123456 78 ID_CODIGO_APU NTES Tabla 9. Apuntes Actuales PRIORID AD FECHA PRECIO_PEDIDO PAGADO ESTADO 1234 1 29/12/05 1,5 Si Solicitados No Recogidos 21

4.2.- ORGANIZACIÓN DE LA WEB La página web se ha diseñado consta, primeramente de una pantalla de bienvenida en la que se solicitan el identificador de usuario y una clave. Figura1 Tras introducirlos se accede a la figura2, siempre y cuando los datos proporcionados hayan sido comprobados y autentificados en la base de datos. Se accederá a dos ventanas diferentes en función del grupo al que pertenezca la persona que accede. Por un lado están los alumnos, delegados y profesores a los que denominaremos usuarios estándar. Por otro, el personal de publicaciones que denominaremos usuarios avanzados. 22

Figura2 4.2.1.- Usuarios Estándar Para los usuarios que pertenecen a este primer grupo la web consta de 6 apartados. A continuación detallamos cada uno de lo apartados. 4.2.1.1.- Perfil En esta pantalla apareceran varias campos referentes al usuario. Por un lado los datos del mismo, que podrán ser modificados y por otro el historial de los pedidos. 23

Figura3 En la figura4 es donde aparecen los datos personales.en caso de que el usuario quiera modificarlos puede pulsar la pestaña correspondiente, pasando asi a la figura5. Figura4 24

Figura5 El historial refleja la situación de los pedidos realizados por cada alumno. Figura6 25

4.2.1.2.- Buscar Apuntes Una vez se ha accedido a esta opción lo primero que aparece es una tabla en la que se reflejan las asignaturas de las que está matriculado el alumno tal y como se puede observar en la figura7. Figura7 Tras selecionar una de las asignaturas aparecen una tabla, figura8, con todos los campos referentes a la misma: código de apuntes, asignatura, tipo de apuntes(oficial, extraoficial, ejercicios propuestos, examenes, bibliografías), titulación, curso, descripción, precio y archivo. 26

Figura8 Figura9 También cabe la opción de acceder a dicha tabla a través de la busqueda avanzada, pinchando en buscar más desde la figura7. Ahora podremos seleccionar cualquier asignatura independientemente de que estemos matriculados o no. Para ello, en la tabla de la figura9 deberemos rellenar los campos: titulación, curso, tipo de apuntes y asignatura y posteriormente pinchar en buscar. 27

Una vez que se encuentra el archivo deseado se hace clic sobre el mismo. En ese momento se plantea la opción de descargar o de realizar pedido tal como se ve en la figura10. Si se selecciona descargar el archivo se descagará mediante http a través de la propia página. Si por el contrario se selecciona realizar pedido se pasa a la siguiente ventana, figura11, en la que se podrá elegir el número de artículos. Figura10 En este momento, hay dos opciones. La primera es comprar más, mediante la que se accede a la figura 8 de nuevo. La segunda opción es finalizar pedido, a través de la cual se llega a la figura13 que corresponde a la cesta. 28

Figura11 4.2.1.3.- Subir Documentos El formato de esta sección será el mismo que el del formulario del apartado Buscar Apuntes con la única diferencia de que el desplegable tipo para los alumnos sólo permite la elección de apuntes extraoficiales mientras que tanto para los delegados como para los profesores aparecerán todas las opciones anteriormente descritas. Para adjuntar el archivo correspondiente se ha de hacer clic sobre el botón adjuntar accediendo así a una nueva ventana en la que se selecciona el mismo. Por último pulsando sobre subir el archivo quedará colgado por http. 29

Figura12 4.2.1.4.- Cesta El acceso a esta opción se puede hacer desde dos lugares. Por un lado desde la ventana principal a traves del link Cesta de la Compra, por otro desde la ventana de búsqueda de apuntes con el botón finalizar pedido tal y como se describe anteriormente. El objetivo de esta ventana es llevar la cuenta de los pedidos realizados, de su estado, así como del precio de los mismos. 30

Figura13 Para realizar el pedido se ha de hacer clic sobre la pestaña reservar. Se plantean dos opciones. La primera es que el precio de nuestro pedido no supere los 50, en cuyo caso aparecerá un mensaje informándonos de que el pedido ha sido reservado. Figura14 31

Figura15 Por otro lado, si el precio supera dicho importe en el momento en el que se reserve aparece un aviso en el que se informa de que habrá que pagar el pedido por adelantado. Figura16 En este caso se puede observar que se ha rechazado el pago por adelantado, así que tras pulsar continuar, se accederá a una nueva pantalla donde se planteará la opción de modificar el pedido. 32

Si por el contrario se acepta el pago vía paypal, como se muestra en esta figura: Figura17 Una vez pulsado continuar, se realizará una transferencia paypal tal y como está explicado en el punto 2. 4.2.1.5.- Foro foro. Pinchando sobre esta opción se direccionará al usuario al 4.2.1.6.- Mensajería Instantánea En caso de que el usuario seleccione esta opción aparecerá un mensaje explicativo de cómo hacer uso de la aplicación. 33

Figura18 4.2.2.- Usuarios Avanzados Cuando el acceso lo realiza un usuario avanzado se le plantea también la opción de acceder como usuario estándar en cuyo caso la página que se cargará será la correspondiente a los usuarios estándar. Si por el contrario lo que quiere es acceder como usuario avanzado la página constará de los siguientes campos: 34

Figura19 Los campos correspondientes se explican a continuación. 4.2.2.1.- Lista De Pedidos La base de datos estará formada por una lista de todos los pedidos pendientes hasta la fecha ordenados por fecha de petición teniendo prioridad los pedidos más antiguos. A pesar de ello el personal podrá dar prioridad a ciertos documentos oficiales. Habrá una tabla que constará de los siguientes campos: número de pedido, DNI, precio, fecha pedido, prioridad, recogido, estado, pagado. El estado podrá ser pendiente o realizado. En el momento en el que el estado pase a realizado, autómaticamente se enviará un mail avisando al usuario de que está listo. Una vez que el pedido haya sido recogido y pagado se borrará el pedido de la lista. Se ha estimado que la tabla de todos los pedidos va a ser excesivamente grande como para mostrarla en su totalidad por lo 35

que en la Web tan solo se plantea la opción de buscar pedidos concretos a través del identificador de pedido o del DNI. La opción de buscar sirve para confirmar el estado del pedido en la base de datos. Mediante la opción eliminar se hace constar en la base de datos que el pedido especificado se ha pagado y recogido. Figura20 Si se selecciona buscar, se hace una consulta a la base de datos que devuelve una tabla con los archivos asociados al DNI o al identificador de pedido correspondiente. 36

Figura21 Figura22 En esta pantalla se vuelve a tener la opción de eliminar un pedido y su funcionamiento es el mismo que el explicado anteriormente. Tras seleccionar dicha opción aparece el siguiente mensaje 37

De esta manera en la base de datos constará que el pedido ha sido recogido y pagado. Figura23 4.2.2.2.- Administración de Cuentas de Usuario Con esta opción el personal de publicaciones podrá dar permisos a ciertos alumnos, como sería el caso de los delegados. Para ello existirá una tabla en la que se podrá variar el tipo de usuario. 4.2.2.3.- Mensajería Instantánea En caso de que el usuario seleccione esta opción aparecerá un mensaje explicativo de cómo hacer uso de la aplicación. 38

Figura24 39

5.- CONCLUSIONES En este apartado se van a exponer las conclusiones que se han obtenido tras la realización de la parte de Diseño correspondiente al proyecto Servicio de Publicaciones Online. Tras analizar el estudio del arte y las especificaciones, se concluye que el diseño realizado aprovecha al máximo las tecnologías y aplicaciones existentes en el mercado minimizando el tiempo de desarrollo del proyecto. Una de las condiciones de elaboración del proyecto, es que su coste sea mínimo. Por ello, las tecnologías y formatos escogidos son públicos y libres. Además, esta elección posibilita que sea más factible la realización de modificaciones, ampliaciones o adaptaciones en etapas posteriores. La adopción de LAMP como solución integral hace que la arquitectura elegida de servidor sea una solución fiable y conocida, cuyo correcto funcionamiento es reconocido. Se trata de una solución en la que la estabilidad es un parámetro importante y en la que el rendimiento es alto. El que la solución sea universal implica que la documentación que haga referencia a este tipo de sistemas, sea abundante, y contrastada. A su vez, el mantenimiento no presentará la menor dificultad. Los equipos necesarios para desarrollar esta arquitectura no tienen por qué ser muy potentes. Más bien las exigencias requeridas serán relajadas, en lo que a equipos se refiere. Además, es una solución flexible, que permite el uso de diferentes tipos de equipos. 40

ANEXO A Microsoft vs LAMP Desde el principio, la elección de las tecnologías se basaba en la elección de 2 grandes familias de soluciones: La solución de Microsoft basada en MS Windows 2003 Server + IIS + ASP.NET + SQL Server + Visual Studio La solución del mundo libre basado en LAMP ( Linux + Apache + MySQL + PHP). Se ha optado por ésta segunda solución por varias razones: - Económicas - Actualizaciones - Libertad de migración - Independencia de plataforma - Estabilidad - Requisitos hardware - Seguridad - Licencia - Calidad A.1.- ECONÓMICAS El precio aproximado de licencias de la solución de Microsoft es de 5300. Además en la mayoría de ocasiones ofrece actualizaciones dentro de la misma versión del producto pero no para versiones futuras, con lo que habría que contar con los gastos de renovación de software. La solución que se propone supone un gasto 0 en licencias de software y en actualizaciones futuras. Solución Microsoft Coste Solución propuesta Coste( ) Windows 2003 Server std 999 Debian GNU/Linux 3.1 0 SQL Server std 2799$ Mysql 0 Visual Studio 2005 1284 Quanta Plus-php 0 Office 2003 (Frontpage) 288 Openoffice.org 2.0 0 A.2.- ACTUALIZACIONES Se podrá actualizar el software en cualquier momento sin necesidad de interrumpir el servicio. 41

Puede hacerse una actualización de todas las aplicaciones mediante un sólo comando y hacerlo automatizado. Las actualizaciones de seguridad suelen estar disponibles horas después de la aparición del fallo de seguridad, mientras que Microsoft pueden tardar semanas. La compatibilidad hacia atrás esta garantizada ya que puede encargarse en el hipotético caso de que una versión de alguna aplicación no sea compatible con la anterior. En el caso de la solución de Microsoft, la compatibilidad con versiones anteriores esta sujeta a las decisiones de una compañía por lo que puede darse el caso de tener que quedarse anclado en una versión concreta de algún programa para que nuestras aplicaciones sigan funcionando. A.3.- LIBERTAD DE MIGRACIÓN La solución escogida no obliga al uso de aplicaciones concretas ya que los formatos usados son abiertos y por lo tanto la migración entre aplicaciones no supone problema. En el caso de la solución de Microsoft, al ser los formatos de trabajo cerrados y no respetar los estándares, el cliente se vería abocado a no poder migrar de aplicación con las garantías necesarias. A.4.- INDEPENDENCIA DE PLATAFORMA LAMP independiza de la plataforma escogida ya que las aplicaciones que van a correr han sido portadas a 11 arquitecturas diferentes y funcionan en cualquier sistema operativo. Gracias a esto, un futuro cambio de servidor no estaría restringido por las aplicaciones. En el caso de la plataforma de Microsoft, se está limitado a un sistema operativo y a 3 arquitecturas. A.5.- ESTABILIDAD 47 de los 50 servidores que llevan más tiempo funcionando corren GNU/Linux. Debian GNU/Linux ofrece mayor estabilidad que su homólogo Microsoft Windows 2003 Server. A.6.- REQUISITOS HARDWARE Debian GNU/Linux es capaz de correr en un 486 con 32MB RAM y 200MB de disco duro. Obviamente, el servidor a utilizar tiene requisitos muy superiores, pero es la aplicación y no el SO el que determina la máquina necesaria. Un Windows 2003 server necesita un Pentium III a 550 Mhz con 128MB RAM y 2GB de disco duro. A.7.- SEGURIDAD Debian GNU/Linux es un sistema operativo más seguro que el Windows 2003 server. Las actualizaciones de seguridad son casi inmediatas a la 42

aparición de una vulnerabilidad, no se ocultan las vulnerabilidades y las aplicaciones también son más seguras. Los servicios pueden correr en entornos protegidos para que no afecten al resto. Los viruses, gusanos, troyanos...que circulan por internet suelen estar específicamente diseñados para Windows, por lo que no afectarán al sistema. A.8.- LICENCIA Las aplicaciones que se han elegido son libres, por lo que el cliente se beneficia de las 4 libertades fundamentales de este tipo de software. Particularizando a los intereses del mismo: No pueden ponerse trabas al uso que se dé al software. Éste se puede modificar para que se amolde a las necesidades del cliente. En caso de usar la solución de Microsoft, no hay beneficio de las libertades de este software, sino que se está atado por un contrato a una compañía. A.9.- CALIDAD La solución elegida es hoy por hoy, mejor en cuanto a calidad. El lenguaje elegido es superior a ASP.NET ya que tiene una madurez y prestaciones superiores. Es de esperar que en un futuro, la plataforma de Microsoft alcance madurez ya que ésta compañía vuelca sus esfuerzos en éste lenguaje para hacer que el consumidor opte por su solución. En estos momentos, ASP.NET sólo cuenta con buen marketing. 43

ANEXO B: SIP / PAYPAL Este protocolo ha sido impuesto por el cliente. B.1.- SERVICIO DE MENSAJERÍA Y PRESENCIA USANDO EL PROTOCOLO SIP Para este servicio debemos tener clientes que soporten mensajería y presencia sobre SIP. Estos clientes deben soportar las funcionalidades mencionadas además de la videoconferencia o la llamada de voz para poder aprovechar el futuro servidor de la escuela. Para preservar la independencia del usuario, se ha decidido que esta aplicación sea independiente de la web de publicaciones y que sea el usuario el que decida el programa a usar, ya que se considera que una aplicación obligada quedaría rápidamente relegada por las nuevas aplicaciones que están apareciendo con la proliferación de los servicios basados en SIP. Por ello, recomendamos a los usuarios que usen Microsoft Windows Messenger en sus terminales con MS Windows o Kphone en sus terminales con GNU/Linux, BSD o MacOSX. Dichas aplicaciones usan el protocolo SIP y soportan llamadas de voz, mensajería instantánea y avisos de presencia. B.2.- PAYPAL Este medio de pago se ha extendido por internet haciendo frente al mayor problema que presentaba la compra por internet: La falta de confianza del usuario. Paypal además de ofrecer una transferencia cómoda para le vendedor y segura para el usuario, se ha hecho tan conocido que cuenta con la confianza del internauta y ésta es la razón decisiva para su uso. La solución escogida entre las 4 que ofrece Paypal es la denominada Paypal Websites Payments Standard. El pago se realiza en la propia página web de Paypal, por lo que los problemas de seguridad inherentes a estas transacciones quedan al cuidado de esta compañía. Su implementación en la web de publicaciones se hace de forma sencilla ya que no hay que instalar o implementar software para ello. Una redirección desde publicaciones a Paypal y otra redirección después del abono hacen que implementar el pago anticipado sea sencillo y a la vez seguro. 44

ANEXO C: CALIDAD DE LA WEB Debe editarse una web que sea lo más ligera posible para evitar la sobrecarga del servidor. La web debe cumplir los estándares de la w3c y pasar por el test que asegure su compatibilidad con los navegadores y cumplimiento de las normas: 45

ANEXO D : REFERENCIAS Hardware servidor http://www.dell.com/ Backup http://www.maxstore.com/product.asp?sku=2706866 Debian GNU/Linux 3.1 Sarge http://www.debian.org/ http://es.wikipedia.org/wiki/distribución_linux http://www.badopi.org/node/69 MySQL http://www.mysql.com/ Exim http://www.exim.org/ PHPBB http://www.phpbb.com/ RSYNC http://samba.anu.edu.au/rsync/ PHPMyAdmin http://www.phpmyadmin.net/home_page/index.php Webmin http://www.webmin.com/ Iptables http://www.kernel.org/ Raid http://en.wikipedia.org/wiki/redundant_array_of_independent_disks 46

Linux o Windows? http://www.noticias3d.com/articulo.asp?idarticulo=450&pag=1 http://www.noticias3d.com/articulo.asp?idarticulo=455&pag=1 http://www.michaelhorowitz.com/linux.vs.windows.html http://www.theregister.com/2004/10/22/linux_v_windows_security/ http://www.theregister.co.uk/security/security_report_windows_vs_linux/ http://techupdate.zdnet.com/techupdate/stories/main/0,14179,2901156,00.htm l http://tldp.org/ http://www.microsoft.com/mscorp/execmail/2004/10-27platformvalue.asp http://www.sitemount.com/hosting/linux-vs-windows/ http://www.microsoft.com/windowsserversystem/facts/default.mspx http://www.debian.org/releases/stable/i386/ch02s05.html.es 64 bit http://www.osnews.com/story.php?news_id=5768&page=1 http://os.newsforge.com/print.pl?sid=05/03/30/1242206 php http://www.php.net/ http://www.oracle.com/technology/pub/articles/hull_asp.html http://es2.php.net/manual/es/migration5.incompatible.php Apache http://www.apache.org/ http://httpd.apache.org/docs/2.0/es/new_features_2_0.html Servicio de mensajería y presencia usando protocolo SIP http://www.cs.columbia.edu/sip/ http://www.microsoft.com/windowsxp/using/windowsmessenger/default.mspx http://www.wirlab.net/kphone/ Paypal http://www.paypal.com/ Calidad de la Web http://www.w3.org/qa/tools/#validators http://www.w3.org/ 47