You are on page 1of 33

Proyecto de investigación

I. PLANTEAMIENTO DEL PROBLEMA 1.1. DETERMINACION DEL PROBLEMA
Hoy en día, la gran mayoría de instituciones y organizaciones cuentan con un sistema Web que les permita brindar al público información variada acerca de los productos y los servicios que ofrecen. También, se conciben estos sistemas de manera que ayuda al acercamiento a los clientes, actuales y potenciales, ya que es muy fácil distribuir la información 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 información mediante los sitios de plataforma Web, hace que se torne indispensable la implementación de un sitio Web, Página o cualquier término afín, el cual nos proporcionará un medio de comunicación de masas, que puede influir, educar o informar de manera casi gratuita. La Universidad Nacional del Santa es una institución de servicios, que tiene como misión formar profesionales con adecuados conocimientos científicos, tecnológicos, humanísticos, con altos valores éticos-morales tendientes a desarrollar sus capacidades y destrezas para contribuir a satisfacer las necesidades de la sociedad, así como desarrollar investigación científica y extensión social. La Escuela Académico Profesional de Ingeniería de Sistemas e Informática, es el órgano encargado de formar profesionales en Ingeniería de Sistemas e Informática de alto nivel; críticos, comprometidos con la búsqueda de la vedad y la práctica de valores en su interrelación permanente con la sociedad. Buscando la excelencia académica a través de la investigación y la docencia, brindando el soporte educacional a la política de generación de empleo. Siguiendo los avances tecnológicos, y sobre todo los avances a pasos agigantados de las tecnologías de información, la Escuela Académica Profesional de Ingeniería de Sistemas e Informática no puede estar ajena a dichos avances, además teniendo como antecedentes las características de nuestra carrera que nos impulsa a la práctica constante de la investigación, adquisición de nuevos y mejores conocimientos para luego aplicarlos en el desarrollo de soluciones para problemas en el entorno laboral. Ante ésta situación 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 comunicación constante entre estudiantes, docentes y autoridades, además que de ésta manera se promueve el compromiso de los estudiantes.

PROBLEMA GENERAL De acuerdo a las consideraciones expuestas, queremos despejar la siguiente interrogante:
¿En qué medida el Desarrollo de un Sistema vía Web promoverá la Integración de Alumnos, Docentes y Autoridades de la Escuela Académico Profesional de Ingeniería de Sistemas e Informática de la Universidad Nacional del Santa?

