capitulo 1 - proyecto integrador 2015-2016

15
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

Upload: erick-paul-lozada-penarreta

Post on 19-Feb-2017

339 views

Category:

Devices & Hardware


0 download

TRANSCRIPT

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.

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 una conexión TCP hacia el servidor, hacia el puerto HTTP (o el

indicado 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.

2. Capa de negocios (Servidor): Se reciben las peticiones del usuario y se envían

las respuestas tras el proceso. También se conoce como el servidor que

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.

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 objetivo es regular el funcionamiento y conservación de

sus recursos e instalaciones. A respecto de este planteamiento su origen inicio en 1985

cuando se creó una gestión de control para la contabilidad analítica, los estándares,

costos indirectos y la remuneración de rendimiento estableciendo una organización y

control total.

(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:

Programación modular.

Multi-Plataforma.

Extensible.

Fácil soporte.

MySQL (Base de datos de código abierto)

(Olivier Heurtel, 2014) MySQL Es el sistema de administración de base de datos de

código abierto mas utilizado y popular en el mundo ya que surgio en el añ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 MySQL 4.0 hasta 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

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.

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 un lenguaje de programación

interpretado 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. 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íasEl 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 capituloAl 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.

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.

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.