UNIVERSIDAD DE GUAYAQUIL Facultad de Ciencias Matemáticas y Físicas Carrera de Ingeniería en Sistemas Computacionales “Desarrollo de un Software para la Administración de un Servidor Hosting en la WEB” TESIS DE GRADO Previo a la Obtención del Título de: INGENIERO EN SISTEMAS COMPUTACIONALES Autor(es): ALVARADO ROJAS PEDRO XAVIER BRAVO RODRIGUEZ FRANCISCO JAVIER VILLAO MENDEZ FRANKLIN DAVID GUAYAQUIL-ECUADOR Año: 2007 AGRADECIMIENTO Agradecemos primeramente a Dios por darnos la vida permitido ser lograr finalización la y habernos perseverantes de para nuestra meta; a nuestros padres por darnos el apoyo levantándonos incondicional, la moral para no quedarnos en el camino y a nuestros tutores por los conocimientos impartidos que fueron la base para la culminación de la carrera y la obtención del titulo de ingeniero. DEDICATORIA A nuestros padres por su apoyo incondicional transcurso durante de nuestra todo el carrera estudiantil, por habernos alentado a seguir adelante y de esta manera poder lograr nuestros objetivos, para llegar a ser un profesional. TRIBUNAL DE GRADUACIÓN Presidente Tribunal Primer Vocal Segundo Vocal Secretario DECLARACIÓN EXPRESA “La autoría de la tesis de grado corresponde exclusivamente al suscrito(s), perteneciendo a la Universidad de Guayaquil los derechos que generen la aplicación de la misma” --------------------------------Pedro Xavier Alvarado Rojas [email protected] ---------------------------------Francisco Javier Bravo Rodriguez [email protected] ----------------------------------Franklin David Villao Méndez [email protected] (Reglamento de Graduación de la Carrera de Ingeniería en sistemas Computacionales, Art. 26) RESUMEN La necesidad de promocionar sus productos y servicios, tanto a nivel nacional como internacional, han sido las causas para el desarrollo de un servidor hosting, para que los clientes contraten un espacio donde sus clientes potenciales puedan con facilidad realizar la adquisición de los mismos, únicamente disponiendo de un computador con el acceso a Internet, es por esta razón que se ha propuesto la realización de la Administración de un servidor de dominio donde las empresa o personas naturales puedan almacenar sus páginas para mostrar su negocio. Para poder implementar se utilizará el modelo espiral para mantener una comunicación con el cliente y poder obtener los requerimientos, que serán de mucha importancia durante el desarrollo, implementación y la evaluación del sistema, para obtener un producto con las características deseadas por los clientes. Para el desarrollo de la aplicación utilizaremos la plataforma Linux, como lenguaje de programación java con JSP y MySQL Server que serán integrados para el funcionamiento del sistema, beneficiándose el cliente a contar con una interfaz amigable desde la cual podrá ver los planes de almacenamiento que se ofrece, realizar su solicitud de contratación y administrar su dominio para la actualización de su página y manejo de sus cuentas de correo electrónico. Con esto logramos que los clientes ya no necesiten de un espacio físico para ofrecer sus productos y que además el mercado que acceda al mismo sea mayor. SUMMARY The necessity to promote their products and services, as much at national level as international, hosting has been the causes for the development of a servant, so that the clients contract a space here their potential clients can with facility make the acquisition of such, having a computer with the access to Internet, is solely therefore that the accomplishment of the Administration of a dominion servant has seted out where the natural company or people can store their pages to show their business. In order to be able to implement used to maintain power to obtain the importance during the the communication requirements, spiral with that model the will will client be of be and much a development, implementation and the evaluation of the system, to obtain a product with the characteristics wished by the clients. For the development of the application we will use the Linux platform, like programming language java with JSP and MySQL Server that will be integrated for the operation of the system, benefitting the client to count on a friendly interface from which it will be able to see the storage plans that is offered, make its request of hiring and administer to its dominion for the update of its page and handling of its accounts of electronic mail. With this we obtained that the clients no longer need a physical space to offer their products and that in addition the market that accedes to the same one is greater. INDICE GENERAL Pág. INDICE GENERAL 1 INTRODUCCIÓN 1 1.1 Antecedentes. 2 1.2 Problemática. 3 1.3 Solución. 4 1.4 Visión. 5 1.5 Misión. 6 1.6 Objetivo general. 6 1.7 Objetivos específicos. 6 1.8 Alcances. 7 1.9 Ventajas o beneficios de la solución. 10 1.10 Desventajas. 11 1.11 Metodología. 11 1.12 Análisis 12 1.13 Diseño 13 1.14 Arquitectura. 13 1.15 Herramientas. 15 1.16 Recursos. 15 1.16.1 Hardware. 15 1.16.2 Software. 16 1.16.3 Recurso Humano. 17 1.17 Cronograma. 18 2. ANÁLISIS DE LA ESTRUCTURA DE OBJETOS ( AEO) 19 2.1 Diagrama Tipo de Objeto y Asociaciones 20 2.2 Diagrama de Generalización ( Herencias ) 21 2.3 Diagrama Relaciones Entre Los Objetos 22 2.4 Diagrama de Composición 23 2.5 Diagrama de transición de estado 24 2.6 Diagrama de flujo de objeto 25 2.7 Esquema de eventos 25 3. DISEÑO 26 3.1 Diagrama de clase, superclase, subclases y herencias 26 3.2 Base de Datos. 27 3.2.1 Estructura de las tablas 27 3.2.2. Descripción de las tablas 28 4. DESARROLLO Y PRUEBA DEL SISTEMA 45 4.1. Desarrollo del Sistemas.- 45 4.1.1 Creación de la Base de Datos 47 4.2 Creación de los Componentes 47 4.3 Seguridades 48 4.4 Prueba del Sistemas 48 4.5 Calidad del Sistema 50 4.5.1 Cumplimiento de los requisitos 50 5. IMPLEMENTACIÓN DEL SISTEMA 52 5.1 Elementos Físico 52 5.2 Elementos Lógico 52 5.3 Elemento humano 53 5.4 Capacitación a los usuarios 54 6. CONCLUSIONES Y RECOMENDACIONES 55 6.1 Conclusiones.- 55 61.1 Software 55 6.1.2 Hardware 55 6.1.3 Recurso Humano 56 6.1.4 Puesta en Marcha 56 6.2 Recomendaciones 56 6.2.1 Software 56 6.2.2 Hardware 57 6.2.3 Recurso Humano 57 6.3 Puesta en Marcha 58 ANEXOS 59 CRONOGRAMA ANEXO “A” DIAGRAMA DE FLUJO DE OBJETOS ANEXO “B” ESQUEMA DE EVENTOS ANEXO “C” DIAGRAMA DE CLASE ANEXO “D” BASE DE DATOS ANEXO “E” Bibliografía -1- CAPITULO 1 INTRODUCCIÓN Éste proyecto es parte del tema de tesis para obtener el titulo de Ingeniero en Sistemas Computacionales, lo que vamos a implementar es la Administración de un Servidor de Hosting vía Web. Primeramente se realizará la creación de una página Web, a la cuál van a tener acceso todos los posibles clientes que requieran la contratación de un espacio para comercializar sus productos, en esta página se mostrara los planes que ofrecemos, información referente a la empresa como su misión, visión, antecedentes, también se dispondrá de un link para que el usuario que decida realizar la contratación ingrese todos sus datos y se almacenen en la base de datos del proveedor del servicio; dentro de esta interfaz de ingreso de datos existirá una opción para que el usuario pueda seleccionar el nombre de su propio dominio, el cuál será validado para que no exista duplicidad. Una vez contratado el servicio el usuario recibirá vía mail el nombre de usuario y contraseña, para que el pueda ingresar a la pantalla de administración del usuario, donde realizará la creación de sus cuentas de correo, envío de archivos para la actualización de su página Web y poder verificar la disponibilidad de su espacio en disco, así como las visitas que ha tenido su sitio. También se dispondrá de una pantalla para la administración del servidor de Hosting que permitirá la creación de -2- dominios, administrar las cuentas de correo del usuario y monitorear para mantener información de uso del ancho de banda y visitas que se ha tenido a la página. 1.1 Antecedentes. Las condiciones tecnológicas en las que se vive en la actualidad han llevado a la globalización en el mundo entero, ocasionando que exista un mercado sin fronteras en el cual se realiza una sana competencia por llegar a los clientes, en que las empresas ofrecen sus servicios al mejor postor. Las necesidades tanto empresariales como individuales de disponer de un espacio para la comercialización de sus productos y servicios, con las exigencias de un negocio de alta velocidad y eficaz donde cada uno pueda mostrar sus productos y servicios, ofreciendo calidad a sus usuarios con accesos desde cualquier parte del mundo, y proporcionando una rentabilidad adecuada por la venta de sus productos. La respuesta a estos requerimientos es una oferta de un servicio de hosting, el cual podrá ser contratado vía Web y en el que se ofrecerá diferentes planes, para satisfacer los requerimientos y presupuestos de los usuarios. Esto es impulsado por diferentes fuerzas que mueven los negocios como es -3- el servicio al cliente que es la parte más importante dentro de una organización, la optimización en los costos de inversión que hace el cliente al presentar sus productos y servicios en un espacio al que se tiene acceso la mayoría de la población y que no demanda mayores gastos. La solución del servicio de hosting responde a las necesidades actuales y futuras de las empresas en rápida evolución, en la que se presenta un conjunto de propuestas acorde a sus necesidades, donde se incluirá los diferentes planes para los clientes, un servicio de contratación vía Web sin que el cliente tenga que salir de su oficina u hogar, en el que podrá realizar actualizaciones cuando lo requiera y en el que se mantendrá un servicio de monitoreo para que el dueño del espacio pueda conocer de las visitas que ha tenido su página, permitiendo de esta forma poder realizar mejoras en la misma e incremento de su ancho de banda para dar un mejor servicio a sus clientes. 1.2 Problemática. Las necesidades de las empresas de poner a disposición sus productos y servicios a un gran número de clientes, rompiendo fronteras y poder llegar a los lugares que en otros tiempos eran inimaginables, permitiendo mantener -4- una sana competencia con otras empresas que ofertan de igual forma sus productos y servicios, ahorrando dinero al no tener que contratar un espacio físico y personal para ofrecer sus productos. Un cliente necesitado de tener a la mano una forma de adquirir productos de manera eficiente rápida y segura, que de continuidad al funcionamiento del negocio, evitando tener que trasladarse a los lugares donde se los ofrecen, lo que le ahorra tiempo y esfuerzo al tener que hacer negocios, teniendo la información necesaria de los productos que requiere. Empresas que se les hace difícil competir con otras con mayores recursos para la publicidad y el marketing, y necesitadas de ofrecer sus servicios a costos muy convenientes, crea la necesidad de que se oferte espacios en servidores rápidos y potentes para que los clientes puedan mantener su publicidad de forma permanente, para que todo el mundo pueda ingresar a su sitio Web. 1.3 Solución. El alojamiento Web es una de las soluciones a los problemas de los clientes que requieren tener presencia en Internet, por esta razón la creación de un espacio a través de la Web donde se ofrezca el servicio de Hosting, para ofrecer paquetes de hospedaje donde se incluyan planes acordes requerimientos de los clientes a precios bajos sin sacrificar la calidad, para -5- que estos puedan desde cualquier lugar del mundo realizar la contratación del servicio, solamente llenando un formulario donde se registrará sus datos y el servicio solicitado, y una vez que ha sido aceptado por la empresa proveedora podrá realizar la publicación de su página Web para ofertar productos y servicios, dispondrá de una interfaz de usuarios desde donde podrá realizar la transferencia de archivos para la actualización de su página, la creación de cuentas de correo, verificar la disponibilidad de su espacio en disco. Se dispondrá de una interfaz del administrador desde de donde podrá asesorar al cliente en la creación de las cuentas de correo, administración del ancho de banda, estadísticas de las visitas al sitio y mantener informado al cliente, para que este pueda tomar la decisión de mejorar su plan. 1.4 Visión. Ser lideres en ofrecer servicios de alojamiento Web, para que las empresas pongan al alcance del mercado sus productos y servicios a través de un portal Web, y que sus clientes tanto a nivel nacional e internacional tengan las facilidades para acceder a los productos ofertados y puedan realizar sus compras de manera fácil y segura, con tecnología de punta para mantener clientes satisfechos y bien atendidos. -6- 1.5 Misión. Brindar un servicio de alojamiento Web, seguro, completo, de fácil y ágil manejo para todos nuestros clientes, con las mejores prestaciones y precios del mercado, para que estos puedan mostrar los productos y servicios que tienen a disposición, manteniendo una publicidad permanente y de esta forma dar a los usuarios facilidades en la contratación y/o compra de los productos seleccionados, garantizando la satisfacción total de los mismos. 1.6 Objetivo general. Implementación y administración de un servidor hosting en la Web, para ofrecer el servicio de creación de dominios a las personas naturales o jurídicas (empresas), que requieren a través de una página Web, mostrar sus productos y servicios a sus clientes. 1.7 Objetivo específicos. Establecer el esquema para la configuración del servidor. -7- Determinar la plataforma, base de datos y lenguaje de programación a ser utilizado en la implementación del servidor hosting. Implementar una interfaz para el administrador, para el control y monitoreo del servicio. Implementar la interfaz del usuario, a través de la cual realizará la transferencia de archivos y creación de correos. Crear una página Web para mostrar toda la información de la empresa y los planes de hosting que ofrece. 1.8 Alcances. Configuración del servidor Web con el software Apache, los servicios y protocolos de: DNS, para almacenar la información asociada a los nombres de dominio que se contrate. Firewall, para poder controlar las comunicaciones que se generen en el sistema, y de esta forma permitir o prohibir su envío. Correo Electrónico, para que los clientes dispongan de un servicio de red para la transmisión y recepción de mensajes. Antivirus, para detectar y eliminar virus y otros programas maliciosos que se presenten en la red. -8- SFTP, para la transferencia de ficheros de forma segura y que permita la actualización del sitio Web de los clientes. Módulo del Administrador Creación y administración de dominios: para crear y administrar los dominios después de que un usuario adquiera el servicio. Administración de correo: para verificar que los correos se están creando con normalidad y si dar soporte al usuario en caso de falla en su creación o informarle los motivos del problema. Administración del ancho de banda: para asignar el ancho de banda requerido por el usuario. Monitoreo del sitio: para que el administrador verifique el número de visitas tanto internas como externas del sitio, y poder mantener informado al usuario, y este puede solicitar el incremento del ancho de banda o espacio en disco. Módulo del Usuario Creación de cuentas de correo: para que el usuario pueda crear directamente sus cuentas de correo. -9- Alza de archivos en el servidor: para que el usuario pueda transferir los archivos sin ningún inconveniente a nuestro servidor. Verificación de la capacidad en disco: para que el usuario pueda verificar cuanto de espacio le queda disponible en el servidor según el límite contratado. Verificación de cuantas personas han visitado el sitio: para que el usuario tenga una idea de cuan útil o popular es su sitio. Pantalla principal, que será la página Web donde se mostrará la siguiente información: (Ver fig. No. 1) Misión y visión: referente a nuestro proyecto. Solicitud: una interfaz para que los usuarios puedan solicitar la contratación del servicio. Planes: se mostraran los diferentes planes de hosting que se ofrecen. Esta va a ser la presentación de nuestra página Web, en la cual le vamos a mostrar a nuestros posibles clientes cuales son los planes y costos de los diferentes tipos planes que vamos a ofrecer. - 10 - Figura No. 1 1.9 Ventajas o beneficios de la solución. • Seguridad • Control Permanente de los Recursos (Monitoreo). • Creación de cuenta de correo por parte del usuario. • Notificaciones automatizadas. • Interfaz amigable. • Administración personal de su dominio por parte del usuario. - 11 - 1.10 Desventajas. • Limitación de espacio en disco. • Limitación en el ancho de banda. • Limitación de creación de cuentas de correos. 1.11 Metodología. Dentro de la metodología a utilizar para el desarrollo de proyecto será el modelo espiral y se cumplirán con las tareas y actividades de este modelo. Primeramente se establecerá una comunicación con el cliente, para determinar los requerimientos para el desarrollo de la aplicación, con esta información se realizará la planificación respectiva para establecer los recursos que se van a utilizar en el proyectos y el tiempo en que se deberá ir cumpliendo cada actividad dejando la respectiva holgura para realizar la correcciones que se presenten en alguna actividad; en la terminación de cada fase se evaluará todo lo realizado para determinar si se continua o no a la siguiente fase. Otra de las actividades a cumplir será establecer los riesgos que se puedan presentar en el desarrollo del proyecto, y se establecerán alternativas que permitan minimizar o eliminar estos riesgos que impidan el desarrollo de la aplicación. Posteriormente se procederá con el desarrollo, la - 12 - implantación y las pruebas del sistema, para realizar correcciones en esta actividad se elaborará el manual del usuario y el manual técnico de la aplicación que permita a cualquier usuario conocer sobre el funcionamiento del sistema y a cualquier técnico sobre como esta desarrollado el código del proyecto, y por último se realizará la evaluación del usuario para determinar con esta tarea de que el sistema es comprensible y que las interfaz son amigables con el usuario, esta parte se considera una de las más importantes para el éxito del proyecto, porque con la evaluación del cliente se podrá realimentar el sistema para realizar los correctivos necesario para disponer de un producto bien elaborado. Para el análisis y diseño de igual forma se utilizará la metodología orientada a objeto dentro de la cual se realizaran los siguientes diagramas para su desarrollo: 1.12 Análisis • Diagrama de Tipo de Objetos y Asociaciones . • Diagrama de Generalización. • Diagrama de Relación entre los Objetos. • Diagrama de Composición. • Diagrama de Flujo de Objetos. • Esquema de Eventos. - 13 - • Diagrama de Transición de Estado. 1.13 Diseño • Diagrama de Clases, Superclases, Subclases, Herencia • Base de dato • Diseño de Pantalla 1.14 Arquitectura. Fig. No. 2 La arquitectura a utilizarse va a ser de tres capas, con el propósito de mantener una separación lógica entre la interfaz del usuario con los - 14 - programas y la base de datos con la que va a interactuar el cliente como se encuentra representado en la figura No. 2. De esta forma para que el cliente se pueda comunicar con el negocio dispondrá de una página Web a través de la cual realizará su solicitud de registros para contratar un espacio dentro del servidor, una vez autorizado dispondrá de una interfaz desde donde pueda realizar las creación de sus cuentas de correo y el control del espacio contratado. Para el manejo de los programas se los realizará desde el servidor donde este recibirá las peticiones del cliente y enviará las respuestas requeridas, también mantendrá comunicación con la base de datos en caso de que se requiera de datos para procesar la solicitud o almacenar información. Para el manejo de la base de datos se lo realizará con MySQL para el almacenamiento de toda la información que procesará el negocio. La capa de presentación del usuario se manejará en un computador desde donde los clientes realizarán las solicitudes y los programas y la base de datos por la cantidad de información a ser manejada en el proyecto no es de gran magnitud, residirán en un solo computador. - 15 - 1.15 Herramientas. A continuación por medio de dos tablas vamos a detallar los recursos de hardware y software que vamos a utilizar para la implementación de proyecto, y seguido también detallamos cuales son las personas que van a trabajar en la creación del software. 1.16 Recursos. Para la implementación del sistema utilizaremos las herramientas de software y el hardware disponible, explotando de manera eficiente al Reurso Humano para su desarrollo e implantación. 1.16.1 Hardware. Los recursos de hardware que vamos a utilizar para la creación del proyecto, serán proporcionados por los integrantes del grupo, los cuales son los siguientes equipos detallados en la tabla No.1. - 16 - PC PC-1 PC-2 PC-3 PROCESADOR DUAL CORE 3.0 P.4. 3.0 P.4. 3.0 MAINBOARD P CHIP INTEL INTEL RAM 2GHZ DDR2 1 GHZ 512 MHZ HD 40 GB 120 GB 80 GB BUS 32 bits 32 bits 32 bits MONITOR 15” 17” 15” FREC. BUS 633 MHZ 533 MHZ 533 MHZ Tabla No. 1 1.16.2 Software. Los recursos de software a utilizar una vez definidos para la implementación del proyecto y que se encuentran al alcance, porque no van a representar ningún costo ya que son software gratuito y no existe la necesidad de pagar una licencia por sus uso, a continuación en la tabla No. 2 detallamos el software que se va a instalar en cada máquina para la implementación del sistema. - 17 - CARACTERISTICAS SERVER PC-1 PC-2 LINUX FEDORA LINUX FEDORA WINDOWS CORE 6 CORE 6 XP MOZILLA MOZILLA S.O INTERNET EXPLORADOR EXPLORER LENGUAJE DE JAVA JSP PROGRAMACION APACHE SERVIDOR WEB SERVER BASE DE DATOS MY SQL GESTOR DE MICROSOFT PROYECTO PROYECT 2003 Tabla No. 2 1.16.3 Recurso Humano. Para la creación del proyecto que se va a implementar va a ser necesario contar con la participación de tres personas, las cuales son las siguientes mencionadas: - 18 - • ALVARADO ROJAS PEDRO XAVIER • BRAVO RODRIGUEZ FRANCISCO JAVIER • VILLAO MENDEZ FRANKLIN DAVID 1.17 Cronograma. El tiempo estimado para la elaboración del proyecto va a ser de 7 meses, el cual va a empezar desde el 16 de abril del 2007 hasta el 20 de noviembre del 2007, y el cronograma de trabajo lo hemos divididos en etapas. Primera etapa: desde 16 de abril hasta el 10 de julio, donde se realizará la investigación preliminar, análisis y diseño de la aplicación. Segunda etapa: desde 11 de julio hasta 25 de septiembre, donde se realizará la configuración de los servicios y desarrollo de la aplicación. Tercera etapa: desde 26 de septiembre hasta el 13 de diciembre, donde se continuará con el desarrollo de la aplicación, las pruebas e implementación. Para mayor detalles ver el Anexo “A “. - 19 - CAPITULO 2 Análisis De la Estructura de Objetos ( AEO) Con este tipo de análisis orientado a objetos, vamos a establecer nuestro proyecto en términos de tipos de objetos y lo que le ocurre a cada uno de ellos en el transcurso del tiempo. El análisis Orientado a Objetos nos permite determinar que todo lo que esta alrededor de nuestro entorno se basa en objetos y en los eventos que cambian los estados de estos objetos. Estos objetos que determinemos nos permitirá construir nuestro software apegados a la realidad del proyecto que deseamos implementar, al mismo que se le realizará los cambios cuando el mundo el mundo real de estos cambia. Para realizar el análisis de la estructura de objetos realizaremos los siguientes diagramas: • Diagrama de Tipo de Objetos y Asociaciones. • Diagrama de Generalización. • Diagrama de Relación entre los Objetos. • Diagrama de Composición. - 20 - 2.1 Diagrama Tipo de Objeto y Asociaciones En este diagrama hemos identificado todos los objetos que vamos a utilizar para poder crear nuestro sistema, estos objetos fueron identificado en base a un análisis previo para la creación del proyecto. Una vez que pudimos determinar todos los objetos, empezamos a asociarlos entre ellos, de acuerdo a nuestras necesidades como se muestra en la figura No. 3. Fig. No. 3 - 21 - 2.2 Diagrama de Generalización ( Herencias ) En este diagrama trata de definir un nivel de jerarquía que va desde lo más general a lo más específico como se muestra en la figura No. 4. En este caso Cliente es el súper tipo persona y empresa, que son sus subtipos, Por otra parte, Persona es el súper tipo para los subtipos Estudiante y Profesional, Los subtipos son niveles inferiores que heredan características de los súper tipo, esto nos permitirá determinar a que subtipo de objeto le aplicamos los métodos y operaciones de su súper tipo. Fig. No. 4 - 22 - 2.3 Diagrama Relaciones Entre Los Objetos En el siguiente diagrama estamos representando como están relacionados los objetos que hemos definido, además se establecen sus respectivas cardinalidades y modalidades ver la figura No. 5, esta representación nos va servir el momento de la implementación del software. Fig. No. 5 - 23 - 2.4 Diagrama de Composición El siguiente diagrama va a representar como el objeto Solicitud va a estar compuesto por otros objetos, en este caso notaremos que el objeto Solicitud se compone de Plan y Cliente, como lo muestra la figura No. 6. Fig. No. 6 - 24 - 2.5 Diagrama de transición de estado En este diagrama vamos a representar los cambios de estados que sufre un objeto durante el tiempo ver la figura No. 7. Aquí nos daremos cuentas como los objetos definidos en nuestro proyecto, van cumpliendo su ciclo desde que inicia hasta que se termina, debido a la sucesión de eventos que le pueden ocurrir y como estos van modificando su estado. Fig. No. 7 - 25 2.6 Diagrama de flujo de objeto Es una representación de cómo los objetos interactúan con otros objetos, en este diagrama mostraremos como se producen los objetos y las actividades que producen estos objetos. Las cajas rectangulares representan las actividades, las cajas sombreadas indican los agentes externos, las cajas tridimensionales representan los objetos y las flechas la dirección del flujo. Para mayor detalle ver ANEXO “B” 2.7 Esquema de eventos En este esquema mostraremos todos los eventos desde que el objeto se crea, que es cuando cliente llena la solicitud hasta el cuando el objeto se termina, que es en el momento en que el cliente tenga el servicio solicitado y pueda interactuar con el mismo. Aquí nos daremos cuenta como los eventos modifican el estado de un objeto. Para mayor detalle ver ANEXO “C” - 26 - CAPITULO 3 DISEÑO En el diseño orientado a objetos, vamos a describir: el diseño de la estructura de objetos (DEO) y el diseño del comportamiento de objetos (DCO). El DEO y el DCO están entrelazados, porque en los lenguajes de programación OO tienen estructuras de datos y métodos, ambos sujetos a herencia y combinados en unidades llamadas clases. 3.1 Diagrama de clase, superclase, subclases y herencias En el diseño identificaremos los siguientes componentes: Las clases .- Son la implantación del tipo de objeto que hemos definido, donde especificaremos la estructura de datos y lo métodos que se aplican a cada objeto.. Las superclases.- Es un objeto de nivel superior a una clase la cual hereda todos los métodos y atributos de la superclase. - 27 Subclases.- Es un objeto de nivel superior a la clase, la cual hereda los métodos y atributos de la clase. Herencias.- Esto permitirá que una clase comparta las estructura de datos y operaciones de otra clase. Para mayor detalle ver ANEXO “D” 3.2 Base de Datos. En base a los objetos que hemos definido se ha procedido a establecer los atributos que va a tener cada uno de los objetos, así como los métodos que nos van a permitir almacenar la información de cada objeto en la base de datos que vamos a utilizar, la representación de estos atributos y métodos se encuentran definidos en el ANEXO “E” donde los podremos identificar con mayor detalle. 3.2.1 Estructura de las tablas Las tablas para estructurar nuestra base de datos mantendrán los estándares establecidos para su creación, esto es llevará un nombre de la tabla el mismo que se identificará primeramente con la palabra - 28 hos haciendo referencia al proyecto seguido del nombre. También se establecerán los respetivos campos utilizando nombres completos que identifiquen al atributo y los tipos de datos se utilizará los existentes y de acuerdo a los requerimientos de programación. nombre_tabla tipo dato campo1 campo2 **** **** *** campoN int char string float date int 3.2.2.-Descripción de las tablas hos_contrato_caracteristica.- Esta tabla nos permitirá mantener una relación entre la tabla contrato y la tabla características, para poder obtener la información de la duración de contrato y la descripción del tipo de contrato elegido por el usuario. hos_contrato_carateristica id_contrato_caracteristica id_contrtato id_caracteristica id_solicitud fecha_inicio feha_fin valor id_contrato_caracteristi_Padre - 29 - id_contrato_caracteristica.- número que identifica a la tabla y que no se repite, porque se considera clave primaria. id_contrato.- identificador único que hace relación con la tabla hos_contrato. id_caracteristica.- identificador único que hace relación con la tabla hos_caracteristica. id_solicitud.- identificador único que hace relación con la tabla hos_solicitud. fecha_inicio.- fecha en la cual se inicia el contrato. fecha_fin.- fecha en la cual termina el contrato. valor.- costo que hace referencia al tipo de contrato que se solicite. id_contrato_caracteristica_padre.- identificación para registrar un cambio en el contrato principal. hos_plan.- esta tabla nos permitirá registrar el nombre del plan el cual esta solicitando el usuario, también permitirá almacenar si el cliente ha seleccionado un plan fijo o uno a ser configurado de acuerdo a sus requerimientos. hos_plan id_plan descripcion es_configurable costo estado - 30 - id_plan.- número que identifica a la tabla y que no se repite. descripción.- campo que contiene información acerca de los diferentes tipo de planes que se encuentran configurados. nombre.- muestra el nombre del plan. es_configurable.- permite identificar cuando un plan ha sido seleccionado de acuerdo a los requerimientos del cliente. costo.- es el valor de un determinado plan. estado.- permite identificar si un determinado plan esta activo o no. hos_plan_caracteristica.- esta tabla nos permitirá mantener una relación entre la tabla plan y la tabla características, para poder obtener la información del tipo de plan contratado y la descripción del tipo de contrato elegido por el usuario hos_plan_caracteristica id_plan_caracteristica id_plan id_carateristica valor min max costo orden fator intervalo - 31 id_plan_caracteristica.- número que identifica a la tabla y que no se repite. id_plan.- Identificador único que hace relación con la tabla hos_plan id_caracteristica.- Identificador único que hace relación con la tabla hos_caracteristica valor.- costo del plan seleccionado por el cliente. mínimo.- valor mínimo a ser contratado para el espacio en disco, valores que van a estar validados. máximo.-. valor máximo a ser contratado para el espacio en disco, valor que va a ser validado para que no se seleccione en un plan configurable un valor mayor a del que se dispone de espacio. costo.- valor del plan seleccionado por el usuario, estará en relación al campo intervalo y factor. intervalo.- son los valores de espacio en disco que se mantendrá a disposición del cliente. factor.- valor que se utilizara para el calculo del costo del plan y que estará en relación al espacio en disco que se contrate. orden.- numero que identifica el orden como se muestra el valor del espacio en disco a asignarse. intervalo.- valor que se establece entre el mínimo y el máximo. hos_caracteristica.- esta tabla nos permitirá conocer la descripción del tipo de contrato elegido por el usuario - 32 hos_caracteristica id_caracteristica descripcion unidad estado id _ característica.- número que identifica a la tabla y que no se repite. descripción.- muestra información de una determinada característica. unidad.- tipo de las unidades de medida con las que se va a trabajar para determinada característica estado.- permite identificar si esta activo o no. hos_solicitud_caracteristica.- esta tabla nos permitirá mantener una relación entre la tabla solicitud y la tabla características, para poder obtener la información de la solicitud realizada por el cliente y la descripción del tipo de contrato elegido por el usuario hos_solicitud_caracteristica id_solicitud_caracteristica id_solicitud id_caracteristica valor estado id_solicitud_caracteristica.- número que identifica a la tabla y que no se repite. - 33 id_solicitud.- identificador único que hace relación con la tabla hos_solicitud. id_caracteristica.- Identificador único que hace relación con la tabla hos_caracteristica. valor.- valor del plan contratado. estado.- permite identificar si la solicitud fue aceptada o no. hos_solicitud.- esta tabla nos permitirá almacenar todos los datos del usuario que fueron registrados al momento de realizar la solicitud de contratación del servicio. hos_solicitud id_solicitud id_plan id_cliente id_contrato nombre identificacion tipo_identifiacion direccion telefono observacion estado id_solicitud.- número que identifica a la tabla y que no se repite. id_plan.- identificador único que hace relación con la tabla hos_plan. id_cliente.- identificador único que hace relación con la tabla hos_cliente. - 34 id_contrato.- identificador único que hace relación con la tabla hos_contrato. nombre.- contiene el nombre del cliente que solicita el contrato. identificación.- contiene el número de identificación del solicitante. tipo_identificacion.- contiene el tipo de identificación del solicitante esta puede ser RUC, Cedula o Pasaporte. dirección.- muestra la dirección del cliente que realiza la solicitud, este es el lugar donde puede ser localizado. teléfono.- número al cual lo podemos contactar al solicitante. observación.- breve información relacionada con el cliente, que puede ser de interés y que la registra al momento de realizar la solicitud. estado.- Permite identificar si una determinada solicitud se encuentra todavía en estado de solicitud, o ya paso a nuestra base de dato como cliente. mail.- dirección electrónica del solicitante con la cual podremos contactar. país.- País de donde se esta haciendo la solicitud. hos_contrato.- esta tabla nos permitirá mantener una relación con la información del cliente que realizo el contrato, también las fechas de inicio y terminación del contrato. - 35 hos_contrato id_contrato id_cliente costo id_solicitud fecha_emision fecha_caducidad fecha_firma estado id_contrato.- número que identifica a la tabla y que no se repite. id_cliente.-. identificador único que hace relación con la tabla hos_cliente. costo.- contiene el valor del plan que fue contratado. fecha_emision.- fecha en la cual se emitió el contrato. fecha_caducidad.- fecha en la que caduca el plan. fecha_firma_contrato.- fecha en que se firmo el contrato. estado.- permite determinar si un contrato esta activo o no. número_voucher.- guarda información del número del voucher, con el cual el cliente realizo el pago del contrato del servicio. hos_cliente.- esta tabla nos permitirá almacenar la información del cliente que previamente fue ingresada en la solicitud, y una relación con la tabla usuario para la asignación de clave. - 36 hos_cliente id_cliente nombre identificacion direccion telefono id_usuario estado id_cliente.- número que identifica a la tabla y que no se repite. nombre.- contiene el nombre del cliente que ya contrato el servicio. identificcion.- contiene el número de identificación del cliente, que puede ser el número de cedula, RUC o pasaporte. dirección.- guarda el lugar de residencia del cliente que realiza el contrato, puede ser el trabajo o domicilio. teléfono.- número telefónico del cliente. id_usuario.- identificador único que hace relación con la tabla seg_usuario. estado.- Permite determinar si un determinado cliente se encuentra en un estado activo o no. hos_evento.- esta tabla nos permitirá realizar un monitoreo de los diferentes eventos que pueden ocurrir en el sistema, entre los diferentes eventos podríamos establecer el de número de visitas, tipos de planes más solicitados, ancho de banda más requerido en los planes configurables etc. - 37 hos_evento id_evento id_contrato observacion valor id_usuario_ingreso fecha_ingreso id_usuario_mod id_tipo_evento estado id_evento.- número que identifica a la tabla y que no se repite. id_contrato.- identificador único que hace relación con la tabla contrato. observación.- breve descripción del tipo de evento a ser realizado por el usuario. valor.- para almacenar cuantas visitas ha tenido el sitio id_usuario_ingreso.- número que identifica a un usuario que ingresa al sistema. fecha_ingreso.- fecha que se realiza el ingreso para realizar alguna modificación en la base. id_usuario_modificacion.- número que identifica a un usuario que realizó una modificación en el sistema. fecha.-modificacion.- fecha en que se realiza la modificación en la base de datos. id_tipo_evento.- identificador único para el control de los diferentes eventos. estado.- si el evento esta activo o no. - 38 - hos_tipo_evento.- esta tabla nos permitirá registrar una descripción de los diferentes eventos que ocurran en el sistema. hos_tipo_evento id_tipo_evento descripcion estado id_tipo_evento..- nùmero único que identifica al evento. descripción.- breve descripción del tipo de eventos que se ha solicitado para el monitoreo. estado.- si el tipo evento esta activo o no. hos_dominio.- esta tabla nos permitirá registrar los nombres de los dominios de los clientes, el estado en que se encuentra activos o inactivos y a que contrato pertenecen. hos_dominio id_dominio id_contrato nombre estado id_dominio.- número que identifica a la tabla y que no se repite. - 39 id_contrato.- identificador único que hace relación con la tabla hos_contrato. nombre.- nombre del dominio contratado. estado.- permite determinar si el dominio contratado esta activo o no. hos_correo.- esta tabla nos permitirá registrar los datos correspondientes a la cuota de correo que tiene asignado un contrato y el estado en que se encuentran las cuentas de correo. hos_correo id_correo id_usuario id_contrato cuota estado id_correo.- número que identifica a la tabla y que no se repite. id_usuario.- identificador único que hace relación con la tabla seg_usuario. id_contrato.- identificador único que hace relación con la tabla hos_contrato. cuota.- muestra el espacio de disco que se le asigno para las cuentas de correo. estado.- determina si una cuenta de correo esta activa o no. - 40 seg_página.- esta tabla nos permitirá manejar la seguridad para el acceso de los diferentes usuarios de acuerdo a su perfil a las páginas de un determinado sitio, por ejemplo un usuario con perfil de acceso a monitoreo solo ingresará a esta página. seg_pagina id_pagina descripcion url id_pagina_padre ventana estado id_página.- Número que identifica a la tabla y que no se repite. descripción.- breve descripción acerca del acceso a una determinada página. url.- Contiene la dirección de una determinada página a la que fue accesada. ventana.- registrará donde se abrirá una determinada página . id_página_padre.- página principal de la cual fueron abiertos varios link. estado.- indica el estado de la página activa o inactiva. - 41 seg_página_perfil.- esta tabla nos permitirá mantener una relación con la tabla hos_página y hos_perfil, y para recuperar los datos del perfil de un usuario para el acceso a determinadas páginas. seg_pagina_perfil id_pagina_perfil id_pagina id_perfil estado id_página_perfil.- número que identifica a la tabla y que no se repite. id_página.- Identificador único que hace relación con la tabla seg_página. id_perfil.- Identificador único que hace relación con la tabla seg_perfil.. estado.- determina si una página esta activa o no. seg_parametro.- esta tabla nos permitirá registrar valores que puedan ser utilizados sin que se vean afectados por el código, un ejemplo podría ser la duración de un contrato que únicamente se la cambiaría en la tabla. - 42 seg_parametro id_parametro desripcion valor tipo estado id_parametro.- número que identifica a la tabla y que no se repite. descripción.- breve descripción del tipo de parámetros que se ha almacenado. valor.- es el valor que tiene asignado dicho parámetro. tipo.- es el tipo de dato asignado al parámetro. estado.- establece si el parámetro esta activo o no. seg_perfil.- esta tabla nos permitirá registrar el perfil que va a tener el usuario que tiene acceso al sistema, para que de acuerdo a esto le pueda establecer los permisos correspondientes. seg_perfil id_perfil descripcion estado id_perfil.- número que identifica a la tabla y que no se repite. descripción.- contiene información acerca de los diferentes tipos de perfiles. estado.- muestra si un determinado perfil esta activo o no. - 43 seg_secuencia.- esta tabla nos permitirá registrar las secuencias de los primary key que se van generando en cada tabla, para llevar un control y poner una secuencia en la asignación de las claves. seg_secuencia id_secuencia descripcion ultimo_valor incremento id_secuencia.- número que identifica a la tabla y que no se repite. descripción.- contiene breve descripción de la secuencia de que va generando. ultimo_valor.- muestra el ultimo valor que se asigno a una determinada secuencia. incremento.- muestra el valor que se va incrementando en cada secuencia. seg_usuario.- esta tabla nos permitirá registrar la clave del usuario que tiene acceso al sistema, y el estado en el que se encuentra si esta activo o no. seg_usuario id_usuario comentario clave estado - 44 - id_usuario.- número que identifica a la tabla y que no se repite. comentario.- contiene un breve comentario acerca de los diferentes tipos de usuarios. clave.- guarda las claves asignadas a los usuarios del sistema. estado.- muestra el estado actual de un determinado usuario del sistema, puede ser activo o inactivo. seg_usuario_perfil.- esta tabla nos permitirá establecer una relación con las tablas seg_usuario y seg_perfil, para determinar el tipo de usuario y los privilegios que tiene de acuerdo a su perfil, para el acceso al sistema. seg_usuario_perfil id_usuario_perfil id_usuario id_perfil estado id_usuario _perfil.- número que identifica a la tabla y que no se repite. id_usuario.- identificador único que hace relación con la tabla seg_usuario. id_perfil.- identificador único que hace relación con la tabla seg_perfil. estado.- determina si esta activo un determinado perfil. - 45 - CAPITULO 4 Desarrollo y Prueba Del Sistema 4.1. Desarrollo del Sistemas.Sistema operativo El sistema operativo a utilizar es Linux Fedora Core 6, por la bondades de multiusuarios que brinda como servidor, para el desarrollo de los diferentes servicios a ser implementados nuestro sistema operativo se configurará con tres particiones, donde asignaremos la mayor cantidad a la partición del /home por que va a ser el lugar donde se almacenará todo la información concerniente a las páginas de los clientes y sus cuentas de correo, esto con la finalidad de realizar la administración de las cuotas de disco y de correo asignados. Otra de las partes importantes durante la instalación de sistema operativo es la configuración de los servidores que vamos a utilizar en la aplicación entre los que tenemos servidor Web, de nombres DNS, de Correo, FTP ,etc. Es importante en la instalación tomar muy en cuenta el nombre de usuario y contraseña, porque estos determinaran la seguridad para la administración del servidor. - 46 Lenguaje de Programación Como herramienta de programación utilizamos java con JSP, las clases que desarrollaremos de acuerdo al análisis entre las más importantes: Cliente: contendrá toda la información relacionada con el cliente Contrato: contendrá toda la información relacionada a la contratación del servicio. Correo: contendrá la información para manejar la información referente al correo de las cuentas que se creen. Dominio: contendrá la información relacionada al dominio que el usuario ha elegido. Plan: contendrá toda la información referente al plan seleccionado por el cliente. Solicitud: contendrá la información inicial del usuario, al solicitar el servicio. Página: contendrá la información que respecta a la página web que el usuario ha ingresado. Usuario: contendrá la información del usuario que esta autorizado al manejo de del sitio. Perfil: contendrá la información de los perfiles del usuario, para establecer los accesos autorizados. : - 47 4.1.1 Creación de la Base de Datos Para la creación de la base de datos vamos a utilizar MySQL, por ser una base de datos multiusuarios y multihilos, además es multiplataforma por lo tanto permite su integración con linux. Para su implementación creamos las tablas que previamente fueron definidas en el diseño. 4.2 Creación de los Componentes Los componentes que desarrollamos de acuerdo a los alcances del proyecto son: Crear usuarios: En este modulo procedemos a la creación de los usuarios que van a poder administrar el dominio que contrato el servicio, el mismo que va a disponer con su respectiva password. Cambiar clave: con este modulo el usuario podrá cambiar el password de cualquier usuario. Crear Dominios.- se le asignara el nombre de domino que el cliente ha solicitado, el mismo que es enviado con la solicitud presentada. Crear Cuentas de Correo: para que los usuarios administradores podrán crear cuentas de correos para otros usuarios que se encuentre dentro de su propio dominio. Asignar Cuota de disco.- con este modulo se podrá asignar el espacio en disco para la cuentas de correo como para el dominio contratado. - 48 Verificar cuota de usuario: se podrá visualizar cuanto espacio disponible tiene el cliente tanto en su dominio como en su cuenta de correo. Desactivar cuenta de correo: se podrá eliminar una cuenta de correo de cualquier usuario. Monitorear usuarios.- para mantener un control del o los clientes, en el uso de su cuota o en el uso del ancho de banda. 4.3 Seguridades Para la seguridad del acceso al sistema, se implementará de dos formas, una por medio del perfil que se le dé al usuario el mismo que dispondrá de privilegios que serán como usuario o administrador del sitio. La segunda forma se implementará un firewall el mismo que se ejecutará a través de un script de Linux, en el que se configurará los permisos de las diferentes redes al servidor hosting. 4.4 Prueba del Sistemas dentro de las pruebas que se ha realizado a medida que hemos desarrollado el sistema tenemos las siguientes: - 49 Prueba Unitaria: a medida que se desarrollaba un módulo, se realizaba la prueba de su correcto funcionamiento ingresando los datos requeridos para verificar que el código este correctamente escrito. Prueba funcional: este tipo de prueba se realizó para determinar la funcionabilidad del sistema, se la realizó para verificar que las páginas del servicio de hosting sigan el flujo de las ventanas que se estableció sigan la secuencia establecida, este tipo de prueba nos permitió la ejecución del sistema para determinar errores y realizar las respectivas correcciones y retroalimentar el sistemas. Prueba Lógica: este tipo de prueba se la realizó mediante el ingreso de datos al sistema y se verificó su salida sea acorde a los requerimientos establecidos en el software. Prueba de Integración: luego de las pruebas realizadas anteriormente se realizó las pruebas de integración uniendo los diferentes módulos para ir verificando como interactuaban, estas pruebas es la consecución de las pruebas unitarias que se realizaron a cada módulo de código y que permitieron verificar de forma completa el proceso del sistema. - 50 4.1 Calidad del Sistema Par a cumplir con la calidad del software a desarrollar nos centramos en tres partes importantes que son: La Documentación: se la realizó con la elaboración del manual del usuario y el manual técnico, para permitir al usuario conocer como utilizar el sistema y al técnico disponer del código para realizar cambios en el software para mejorarlo y cumplir con el ciclo de vida del sistema. La Parte física: se ha utilizado equipos con características actualizadas, para permitir desarrollar un sistema con herramientas de software recomendados. Recurso Humano: se ha pedido el asesoramiento a personal capacitado en el desarrollo de software, para poder ampliar el sistema acorde a las necesidades de los usuarios. 4.1.1 Cumplimiento de los requisitos Al finalizar con el desarrollo el sistema podemos determinar que se ha cumplido con los requisitos del sistema que se establecieron inicialmente, como la utilización de los estándares para la creación - 51 de la base de datos, la creación de las clase y como parte principal el cumplimiento de los alcances como la configuración de los servicios de DNS, FTP, correo electrónico, antivirus y firewall; también se ha desarrollado los módulos para el usuario y administrador para que realicen el control de todo lo referente al sitio WEB. - 52 - CAPITULO 5 Implementación del Sistema Para la implementación del sistema se utilizaron los siguientes elementos: 5.1 Elementos Físico Para desarrollar e implementar el sistema hemos hecho uso de dos computadoras, las cuales fueron utilizadas una como servidor y base de datos y la otra para el cliente. Para la conexión en red utilizamos un router Datalink. La máquina que utilizamos de servidor es un Dual Core con 1GHZ de memoria, y la PC del cliente es un P4 de 2.8 GHZ con 512 de memoria. 5.2 Elementos Lógico Los recurso de software utilizados son los siguientes: Sistema Operativo Linux Fedora Core 6. - 53 Sistema operativo Windows XpProfesionl. Java con JSP. MySql. 5.3 Elemento humano Este proyecto esta orientado a diferentes tipos de usuario entre los cuales tenemos: Usuario Administrador.- Es la persona que va a tener un acceso total al sistema y podrá realizar las opciones como: Crear dominios. Asignación de cuota de disco. Crear cuentas de correos. Eliminar cuentas de correos. Monitorear el un sitio determinado. Modificar las cuotas de disco a los diferentes dominios que soliciten el aumento de la cuota en disco. Usuario del dominio contratado.- Este usuario tendrá acceso a los siguientes módulos: Crear cuentas de correos. Eliminar cuentas de correos. Ver estadística del sitio. - 54 5.4 Capacitación a los usuarios Para un manejo adecuado del sistema se ha programado una capacitación primeramente a las personas que van administrar el sistema, para que estos con los conocimientos que reciban instruyan a los clientes en los problemas o errores puedan presentarse y posteriormente a todas las áreas que estén relacionados con la página del hosting a la cual tienen que realizar las actualizaciones respectivas, para mantener un sitio actualizado. - 55 - CAPITULO 6 Conclusiones y Recomendaciones 6.1 Conclusiones.- 61.1 Software La utilización del sistema operativo linux nos ha permitido realizar todas las configuraciones de servidor establecidas en nuestros alcances. La programación en java con jsp permitió el diseño de nuestra páginas web, para poder levantar nuestro portal y ofrecer el servicio de hosting. La implementación de MySQL para almacenar nuestros datos nos da seguridad a nuestra información al ofrecer un sistema de contraseñas y soporta gran cantidad de datos. 6.1.2 Hardware La utilización de equipos con tecnología actualizada, facilitó el desarrollo del proyecto al permitir rapidez al momento de levantar la aplicación - 56 La falta de infraestructura disponible continuamente, con acceso a Internet dificultó en la realización de las pruebas de la aplicación para el manejo de lo que respecta al ancho de banda. 6.1.3 Recurso Humano Se contó con un recurso humano predispuesto y con los conocimientos necesarios para el desarrollo y puesta en marcha de la del sistema. 6.1.4 Puesta en Marcha Se contó con la documentación necesaria así como los navegadores necesarios para realizar las pruebas e implementación de la aplicación. 6.2 Recomendaciones 6.2.1 Software Se recomienda la utilización del lenguaje de programación Java para el desarrollo de la aplicación ya que es un lenguaje - 57 multiplataforma, y permitirá trabajar con cualquier sistema operativo que el usuario desee implementar. Se recomienda utilizar con base de datos a Mysql, por que también tiene como funcionabilidad la de ser multiplataforma, además por que presta las seguridades a nivel de contraseñas 6.2.2 Hardware Se recomienda tener equipos rápidos para ser usado como servidor, y que exclusivamente cumplan dicha función ya que la carga que va a tener va a ser bastante fuerte, por el acceso que se tendrá a todos los sitios Web que se alojen en el hosting. Se debe disponer de la infraestructura necesaria como laboratorios disponibles y con acceso a internet, que permitan realizar las verificaciones de la funcionabilidad del proyecto de forma continua. 6.2.3 Recurso Humano Es necesario que durante la carrera estudiante se capacite, en lo que respecta al manejo de sistemas operativos de servidor, especialmente Linux que es un código open source y esta a la - 58 disposición para realizar configuraciones de los servicios que ofrece un Server. Los proyectos que realizan los estudiantes, estén orientados a la integración entre lenguajes de programación, bases de datos y sistemas operativos,.para que le permita al estudiante irse familiarizando y cuando tenga que diseñar un sistema no se le dificulted esta integración. 6.3 Puesta en Marcha Los navegadores que se recomienda utilizar para poner en marcha el sistema, es cualquier clase de Browser, como puede ser el Internet Explorer, Mozilla, Opera, etc, que nos permitieron levantar la aplicación. - 59 - ANEXOS - 60 Bibliografía Linuxparatodos http://www.linuxparatodos.net/portal/ Wikipedia http://es.wikipedia.org Java http://java.sun.com/ RPM http://rpm.pbone.net/ Mailscanner http://alcancelibre.org/ DIAGRAMA DE FLUJO DE OBJETOS ANEXO “B” ESQUEMA DE EVENTOS ANEXO “C” DIAGRAMA DE CLASE PlanCaracteristica Contratocaracteristica getIdCcontratoCcaracteristica getIdContrtato getIdCaracteristica getIdSolicitud getFechaInicio getFechaFin getValor getIdContratoCaracteristiPadre Plan getIdPlan getDescripcion getEsConfigurable getCosto getEstado getIdPlanCaracteristica getIdPlan getIdCarateristica getValor getMin getMax getCosto getOrden getFactor getIntervalo Solicitud Cliente getIdCliente getNombre getIdentificacion getDireccion getTelefono getIdUsuario getEstado Contrato getIdContrato getIdCliente getCosto getIdSolicitud getFechaEmision getFechaCaducidad getFechaFirma getEstado getIdSolicitud getidPlan getIdCliente getIdContrato getNombre getIdentificacion getTipoIdentifiacion getDireccion getTelefono getObservacion getEstado Correo Dominio Evento getIdCorreo getIdUsuario getIdContrato getCuota getEstado getIdDominio getIdContrato getNombre getEstado getIdEvento getIdContrato getObservacion getValor getIdUsuarioIngreso getFechaIngreso getIdUsuarioMod getIdTipoEvento getEstado ANEXO “D” SolicitudCaracteristica igetISolicitudCaracteristica getIdSolicitud getIdCaracteristica getValor getEstado Caracteristica getIdCaracteristica getDescripcion getUnidad getEstado TipoEvento getIdTipoEvento getDescripcion getEestado BASE DE DATOS hos_contrato_carateristica id_contrato_caracteristica id_contrtato id_caracteristica id_solicitud fecha_inicio feha_fin valor id_contrato_caracteristi_Padre hos_cliente id_cliente nombre identificacion direccion telefono id_usuario estado hos_correo id_correo id_usuario id_contrato cuota estado hos_plan_caracteristica hos_plan id_plan descripcion es_configurable costo estado id_plan_caracteristica id_plan id_carateristica valor min max costo orden fator intervalo hos_caracteristica id_caracteristica descripcion unidad estado hos_solicitud hos_contrato id_contrato id_cliente costo id_solicitud fecha_emision fecha_caducidad fecha_firma estado hos_dominio id_dominio id_contrato nombre estado id_solicitud id_plan id_cliente id_contrato nombre identificacion tipo_identifiacion direccion telefono observacion estado hos_solicitud_caracteristica id_solicitud_caracteristica id_solicitud id_caracteristica valor estado hos_evento id_evento id_contrato observacion valor id_usuario_ingreso fecha_ingreso id_usuario_mod id_tipo_evento estado ANEXO “E” hos_tipo_evento id_tipo_evento descripcion estado