Colombia. se inicia la extensión del "Modelo Universia" hacia Portugal y los países iberoamericanos. Universia constituye la red universitaria más importante del mundo. Universia representa 10.4.2.100 universidades e instituciones de educación superior en 15 países. La Presidencia de la Sociedad creada a tal efecto (Portal Universia S. la información básica de Universia fue publicada en 5 idiomas dentro del portal de Wikipedia durante el mes de marzo de 2009 bajo la edición y traducción de Pabsi González de Universia Puerto Rico. Integra 1. 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 Españolas (CRUE).6 % del colectivo universitario de los países donde está presente. docentes y autoridades de la Escuela Académico Profesional de Ingeniería de Sistemas e Informática de la Universidad Nacional del Santa. Antecedentes UNIVERSIA Universia es la mayor red iberoamericana de colaboración universitaria.. Inc. Con el fin de expandir la red Universia hacia el mundo. Brasil. México. Este proyecto se realizará con la finalidad de lograr la integración de los miembros de la escuela así como también proporcionar un medio de comunicación formal para difundir las actividades académicas de la EAPISI.1. 2009) 2.000 profesores. 8 millones de usuarios mensualmente y 850. En la actualidad. A. España.5. Como resultado de esa extensión.) la asumió Emilio Botín Sanz. A partir de principios de 2001. el Consejo Superior de Investigaciones Científicas (CSIC) y la mayor parte de las universidades españolas.1. Puerto Rico y Venezuela). y así poder mejorar la relaciones entre ellos. Justificación El proyecto parte de la necesidad de promover la integración de los alumnos. Este Sistema vía Web permitirá una mejor administración de la información en lo que respecta al desarrollo de las actividades así como también se logrará . Chile. Perú.2 millones de alumnos. Portugal lo hace un año más tarde y Uruguay se formalizó años más tarde en noviembre de 2005. (Wikimedia Foundation. Las universidades socias de Universia forman el 75. se formalizaron los diferentes portales que constituyen la red y la constitución paralela de casi todas las sociedades Universia (Argentina.

promoviendo la integración de todos sus miembros. Limitaciones El sistema se ocupara de los siguientes aspectos: Información General de la Escuela Organización de la Escuela (Autoridades. elevando la imagen institucional. mayor La realización de este Sistema vía Web será de forma descriptiva dado que presenta valiosa información. Esta comunidad va a permitir la comunicación e integración entre los alumnos. o Descarga de formatos de trámites documentarios. o o o o o o o Comunidad de Sistemas.tener un merecido reconocimiento tanto en el ámbito local como nacional dando realce y aceptación a la carrera. o Grupos de Estudio. Servicios o Centro de descargas de manuales y tutoriales relacionados a las asignaturas del Plan Curricular. 2. etc) Plana Docente Perfil del Egresado Plan Curricular Grados y Títulos Procesos de trámites documentarios. los responsables de la realización y la dependencia en la que se desempeña el responsable. Eventos relacionados a la carrera. El Desarrollo e Implementación de un Sistema de Información vía Web para la Escuela Académico Profesional de la Universidad Nacional del Santa permitirá adoptar un medio de comunicación el cual va a hará posible una mejor gestión de la información (rapidez funcional y operativa). las observaciones y requisitos y los controles normativos en cada uno. Los alumnos de pregrado tendrán al alcance la información adecuada para desarrollar prácticas preprofesionales. o Blog y foros . lo cual facilitará un mejor entendimiento de sus procesos.6. egresados y docentes beneficiándolos en el aspecto profesional y laboral. definiendo variables importantes como son los tiempos ponderados para la realización de cada actividad. será analizada dentro de las 4 fases que corresponden al proyecto Web.1.

Desarrollar una comunidad Web a través de la cual. Demostrar que los alumnos de la Escuela Académico Profesional de Ingeniería de Sistemas e Informática son capaces de participar en proyectos serios de desarrollo de software. el diseño y la documentación del sistema. . 8.3. 6. alumnos. complementando los conocimientos impartidos en las aulas con contenido actualizado.1.3. JavaScript.4. Permitir que la EAPISI sea reconocida a nivel regional por ayudar al desarrollo profesional de sus alumnos.1 OBJETIVO GENERAL Desarrollar de un Sistema vía Web para promover la Integración de Alumnos. egresados y autoridad. Dar a conocer a nivel local. 7. Aplicación Web Se denomina aplicación web a aquellas aplicaciones que los usuarios pueden utilizar accediendo a un servidor web a través de Internet o de una intranet mediante un navegador. 1. es una aplicación software que se codifica en un lenguaje soportado por los navegadores web (HTML. Utilizar la metodología RUP y el lenguaje UML con extensiones para Web para llevar a cabo el análisis. 2.) en la que se confía la ejecución al navegador. docentes. Utilizar herramientas de software libre para realizar la implementación del sistema Web. En otras palabras. accedan a la información e interactúen dinámicamente. Recolectar los datos necesarios para el procesamiento de la información que se brindará en el sistema Web. Docentes y Autoridades de la Escuela Académico Profesional de Ingeniería de Sistemas e Informática de la Universidad Nacional del Santa.3.NET.2 OBJETIVOS ESPECIFICOS 1. Marco Teórico 2. regional y nacional el potencial existente en los alumnos de la Escuela Académico Profesional de Ingeniería de Sistemas e Informática. etc. 2. 9.3. 4. ASP.4.1. 5. 2. Java. OBJETIVOS GENERALES Y ESPECIFICOS 1. Docentes y Autoridades de la Escuela Académico Profesional de Ingeniería de Sistemas e Informática de la Universidad Nacional del Santa. Hipótesis El Desarrollo de un Sistema vía Web permitirá la Integración de Alumnos. Ayudar a elevar el nivel académico de los alumnos de la EAPISI. Agilizar la toma de decisiones en base a los resultados ofrecidos por el sistema. 3.

actuando como cliente para cualquier aplicación web. AJAX. . Se utilizan lenguajes interpretados en el lado del cliente. las aplicaciones web generan dinámicamente una serie de páginas en un formato estándar. Las interfaces web tienen ciertas limitaciones en las funcionalidades que se ofrecen al usuario. pero la secuencia de páginas ofrece al usuario una experiencia interactiva. cada aplicación tenía su propio programa cliente que servía como interfaz de usuario que tenía que ser instalado por separado en cada ordenador personal de cada usuario. para añadir elementos dinámicos a la interfaz de usuario. participar en juegos diversos y acceder a gestores de base de datos de todo tipo. requería normalmente una mejora de los clientes instalados en cada ordenador personal. especialmente para ofrecer una experiencia interactiva que no requiera recargar la página cada vez (lo que suele resultar molesto a los usuarios). como parte de la aplicación. El cliente realizaba peticiones a otro programa -el servidorque le daba respuesta. tales como JavaScript. Una mejora en el servidor. gracias a que la página responderá a cada una de sus acciones. Durante la sesión. que soportan por los navegadores web comunes. Esto permite que el usuario acceda a los datos de modo interactivo. es una técnica de desarrollo web que usa una combinación de varias tecnologías. añadiendo un coste de soporte técnico y disminuyendo la productividad. En los primeros tiempos de la computación cliente-servidor. el navegador web interpreta y muestra en pantalla las páginas. wikis.Las aplicaciones web son populares debido a lo práctico del navegador web como cliente ligero. Es importante mencionar que una página Web puede contener elementos que permiten una comunicación activa entre el usuario y la información. Hay funcionalidades comunes en las aplicaciones de escritorio como dibujar en la pantalla o arrastrar-ysoltar que no están soportadas por las tecnologías web estándar. Existen aplicaciones como los webmails. como por ejemplo rellenar y enviar formularios. Generalmente cada página web en particular se envía al cliente como un documento estático. como por ejemplo PHP. como HTML o XHTML. Los desarrolladores web generalmente utilizan lenguajes interpretados o script en el lado del cliente para añadir más funcionalidades. weblogs y las tiendas en línea que son ejemplos bien conocidos de aplicaciones web. A diferencia de lo anterior. así como a la facilidad para actualizar y mantener aplicaciones web sin distribuir e instalar software a miles de usuarios potenciales. Recientemente se han desarrollado tecnologías para coordinar estos lenguajes con tecnologías en el lado del servidor. Como ejemplo.

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

Tipos de Bases de Datos Las bases de datos pueden clasificarse de varias maneras. realizar proyecciones y tomar decisiones. se estudian dentro del ámbito de la informática. Existen unos programas denominados sistemas gestores de bases de datos. Un ejemplo de esto puede ser la base de datos utilizada en un sistema de información de una tienda de abarrotes. que ofrece un amplio rango de soluciones al problema de almacenar datos. Éstas son bases de datos donde la información almacenada se modifica con el tiempo. una farmacia. BASES DE DATOS DINÁMICAS. una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Por ejemplo en España. de acuerdo al criterio elegido para su clasificación: Según la Variabilidad de los Datos Almacenados BASES DE DATOS ESTÁTICAS. borrado y adición de datos. además de las operaciones fundamentales de consulta. Aunque las bases de datos pueden contener muchos tipos de datos. Base de Datos Una base de datos o banco de datos (en inglés: database) es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD).4. así como su utilización y administración. Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas.2. algunos de ellos se encuentran protegidos por las leyes de varios países. un videoclub. . y debido al desarrollo tecnológico de campos como la informática y la electrónica. En la actualidad. Éstas son bases de datos de sólo lectura. Las propiedades de estos SGBD.2. la mayoría de las bases de datos están en formato digital (electrónico). permitiendo operaciones como actualización. abreviado SGBD. En este sentido. etc. También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental. utilizadas primordialmente para almacenar datos históricos que posteriormente se pueden utilizar para estudiar el comportamiento de un conjunto de datos a través del tiempo. que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada.

Un ejemplo son las guías telefónicas en formato electrónico. BASES DE DATOS DE TEXTO COMPLETO.Según el Contenido BASES DE DATOS BIBLIOGRÁFICAS. etc. porque sino estaríamos en presencia de una base de datos a texto completo (o de fuentes primarias —ver más abajo). editorial. BASES DE DATOS O "BIBLIOTECAS" DE INFORMACIÓN BIOLÓGICA. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de datos. pero nunca el texto completo. título. comprende los registros de datos experimentales sobre estructuras 3D de biomoléculas. Un registro típico de una base de datos bibliográfica contiene información sobre el autor. Se pueden considerar en varios subtipos: o Aquellas que almacenan secuencias de nucleótidos o proteínas. así como de los métodos para almacenar y recuperar información de esos contenedores. edición. Puede contener un resumen o extracto de la publicación original. Algunos modelos con frecuencia utilizados en las bases de datos: . el contenido son cifras o números. fecha de publicación. Solo contienen un subrogante (representante) de la fuente primaria. o Las bases de datos de rutas metabólicas o Bases de datos de estructura. de una determinada publicación. o Bases de datos clínicas o Bases de datos bibliográficas (biológicas) Modelos de Bases de Datos Además de la clasificación por la función de las bases de datos. que permite localizarla. por lo general se refieren a algoritmos. una colección de resultados de análisis de laboratorio. como por ejemplo. Como su nombre lo indica. Por ejemplo. Son bases de datos que almacenan diferentes tipos de información proveniente de las ciencias de la vida o médicas. todo el contenido de todas las ediciones de una colección de revistas científicas. entre otras. Almacenan las fuentes primarias. éstas también se pueden clasificar de acuerdo a su modelo de administración de datos. DIRECTORIOS. y conceptos matemáticos. Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor de datos (algo en donde se guarda la información).

la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". de los laboratorios IBM en San José (California). ya que ofrecía una solución eficiente al problema de redundancia de datos. En este modelo. la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales. el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). que representarían las tuplas. Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd. y a los nodos que no tienen hijos se los conoce como hojas. almacenan su información en una estructura jerárquica. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla). como su nombre indica. El nodo que no tiene padres es llamado raíz. Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. aun así. Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos.Bases de Datos Jerárquicas Éstas son bases de datos que. en donde un nodo padre de información puede tener varios hijos. Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento. Fue una gran mejora con respecto al modelo jerárquico. Base de Datos de Red Éste es un modelo ligeramente distinto del jerárquico. su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico). y campos (las columnas de una tabla). La información puede ser . pero. Base de Datos Relacional Éste es el modelo no utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de "relaciones". no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés).

o bien representan métricas que se desean estudiar. Básicamente no se diferencian demasiado de las bases de datos relacionales (una tabla en una base de datos relacional podría serlo también en una base de datos multidimensional).recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información. un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. la diferencia está más bien a nivel conceptual. Bases de Datos Multidimensionales Son bases de datos ideadas para desarrollar aplicaciones muy concretas. Durante su diseño. La implementación (o método) de la operación se . una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos. bastante reciente. Propiedad que permite ocultar la información al resto de los objetos. Una operación (llamada función) se especifica en dos partes. Aunque nunca debe olvidarse que dBASE no utilizaba SQL como lenguaje base para su gestión. y propio de los modelos informáticos orientados a objetos. POLIMORFISMO. como creación de Cubos OLAP. HERENCIA. 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: ENCAPSULACIÓN. Structured Query Language o Lenguaje Estructurado de Consultas. Bases de Datos Orientadas a Objetos Este modelo. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). En bases de datos orientadas a objetos. o bien representan dimensiones de la tabla. en las bases de datos multidimensionales los campos o atributos de una tabla pueden ser de dos tipos. Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos. Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases. impidiendo así accesos incorrectos o conflictos. El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL.

