El documento describe el origen y evolución de las aplicaciones web, así como los fundamentos teóricos para la creación de un sistema web para la gestión de control en los laboratorios de cómputo de una universidad. Explica que las aplicaciones web surgieron en la década de 1960 y evolucionaron gracias al protocolo HTTP y al navegador Mosaic. También detalla los lenguajes y herramientas clave para el desarrollo de aplicaciones web como PHP, MySQL, HTML5, CSS3 y JavaScript.
Examen del segundo parcial (Programacion web 1) - Erick Lozada
Capitulo 1 - Proyecto integrador 2015-2016
1. CAPITULO 1:MARCO TEORICO
1.1. Origen y evolución de las aplicaciones web
(Lujan Mora, 2002) Las aplicaciones web (apps web) es una modalidad de aplicación de
cliente/servidor mediante la comunicación de servidor HTTP estandarizado que es un
dominio o subdominio de la World Wide Web (WWW). El protocolo HTTP forma parte del
protocolo TCP/IP que son empleados del internet. Permite una conexión total de sistemas
heterogéneos, lo que permite un intercambio fácil de información entre varios y distintos
ordenadores.
(Carles Mateu, 2004) La aplicación web surgió durante el nacimiento en los mediados de
los 60, bajos los indicios de DARPA, la Agencia de Proyectos Avanzados para la Defensa
de los Estados Unidos. Inicio un programa de investigación de técnicas y tecnologías para
unir las diversas redes de conmutación de paquetes, permitiendo a los ordenadores
conectados en forma fácil y transparente. A mediados de los 80 la NSF creo la red
NSFNET para la NASA y da una iniciativa de paneuropeas. En los años 90 comenzaron
a instalar el primer servidor de CERN que empleaba el hipertexto para estructurar una
red de enlaces entre los documentos para un intercambio ligero de forma independiente
que trabaja en la capa del modelo OSI. En el año 90 las aplicaciones web tuvieron una
tremenda compatibilidad con el navegador web Mosaic para X-Windows/Unix que al
tiempo se desarrolló varias utilidades ya que en 1994 se fundó la World Wide Web
Consortium que se convirtió en el motor de desarrollo de los estándares predominantes
en la web.
Fundamentos principales de la aplicación web
(Rosenfeld, L, Morville, P, 1998) El éxito espectacular de las aplicaciones web e basa en
2 puntos fundamentales que se describe lo siguiente:
Uno permite una implementación simple y sencilla de un sistema de
comunicaciones que nos permite enviar cualquier tipo de ficheros de una forma
fácil, simplificando el funcionamiento del servidor y permitiendo que servidores
poco potentes atiendan miles de peticiones y reduzcan los costes de despliegue.
Proporciona un mecanismo de composición de paginas enlazadas simple y fácil,
altamente eficiente y de uso simple.
Otra novedad seria que el protocolo HTTP esta orientado al protocolo al control de
transporte de manera esquemática.
2. Interfaz de usuario
(Francisco, 2001) La interfaz de la aplicación web tiene 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 que no están soportadas
por las tecnologías de web estándar. Los desarrolladores web generalmente utilizan
lenguajes interpretados o script del lado del cliente para añadir más módulos y
funcionalidades, especialmente para ofrecer una experiencia interactiva que no requiere
de recargar la pagina cada vez (lo que resulta ser una gran molestia para los usuarios).
Se han desarrollado técnicas para coordinar estos lenguajes con tecnología en el lado del
servidor, como PHP, también el lenguaje AJAX, que es una técnica de desarrollo web que
usa una combinación de varias tecnologías.
Consideraciones tecnicas
(Romina, Liliana, 2009) Una ventaja significativa es que las aplicaciones web deberían
funcionar igual según la versión del sistema operativo en el cliente. Sin embargo, hay
aplicaciones escritas con HTML, CSS, DOM y otras especificaciones para navegadores
web que pueden causar molestias en el desarrollo y soporte. Adicionalmente pueden
personalizar muchas de las características. También se utiliza plugins de rendimiento
grafico para toda la interfaz de usuario como Flash Player con más facilidad.
Estructura de las aplicaciones web
(van der Vlist, 2001) De manera estructurada según protocolo HTTP su funcionamiento se
describe de la siguiente manera:
Establece unaconexiónTCP hacia elservidor,haciaelpuerto HTTP (o elindicado
en la dirección de conexión), envía un comando HTTP de petición de un recurso
(junto con algunas cabeceras informativas).
El servidor responde con los datos solicitados y con algunas cabeceras
informativas.
Arquitectura de 3 capas
1. Capa de aplicación (Cliente): es la que ve el usuario, presenta el sistema al
usuario, le comunica la información y captura la información del usuario en un
mínimo de proceso. Se comunica únicamente con la capa de negocio como la
interfaz gráfica, es decir se presentan como formularios.
3. 2. Capa de negocios (Servidor): Se reciben las peticiones del usuario y se envían
las respuestas tras elproceso.Tambiénse conoce como elservidorque establece
todas las reglas que deben cumplirse. Esta se comunica con la capa aplicación
para recibir las peticiones y mostrar los resultados.
3. Capa de datos: Es donde residen los datos y la encargada de acceder a los
mismos. Está formada por varios gestores de base de datos que realizan todo el
almacenamiento de datos, que se conecta con la capa de negocio.
Características fundamentales de las aplicaciones web
Compatibilidad para múltiples sistemas operativos.
Permite una gran funcionalidad como base datos y contenidos dinámicos.
Puede compilar y depurar con los lenguajes de programación basados en la web
(Al comienzo de la Web 2.0).
Emplea las técnicas de programación en el desarrollo de la aplicación web.
Actualización con seguridad precisa.
Menos requerimiento del computador, en pocas palabras no requiere muchos
recursos.
Lenguajes de programación en aplicaciones web
(Vertice, 2010) Existen lenguajes de programación especializados para el desarrollo de
aplicaciones web, entre los destacados son:
PHP.
ASP.NET (Especializado en apps web de Microsoft Windows).
Java (Java Servlets y Java Server Pages).
Perl.
Ruby.
Python.
HTML5.
CSS3.
PHP.
XHML.
4. 1.2. Análisis de las diferentes posiciones teóricas sobre la aplicación web para la
gestión de control en los laboratorios de cómputo.
La Gestión de control (GC) es un procedimiento moderado para poder guiar hacia los
objetivos y un instrumento para evaluarla en cualquier área.
(Juan, 2013) La gestión de control en cualquier laboratorio de cómputo se describe las
actividades habituales sin mencionar las funciones básicas que se conforma, se refiere al
manejo y organización en las utilizaciones de laboratorios informáticos para clases y
prácticas en cada periodo de clase.
(Vertice, 2008) Este tipo de gestión de control debe seguir el reglamento de cualquier
institución educativa ya como objetivoes regularelfuncionamiento y conservaciónde sus
recursos e instalaciones. A respecto de este planteamiento su origen inicio en 1985
cuando se creó unagestiónde controlparala contabilidad analítica, los estándares,costos
indirectos y laremuneraciónde rendimiento estableciendounaorganizacióny controltotal.
(Molina, 2006) Consta de una nueva planificación e implementación de nuevos módulos
del sitio web. Pero no es una forma convencional de crear para este tipo de control
considerando los siguientes aspectos.
Interactividad.
Usabilidad.
Herramientas extras
Manipulación de datos.
Arquitectura del sistema.
Estos aspectos son los que más solicita para la creación del sistema web para la gestión
de control en los laboratorios de cómputo de la universidad Uniandes en Babahoyo.
Herramientas para la creación del sistema web
Apache
(Ben Laurie, Peter Laurie. 2002) Es un servidor web de código libre robusto cuya
implementación se realiza de forma colaborativa, con prestaciones y funcionalidades
equivalentes a las de los servidores comerciales. Apache es usado para XAMP de forma
modular. Ya que su funcionalidad principal es enviar aplicaciones web estáticas y
dinámicas en la WWW. Es un componente de servidor muy reconocido en aplicaciones
como LAMP, MySQL, PHP, Python, Perl, FileZilla y Ruby. Las características reconocidas
se dice de esta manera:
5. Programación modular.
Multi-Plataforma.
Extensible.
Fácil soporte.
MySQL (Base de datos de código abierto)
(Olivier Heurtel, 2014) MySQL Es elsistema de administraciónde base de datos de código
abierto mas utilizado y popular en el mundo ya que surgio en elaño 1995 desarrollado por
MySQLLAB (Una empresa sueca que ahora es parte de Oracle).
(George Reese, 2001) Es un gestor de base de datos extremadamente rápido. Aunque no
ofrece las mismas capacidades y funcionalidades que otras bases de datos, compensa
esta pobleza de prestaciones con un excelente rendimiento en aquellas situaciones que
se necesita en unas capacidades leves.
Las funcionalidades más destacadas de MySQL son:
Soporte de transacciones (Desde MySQL4.0hasta la Actual se usa InnoDB como
motor de almacenamiento).
Soporte de replicación (con un master actualizando múltiples slaves).
Librería para uso embebido.
Búsqueda por texto.
Cache de búsquedas (para aumentar el rendimiento).
Agrupación de transacciones, reuniendo múltiples transacciones de varias
conexiones para incrementar el número de transacciones por segundo.
Conectividad e seguridad confiable.
PHP (Pre-Procesador de hipertexto)
(Leon Atkinson, Zeev Suraski, 2004) Es un lenguaje sencillo, de sintaxis cómoda y similar
a la de otros lenguajes como Perl, C y C++. Es rápido, interpretado,orientado a objetos y
multiplataforma. Para él se encuentra disponible una multitud de librerías. Es un lenguaje
de programación ideal para desarrollar aplicaciones web complejas ya que es de código
abierto.
(Olivier Heurtel, 2014) Cuando se solicita el archivo PHP en el servidor Web, se ejecuta
un intérprete inmediatamente y el resultado de esta ejecución se inserta en la página en
6. lugar del código (Es decir es invisible para el cliente) y la página se reenvía al navegador.
Además PHP es un lenguaje diseñado para programaciones fuertes y no solo por su
capacidad de codificar código sino por sus características perfectamente adaptadas que
se describe de esta manera:
Multiplataforma (Windows, Linux, Mac OS).
Seguridad total entre el cliente y navegador ya que el código fuente es invisible al
ejecutarse y envía el resultado solamente en HTML.
Capacidad de conexión y soporte con los gestores de base de datos como
MySQL, SQL Server, PostgreSQL, etc.
Posee un manual oficial en la web.
Aplica programación orientada a objetos.
Maneja correctamente las excepciones similares a la de JAVA.
No requiere la definición de variables aunque se puede evaluar durante su
ejecución.
HTML5 (HyperText Markup Language, versión 5)
(Juan Diego Gauchat, 2012) Actualmente los programadores trabajan con HTML5 para
navegadores compatibles con Google Chrome y Mozilla Firefox. Es un lenguaje de
programación muy dinámico que permite representar de forma rica el contenido y también
referenciar otros recursos (imágenes, etc.), enlaces a otros documentos (la característica
más destacada del WWW), mostrar formularios para posteriormente procesarlos,etc. El
HTML5 provee principalmente 3 características:
Estructura.
Estilo.
Funcionalidad.
El HTML5 especifica 2 variantes de sintaxis:
Un clásico HTML basado en el texto (TEXT/HTML).
Una variante XHTML conocida como sintaxis XHTML5 que deberá ser servida
como XML.
7. HTML5 Cuenta con características adaptadas según lo siguiente:
Cuenta con función 3d y 2d (Audio y Video) para mostrar contenidos multimedia.
Controles dinámicos y estáticos para el control de datos.
Visores MathML (Funciones matemáticas) y SVG (Graficos vectoriales).
Función para editar imágenes de cualquier formato.
Validación funcional conectada en JavaScript
CSS3 (Hoja de carcasa de diseño)
(Luc Van Lancker, 2013) Son elementos agregados al lenguaje HTML que toman en
cuenta la presentación del documento o de la aplicación web. Este tipo de programación
representa la vizualizacion según las formas de programación en la CSS3 dispone de
ciertos modulos de transición e imagen para decorar y adaptar a la aplicación web. Entre
las demás novedades la hoja de estilo dispone:
Selectores avanzados.
Bordes redondeados.
Tipos de letra personalizados que permite la tipografía encontrar su sitio en las
interfaces web.
Sombras aplicadas al texto.
Degradados de color.
Múltiples fondos.
Opacidad o transparencia.
Transiciones (Sin Javascript).
El diseño de texto con guiones automáticos o de títulos largos.
Elementos gráficos como filtros, máscaras, espejos o la combinación de
imágenes.
JavaScript
(David Flanagan, 2011) Abreviado como “JS”es unlenguaje de programacióninterpretado
que se define como orientado a objetos. JavaScript es el lenguaje interpretado más
utilizado, principalmente en la construcción de páginas Web, con una sintaxis muy
semejante a Java y a C. Pero, al contrario que Java, no se trata de un lenguaje orientado
a objetos propiamente dicho, sino que éste está basado en prototipos, ya que las nuevas
clases se generan clonando las clases base (prototipos) y extendiendo su funcionalidad.
8. JavaScript se provee de una implementación del Documento de Objeto Modelado para
realizar operaciones y exclusivamente en el marco aplicativo del cliente.
1.3. Valoración crítica de los diferentes teorías
El sistema web para la gestión de control en los laboratorios de cómputo será creado con
la información recogida, en lo cual será de gran necesidad de mejorar y organizar los
procesos de uso ya que es de alto nivel que el laboratorista y los docentes que utilizan los
laboratorios en tiempos de clase.
1.4. Conclusiones parciales de este capitulo
Al inicio de este capítulo se citó de diferentes referencias bibliográficas sobre el origen y
evolución de sistemas web para la gestión de control en laboratorios de computación
definiendo este punto se adquirió conocimiento suficiente para comenzar a crear este
aplicativo para la universidad Uniandes – Babahoyo ya que es un medio de suma
importancia.
9. BIBLIOGRAFIA
1. Sergio Lujan Mora, S. L. (2002). Programacion de aplicaciones web: historia, principios
basicos y clientes web. Editorial Club Universitario de Alicante. Primera edicion.
2. Carles Mateu. (2004). Desarrollo de aplicaciones web. Editorial FUOC Formacion de
posgrado. Primera edicion.
3. Rosenfeld, L.; Morville, P. (1998). Informacion de Arquitectura para la World Wide Web.
O’Reilly Media. Primera edicion.
4. Francisco Maciá Pérez (2008).Administración de servicios de Internet: De la teoría a la
práctica. Editorial TD (TextoDocentes). Tercera Edición.
5. Romina Marcela Caivano, Liliana Noemí Villoría. (2009). APLICACIONES WEB 2.0 -
Google docs. Editorial Eduvim. Segunda edición.
6. van der Vlist, E. (2001). XML Schema. O’Reilly Media. Segunda edición.
7. Equipo Vertice. (2010). Técnicas avanzadas de diseño web. Editorial Vertice. Tercera
edición.
8. Juan F. Pérez-Carballo Veiga. (2013). Control de gestión empresarial. Editorial ESIC.
Octava edición.
9. Equipo Vertice. (2008). Gestión de Control. Editorial Vertice. Tercera edición.
10. Molina, M. (2006). Metodos de resolucion de problemas: Aplicacion al diseño de sistemas
inteligentes. Editorial Fundacion Genral de la U.P.M. Cuarta edición.
11. Ben Laurie, Peter Laurie. (2002). Apache: La guía definitiva. Editorial O’Reilly Media.
Tercera edición.
12. Olivier Heurtel. (2014). PHP y MySQL: domine el desarrollo de un sitio web dinámico e
interactivo. Editorial ENI. Segunda edición.
13. George Reese. (2001). Database Programming with JDBC and Java. Editorial O´Really
media. Segunda edición.
14. Leon Atkinson. Zeev Suraski. (2004). Core PHP Programming. Editorial Pretince Hall.
Primera edición.
15. Olivier Heurtel. (2014). PHP 5.5: Desarrollar un sitio Web dinámico e interactivo. Editorial
ENI. Tercera edición.
16. Juan Diego Gauchat. (2012). El gran libro de HTML5, CSS3 y Javascript. Editorial
Marcombo. Primera edición.
10. 17. Luc Van Lancker. (2013). HTML5 y CSS3: Domine los estándares de las aplicaciones
Web. Editorial ENI. Segunda Edición.
18. David Flanagan. (2011). JavaScript: La guía definitiva: Activar sus páginas web. Editorial
O’Reilly Media. Sexta edición.