Está en la página 1de 42

UNIVERSIDAD NACIONAL DEL SANTA

FACULTAD DE INGENIERA
Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica

Desarrollo de un Sistema Web para Promover la Integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa PROYECTO DE TRABAJO DE INVESTIGACIN
INVESTIGADORES: Muoz Aleman Jonathan S. Paniagua Vilcarino Sarath Rosales Chinchihuara Beder Terrones Espaa Carlos

ASESOR: Mg. Ing. Guillermo Gil Albarrn NUEVO CHIMBOTE PER Lunes, 13 de Julio de 2009

ndice de Contenido
1. Datos Generales........................................................................................................................... 5 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. Ttulo ................................................................................................................................... 5 Autores ................................................................................................................................ 5 Asesor.................................................................................................................................. 5 Tipo de Investigacin .......................................................................................................... 5 Rgimen de la Investigacin ............................................................................................... 5 Duracin del Proyecto ......................................................................................................... 5 Fecha de Inicio ............................................................................................................ 5 Fecha de Trmino ........................................................................................................ 5

1.6.1. 1.6.2. 1.7.

rea de Desarrollo del Proyecto ......................................................................................... 5 Localidad ..................................................................................................................... 5 Institucin .................................................................................................................... 5

1.7.1. 1.7.2. 1.8. 1.9. 1.10. 1.10.1. 1.10.2. 1.10.3. 1.11. 1.11.1. 1.11.2. 1.11.3. 1.11.4. 1.12. 2.

Unidad Acadmica .............................................................................................................. 5 Cronograma de Actividades ................................................................................................ 6 Recursos .......................................................................................................................... 6 Personal ....................................................................................................................... 6 Bienes y materiales...................................................................................................... 6 Servicios ...................................................................................................................... 6 Presupuesto...................................................................................................................... 7 Personal ....................................................................................................................... 7 Bienes y Materiales ..................................................................................................... 7 Servicios ...................................................................................................................... 7 Resumen ...................................................................................................................... 8 Financiamiento ................................................................................................................ 8

Plan de Investigacin ................................................................................................................ 10 2.1. Problema ........................................................................................................................... 10 Realidad Problemtica............................................................................................... 10 Anlisis del Problema................................................................................................ 11 Formulacin del Problema ........................................................................................ 11 Antecedentes ............................................................................................................. 12 Justificacin............................................................................................................... 12 Limitaciones .............................................................................................................. 13

2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.1.6.

2.2.

Objetivos ........................................................................................................................... 14 Objetivo General ....................................................................................................... 14 Objetivos Especficos ................................................................................................ 14

2.2.1. 2.2.2. 2.3. 2.4.

Hiptesis ............................................................................................................................ 14 Marco Terico ................................................................................................................... 14 Aplicacin Web ......................................................................................................... 14 Base de Datos ............................................................................................................ 17 Sistemas Gestores de Bases de datos ........................................................................ 21 Servidor MySQL ....................................................................................................... 23 Servidor Web............................................................................................................. 25 Servidor HTTP Apache ............................................................................................. 26 Lenguaje de Programacin ........................................................................................ 28 Lenguaje de Programacin PHP................................................................................ 32 Sistema de Gestin de Contenidos ............................................................................ 35 Framework Joomla!................................................................................................... 38

2.4.1. 2.4.2. 2.4.3. 2.4.4. 2.4.5. 2.4.6. 2.4.7. 2.4.8. 2.4.9. 2.4.10. 2.5. 2.6. 2.7.

Metodologa a Seguir ........................................................................................................ 39 Diseo de Investigacin .................................................................................................... 40 Cobertura del Estudio ........................................................................................................ 40 Poblacin ................................................................................................................... 40 Muestra ...................................................................................................................... 40

2.7.1. 2.7.2. 2.8.

Fuentes, Tcnicas e Instrumentos de Recoleccin de Datos ............................................. 40

Bibliografa y Linkografa................................................................................................................. 41

ndice de Tablas
Tabla 1. Cronograma de actividades del proyecto. ............................................................................. 6 Tabla 2. Presupuesto del personal. ...................................................................................................... 7 Tabla 3. Presupuesto de los bienes y materiales. ................................................................................ 7 Tabla 4. Presupuesto de los servicios. ................................................................................................. 7 Tabla 5. Presupuesto total resumido por categoras. ........................................................................... 8 Tabla 6. Tcnicas e instrumentos utilizados en la investigacin. ...................................................... 40

Captulo I

1. Datos Generales
1.1. Ttulo
Desarrollo de un Sistema Web para Promover la Integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa

1.2.

Autores
Muoz Aleman Jonathan S. Paniagua Vilcarino Sarath J. Rosales Chinchihuara Beder M. Terrones Espaa Carlos

1.3. 1.4. 1.5.

Asesor
Mg. Ing. Guillermo Gil Albarrn

Tipo de Investigacin
Aplicada/Tecnolgica

Rgimen de la Investigacin
Libre, el presente Proyecto de Trabajo de Investigacin es realizado por iniciativa de los autores.

1.6.

Duracin del Proyecto


1.6.1. Fecha de Inicio 06/06/2009 1.6.2. Fecha de Trmino 06/11/2009

1.7.

rea de Desarrollo del Proyecto


1.7.1. Localidad Nuevo Chimbote 1.7.2. Institucin Universidad Nacional del Santa

1.8.

Unidad Acadmica
Facultad de Ingeniera Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica

1.9.

Cronograma de Actividades
Para llevar a cabo el proyecto se hace necesario realizar diferentes actividades, las que sern mostradas en el siguiente Diagrama de Gantt, donde se establecen tiempos aproximados para el cumplimiento de dichas actividades. Para llevar a cabo el proyecto se hace necesario realizar diferentes actividades, las que sern mostradas en la Tabla 1, donde se establecen tiempos aproximados para el cumplimiento de dichas actividades. Las actividades realizadas para la culminacin del proyecto son las siguientes:
Actividad Elaboracin del PTI Revisin Bibliogrfica Recopilacin de datos Fase de Inicio Fase de Elaboracin Fase de Construccin Fase de Transicin Duracin 5 das? 5 das 10 das? 10 das? 15 das? 55 das? 10 das? Inicio 08/06/2009 15/06/2009 22/06/2009 06/07/2009 20/07/2009 10/08/2009 26/10/2009 Fin 13/06/2009 20/06/2009 04/07/2009 18/07/2009 08/08/2009 24/10/2009 06/11/2009

Tabla 1. Cronograma de actividades del proyecto.

El diagrama de Gantt de las actividades programadas se muestra como un anexo al final de este documento.

1.10. Recursos
1.10.1. Personal Investigadores o Muoz Aleman Jonathan S. o Paniagua Vilcarino Sarath J. o Rosales Chinchihuara Beder M. o Terrones Espaa Carlos Asesor: Mg. Ing. Guillermo Gil Albarrn 1.10.2. Bienes y materiales Papel Bond A4 de 80 gr Lapiceros CR RW Cartucho para Impresora HP 2460 Memoria USB 4GB Folders Manila tamao A 4 Engrapador Clips 1.10.3. Servicios

Internet Fotocopiados Impresin Pasajes

1.11. Presupuesto
1.11.1. Personal Especificacin Precio Unitario Muoz Aleman Jonathan S. S/. 500.00 Paniagua Vilcarino Sarath J. Rosales Chinchihuara Beder Terrones Espaa Carlos Total
Tabla 2. Presupuesto del personal.

Meses 4

Subtotal S/. 2,000.00 S/. 0.00 S/. 0.00 S/. 0.00 S/. 2,000.00

1.11.2. Bienes y Materiales Especificacin Cantidad Bienes y Materiales Papel Bond A4 80 gr. 1 Lapiceros 4 CD - RW 1 Cartucho de tinta 2 Memoria USB 4 GB 1 Flder Manila A4 1 Engrapador 1 Clips 1 Software Windows XP SP 3 1 Microsoft Office 2007 1 Total

Unidad Millar Unidad Docena Unidad Unidad Docena Unidad Caja Licencia Licencia

Precio Unitario S/. 22.00 S/. 0.50 S/. 9.00 S/. 120.00 S/. 45.00 S/. 6.00 S/. 5.00 S/. 3.00 S/. 300.00 S/. 255.00

Subtotal S/. 22.00 S/. 2.00 S/. 9.00 S/. 240.00 S/. 45.00 S/. 6.00 S/. 5.00 S/. 3.00 S/. 300.00 S/. 255.00 S/. 887.00

Tabla 3. Presupuesto de los bienes y materiales.

1.11.3. Servicios Especificacin Internet Fotocopiado Impresin Movilidad Total

Cantidad Unidad S/. 440.00 Hora S/. 500.00 Copia S/. 200.00 Hoja S/. 21.00 Pasaje

Precio Unitario 1 0.1 0.1 12

Subtotal S/. 440.00 S/. 50.00 S/. 20.00 S/. 252.00 S/. 762.00

Tabla 4. Presupuesto de los servicios.