que es el estándar de SQL92 ampliado. a raíz de que se basa en lógica matemática..3. abreviado DBMS) son un tipo de software muy específico. dedicado a servir de interfaz entre la base de datos. Surgen debido a la existencia física de organismos descentralizados. Se basa principalmente en reglas y hechos que son almacenados en la base de datos. (Wikimedia Foundation. y en líneas generales realizar búsquedas más potentes. El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Esto podría denominarse independencia entre programas y operaciones. También las bases de datos deductivas son llamadas base de datos lógica. sucursales de tiendas. Tesaurus es un sistema de índices optimizado para este tipo de bases de datos. Inc. sea cual sea la forma en la que se han implementado. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos. Gestión de Bases de Datos Distribuida La base de datos está almacenada en varias computadoras conectadas en red. Da lo mismo si una base de . Esto les da la capacidad de unir las bases de datos de cada localidad y acceder así a distintas universidades. es un sistema de base de datos pero con la diferencia de que permite hacer deducciones a través de inferencias. 2009) 2. sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante para una organización.4. (en inglés: DataBase Management System. Bases de Datos Documentales Permiten la indexación a texto completo. etcétera. Existen distintos objetivos que deben cumplir los SGBD: Abstracción de la información.especifica separadamente y puede modificarse sin afectar la interfaz. que soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad con SQL92. Sistemas Gestores de Bases de datos Los sistemas de gestión de base de datos (SGBD). Se está trabajando en SQL3. Base de Datos Deductivas Un sistema de bases de datos deductivas. el usuario y las aplicaciones que la utilizan.

Consistencia.datos ocupa uno o cientos de archivos. Tiempo de respuesta. es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados. Así. Lógicamente. Algunas de estas facilidades son: Simplifican consistencia de los datos. Una Transacción es un programa que se ejecuta como una sola operación. Permiten bajan drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores. Manejan las políticas de respaldo adecuadas garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente. Los SGBD proveen mecanismos para programar las modificaciones de los datos de una forma mucho más simple que si no se dispusiera de ellos. Independencia. En aquellos casos en los que no se ha logrado eliminar la redundancia. es decir. proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos. que todos los datos repetidos se actualicen de forma simultánea. Por otra parte. Seguridad. se definen varios niveles de abstracción. por ejemplo que los menores de edad no pueden tener licencia de conducir. que permiten otorgar diversas categorías de permisos. Usualmente. este hecho se hace transparente al usuario. El sistema no debería aceptar datos de un conductor menor de edad. Manejo de Transacciones. Permiten realizar una reorganización de los datos con un impacto mínimo en el código de los programas. etc. Ventajas Proveen facilidades para la manipulación de grandes volúmenes de datos. será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura de permisos a usuarios y grupos de usuarios. la base de datos representa una realidad determinada que tiene determinadas condiciones. Esto quiere decir que luego de una ejecución en la que se produce una falla es el mismo que se obtendría si el programa no se hubiera ejecutado. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. En los SGBD existen herramientas que facilitan la programación de este tipo de condiciones. .

Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia. donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual. Esto puede llegar a incrementar los costos de operación en una empresa. que posee el copyright de la mayor parte del código. por lo que estos equipos pueden llegar a costar gran cantidad de dinero. fecha de lanzamiento. Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño. multihilo y multiusuario con más de seis millones de instalaciones. Al contrario de proyectos como Apache. es necesario disponer de una o más personas que administren de la base de datos. Está desarrollado en su mayor parte en ANSI C. 2009) 2. la compañía ofrece soporte y servicios. . que requiere de gran cantidad de memoria para poder correr. pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. en la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren de los sistemas operativos.4.. Allan Larsson y Michael Widenius. Inc. Complejidad: el software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.Inconvenientes Típicamente. Servidor MySQL MySQL es un sistema de gestión de base de datos relacional. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene. Además de la venta de licencias privativas. entonces es posible que sea mejor usar una planilla de cálculo. (Wikimedia Foundation. 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. MySQL es propietario y está patrocinado por una empresa privada. Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos. 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. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. MySQL AB fue fundado por David Axmark. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet.4.

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

al teclear www.4. lo interpreta y lo exhibe en pantalla. poder montar nuestra propia página web sin necesidad de contratar hosting. acceder a los archivos de nuestro equipo desde un PC remoto (aunque para esto existen otras opciones. Este protocolo pertenece a la capa de aplicación del modelo OSI y está diseñado para transferir lo que llamamos hipertextos. Instalar un servidor web en nuestro PC nos permitirá. los colores y la disposición de los textos y objetos de la página. Es un programa que se ejecuta continuamente en un ordenador (también se emplea el término para referirse al ordenador que lo ejecuta). el . formularios.5. HTML es un lenguaje de marcas y HTTP es un protocolo. botones y objetos incrustados como animaciones o reproductores de música. figuras.wikipedia. manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente. entre otras cosas. incluso sin publicidad y con interesantes funciones). lo que hace a MySQL ideal para este tipo de aplicaciones. el cliente. 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 petición al servidor y éste le responde con el contenido que el cliente solicita. 2009) 2. mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error. páginas web o páginas HTML (HyperText Markup Language): textos complejos con enlaces. es decir.org en nuestro navegador. El servidor responde al cliente enviando el código HTML de la página. el cliente es el encargado de interpretar el código HTML. Inc. Sin embargo. probar nuestros desarrollos vía local. una vez recibido el código. A modo de ejemplo. con el consiguiente coste debido al consumo de electricidad (conviene tener en cuenta que hay alojamientos web gratuitos. El problema de usar nuestro ordenador como servidor web es que conviene tenerlo encendido permanentemente (para que esté accesible de forma continua como la mayoría de los sitios webs). Como vemos con este ejemplo. Servidor Web Un servidor web es un programa que implementa el protocolo HTTP (HyperText Transfer Protocol).es intensivo en lectura de datos. de mostrar las fuentes. éste realiza una petición HTTP al servidor de dicha dirección.. como utilizar un servidor FTP) o utilizar alguno de los programas basados en web tan interesantes que están viendo la luz últimamente. el hecho de que HTTP y HTML estén íntimamente ligados no debe dar lugar a confundir ambos términos. (Wikimedia Foundation.

). Comúnmente. como sí ocurre en el caso de querer ejecutar aplicaciones JavaScript o Java. Aplicaciones en el lado del servidor: el servidor web ejecuta la aplicación.servidor tan sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma. Así pues. Servidor HTTP Apache El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD. y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1. etc. Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones web. los navegadores permiten ejecutar aplicaciones escritas en lenguaje JavaScript y Java. a patchy server (un servidor "parcheado"). una vez ejecutada. cualquier cliente dotado de un navegador web básico puede utilizar este tipo de aplicaciones. Hay que distinguir entre: Aplicaciones en el lado del cliente: el cliente web es el encargado de ejecutarlas en la máquina del usuario. 2009) 2. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Son las aplicaciones tipo Java o JavaScript: el servidor proporciona el código de las aplicaciones al cliente y éste. . Su nombre se debe a que Behelendorf eligió ese nombre porque quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo. ésta. GNU/Linux. el servidor toma este código recién creado y lo envía al cliente por medio del protocolo HTTP. éste no necesita ninguna capacidad añadida. mediante el navegador. Macintosh y otras.1 y la noción de sitio virtual. al ejecutarse ésta en el servidor y no en la máquina del cliente. que el cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas scripts). Es necesario.. Inc. El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. (Wikimedia Foudation. en inglés.6. La razón es que. aunque pueden añadirse más lenguajes mediante el uso de plugins. y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Era. por tanto. Sobre el servicio web clásico podemos disponer de aplicaciones web. las ejecuta. pero más tarde fue reescrito por completo.3.4. que implementa el protocolo HTTP/1. genera cierto código HTML. Éstas son porciones de código que se ejecutan cuando se realizan ciertas peticiones o respuestas HTTP. Windows.

y en muchas distribuciones Linux. Algunos de los más . Microsoft Internet Information Services (IIS) es el principal competidor de Apache. Sin embargo. Apache es incluido con Novell NetWare 6. así como Sun Java System Web Server de Sun Microsystems y un anfitrión de otras aplicaciones como Zeus Web Server. Mac OS X integra apache como parte de su propio servidor web y como soporte de su servidor de aplicaciones WebObjects. Este servidor web es redistribuido como parte de varios paquetes propietarios de software. Apache es el componente de servidor web en la popular plataforma de aplicaciones LAMP. Muchas aplicaciones web están diseñadas asumiendo como ambiente de implantación a Apache. Apache. desde donde pueden ser compartidos. pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. Apache tiene amplia aceptación en la red: desde 1996.Apache presenta entre otras características mensajes de error altamente configurables. sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. junto a MySQL y los lenguajes de programación PHP/Perl/Python (y ahora también Ruby). Alcanzó su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el mundo. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. algunas se pueden accionar remotamente en ciertas situaciones. es el servidor HTTP más usado. (Estadísticas históricas y de uso diario proporcionadas por Netcraft[]). o que utilizarán características propias de este servidor web. Apache es usado primariamente para enviar páginas web estáticas y dinámicas en la World Wide Web. Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposición en una forma segura y confiable. o explotar por los usuarios locales malévolos en las disposiciones de recibimiento compartidas que utilizan PHP como módulo de Apache. bases de datos de autenticación y negociado de contenido. Los programadores de aplicaciones web a veces utilizan una versión local de Apache en orden de previsualizar y probar código mientras éste es desarrollado. Un usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raíz de documentos de Apache. donde es el servidor web por defecto. Es soportado de alguna manera por Borland en las herramientas de desarrollo Kylix y Delphi. La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser aprovechadas por usuarios locales y no remotamente.5. incluyendo la base de datos Oracle y el IBM WebSphere Application Server.

El nombre Apache es una marca registrada y puede ser sólo utilizada con el permiso expreso del dueño de la marca. La Licencia Apache permite la distribución de derivados de código abierto y cerrado a partir de su código fuente original. La licencia de software bajo la cual el software de la fundación Apache es distribuido es una parte distintiva de la historia de Apache HTTP Server y de la comunidad de código abierto. en la cual el software licenciado bajo la Apache License no puede ser integrado con software distribuido bajo la GPL Sin embargo.7. (Wikimedia Foundation.. Un lenguaje de programación es un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y . MUL (multiplicar). La Free Software Foundation no considera a la Licencia Apache como compatible con la versión 2 de la GNU General Public License (GPL).) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. denominada Google Web Server (GWS). los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos. Posteriormente aparecieron diferentes lenguajes de programación.grandes sitios web del mundo están ejecutándose sobre Apache.4.. A esta secuencia de posiciones se le denominó "instrucciones". Lenguaje de Programación Con la aparición de las computadoras desaparecen las secuencias de posiciones de llaves mecánicas que debían desconectarse para obtener una acción determinada. La capa frontal (front end) del motor de búsqueda Google está basada en una versión modificada de Apache. incluyendo a la Licencia Apache. la versión 3 de la GPL incluye una provisión (Sección 7e) que le permite ser compatible con licencias que tienen claúsulas de represalia de patentes. SUB (restar). etc. Muchos proyectos de Wikimedia también se ejecutan sobre servidores web Apache. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.. 2009) 2. Inc. y a este conjunto de instrucciones se le llamó lenguaje ensamblador. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101. CALL (ejecutar subrutina). una llave conectada era un 1 y una llave desconectada era un 0. La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar).

Un lenguaje de programación permite a uno o más programadores especificar de manera precisa sobre qué datos debe operar una computadora. por ejemplo. tal como sucede con el lenguaje Léxico. al programa equivalente escrito en lenguaje de máquina. Da la posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior lo que supone una velocidad de ejecución superior. Traduciendo este programa. Es utilizado para controlar el comportamiento físico y lógico de una máquina. A ese proceso se lo llama compilar y al programa traductor se le denomina compilador. a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Clasificación de los Lenguajes de Programación Los lenguajes de programación se pueden clasificar atendiendo a varios criterios: Según su Nivel de Abstracción LENGUAJES DE MÁQUINA. no tiene por qué ser así. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras: Mediante un programa que va adaptando las instrucciones conforme son encontradas. Aunque muchas veces se usan los términos 'lenguaje de programación' y 'lenguaje informático' como si fuesen sinónimos. Todo esto.expresiones. como. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa. LENGUAJES DE BAJO NIVEL. Están escritos en lenguajes directamente legibles por la máquina (computadora). Los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. el HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación). El . ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más. Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intérpretes. ya que sus instrucciones son cadenas binarias (0 y 1). solo que con poca fiabilidad y dificultad de verificar y poner a punto los programas. cómo estos datos deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias.

en la práctica es habitual que se mezclen. LENGUAJES DE ALTO NIVEL. Atendiendo al paradigma de programación. ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa. en realidad lo hacen de una forma rígida y sistemática. Lógica de Predicados. sino que cada uno tiene ventajas y desventajas. los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si el CONTADOR es igual a 10. ML o Haskell. Imperativo Secuencial. por ejemplo. El paradigma orientado a objetos. para ambigüedades o dobles sentidos. uno de los lenguajes de alto nivel más conocidos. A éste le sigue el lenguaje ensamblador. un ejemplo es PROLOG. sin que haya cabida. la manipulación no queda fundamentalmente afectada y por lo tanto el paradigma inicial tampoco a pesar de ser re-orientado a objetos. El paradigma lógico. No es mejor uno que otro. LENGUAJES DE MEDIO NIVEL. El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme). Esta forma de trabajar puede dar la sensación de que las computadoras parecen comprender un lenguaje natural. etc. Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales. ciertas cualidades que lo hacen un lenguaje más cercano al humano y. No obstante. por el C o por BASIC. En BASIC. .lenguaje de más bajo nivel por excelencia es el código máquina. Si bien puede seleccionarse la forma pura de estos paradigmas a la hora de programar. por tanto. por ejemplo. de alto nivel. Funcional. se pueden clasificar los lenguajes en: El paradigma imperativo o por procedimientos es considerado el más común y está representado. Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo. NOTA: La representación orientada a objetos mejora la estructura de los datos y por lo tanto se ha aplicado a diferentes paradigmas como Redes de Petri. como el inglés. Un lenguaje completamente orientado a objetos es Smalltalk. Según el Paradigma de Programación Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. dando lugar a la programación multiparadigma. Dependiendo de la situación un paradigma resulta más apropiado que otro. al mismo tiempo.