1.11.4. Resumen
ESPECIFICACIN Personal Bienes y Materiales Servicios Imprevistos Total SUBTOTAL S/. 2,000.00 S/. 887.00 S/. 762.00 S/. 364.90 S/. 4,013.90

Tabla 5. Presupuesto total resumido por categoras.

1.12. Financiamiento
El presupuesto del proyecto ser financiado por los autores en su totalidad. Muoz Aleman Jonathan S. Paniagua Vilcarino Sarath J. Rosales Chinchihuara Beder M. Terrones Espaa Carlos 25% 25% 25% 25%

Captulo II

2. Plan de Investigacin
2.1. Problema
2.1.1. Realidad Problemtica Hoy en da, la gran mayora de instituciones y organizaciones cuentan con un sistema Web que les permita brindar al pblico informacin variada acerca de los productos y los servicios que ofrecen. Tambin, se conciben estos sistemas de manera que ayuda al acercamiento a los clientes, actuales y potenciales, ya que es muy fcil distribuir la informacin por Internet. Debido al auge que se encuentra viviendo el mundo entorno a las comunicaciones mediante el Internet, el surgimiento de la necesidad de compartir informacin mediante los sitios de plataforma Web, hace que se torne indispensable la implementacin de un sitio Web, Pgina o cualquier trmino afn, el cual nos proporcionar un medio de comunicacin de masas, que puede influir, educar o informar de manera casi gratuita. La Universidad Nacional del Santa es una institucin de servicios, que tiene como misin formar profesionales con adecuados conocimientos cientficos, tecnolgicos, humansticos, con altos valores ticos-morales tendientes a desarrollar sus capacidades y destrezas para contribuir a satisfacer las necesidades de la sociedad, as como desarrollar investigacin cientfica y extensin social. La Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica, es el rgano encargado de formar profesionales en Ingeniera de Sistemas e Informtica de alto nivel; crticos, comprometidos con la bsqueda de la vedad y la prctica de valores en su interrelacin permanente con la sociedad. Buscando la excelencia acadmica a travs de la investigacin y la docencia, brindando el soporte educacional a la poltica de generacin de empleo. Siguiendo los avances tecnolgicos, y sobre todo los avances a pasos agigantados de las tecnologas de informacin, la Escuela Acadmica Profesional de Ingeniera de Sistemas e Informtica no puede estar ajena a dichos avances, adems teniendo como antecedentes las caractersticas de nuestra carrera que nos impulsa a la prctica constante de la investigacin, adquisicin de nuevos y mejores conocimientos para luego aplicarlos en el desarrollo de soluciones para problemas en el entorno laboral. Ante sta situacin tenemos el compromiso de proyectarnos y visionar un mejor futuro, en el cual la EAPISI, sea reconocida como una escuela comprometida con el desarrollo profesional de sus estudiantes, como punto de partida conviene el Desarrollo de un Portal Web, que permitir la comunicacin constante entre estudiantes, docentes y autoridades, adems que de sta manera se promueve el compromiso de los estudiantes.

2.1.2. Anlisis del Problema La Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica forma profesionales en Ingeniera de Sistemas e Informtica de alto nivel; crticos, comprometidos con la bsqueda de la vedad y la prctica de valores en su interrelacin permanente con la sociedad para un desarrollo profesional eficiente. Actualmente presenta problemas en la administracin de la informacin y la falta de integracin entre todos los miembros de la escuela, ya que no cuenta con un Sistema va Web que permita promover la Integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica, por lo que se genera un descontrol en sus actividades, provocando malestar entre la poblacin estudiantil y la plana docente debido a que el acceso a la informacin y su difusin se logra nicamente en la EAPISI, lo que ocasiona prdida de tiempo, un servicio deficiente en cuanto a la fluidez de la informacin, as como perjuicio a la imagen institucional ya que resulta paradjico que estando la carrera orientada a temas tecnolgicos no cuente aun con un Portal Web, lo cual origina que no haya un debido reconocimiento tanto en el mbito local como nacional. El presente proyecto de investigacin titulado Desarrollo de un Sistema va Web que permita promover la Integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa, ha sido propuesto con el objetivo de demostrar que es posible lograr la integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica, adems servir como instrumento de apoyo en el funcionamiento y mejora institucional lo que permitir formalizar y dar a conocer las actividades que se llevan a cabo en la EAPISI, es importante tambin destacar que para la realizacin de este proyecto de investigacin se decidi la utilizacin de herramientas de la categora Open Source de tal modo que se eliminen costos de licencias, permitiendo un ahorro econmico significativo para la institucin haciendo factible su implementacin. Por lo tanto, podemos concluir que la necesidad de la implementacin de un Sistema de Informacin va Web radica en el hecho de adoptar un medio el cual va a permitir una mejor gestin de la informacin (rapidez funcional y operativa), promoviendo la integracin de todos sus miembros. 2.1.3. Formulacin del Problema En qu medida el Desarrollo de un Sistema va Web promover la Integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa?

2.1.4. Antecedentes UNIVERSIA Universia es la mayor red iberoamericana de colaboracin universitaria. Integra 1.100 universidades e instituciones de educacin superior en 15 pases. Las universidades socias de Universia forman el 75,6 % del colectivo universitario de los pases donde est presente. Universia representa 10,2 millones de alumnos, 8 millones de usuarios mensualmente y 850.000 profesores. El Proyecto Universia fue presentado en Madrid el 9 de julio de 2000 con el mecenazgo del Grupo Santander, el apoyo de la Conferencia de Rectores de las Universidades Espaolas (CRUE), el Consejo Superior de Investigaciones Cientficas (CSIC) y la mayor parte de las universidades espaolas. La Presidencia de la Sociedad creada a tal efecto (Portal Universia S. A.) la asumi Emilio Botn Sanz. A partir de principios de 2001, se inicia la extensin del "Modelo Universia" hacia Portugal y los pases iberoamericanos. Como resultado de esa extensin, se formalizaron los diferentes portales que constituyen la red y la constitucin paralela de casi todas las sociedades Universia (Argentina, Brasil, Chile, Colombia, Espaa, Mxico, Per, Puerto Rico y Venezuela). Portugal lo hace un ao ms tarde y Uruguay se formaliz aos ms tarde en noviembre de 2005. Con el fin de expandir la red Universia hacia el mundo, la informacin bsica de Universia fue publicada en 5 idiomas dentro del portal de Wikipedia durante el mes de marzo de 2009 bajo la edicin y traduccin de Pabsi Gonzlez de Universia Puerto Rico. En la actualidad, Universia constituye la red universitaria ms importante del mundo. (Wikimedia Foundation, Inc., 2009) 2.1.5. Justificacin El proyecto parte de la necesidad de promover la integracin de los alumnos, docentes y autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa, y as poder mejorar la relaciones entre ellos. Este proyecto se realizar con la finalidad de lograr la integracin de los miembros de la escuela as como tambin proporcionar un medio de comunicacin formal para difundir las actividades acadmicas de la EAPISI. Este Sistema va Web permitir una mejor administracin de la informacin en lo que respecta al desarrollo de las actividades as como tambin se lograr

tener un merecido reconocimiento tanto en el mbito local como nacional dando mayor realce y aceptacin a la carrera, elevando la imagen institucional. La realizacin de este Sistema va Web ser de forma descriptiva dado que presenta valiosa informacin, ser analizada dentro de las 4 fases que corresponden al proyecto Web, lo cual facilitar un mejor entendimiento de sus procesos, definiendo variables importantes como son los tiempos ponderados para la realizacin de cada actividad, los responsables de la realizacin y la dependencia en la que se desempea el responsable, las observaciones y requisitos y los controles normativos en cada uno. El Desarrollo e Implementacin de un Sistema de Informacin va Web para la Escuela Acadmico Profesional de la Universidad Nacional del Santa permitir adoptar un medio de comunicacin el cual va a har posible una mejor gestin de la informacin (rapidez funcional y operativa), promoviendo la integracin de todos sus miembros. 2.1.6. Limitaciones El sistema se ocupara de los siguientes aspectos: Informacin General de la Escuela o Organizacin de la Escuela (Autoridades, etc) o Plana Docente o Perfil del Egresado o Plan Curricular o Grados y Ttulos o Procesos de trmites documentarios. o Eventos relacionados a la carrera. Comunidad de Sistemas. Esta comunidad va a permitir la comunicacin e integracin entre los alumnos, egresados y docentes beneficindolos en el aspecto profesional y laboral. Los alumnos de pregrado tendrn al alcance la informacin adecuada para desarrollar prcticas preprofesionales. Servicios o Centro de descargas de manuales y tutoriales relacionados a las asignaturas del Plan Curricular. o Descarga de formatos de trmites documentarios. o Grupos de Estudio. o Blog y foros

2.2.

Objetivos
2.2.1. Objetivo General Desarrollar de un Sistema va Web para promover la Integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa. 2.2.2. Objetivos Especficos Desarrollar una comunidad Web a travs de la cual, alumnos, docentes, egresados y autoridad, accedan a la informacin e interacten dinmicamente. Ayudar a elevar el nivel acadmico de los alumnos de la EAPISI, complementando los conocimientos impartidos en las aulas con contenido actualizado. Dar a conocer a nivel local, regional y nacional el potencial existente en los alumnos de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica. Permitir que la EAPISI sea reconocida a nivel regional por ayudar al desarrollo profesional de sus alumnos. Agilizar la toma de decisiones en base a los resultados ofrecidos por el sistema. Recolectar los datos necesarios para el procesamiento de la informacin que se brindar en el sistema Web. Utilizar la metodologa RUP y el lenguaje UML con extensiones para Web para llevar a cabo el anlisis, el diseo y la documentacin del sistema. Utilizar herramientas de software libre para realizar la implementacin del sistema Web. Demostrar que los alumnos de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica son capaces de participar en proyectos serios de desarrollo de software.

2.3.

Hiptesis
El Desarrollo de un Sistema va Web permitir la Integracin de Alumnos, Docentes y Autoridades de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa.

2.4.

Marco Terico
2.4.1. Aplicacin Web Se denomina aplicacin web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a travs de Internet o de una intranet mediante un navegador. En otras palabras, es una aplicacin software que se codifica en un lenguaje soportado por los navegadores web (HTML, JavaScript, Java, ASP.NET, etc.) en la que se confa la ejecucin al navegador.

Las aplicaciones web son populares debido a lo prctico del navegador web como cliente ligero, as como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Existen aplicaciones como los webmails, wikis, weblogs y las tiendas en lnea que son ejemplos bien conocidos de aplicaciones web. Es importante mencionar que una pgina Web puede contener elementos que permiten una comunicacin activa entre el usuario y la informacin. Esto permite que el usuario acceda a los datos de modo interactivo, gracias a que la pgina responder a cada una de sus acciones, como por ejemplo rellenar y enviar formularios, participar en juegos diversos y acceder a gestores de base de datos de todo tipo. En los primeros tiempos de la computacin cliente-servidor, cada aplicacin tena su propio programa cliente que serva como interfaz de usuario que tena que ser instalado por separado en cada ordenador personal de cada usuario. El cliente realizaba peticiones a otro programa -el servidor- que le daba respuesta. Una mejora en el servidor, como parte de la aplicacin, requera normalmente una mejora de los clientes instalados en cada ordenador personal, aadiendo un coste de soporte tcnico y disminuyendo la productividad. A diferencia de lo anterior, las aplicaciones web generan dinmicamente una serie de pginas en un formato estndar, como HTML o XHTML, que soportan por los navegadores web comunes. Se utilizan lenguajes interpretados en el lado del cliente, tales como JavaScript, para aadir elementos dinmicos a la interfaz de usuario. Generalmente cada pgina web en particular se enva al cliente como un documento esttico, pero la secuencia de pginas ofrece al usuario una experiencia interactiva. Durante la sesin, el navegador web interpreta y muestra en pantalla las pginas, actuando como cliente para cualquier aplicacin web. Las interfaces web tienen ciertas limitaciones en las funcionalidades que se ofrecen al usuario. Hay funcionalidades comunes en las aplicaciones de escritorio como dibujar en la pantalla o arrastrar-y-soltar que no estn soportadas por las tecnologas web estndar. Los desarrolladores web generalmente utilizan lenguajes interpretados o script en el lado del cliente para aadir ms funcionalidades, especialmente para ofrecer una experiencia interactiva que no requiera recargar la pgina cada vez (lo que suele resultar molesto a los usuarios). Recientemente se han desarrollado tecnologas para coordinar estos lenguajes con tecnologas en el lado del servidor, como por ejemplo PHP. Como ejemplo, AJAX, es una tcnica de desarrollo web que usa una combinacin de varias tecnologas.

Una ventaja significativa es que las aplicaciones web deberan funcionar igual independientemente de la versin del sistema operativo instalado en el cliente. En vez de crear clientes para Windows, Mac OS X, GNU/Linux, y otros sistemas operativos, la aplicacin web se escribe una vez y se ejecuta igual en todas partes. Sin embargo, hay aplicaciones inconsistentes escritas con HTML, CSS, DOM y otras especificaciones para navegadores web que pueden causar problemas en el desarrollo y soporte de las aplicaciones web. Adicionalmente, la posibilidad de los usuarios de personalizar muchas de las caractersticas de la interfaz (tamao y color de fuentes, tipos de fuentes, inhabilitar Javascript) puede interferir con la consistencia de la aplicacin web. Otra aproximacin es utilizar Adobe Flash Player o Java applets para desarrollar parte o toda la interfaz de usuario. Como casi todos los navegadores incluyen soporte para estas tecnologas (usualmente por medio de plug-ins), las aplicaciones basadas en Flash o Java pueden ser implementadas con aproximadamente la misma facilidad. Dado que ignoran las configuraciones de los navegadores, estas tecnologas permiten ms control sobre la interfaz, aunque las incompatibilidades entre implementaciones Flash o Java puedan crear nuevas complicaciones. Por las similitudes con una arquitectura clienteservidor, con un cliente "no ligero", existen discrepancias sobre el hecho de llamar a estos sistemas aplicaciones web; un trmino alternativo es Aplicacin Enriquecida de Internet. Aunque existen muchas variaciones posibles, una aplicacin web est normalmente estructurada como una aplicacin de tres-capas. En su forma ms comn, el navegador web ofrece la primera capa y un motor capaz de usar alguna tecnologa web dinmica (ejemplo: PHP, Java Servlets o ASP, ASP.NET, CGI, ColdFusion, embPerl, Python (programming language) o Ruby on Rails) constituye la capa de enmedio. Por ltimo, una base de datos constituye la tercera y ltima capa. El navegador web manda peticiones a la capa de enmedio que ofrece servicios valindose de consultas y actualizaciones a la base de datos y a su vez proporciona una interfaz de usuario. Una estrategia que est emergiendo para las empresas proveedoras de software consiste en proveer acceso va web al software. Para aplicaciones previamente distribuidas, como las aplicaciones de escritorio, se puede optar por desarrollar una aplicacin totalmente nueva o simplemente por adaptar la aplicacin para ser usada con una interfaz web. Estos ltimos programas permiten al usuario pagar una cuota mensual o anual para usar la aplicacin, sin necesidad de instalarla en el ordenador del usuario. Las compaas que siguen esta estrategia se denominan Proveedores de Aplicaciones de Servicio (ASP por sus siglas en ingls), un modelo de negocio que est atrayendo la atencin de la industria del software. (Wikimedia Foundation, Inc., 2009)

2.4.2. Base de Datos Una base de datos o banco de datos (en ingls: database) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayora por documentos y textos impresos en papel e indexados para su consulta. En la actualidad, y debido al desarrollo tecnolgico de campos como la informtica y la electrnica, la mayora de las bases de datos estn en formato digital (electrnico), que ofrece un amplio rango de soluciones al problema de almacenar datos. Existen unos programas denominados sistemas gestores de bases de datos, abreviado SGBD, que permiten almacenar y posteriormente acceder a los datos de forma rpida y estructurada. Las propiedades de estos SGBD, as como su utilizacin y administracin, se estudian dentro del mbito de la informtica. Las aplicaciones ms usuales son para la gestin de empresas e instituciones pblicas. Tambin son ampliamente utilizadas en entornos cientficos con el objeto de almacenar la informacin experimental. Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran protegidos por las leyes de varios pases. Por ejemplo en Espaa, los datos personales se encuentran protegidos por la Ley Orgnica de Proteccin de Datos de Carcter Personal (LOPD). Tipos de Bases de Datos Las bases de datos pueden clasificarse de varias maneras, de acuerdo al criterio elegido para su clasificacin: Segn la Variabilidad de los Datos Almacenados BASES DE DATOS ESTTICAS. stas son bases de datos de slo lectura, utilizadas primordialmente para almacenar datos histricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a travs del tiempo, realizar proyecciones y tomar decisiones. BASES DE DATOS DINMICAS. stas son bases de datos donde la informacin almacenada se modifica con el tiempo, permitiendo operaciones como actualizacin, borrado y adicin de datos, adems de las operaciones fundamentales de consulta. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de informacin de una tienda de abarrotes, una farmacia, un videoclub, etc.