Un hecho es una expresión en la que algún objeto o conjunto de objetos satisface una relación específica. 1. La computación lógica está por tanto relacionada con la automatización de algún conjunto de métodos de inferencia. modularidad. es la programación orientada a objetos. Lenguajes orientados a objetos. 3. 2. es decir. incluyendo herencia.Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores. La computación lógica direcciona métodos de procesamiento basados en el razonamiento formal. Lenguajes Lógicos. En otras palabras. Para computar lógicamente se utiliza un conjunto de tales estamentos para calcular la verdad o falsedad de ese conjunto de estamentos. 4. Su uso se popularizó a principios de la década de 1990. Los objetos de tales razonamientos son "hechos" o reglas "if then". Son los lenguajes que dan instrucciones a la computadora. Paradigma Funcional: este paradigma concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. Se trata por tanto de una descripción de cómo obtener la veracidad de un estamento dado que unas reglas son verdaderas. Permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo de programaciones. Está basado en varias técnicas. La Programación Orientada a Objetos (POO u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. órdenes. polimorfismo y encapsulamiento. hace hincapié en la aplicación de las funciones y composición entre ellas. Un regla if then es un estamento que informa acerca de conjuntos de tuplas o estamentos relacionados que pueden predecir si otras tuplas satisfacerán otras relaciones. más que en los cambios de estados y la ejecución secuencial de comandos (como lo hace el paradigma procedimental). Lenguajes imperativos. Una tupla es una lista inmutable. Una tupla no puede modificarse de ningún modo después de su creación. Un estamento que es probado verdadero como resultado de un proceso se dice que es una inferencia del conjunto original. . Lenguajes Funcionales. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos. Un estamento es un hecho si sus tuplas verifican una serie de operaciones.

Existen básicamente dos maneras de implementar un lenguaje: Compilación e interpretación. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la compilación para utilizarlo en una ejecución futura.8. La siguiente vez que se utilice una instrucción. Compilación es la traducción a un código que pueda utilizar la máquina.. El intérprete elimina la necesidad de realizar una compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores. Los programas traductores que pueden realizar esta operación se llaman compiladores. Es usado principalmente en interpretación del lado del servidor (server-side scripting) pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. almacenado en el sistema operativo del disco. se la deberá interpretar otra vez y traducir a lenguaje máquina. convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el procesamiento de los datos. lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo).4. . 2009) 2. (Wikimedia Foundation. pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Éstos. un programa intérprete. durante el procesamiento repetitivo de los pasos de un ciclo o bucle. Por ejemplo. Inc. cada instrucción del bucle tendrá que volver a ser interpretada en cada ejecución repetida del ciclo.Implementación La implementación de un lenguaje es la que provee una manera de que se ejecute un programa para una determinada combinación de software y hardware. como los programas ensambladores avanzados. el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. El código objeto no se graba para utilizarlo posteriormente. Lenguaje de Programación PHP PHP es un lenguaje de programación interpretado. Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. diseñado originalmente para la creación de páginas web dinámicas. A continuación. o incluido de manera permanente dentro de la máquina. pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una ejecución del código.

tomando el código en PHP como su entrada y creando páginas web como salida. Microsoft SQL Server. PHP es un lenguaje interpretado de propósito general ampliamente usado y que está diseñado especialmente para desarrollo web y puede ser incrustado dentro de código HTML. Publicado bajo la PHP License. como C y Perl. sin embargo la implementación principal de PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una especificación formal. es posible crear aplicaciones con una interfaz gráfica para el usuario. También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo grupo de funciones. ODBC. Generalmente se ejecuta en un servidor web. Postgres. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo información de una base de datos).9-1 (for Windows) del 10 de Marzo de 2009. El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada. Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin costo alguno. DB2. La versión más reciente de PHP es la 5. o. Este mismo sitio web de Wikipedia está desarrollado en PHP. el servidor ejecuta el intérprete de PHP. Mediante extensiones es también posible la generación de archivos PDF.PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools. Es también el módulo Apache más popular entre las computadoras que utilizan Apache como servidor web. aunque el número de sitios en PHP ha compartido algo de su preponderante sitio con otros nuevos lenguajes no tan poderosos desde agosto de 2005. así como imágenes en diferentes formatos. Cuando el cliente hace una petición al servidor para que le envíe una página web. la Free Software Foundation considera esta licencia como software libre. utilizando la extensión PHP-Qt o PHP-GTK. a esta versión de PHP se la llama PHP CLI (Command Line Interface). PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de servidores. El resultado es enviado por el intérprete al servidor. . Personal Home Page Tools). También puede ser usado desde la línea de órdenes.2. Firebird y SQLite. Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL. Aunque todo en su diseño está orientado a facilitar la creación de página web. Flash. Oracle. Fue creado originalmente por Rasmus Lerdorf en 1994. de la misma manera como Perl o Python pueden hacerlo. quien a su vez se lo envía al cliente. permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta.

Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (o MVC). Biblioteca nativa de funciones sumamente amplia e incluida. por lo que se presenta como una alternativa de fácil acceso para todos.PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos. Capacidad de conexión con la mayoría de los manejadores de base de datos que se utilizan en la actualidad. e ISAPI. a ColdFusion de la compañía Adobe (antes Macromedia). destaca su conectividad con MySQL. Posee una amplia documentación en su página oficial. estructurado y manejable. existe además un IDE (entorno de desarrollo integrado) comercial llamado Zend Studio. la lógica de control y la interfaz de usuario en tres componentes independientes. y a CGI/Perl. No requiere definición de tipos de variables (Esta característica también podría considerarse una desventaja del lenguaje). (Wikimedia Foundation. como Linux o Mac OS X) y Windows.. aun estando dirigido a alguna en particular. 2009) . Inc. uno de los IDE más populares. CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un entorno integrado de desarrollo para PHP. Es libre. a JSP/Java de Sun Microsystems. módulo para Apache. Recientemente. que permiten separar el tratamiento y acceso a los datos. Permite las técnicas de Programación Orientada a Objetos. tales como UNIX (y de ese tipo. y puede interactuar con los servidores de web más populares ya que existe en versión CGI. entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda. Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones). PHP es una alternativa a las tecnologías de Microsoft ASP y ASP. Aunque su creación y desarrollo se da en el ámbito de los sistemas libres. Tiene manejo de excepciones (desde PHP5). denominado Delphi for PHP.NET como lenguajes). bajo la licencia GNU. Desventajas Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar (muchos otros lenguajes tampoco lo hacen). Existe un módulo para Eclipse. Ventajas Es un lenguaje multiplataforma.NET (que utiliza C# VB. el programador puede aplicar en su trabajo cualquier técnica de programación y/o desarrollo que le permita escribir código ordenado.

Content Management System. El sistema permite manejar de manera independiente el contenido y el diseño. El gestor de contenidos es una aplicación informática usada para crear. periódicos y publicaciones corporativas. pionero de los sistemas de administración de contenido comerciales. El gestor de contenidos genera páginas dinámicas. (HTML dinámico).4. Consiste en una interfaz que controla una o varias bases de datos donde se aloja el contenido del sitio. han convertido a los gestores de contenidos en una herramienta esencial en internet. es posible manejar el contenido y darle en cualquier momento un diseño distinto al sitio sin tener que darle formato al contenido de nuevo. En ambos casos es necesaria una implantación para adaptar el gestor de contenidos al esquema gráfico y funcionalidades deseadas. la aplicación interactúa con el servidor para generar la página web. Hoy en día existen versiones desarrolladas en código abierto y versiones propietario. En 1995. para sistema de gestión de contenidos. el sitio de noticias tecnológicas CNET sacó su sistema de administración de documentos y publicación y creó una compañía llamada Vignette. Para ciertos gestores existen muchas plantillas disponibles que permite una sencilla implantación por parte de un usuario sin conocimientos de programación. a través de blogs y redes sociales. La evolución de Internet hacia portales con más contenido y la alta participación de los usuarios directamente. gestionar y publicar contenido digital en diversos formatos. Un ejemplo clásico 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 público (los aprueba). abreviado CMS) es un programa que permite crear una estructura de soporte (framework) para la creación y administración de contenidos. . con el formato predefinido y el contenido extraído de la base de datos del servidor. como revistas en línea. por parte de los participantes. CMS es el acrónimo en inglés. El paradigma de este caso es Wordpress. principalmente en páginas web. Sistema de Gestión de Contenidos Un Sistema de gestión de contenidos (Content Management System en inglés. gestor sobre el que hay una gran comunidad de desarrolladores de extensiones y plantillas. además de permitir la fácil y controlada publicación en el sitio a varios editores. Los wikis y los sistemas groupware también son considerados CMS.2. Los primeros sistemas de administración de contenidos fueron desarrollados por organizaciones que publicaban una gran cantidad de contenido en internet.9. y necesitaban de continuas actualizaciones. editar. mediante DHTML. Así. bajo petición del usuario. tanto para empresas e instituciones como para las personas.

Un sistema de administración de contenido siempre funciona en el servidor web en el que esté alojado el portal. son las estrategias de comunicación las que realmente llevan a gestionar contenidos de forma efectiva. Cuando un usuario accede a una URL. El gestor de contenidos se aplica generalmente para referirse a sistemas de publicación. Dependiendo de la . La página se genera dinámicamente para ese usuario. la información del servidor. Normalmente se predefine en el gestor varios formatos de presentación de contenido para darle la flexibilidad a la hora de crear nuevos apartados e informaciones. con arreglo a las necesidades del cliente es necesaria. ya que exentan particularidades diferenciales tanto en su adaptabilidad a esquemas gráficos como la posible integrabilidad de funcionalidades y extensiones adicionales. yendo desde el administrador del portal hasta el usuario sin permiso de edición. de la misma forma que cada vez que se agrega contenido tiene que maquetarse una nueva página HTML y subirla al servidor. 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. y se puede requerir el uso de FTP para subir contenido. Es importante tener eso en cuenta para la estructura del portal para garantizar un correcto posicionamiento orgánico. La elección de la plataforma correcta será vital para alcanzar los objetivos del cliente. ya que. Entendido como un sistema de soporte a la gestión de contenidos. en realidad. y es necesario entender el proyecto de un portal web en el seno de un proyecto de comunicación estructurado y bien planteado por parte del cliente.Esto permite gestionar. Dependiendo de la plataforma escogida se podrá escoger diferentes niveles de acceso para los usuarios. reduciendo el tamaño de las páginas para descarga y reduciendo el coste de gestión del portal con respecto a una página estática. pudiendo subestimarse las funcionalidades de soporte. se selecciona el esquema gráfico y se introducen los datos que correspondan de la base de datos. o creador de contenido. los sistemas informáticos pueden a lo sumo proporcionar las herramientas necesarias para la publicación en línea. en la que cada cambio de diseño debe ser realizado en todas las páginas. bajo un formato padronizado. El acceso al gestor se realiza generalmente a través del navegador web. el código HTML final se genera en esa llamada. se ejecuta en el servidor esa llamada. o bien incluir servicios de soporte a la toma de decisiones por lo que a la gestión de contenidos se refiere. La correcta implantación del sistema. en detrimento de las funcionalidades relacionadas con la optimización de los tiempos de publicación.

Ruby On Rails Según la propiedad del código o Open Source (código abierto). o o o o o o o o Según el tipo de uso o funcionalidades: Plataformas generales Sistemas específicos Blogs. plataforma para contenidos de enseñanza on-line e-commerce. la interacción mediante herramientas de comunicación. permite que se desarrolle sobre el código. Permite que sin conocimientos de programación ni maquetación cualquier usuario pueda indexar contenido en el portal. pensados para el desarrollo colaborativo e-learning. pensados para páginas personales Wikis. o Código propietario. Java. El objetivo es obtener portales interoperables evitando desarrollos propietarios. sólo su desarrollador puede desarrollar la aplicación. PHP. y etc. la supervisión y reedición del contenido de otros usuarios. Los gestores de contenido se pueden segmentar según diferentes criterios: Según el lenguaje de programación empleado: Active Server Pages. incluyendo las labores técnicas de publicar los documentos a uno o más sitios. Además permite la gestión dinámica de usuarios y permisos.NET. compras y pagos Publicaciones digitales Difusión de contenido multimedia Dentro de los portales se han realizado procesos de estandarización encaminados a la homogeneización en las interfaces de programación de los mismos de tal manera que un servicio desarrollado para un portal pueda ejecutarse en cualquier otro portal compatible con el estándar.aplicación podrá haber varios permisos intermedios que permitan la edición del contenido. El gestor de contenidos facilita el acceso a la publicación de contenidos a un rango mayor de usuarios. la colaboración de varios usuarios en el mismo trabajo. plataforma de gestión de usuarios. catálogo. ASP. . El CMS controla y ayuda a manejar cada paso de este proceso. Las dos iniciativas más importantes son la Portlet Specification API JSR-168 y la Content Repository API JSR-170. En muchos sitios con CMS una sola persona hace el papel de creador y editor. como por ejemplo los blogs.

3 combinada con modificaciones de seguridad y anti-bugs. Actualmente los programadores han publicado Joomla! 1. foros. calendarios. listas de correo.0. Framework Joomla! Joomla! es principalmente una herramienta de desarrollo web. de igual forma se tiene que en este tipo de versión se reflejan las directivas del proyecto para usuarios avanzados y desarrolladores. Inc. indexamiento web. Para el desarrollo de sus múltiples frentes. blogs. e internacionalización del lenguaje. Este administrador de contenidos puede trabajar en Internet o intranets y requiere de una base de datos MySQL. en una base de datos estructurada en el servidor. La versión estable es la que se considera para usuarios y a medida que aparecen errores se corrigen. sistema de administración de contenidos. Su nombre es una pronunciación fonética para anglófonos de la palabra swahili jumla que significa "todos juntos" o "como un todo". Joomla corresponde al grupo de soluciones de código abierto.2. "wikis" y blogs. flash con noticias. versiones imprimibles de páginas. La maquetación es hecha al inicio del proceso de implantación del gestor de contenidos. En Joomla! se incluyen características como: hacer caché de páginas para mejorar el rendimiento. usa diferentes formas de comunicación como son: los encuentros por medio de IRC. De forma similar a otros proyectos. feed RSS. (Wikimedia Foundation.0) fue publicada el 16 de septiembre de 2005 y se trataba de una evolución (fork) mejorada de Mambo 4. el maquetador.Los costes de gestión de la información son mucho menores ya que se elimina un eslabón de la cadena de publicación. con su objetivo principal de dar solución a las necesidades de todos aquellos que participan de una u otra forma en el proyecto. es un producto de software libre. 2009) 2. esta versión se publica sin nuevas funcionalidades. con un código completamente reescrito y construido bajo PHP 5. La versión Beta. Joomla mantiene dos versiones de la aplicación: una estable y otra Beta o en desarrollo.4. backup y reestructuración del portal son mucho más sencillas al tener todos los datos vitales del portal. Es una aplicación de código abierto construida mayoritariamente en PHP bajo una licencia GPL. Se está desarrollando. incluye nuevas funcionalidades y mejoras a las fallas reportadas en versiones anteriores. La primera versión de Joomla! (Joomla! 1. Este gestor de contenidos sigue las pautas marcadas por el bazar. foros.S o Content Management System.. calificada como C.M.10. así como preferiblemente. . búsqueda en el sitio web. La actualización. Se escogió como una reflexión del compromiso del grupo de desarrolladores y la comunidad del proyecto.5 estable. de un servidor HTTP Apache. los contenidos. polls (encuestas).5.

(Wikimedia Foundation. 2009) 2. RUP (Rational Unified Process en inglés. Hoy en día es el CMS más utilizado del mundo. Al final de esta fase. La metodología consta de 4 fases: FASE DE INICIO.5 estable de Joomla. En esta fase se analizan los requisitos y se desarrolla un prototipo de arquitectura (incluyendo las partes más relevantes y/o críticas del sistema).El 22 de enero de 2008 se ha lanzado la versión 1. todos los casos de uso correspondientes a requisitos que serán implementados en la primera release de la fase de Construcción deben estar analizados y diseñados (en el Modelo de Análisis/Diseño). refinando el Modelo de Análisis / Diseño.X). Metodología a Seguir En el desarrollo del proyecto se hará uso de la metodología RUP para documentar los artefactos del sistema. FASE DE CONSTRUCCIÓN. los cuales son establecidos en el artefacto Visión..5. Si bien es cierto que para esta sección todavía no existen gran cantidad de componentes.. 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 características y que se integran fácilmente en él. administración y cumplimiento con estándares W3C. 2009) El RUP no es un sistema con pasos firmemente establecidos. El producto se construye en base a iteraciones. constituye la metodología estándar más utilizada para el análisis. existe la posibilidad de activar un plugin incluido por defecto que mejora considerablemente (no por completo) la compatibilidad con la mayoría de ampliaciones. el más seguro y con mayor crecimiento que cualquier otro. módulos y plugins (mambots para Joomla! 1. que incorpora notables mejoras en el área de seguridad. FASE DE ELABORACIÓN. cada una produciendo . Inc. En esta fase se desarrollan los requisitos del producto desde la perspectiva de los usuarios. La revisión y aceptación del prototipo de la arquitectura del sistema marca el final de esta fase. Durante la fase de construcción se terminan de analizar y diseñar todos los casos de uso. implementación y documentación de sistemas orientados a objetos. Los principales casos de uso serán identificados y se hará un refinamiento del Plan de Desarrollo del Proyecto. Por ello. Proceso Unificado Racional en español) es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML. sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.0. (Wikimedia Foundation. La aceptación cliente/usuario del artefacto Visión y el Plan de Desarrollo marcan el final de esta fase. Inc.

7. M4 – M3: Contrastación de la hipótesis. M2: Medición previa de la variable dependiente para el Grupo Experimental. incluyendo el entrenamiento de los usuarios. M3: Medición posterior de la variable dependiente para el Grupo Control. El hito que marca el fin de esta fase incluye. Muestra 2. Población Los alumnos de todos los ciclos de la Escuela Académico Profesional de Ingeniería de Sistemas e Informática de la Universidad Nacional del Santa. Técnicas e instrumentos utilizados en la investigación. asegurando una implantación y cambio del sistema previo de manera adecuada.6.M4 Donde: X: Variable independiente GC: Grupo Control GE: Grupo Experimental M1: Medición previa de la variable dependiente para el Grupo Control. manuales Las técnicas e instrumentos utilizados son: Tabla 6.8. En esta fase se prepararán los releases para distribución.1.7. 2.una release a la cual se le aplican las pruebas y se valida con el cliente / usuario.X --------------------------.7.X --------------------------. la finalización del entrenamiento de los usuarios y el empaquetamiento del producto. la entrega de toda la documentación del proyecto con los manuales de instalación y todo el material de apoyo al usuario.M3 GE: M2 --------------------------. M4: Medición posterior de la variable dependiente para el Grupo Experimental.2. FASE DE TRANSICIÓN. Se comienza la elaboración de material de apoyo al usuario. Diseño de Investigación GC: MI --------------------------. 2. 2. Técnicas e Instrumentos de Recolección de Datos TÉCNICAS Observación Entrevistas Encuestas Investigación Bibliográfica INSTRUMENTOS Hoja de anotaciones Grabadora Hoja de cuestionario Libros. . Cobertura del Estudio 2. Fuentes. revistas.

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