Segn el Contenido BASES DE DATOS BIBLIOGRFICAS. Solo contienen un subrogante (representante) de la fuente primaria, que permite localizarla. Un registro tpico de una base de datos bibliogrfica contiene informacin sobre el autor, fecha de publicacin, editorial, ttulo, edicin, de una determinada publicacin, etc. Puede contener un resumen o extracto de la publicacin original, pero nunca el texto completo, porque sino estaramos en presencia de una base de datos a texto completo (o de fuentes primariasver ms abajo). Como su nombre lo indica, el contenido son cifras o nmeros. Por ejemplo, una coleccin de resultados de anlisis de laboratorio, entre otras. BASES DE DATOS DE TEXTO COMPLETO. Almacenan las fuentes primarias, como por ejemplo, todo el contenido de todas las ediciones de una coleccin de revistas cientficas. DIRECTORIOS. Un ejemplo son las guas telefnicas en formato electrnico. BASES DE DATOS O "BIBLIOTECAS" DE INFORMACIN BIOLGICA. Son bases de datos que almacenan diferentes tipos de informacin proveniente de las ciencias de la vida o mdicas. Se pueden considerar en varios subtipos: o Aquellas que almacenan secuencias de nucletidos o protenas. o Las bases de datos de rutas metablicas o Bases de datos de estructura, comprende los registros de datos experimentales sobre estructuras 3D de biomolculas. o Bases de datos clnicas o Bases de datos bibliogrficas (biolgicas) Modelos de Bases de Datos Adems de la clasificacin por la funcin de las bases de datos, stas tambin se pueden clasificar de acuerdo a su modelo de administracin de datos. Un modelo de datos es bsicamente una "descripcin" de algo conocido como contenedor de datos (algo en donde se guarda la informacin), as como de los mtodos para almacenar y recuperar informacin de esos contenedores. Los modelos de datos no son cosas fsicas: son abstracciones que permiten la implementacin de un sistema eficiente de base de datos; por lo general se refieren a algoritmos, y conceptos matemticos. Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de Datos Jerrquicas stas son bases de datos que, como su nombre indica, almacenan su informacin en una estructura jerrquica. En este modelo los datos se organizan en una forma similar a un rbol (visto al revs), en donde un nodo padre de informacin puede tener varios hijos. El nodo que no tiene padres es llamado raz, y a los nodos que no tienen hijos se los conoce como hojas. Las bases de datos jerrquicas son especialmente tiles en el caso de aplicaciones que manejan un gran volumen de informacin y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. Base de Datos de Red ste es un modelo ligeramente distinto del jerrquico; su diferencia fundamental es la modificacin del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerrquico). Fue una gran mejora con respecto al modelo jerrquico, ya que ofreca una solucin eficiente al problema de redundancia de datos; pero, aun as, la dificultad que significa administrar la informacin en una base de datos de red ha significado que sea un modelo utilizado en su mayora por programadores ms que por usuarios finales. Base de Datos Relacional ste es el modelo no utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San Jos (California), no tard en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados "tuplas". Pese a que sta es la teora de las bases de datos relacionales creadas por Edgar Frank Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar. Esto es pensando en cada relacin como si fuese una tabla que est compuesta por registros (las filas de una tabla), que representaran las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerrquico y el de red). Esto tiene la considerable ventaja de que es ms fcil de entender y de utilizar para un usuario espordico de la base de datos. La informacin puede ser

recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la informacin. El lenguaje ms habitual para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por los principales motores o sistemas de gestin de bases de datos relacionales. Durante su diseo, una base de datos relacional pasa por un proceso al que se le conoce como normalizacin de una base de datos. Durante los aos '80 (1980-1989) la aparicin de dBASE produjo una revolucin en los lenguajes de programacin y sistemas de administracin de datos. Aunque nunca debe olvidarse que dBASE no utilizaba SQL como lenguaje base para su gestin. Bases de Datos Multidimensionales Son bases de datos ideadas para desarrollar aplicaciones muy concretas, como creacin de Cubos OLAP. Bsicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podra serlo tambin en una base de datos multidimensional), la diferencia est ms bien a nivel conceptual; en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o bien representan dimensiones de la tabla, o bien representan mtricas que se desean estudiar. Bases de Datos Orientadas a Objetos Este modelo, bastante reciente, y propio de los modelos informticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos: ENCAPSULACIN. Propiedad que permite ocultar la informacin al resto de los objetos, impidiendo as accesos incorrectos o conflictos. HERENCIA. Propiedad a travs de la cual los objetos heredan comportamiento dentro de una jerarqua de clases. POLIMORFISMO. Propiedad de una operacin mediante la cual puede ser aplicada a distintos tipos de objetos. En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definicin de la base de datos. Una operacin (llamada funcin) se especifica en dos partes. La interfaz (o signatura) de una operacin incluye el nombre de la operacin y los tipos de datos de sus argumentos (o parmetros). La implementacin (o mtodo) de la operacin se

especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicacin de los usuarios pueden operar sobre los datos invocando a dichas operaciones a travs de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podra denominarse independencia entre programas y operaciones. Se est trabajando en SQL3, que es el estndar de SQL92 ampliado, que soportar los nuevos conceptos orientados a objetos y mantendra compatibilidad con SQL92. Bases de Datos Documentales Permiten la indexacin a texto completo, y en lneas generales realizar bsquedas ms potentes. Tesaurus es un sistema de ndices optimizado para este tipo de bases de datos. Base de Datos Deductivas Un sistema de bases de datos deductivas, es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a travs de inferencias. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. Tambin las bases de datos deductivas son llamadas base de datos lgica, a raz de que se basa en lgica matemtica. Gestin de Bases de Datos Distribuida La base de datos est almacenada en varias computadoras conectadas en red. Surgen debido a la existencia fsica de organismos descentralizados. Esto les da la capacidad de unir las bases de datos de cada localidad y acceder as a distintas universidades, sucursales de tiendas, etctera. (Wikimedia Foundation, Inc., 2009) 2.4.3. Sistemas Gestores de Bases de datos Los sistemas de gestin de base de datos (SGBD); (en ingls: DataBase Management System, abreviado DBMS) son un tipo de software muy especfico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. El propsito general de los sistemas de gestin de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirn en informacin relevante para una organizacin. Existen distintos objetivos que deben cumplir los SGBD: Abstraccin de la informacin. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento fsico de los datos. Da lo mismo si una base de

datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de abstraccin. Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Consistencia. En aquellos casos en los que no se ha logrado eliminar la redundancia, ser necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultnea. Por otra parte, la base de datos representa una realidad determinada que tiene determinadas condiciones, por ejemplo que los menores de edad no pueden tener licencia de conducir. El sistema no debera aceptar datos de un conductor menor de edad. En los SGBD existen herramientas que facilitan la programacin de este tipo de condiciones. Seguridad. La informacin almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta informacin se encuentra segura de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos. Manejo de Transacciones. Una Transaccin es un programa que se ejecuta como una sola operacin. Esto quiere decir que luego de una ejecucin en la que se produce una falla es el mismo que se obtendra si el programa no se hubiera ejecutado. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho ms simple que si no se dispusiera de ellos. Tiempo de respuesta. Lgicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la informacin solicitada y en almacenar los cambios realizados. Ventajas Proveen facilidades para la manipulacin de grandes volmenes de datos. Algunas de estas facilidades son: Simplifican consistencia de los datos. Manejan las polticas de respaldo adecuadas garantizan que los cambios de la base sern siempre consistentes sin importar si hay errores correctamente, etc. Permiten realizar una reorganizacin de los datos con un impacto mnimo en el cdigo de los programas. Permiten bajan drsticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores. Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperacin de los datos.

Inconvenientes Tpicamente, es necesario disponer de una o ms personas que administren de la base de datos, en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o ms personas que administren de los sistemas operativos. Esto puede llegar a incrementar los costos de operacin en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. Si se tienen muy pocos datos que son usados por un nico usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una planilla de clculo. Complejidad: el software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al mximo. Tamao: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamao, que requiere de gran cantidad de memoria para poder correr. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero. fecha de lanzamiento. (Wikimedia Foundation, Inc., 2009) 2.4.4. Servidor MySQL MySQL es un sistema de gestin de base de datos relacional, multihilo y multiusuario con ms de seis millones de instalaciones. MySQL AB desde enero de 2008 una subsidiaria de Sun Microsystems y sta a su vez de Oracle Corporation desde abril de 2009 desarrolla MySQL como software libre en un esquema de licenciamiento dual. Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia especfica que les permita este uso. Est desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pblica y el copyright del cdigo est en poder del autor individual, MySQL es propietario y est patrocinado por una empresa privada, que posee el copyright de la mayor parte del cdigo. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Adems de la venta de licencias privativas, la compaa ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran va Internet. MySQL AB fue fundado por David Axmark, Allan Larsson y Michael Widenius.

SQL (Lenguaje de Consulta Estructurado) fue comercializado por primera vez en 1981 por IBM, el cual fue presentado a ANSI y desde entonces ha sido considerado como un estndar para las bases de datos relacionales. Desde 1986, el estndar SQL ha aparecido en diferentes versiones como por ejemplo: SQL:92, SQL:99, SQL:2003. MySQL es una idea originaria de la empresa opensource MySQL AB establecida inicialmente en Suecia en 1995 y cuyos fundadores son David Axmark, Allan Larsson, y Michael "Monty" Widenius. El objetivo que persigue esta empresa consiste en que MySQL cumpla el estndar SQL, pero sin sacrificar velocidad, fiabilidad o usabilidad. Michael Widenius en la dcada de los 90 trat de usar mSQL para conectar las tablas usando rutinas de bajo nivel ISAM, sin embargo, mSQL no era rpido y flexible para sus necesidades. Esto lo llev a crear una API SQL denominada MySQL para bases de datos muy similar a la de mSQL pero ms portable. La procedencia del nombre de MySQL no es clara. Desde hace ms de 10 aos, las herramientas han mantenido el prefijo My. Tambin, se cree que tiene relacin con el nombre de la hija del cofundador Monty Widenius quien se llama My. Por otro lado, el nombre del delfn de MySQL es Sakila y fue seleccionado por los fundadores de MySQL AB en el concurso Name the Dolphin. Este nombre fue enviado por Ambrose Twebaze, un desarrollador de Open source Africano, derivado del idioma SiSwate, el idioma local de Swazilandia y corresponde al nombre de una ciudad en Arusha, Tanzania, cerca de Uganda la ciudad origen de Ambrose. Existen varias APIs que permiten, a aplicaciones escritas en diversos lenguajes de programacin, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (via dbExpress), Eiffel, Smalltalk, Java (con una implementacin nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby, Gambas, REALbasic (Mac), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una API especfica. Tambin existe un interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programacin que soporte ODBC comunicarse con las bases de datos MySQL. Tambin se puede acceder desde el sistema SAP, lenguaje ABAP. MySQL es muy utilizado en aplicaciones web, como Drupal o phpBB, en plataformas (Linux/Windows-Apache-MySQL-PHP/Perl/Python), y por herramientas de seguimiento de errores como Bugzilla. Su popularidad como aplicacin web est muy ligada a PHP, que a menudo aparece en combinacin con MySQL. MySQL es una base de datos muy rpida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificacin. En aplicaciones web hay baja concurrencia en la modificacin de datos y en cambio el entorno

es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. (Wikimedia Foundation, Inc., 2009) 2.4.5. Servidor Web Un servidor web es un programa que implementa el protocolo HTTP (HyperText Transfer Protocol). Este protocolo pertenece a la capa de aplicacin del modelo OSI y est diseado para transferir lo que llamamos hipertextos, pginas web o pginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de msica. Es un programa que se ejecuta continuamente en un ordenador (tambin se emplea el trmino para referirse al ordenador que lo ejecuta), mantenindose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una pgina web que se exhibir en el navegador o mostrando el respectivo mensaje si se detect algn error. Instalar un servidor web en nuestro PC nos permitir, entre otras cosas, poder montar nuestra propia pgina web sin necesidad de contratar hosting, probar nuestros desarrollos va local, acceder a los archivos de nuestro equipo desde un PC remoto (aunque para esto existen otras opciones, como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que estn viendo la luz ltimamente. El problema de usar nuestro ordenador como servidor web es que conviene tenerlo encendido permanentemente (para que est accesible de forma continua como la mayora de los sitios webs), con el consiguiente coste debido al consumo de electricidad (conviene tener en cuenta que hay alojamientos web gratuitos, incluso sin publicidad y con interesantes funciones). Sin embargo, el hecho de que HTTP y HTML estn ntimamente ligados no debe dar lugar a confundir ambos trminos. HTML es un lenguaje de marcas y HTTP es un protocolo. Un servidor web se mantiene a la espera de peticiones HTTP por parte de un cliente HTTP que solemos conocer como navegador. El cliente realiza una peticin al servidor y ste le responde con el contenido que el cliente solicita. A modo de ejemplo, al teclear www.wikipedia.org en nuestro navegador, ste realiza una peticin HTTP al servidor de dicha direccin. El servidor responde al cliente enviando el cdigo HTML de la pgina; el cliente, una vez recibido el cdigo, lo interpreta y lo exhibe en pantalla. Como vemos con este ejemplo, el cliente es el encargado de interpretar el cdigo HTML, es decir, de mostrar las fuentes, los colores y la disposicin de los textos y objetos de la pgina; el

servidor tan slo se limita a transferir el cdigo de la pgina sin llevar a cabo ninguna interpretacin de la misma. Sobre el servicio web clsico podemos disponer de aplicaciones web. stas son porciones de cdigo que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Hay que distinguir entre: Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la mquina del usuario. Son las aplicaciones tipo Java o JavaScript: el servidor proporciona el cdigo de las aplicaciones al cliente y ste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (tambin llamadas scripts). Comnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje JavaScript y Java, aunque pueden aadirse ms lenguajes mediante el uso de plugins. Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicacin; sta, una vez ejecutada, genera cierto cdigo HTML; el servidor toma este cdigo recin creado y lo enva al cliente por medio del protocolo HTTP. Las aplicaciones de servidor muchas veces suelen ser la mejor opcin para realizar aplicaciones web. La razn es que, al ejecutarse sta en el servidor y no en la mquina del cliente, ste no necesita ninguna capacidad aadida, como s ocurre en el caso de querer ejecutar aplicaciones JavaScript o Java. As pues, cualquier cliente dotado de un navegador web bsico puede utilizar este tipo de aplicaciones. (Wikimedia Foudation, Inc., 2009) 2.4.6. Servidor HTTP Apache El servidor HTTP Apache es un servidor web HTTP de cdigo abierto para plataformas Unix (BSD, GNU/Linux, etc.), Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y la nocin de sitio virtual. Cuando comenz su desarrollo en 1995 se bas inicialmente en cdigo del popular NCSA HTTPd 1.3, pero ms tarde fue reescrito por completo. Su nombre se debe a que Behelendorf eligi ese nombre porque quera que tuviese la connotacin de algo que es firme y enrgico pero no agresivo, y la tribu Apache fue la ltima en rendirse al que pronto se convertira en gobierno de EEUU, y en esos momentos la preocupacin de su grupo era que llegasen las empresas y "civilizasen" el paisaje que haban creado los primeros ingenieros de internet. Adems Apache consista solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en ingls, a patchy server (un servidor "parcheado"). El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

Apache presenta entre otras caractersticas mensajes de error altamente configurables, bases de datos de autenticacin y negociado de contenido, pero fue criticado por la falta de una interfaz grfica que ayude en su configuracin. Apache tiene amplia aceptacin en la red: desde 1996, Apache, es el servidor HTTP ms usado. Alcanz su mxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los ltimos aos. (Estadsticas histricas y de uso diario proporcionadas por Netcraft[]). La mayora de las vulnerabilidades de la seguridad descubiertas y resueltas tan slo pueden ser aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar remotamente en ciertas situaciones, o explotar por los usuarios locales malvolos en las disposiciones de recibimiento compartidas que utilizan PHP como mdulo de Apache. Apache es usado primariamente para enviar pginas web estticas y dinmicas en la World Wide Web. Muchas aplicaciones web estn diseadas asumiendo como ambiente de implantacin a Apache, o que utilizarn caractersticas propias de este servidor web. Apache es el componente de servidor web en la popular plataforma de aplicaciones LAMP, junto a MySQL y los lenguajes de programacin PHP/Perl/Python (y ahora tambin Ruby). Este servidor web es redistribuido como parte de varios paquetes propietarios de software, incluyendo la base de datos Oracle y el IBM WebSphere Application Server. Mac OS X integra apache como parte de su propio servidor web y como soporte de su servidor de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5, donde es el servidor web por defecto, y en muchas distribuciones Linux. Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposicin en una forma segura y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raz de documentos de Apache, desde donde pueden ser compartidos. Los programadores de aplicaciones web a veces utilizan una versin local de Apache en orden de previsualizar y probar cdigo mientras ste es desarrollado. Microsoft Internet Information Services (IIS) es el principal competidor de Apache, as como Sun Java System Web Server de Sun Microsystems y un anfitrin de otras aplicaciones como Zeus Web Server. Algunos de los ms

grandes sitios web del mundo estn ejecutndose sobre Apache. La capa frontal (front end) del motor de bsqueda Google est basada en una versin modificada de Apache, denominada Google Web Server (GWS). Muchos proyectos de Wikimedia tambin se ejecutan sobre servidores web Apache. La licencia de software bajo la cual el software de la fundacin Apache es distribuido es una parte distintiva de la historia de Apache HTTP Server y de la comunidad de cdigo abierto. La Licencia Apache permite la distribucin de derivados de cdigo abierto y cerrado a partir de su cdigo fuente original. La Free Software Foundation no considera a la Licencia Apache como compatible con la versin 2 de la GNU General Public License (GPL), en la cual el software licenciado bajo la Apache License no puede ser integrado con software distribuido bajo la GPL Sin embargo, la versin 3 de la GPL incluye una provisin (Seccin 7e) que le permite ser compatible con licencias que tienen clasulas de represalia de patentes, incluyendo a la Licencia Apache. El nombre Apache es una marca registrada y puede ser slo utilizada con el permiso expreso del dueo de la marca. (Wikimedia Foundation, Inc., 2009) 2.4.7. Lenguaje de Programacin Con la aparicin de las computadoras desaparecen las secuencias de posiciones de llaves mecnicas que deban desconectarse para obtener una accin determinada, una llave conectada era un 1 y una llave desconectada era un 0. Una sucesin de llaves en cualquiera de sus dos posiciones defina una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que vena a representar una instruccin o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje mquina o cdigo mquina. La necesidad de recordar secuencias de programacin para las acciones usuales llev a denominarlas con nombres fciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denomin "instrucciones", y a este conjunto de instrucciones se le llam lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programacin, los cuales reciben su denominacin porque tienen una estructura sintctica similar a los lenguajes escritos por los humanos. Un lenguaje de programacin es un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y

expresiones. Es utilizado para controlar el comportamiento fsico y lgico de una mquina. Aunque muchas veces se usan los trminos 'lenguaje de programacin' y 'lenguaje informtico' como si fuesen sinnimos, no tiene por qu ser as, ya que los lenguajes informticos engloban a los lenguajes de programacin y a otros ms, como, por ejemplo, el HTML (lenguaje para el marcado de pginas web que no es propiamente un lenguaje de programacin). Un lenguaje de programacin permite a uno o ms programadores especificar de manera precisa sobre qu datos debe operar una computadora, cmo estos datos deben ser almacenados o transmitidos y qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural, tal como sucede con el lenguaje Lxico. Una caracterstica relevante de los lenguajes de programacin es precisamente que ms de un programador puedan tener un conjunto comn de instrucciones que puedan ser comprendidas entre ellos para realizar la construccin del programa de forma colaborativa. Los procesadores usados en las computadoras son capaces de entender y actuar segn lo indican programas escritos en un lenguaje fijo llamado lenguaje de mquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras: Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intrpretes. Traduciendo este programa, al programa equivalente escrito en lenguaje de mquina. A ese proceso se lo llama compilar y al programa traductor se le denomina compilador. Clasificacin de los Lenguajes de Programacin Los lenguajes de programacin se pueden clasificar atendiendo a varios criterios: Segn su Nivel de Abstraccin LENGUAJES DE MQUINA. Estn escritos en lenguajes directamente legibles por la mquina (computadora), ya que sus instrucciones son cadenas binarias (0 y 1). Da la posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traduccin posterior lo que supone una velocidad de ejecucin superior, solo que con poca fiabilidad y dificultad de verificar y poner a punto los programas. LENGUAJES DE BAJO NIVEL. Los lenguajes de bajo nivel son lenguajes de programacin que se acercan al funcionamiento de una computadora. El

lenguaje de ms bajo nivel por excelencia es el cdigo mquina. A ste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa. LENGUAJES DE MEDIO NIVEL. Hay lenguajes de programacin que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas caractersticas que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje ms cercano al humano y, por tanto, de alto nivel. LENGUAJES DE ALTO NIVEL. Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por elementos de lenguajes naturales, como el ingls. En BASIC, uno de los lenguajes de alto nivel ms conocidos, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si el CONTADOR es igual a 10. Esta forma de trabajar puede dar la sensacin de que las computadoras parecen comprender un lenguaje natural; en realidad lo hacen de una forma rgida y sistemtica, sin que haya cabida, por ejemplo, para ambigedades o dobles sentidos. Segn el Paradigma de Programacin Un paradigma de programacin representa un enfoque particular o filosofa para la construccin del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situacin un paradigma resulta ms apropiado que otro. Atendiendo al paradigma de programacin, se pueden clasificar los lenguajes en: El paradigma imperativo o por procedimientos es considerado el ms comn y est representado, por ejemplo, por el C o por BASIC. El paradigma funcional est representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell. El paradigma lgico, un ejemplo es PROLOG. El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk. NOTA: La representacin orientada a objetos mejora la estructura de los datos y por lo tanto se ha aplicado a diferentes paradigmas como Redes de Petri, Imperativo Secuencial, Lgica de Predicados, Funcional, etc. No obstante, la manipulacin no queda fundamentalmente afectada y por lo tanto el paradigma inicial tampoco a pesar de ser re-orientado a objetos. Si bien puede seleccionarse la forma pura de estos paradigmas a la hora de programar, en la prctica es habitual que se mezclen, dando lugar a la programacin multiparadigma.

Actualmente el paradigma de programacin ms usado debido a mltiples ventajas respecto a sus anteriores, es la programacin orientada a objetos. 1. Lenguajes imperativos. Son los lenguajes que dan instrucciones a la computadora, es decir, rdenes. 2. Lenguajes Funcionales. Paradigma Funcional: este paradigma concibe a la computacin como la evaluacin de funciones matemticas y evita declarar y cambiar datos. En otras palabras, hace hincapi en la aplicacin de las funciones y composicin entre ellas, ms que en los cambios de estados y la ejecucin secuencial de comandos (como lo hace el paradigma procedimental). Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones. 3. Lenguajes Lgicos. La computacin lgica direcciona mtodos de procesamiento basados en el razonamiento formal. Los objetos de tales razonamientos son "hechos" o reglas "if then". Para computar lgicamente se utiliza un conjunto de tales estamentos para calcular la verdad o falsedad de ese conjunto de estamentos. Un estamento es un hecho si sus tuplas verifican una serie de operaciones. Un hecho es una expresin en la que algn objeto o conjunto de objetos satisface una relacin especfica. Una tupla es una lista inmutable. Una tupla no puede modificarse de ningn modo despus de su creacin. Un regla if then es un estamento que informa acerca de conjuntos de tuplas o estamentos relacionados que pueden predecir si otras tuplas satisfacern otras relaciones. Un estamento que es probado verdadero como resultado de un proceso se dice que es una inferencia del conjunto original. Se trata por tanto de una descripcin de cmo obtener la veracidad de un estamento dado que unas reglas son verdaderas. La computacin lgica est por tanto relacionada con la automatizacin de algn conjunto de mtodos de inferencia. 4. Lenguajes orientados a objetos. La Programacin Orientada a Objetos (POO u OOP segn sus siglas en ingls) es un paradigma de programacin que usa objetos y sus interacciones para disear aplicaciones y programas de computadora. Est basado en varias tcnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se populariz a principios de la dcada de 1990. Actualmente son muchos los lenguajes de programacin que soportan la orientacin a objetos.

Implementacin La implementacin de un lenguaje es la que provee una manera de que se ejecute un programa para una determinada combinacin de software y hardware. Existen bsicamente dos maneras de implementar un lenguaje: Compilacin e interpretacin. Compilacin es la traduccin a un cdigo que pueda utilizar la mquina. Los programas traductores que pueden realizar esta operacin se llaman compiladores. stos, como los programas ensambladores avanzados, pueden generar muchas lneas de cdigo de mquina por cada proposicin del programa fuente. Se puede tambin utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el cdigo objeto que se produce durante la compilacin para utilizarlo en una ejecucin futura, el programador slo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuacin, un programa intrprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la mquina, convierte cada proposicin del programa fuente en lenguaje de mquina conforme vaya siendo necesario durante el procesamiento de los datos. El cdigo objeto no se graba para utilizarlo posteriormente. La siguiente vez que se utilice una instruccin, se la deber interpretar otra vez y traducir a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo o bucle, cada instruccin del bucle tendr que volver a ser interpretada en cada ejecucin repetida del ciclo, lo cual hace que el programa sea ms lento en tiempo de ejecucin (porque se va revisando el cdigo en tiempo de ejecucin) pero ms rpido en tiempo de diseo (porque no se tiene que estar compilando a cada momento el cdigo completo). El intrprete elimina la necesidad de realizar una compilacin despus de cada modificacin del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelacin deber ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una ejecucin del cdigo. (Wikimedia Foundation, Inc., 2009) 2.4.8. Lenguaje de Programacin PHP PHP es un lenguaje de programacin interpretado, diseado originalmente para la creacin de pginas web dinmicas. Es usado principalmente en interpretacin del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de lnea de comandos o en la creacin de otros tipos de programas incluyendo aplicaciones con interfaz grfica usando las bibliotecas Qt o GTK+.

PHP es un acrnimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal Home Page Tools). Fue creado originalmente por Rasmus Lerdorf en 1994; sin embargo la implementacin principal de PHP es producida ahora por The PHP Group y sirve como el estndar de facto para PHP al no haber una especificacin formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como software libre. PHP es un lenguaje interpretado de propsito general ampliamente usado y que est diseado especialmente para desarrollo web y puede ser incrustado dentro de cdigo HTML. Generalmente se ejecuta en un servidor web, tomando el cdigo en PHP como su entrada y creando pginas web como salida. Puede ser desplegado en la mayora de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. PHP se encuentra instalado en ms de 20 millones de sitios web y en un milln de servidores, aunque el nmero de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. Este mismo sitio web de Wikipedia est desarrollado en PHP. Es tambin el mdulo Apache ms popular entre las computadoras que utilizan Apache como servidor web. La versin ms reciente de PHP es la 5.2.9-1 (for Windows) del 10 de Marzo de 2009. El gran parecido que posee PHP con los lenguajes ms comunes de programacin estructurada, como C y Perl, permiten a la mayora de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta. Tambin les permite involucrarse con aplicaciones de contenido dinmico sin tener que aprender todo un nuevo grupo de funciones. Aunque todo en su diseo est orientado a facilitar la creacin de pgina web, es posible crear aplicaciones con una interfaz grfica para el usuario, utilizando la extensin PHP-Qt o PHP-GTK. Tambin puede ser usado desde la lnea de rdenes, de la misma manera como Perl o Python pueden hacerlo, a esta versin de PHP se la llama PHP CLI (Command Line Interface). Cuando el cliente hace una peticin al servidor para que le enve una pgina web, el servidor ejecuta el intrprete de PHP. ste procesa el script solicitado que generar el contenido de manera dinmica (por ejemplo obteniendo informacin de una base de datos). El resultado es enviado por el intrprete al servidor, quien a su vez se lo enva al cliente. Mediante extensiones es tambin posible la generacin de archivos PDF, Flash, as como imgenes en diferentes formatos. Permite la conexin a diferentes tipos de servidores de bases de datos tales como MySQL, Postgres, Oracle, ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.

PHP tambin tiene la capacidad de ser ejecutado en la mayora de los sistemas operativos, tales como UNIX (y de ese tipo, como Linux o Mac OS X) y Windows, y puede interactuar con los servidores de web ms populares ya que existe en versin CGI, mdulo para Apache, e ISAPI. PHP es una alternativa a las tecnologas de Microsoft ASP y ASP.NET (que utiliza C# VB.NET como lenguajes), a ColdFusion de la compaa Adobe (antes Macromedia), a JSP/Java de Sun Microsystems, y a CGI/Perl. Aunque su creacin y desarrollo se da en el mbito de los sistemas libres, bajo la licencia GNU, existe adems un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. Recientemente, CodeGear (la divisin de lenguajes de programacin de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP, denominado Delphi for PHP. Existe un mdulo para Eclipse, uno de los IDE ms populares. Ventajas Es un lenguaje multiplataforma. Capacidad de conexin con la mayora de los manejadores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL. Capacidad de expandir su potencial utilizando la enorme cantidad de mdulos (llamados ext's o extensiones). Posee una amplia documentacin en su pgina oficial, entre la cual se destaca que todas las funciones del sistema estn explicadas y ejemplificadas en un nico archivo de ayuda. Es libre, por lo que se presenta como una alternativa de fcil acceso para todos. Permite las tcnicas de Programacin Orientada a Objetos. Biblioteca nativa de funciones sumamente amplia e incluida. No requiere definicin de tipos de variables (Esta caracterstica tambin podra considerarse una desventaja del lenguaje). Tiene manejo de excepciones (desde PHP5). Desventajas Si bien PHP no obliga a quien lo usa a seguir una determinada metodologa a la hora de programar (muchos otros lenguajes tampoco lo hacen), aun estando dirigido a alguna en particular, el programador puede aplicar en su trabajo cualquier tcnica de programacin y/o desarrollo que le permita escribir cdigo ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrn de diseo Modelo Vista Controlador (o MVC), que permiten separar el tratamiento y acceso a los datos, la lgica de control y la interfaz de usuario en tres componentes independientes. (Wikimedia Foundation, Inc., 2009)

2.4.9. Sistema de Gestin de Contenidos Un Sistema de gestin de contenidos (Content Management System en ingls, abreviado CMS) es un programa que permite crear una estructura de soporte (framework) para la creacin y administracin de contenidos, principalmente en pginas web, por parte de los participantes. Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio. El sistema permite manejar de manera independiente el contenido y el diseo. As, es posible manejar el contenido y darle en cualquier momento un diseo distinto al sitio sin tener que darle formato al contenido de nuevo, adems de permitir la fcil y controlada publicacin en el sitio a varios editores. Un ejemplo clsico es el de editores que cargan el contenido al sistema y otro de nivel superior (directorio) que permite que estos contenidos sean visibles a todo el pblico (los aprueba). CMS es el acrnimo en ingls, Content Management System, para sistema de gestin de contenidos. Los primeros sistemas de administracin de contenidos fueron desarrollados por organizaciones que publicaban una gran cantidad de contenido en internet, y necesitaban de continuas actualizaciones; como revistas en lnea, peridicos y publicaciones corporativas. En 1995, el sitio de noticias tecnolgicas CNET sac su sistema de administracin de documentos y publicacin y cre una compaa llamada Vignette, pionero de los sistemas de administracin de contenido comerciales. La evolucin de Internet hacia portales con ms contenido y la alta participacin de los usuarios directamente, a travs de blogs y redes sociales, han convertido a los gestores de contenidos en una herramienta esencial en internet, tanto para empresas e instituciones como para las personas. Los wikis y los sistemas groupware tambin son considerados CMS. Hoy en da existen versiones desarrolladas en cdigo abierto y versiones propietario. En ambos casos es necesaria una implantacin para adaptar el gestor de contenidos al esquema grfico y funcionalidades deseadas. Para ciertos gestores existen muchas plantillas disponibles que permite una sencilla implantacin por parte de un usuario sin conocimientos de programacin. El paradigma de este caso es Wordpress, gestor sobre el que hay una gran comunidad de desarrolladores de extensiones y plantillas. El gestor de contenidos es una aplicacin informtica usada para crear, editar, gestionar y publicar contenido digital en diversos formatos. El gestor de contenidos genera pginas dinmicas, mediante DHTML, (HTML dinmico); la aplicacin interacta con el servidor para generar la pgina web, bajo peticin del usuario, con el formato predefinido y el contenido extrado de la base de datos del servidor.

Esto permite gestionar, bajo un formato padronizado, la informacin del servidor, reduciendo el tamao de las pginas para descarga y reduciendo el coste de gestin del portal con respecto a una pgina esttica, en la que cada cambio de diseo debe ser realizado en todas las pginas, de la misma forma que cada vez que se agrega contenido tiene que maquetarse una nueva pgina HTML y subirla al servidor. Entendido como un sistema de soporte a la gestin de contenidos; ya que, en realidad, son las estrategias de comunicacin las que realmente llevan a gestionar contenidos de forma efectiva; los sistemas informticos pueden a lo sumo proporcionar las herramientas necesarias para la publicacin en lnea, o bien incluir servicios de soporte a la toma de decisiones por lo que a la gestin de contenidos se refiere. El gestor de contenidos se aplica generalmente para referirse a sistemas de publicacin, pudiendo subestimarse las funcionalidades de soporte, en detrimento de las funcionalidades relacionadas con la optimizacin de los tiempos de publicacin. La correcta implantacin del sistema, con arreglo a las necesidades del cliente es necesaria, y es necesario entender el proyecto de un portal web en el seno de un proyecto de comunicacin estructurado y bien planteado por parte del cliente. La eleccin de la plataforma correcta ser vital para alcanzar los objetivos del cliente, ya que exentan particularidades diferenciales tanto en su adaptabilidad a esquemas grficos como la posible integrabilidad de funcionalidades y extensiones adicionales. El posicionamiento en buscadores est altamente relacionado con el volumen de contenidos de un portal y con la forma en la que ste se presenta. Es importante tener eso en cuenta para la estructura del portal para garantizar un correcto posicionamiento orgnico. Un sistema de administracin de contenido siempre funciona en el servidor web en el que est alojado el portal. El acceso al gestor se realiza generalmente a travs del navegador web, y se puede requerir el uso de FTP para subir contenido. Cuando un usuario accede a una URL, se ejecuta en el servidor esa llamada, se selecciona el esquema grfico y se introducen los datos que correspondan de la base de datos. La pgina se genera dinmicamente para ese usuario, el cdigo HTML final se genera en esa llamada. Normalmente se predefine en el gestor varios formatos de presentacin de contenido para darle la flexibilidad a la hora de crear nuevos apartados e informaciones. Dependiendo de la plataforma escogida se podr escoger diferentes niveles de acceso para los usuarios; yendo desde el administrador del portal hasta el usuario sin permiso de edicin, o creador de contenido. Dependiendo de la

aplicacin podr haber varios permisos intermedios que permitan la edicin del contenido, la supervisin y reedicin del contenido de otros usuarios, y etc. El CMS controla y ayuda a manejar cada paso de este proceso, incluyendo las labores tcnicas de publicar los documentos a uno o ms sitios. En muchos sitios con CMS una sola persona hace el papel de creador y editor, como por ejemplo los blogs. Los gestores de contenido se pueden segmentar segn diferentes criterios: Segn el lenguaje de programacin empleado: Active Server Pages, Java, PHP, ASP.NET, Ruby On Rails Segn la propiedad del cdigo o Open Source (cdigo abierto); permite que se desarrolle sobre el cdigo, o Cdigo propietario; slo su desarrollador puede desarrollar la aplicacin. Segn el tipo de uso o funcionalidades: o Plataformas generales o Sistemas especficos o Blogs; pensados para pginas personales o Wikis; pensados para el desarrollo colaborativo o e-learning; plataforma para contenidos de enseanza on-line o e-commerce; plataforma de gestin de usuarios, catlogo, compras y pagos o Publicaciones digitales o Difusin de contenido multimedia Dentro de los portales se han realizado procesos de estandarizacin encaminados a la homogeneizacin en las interfaces de programacin de los mismos de tal manera que un servicio desarrollado para un portal pueda ejecutarse en cualquier otro portal compatible con el estndar. El objetivo es obtener portales interoperables evitando desarrollos propietarios. Las dos iniciativas ms importantes son la Portlet Specification API JSR-168 y la Content Repository API JSR-170. El gestor de contenidos facilita el acceso a la publicacin de contenidos a un rango mayor de usuarios. Permite que sin conocimientos de programacin ni maquetacin cualquier usuario pueda indexar contenido en el portal. Adems permite la gestin dinmica de usuarios y permisos, la colaboracin de varios usuarios en el mismo trabajo, la interaccin mediante herramientas de comunicacin.

Los costes de gestin de la informacin son mucho menores ya que se elimina un eslabn de la cadena de publicacin, el maquetador. La maquetacin es hecha al inicio del proceso de implantacin del gestor de contenidos. La actualizacin, backup y reestructuracin del portal son mucho ms sencillas al tener todos los datos vitales del portal, los contenidos, en una base de datos estructurada en el servidor. (Wikimedia Foundation, Inc., 2009) 2.4.10. Framework Joomla! Joomla! es principalmente una herramienta de desarrollo web, calificada como C.M.S o Content Management System, sistema de administracin de contenidos. Es una aplicacin de cdigo abierto construida mayoritariamente en PHP bajo una licencia GPL. Este administrador de contenidos puede trabajar en Internet o intranets y requiere de una base de datos MySQL, as como preferiblemente, de un servidor HTTP Apache. En Joomla! se incluyen caractersticas como: hacer cach de pginas para mejorar el rendimiento, indexamiento web, feed RSS, versiones imprimibles de pginas, flash con noticias, blogs, foros, polls (encuestas), calendarios, bsqueda en el sitio web, e internacionalizacin del lenguaje. Su nombre es una pronunciacin fontica para anglfonos de la palabra swahili jumla que significa "todos juntos" o "como un todo". Se escogi como una reflexin del compromiso del grupo de desarrolladores y la comunidad del proyecto. La primera versin de Joomla! (Joomla! 1.0.0) fue publicada el 16 de septiembre de 2005 y se trataba de una evolucin (fork) mejorada de Mambo 4.5.2.3 combinada con modificaciones de seguridad y anti-bugs. Actualmente los programadores han publicado Joomla! 1.5 estable, con un cdigo completamente reescrito y construido bajo PHP 5. Se est desarrollando. Joomla corresponde al grupo de soluciones de cdigo abierto, es un producto de software libre. Para el desarrollo de sus mltiples frentes, usa diferentes formas de comunicacin como son: los encuentros por medio de IRC, foros, listas de correo, "wikis" y blogs. Este gestor de contenidos sigue las pautas marcadas por el bazar, con su objetivo principal de dar solucin a las necesidades de todos aquellos que participan de una u otra forma en el proyecto. De forma similar a otros proyectos, Joomla mantiene dos versiones de la aplicacin: una estable y otra Beta o en desarrollo. La versin estable es la que se considera para usuarios y a medida que aparecen errores se corrigen, esta versin se publica sin nuevas funcionalidades. La versin Beta, incluye nuevas funcionalidades y mejoras a las fallas reportadas en versiones anteriores, de igual forma se tiene que en este tipo de versin se reflejan las directivas del proyecto para usuarios avanzados y desarrolladores.

El 22 de enero de 2008 se ha lanzado la versin 1.5 estable de Joomla, que incorpora notables mejoras en el rea de seguridad, administracin y cumplimiento con estndares W3C. Si bien es cierto que para esta seccin todava no existen gran cantidad de componentes, mdulos y plugins (mambots para Joomla! 1.0.X). Por ello, existe la posibilidad de activar un plugin incluido por defecto que mejora considerablemente (no por completo) la compatibilidad con la mayora de ampliaciones. Hoy en da es el CMS ms utilizado del mundo, el ms seguro y con mayor crecimiento que cualquier otro. Una de sus mayores potencialidades que tiene este CMS es la gran cantidad de extensiones existentes programadas por su comunidad de usuarios que aumentan las posibilidades de Joomla con nuevas caractersticas y que se integran fcilmente en l. (Wikimedia Foundation, Inc., 2009)

2.5.

Metodologa a Seguir
En el desarrollo del proyecto se har uso de la metodologa RUP para documentar los artefactos del sistema. RUP (Rational Unified Process en ingls, Proceso Unificado Racional en espaol) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa estndar ms utilizada para el anlisis, implementacin y documentacin de sistemas orientados a objetos. (Wikimedia Foundation, Inc., 2009) El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologas adaptables al contexto y necesidades de cada organizacin. La metodologa consta de 4 fases: FASE DE INICIO. En esta fase se desarrollan los requisitos del producto desde la perspectiva de los usuarios, los cuales son establecidos en el artefacto Visin. Los principales casos de uso sern identificados y se har un refinamiento del Plan de Desarrollo del Proyecto. La aceptacin cliente/usuario del artefacto Visin y el Plan de Desarrollo marcan el final de esta fase. FASE DE ELABORACIN. En esta fase se analizan los requisitos y se desarrolla un prototipo de arquitectura (incluyendo las partes ms relevantes y/o crticas del sistema). Al final de esta fase, todos los casos de uso correspondientes a requisitos que sern implementados en la primera release de la fase de Construccin deben estar analizados y diseados (en el Modelo de Anlisis/Diseo). La revisin y aceptacin del prototipo de la arquitectura del sistema marca el final de esta fase. FASE DE CONSTRUCCIN. Durante la fase de construccin se terminan de analizar y disear todos los casos de uso, refinando el Modelo de Anlisis / Diseo. El producto se construye en base a iteraciones, cada una produciendo

una release a la cual se le aplican las pruebas y se valida con el cliente / usuario. Se comienza la elaboracin de material de apoyo al usuario. FASE DE TRANSICIN. En esta fase se prepararn los releases para distribucin, asegurando una implantacin y cambio del sistema previo de manera adecuada, incluyendo el entrenamiento de los usuarios. El hito que marca el fin de esta fase incluye, la entrega de toda la documentacin del proyecto con los manuales de instalacin y todo el material de apoyo al usuario, la finalizacin del entrenamiento de los usuarios y el empaquetamiento del producto.

2.6.

Diseo de Investigacin
GC: MI --------------------------- X --------------------------- M3 GE: M2 --------------------------- X --------------------------- M4 Donde: X: Variable independiente GC: Grupo Control GE: Grupo Experimental M1: Medicin previa de la variable dependiente para el Grupo Control. M2: Medicin previa de la variable dependiente para el Grupo Experimental. M3: Medicin posterior de la variable dependiente para el Grupo Control. M4: Medicin posterior de la variable dependiente para el Grupo Experimental. M4 M3: Contrastacin de la hiptesis.

2.7.

Cobertura del Estudio


2.7.1. Poblacin Los alumnos de todos los ciclos de la Escuela Acadmico Profesional de Ingeniera de Sistemas e Informtica de la Universidad Nacional del Santa. 2.7.2. Muestra

2.8.

Fuentes, Tcnicas e Instrumentos de Recoleccin de Datos


Las tcnicas e instrumentos utilizados son: TCNICAS Observacin Entrevistas Encuestas Investigacin Bibliogrfica INSTRUMENTOS Hoja de anotaciones Grabadora Hoja de cuestionario Libros, revistas, manuales

Tabla 6. Tcnicas e instrumentos utilizados en la investigacin.

Bibliografa y Linkografa
Wikimedia Foudation, Inc. (25 de Mayo de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Servidor_Web Wikimedia Foundation, Inc. (24 de Junio de 2009). Universia. Recuperado el 9 de Julio de 2009, de http://es.wikipedia.org/wiki/Universia Wikimedia Foundation, Inc. (6 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Aplicacion_web Wikimedia Foundation, Inc. (10 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Base_de_datos Wikimedia Foundation, Inc. (12 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Sistema_Gestor_de_Bases_de_Datos Wikimedia Foundation, Inc. (5 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/MySQL Wikimedia Foundation, Inc. (29 de Abril de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Servidor_HTTP_Apache Wikimedia Foundation, Inc. (11 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n Wikimedia Foundation, Inc. (11 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/PHP Wikimedia Foundation, Inc. (6 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_contenido Wikimedia Foundation, Inc. (11 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/Joomla Wikimedia Foundation, Inc. (12 de Junio de 2009). Wikipedia, la enciclopeda libre. Recuperado el 13 de Junio de 2009, de Wikipedia, la enciclopeda libre: http://es.wikipedia.org/wiki/RUP

También podría gustarte