Arquitectura de Aplicaciones WEB

UNIVERSIDAD ANDINA DEL CUSCO FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS APLICACIONES O SISTEMAS WEB ASIGNATURA: ING

Views 96 Downloads 0 File size 138KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD ANDINA DEL CUSCO FACULTAD DE INGENIERÍA INGENIERÍA DE SISTEMAS

APLICACIONES O SISTEMAS WEB

ASIGNATURA: INGENIERÍA DE LA INFORMACIÓN II DOCENTE: Ing. Ramiro Mora Jiménez ALUMNOS: José Manuel Canaza Choque

Cusco – Perú 2014

Contenidos: 1. 2. 3. 4. 5. 6. 7.

Presentación Introducción Aplicaciones WEB Historia Arquitecturas de aplicaciones web Conclusión Bibliografía

Presentación La presente investigación se realizó con la finalidad de comprender el funcionamiento y los diferentes tipos de Arquitectura que tienen. Una vez comprendida la información que se propone en cada punto de los contenidos, se evaluará las características que presentan para dar una conclusión general respecto a los avances desarrollados por las Aplicaciones WEB para finalmente sintetizar la información obtenida.

Introducción Para definir las diferencias que existen entre esto se requiere de definiciones previas relacionadas a los Sistemas Web. Por ello se desarrollará a continuación un breve resumen según los puntos establecidos en los contenidos. Una vez analizados estos puntos se procederá a realizar una comparación entre estos procesadores para finalmente realizar las conclusiones respectivas.

3.- APLICACIONES O SISTEMAS WEB: El éxito espectacular de la web se basa en dos puntales fundamentales: - el protocolo HTTP y - el lenguaje HTML. 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. El otro nos proporciona un mecanismo de composición de páginas enlazadas simple y fácil, altamente eficiente y de uso muy simple. 4.- Historia: Inicialmente la web era simplemente una colección de páginas estáticas, documentos, etc., que podían consultarse o descargarse. El siguiente paso en su evolución fue la inclusión de un método para confeccionar páginas dinámicas que permitiesen que lo mostrado fuese dinámico (generado o calculado a partir de los datos de la petición). Dicho método fue conocido como CGI (common Gateway interface) y definía un mecanismo mediante el cual podíamos pasar información entre el servidor HTTP y programas externos. Los CGI siguen siendo muy utilizados, puesto que la mayoría de los servidores web los soportan debido a su sencillez. Además, nos proporcionan total libertad a la hora de escoger el lenguaje de programación para desarrollarlos. Otra tecnología que más éxito ha obtenido y una de las que más se utiliza en Internet es el lenguaje de programación interpretado por el servidor PHP. Se trata de un lenguaje que permite incrustar HTML en los programas, con una sintaxis que proviene de C y Perl. Además, habida cuenta de su facilidad de aprendizaje, su sencillez y potencia, se está convirtiendo en una herramienta muy utilizada para algunos desarrollos. 5. Arquitecturas de aplicaciones web La arquitectura básica de una aplicación web está formada por los siguientes elementos:

 Un navegador: Hace de cliente y realiza peticiones solicitando recursos a los servidores web. Cuando hace una petición a un servidor y le contesta enviándole un recurso, se lo muestra al usuario.  Un servidor web: Recibe peticiones de clientes (navegadores) y responde a esas peticiones enviado un recurso o notificando un error si el recurso no existe.  El protocolo http: Es el protocolo basado en TCP/IP que se utiliza para que el navegador realice las peticiones al servidor web y este responda.  HTML: Es el formato básico de los documentos de la web. Es un formato textual, basado en etiquetas que permite estructurar el contenido de la página.

La arquitectura de las aplicaciones web ha evolucionado mucho en los últimos años -

No todas las aplicaciones web tienen la misma arquitectura Las arquitecturas se diferencias principalmente en lo estática o dinámica que sea la web Una web puede ser dinámica en el cliente y/o en el servidor Las tecnologías utilizadas: o Dinamismo en cliente: JavaScript o Dinamismo en servidor: Java EE, .NET, PHP, Ruby on Rails, Python Django, Groovy, Node.js, Scala Play…

Cliente estático (Sin JavaScript) -

Servidor estático Servidor dinámico (3 capas)

Cliente dinámico (Con JavaScript) -

Servidor estático Servidor dinámico JavaScript para efectos gráficos JavaScript con peticiones en segundo plano (AJAX) Single Page Application con REST

Arquitectura Cliente estático y Servidor estático -

El navegador hace petición al servidor mediante http El servidor transforma URL a ruta en disco El servidor devuelve el fichero de disco al navegador El navegador visualiza (renderiza) la página HTML con estilos CSS e imágenes (sin JavaScript).

-

Cuando el usuario hace clic en un enlace, el navegador repite el proceso con la URL del link y recarga por completo la página web Con esta arquitectura el servidor siempre devuelve los mismos recursos Desde el punto de vista del servidor, la web es estática La web está formada por HTML, CSS, Imágenes, PDF, etc… (pero no incluye JavaScript) A este tipo de web no se le suele llamar aplicación web porque nada es dinámico. Se denomina simplemente página web La web se diseñó con esta arquitectura Las primeras páginas web eran así Todavía se sigue usando en muchas páginas web: Páginas personales o de proyectos básicas (p.e. Tecnología de webs de github) Documentación técnica (JavaDoc en Java, Maven site, etc…)

Cuando el servidor web recibe una petición, dependiendo de la URL: -

Devolver contenido del disco Ejecutar código para generar el recurso dinámicamente Cuando se ejecuta código, normalmente se hacen consultas a una base de datos para recuperar la información Lo más habitual es que se genere la página HTML de forma dinámica También se pueden generar recursos de otro tipo (imágenes, PDFs…) Si el usuario pulsa un link, se recarga la página al completo Es la arquitectura de las primeras “aplicaciones web” Todavía sigue habiendo muchas web con esta arquitectura El contenido es dinámico, porque se ejecuta código en el servidor para generar dicho contenido

La experiencia de usuario antes no era muy buena: -

Conexiones lentas implican tiempos de carga apreciables en cada clic La recarga completa de la página ofrece una mala experiencia de usuario (página en blanco)

Pero ha mejorado: -

Mayor velocidad de Internet (menos tiempo de espera) Navegadores muestran la nueva página una vez cargada (sin pasar por la página en blanco)

El contenido de la página web está alojado en el disco duro del servidor (estático) -

El cliente es dinámico porque las páginas incluyen código JavaScript que se ejecuta en el navegador Este JavaScript se usa para incluir efectos gráficos: Efectos gráficos que no se pueden implementar con CSS

-

Mostrar u ocultar información en función de los elementos que se seleccionan (para documentos largos) Menús desplegables Páginas adaptables para móviles (responsive)

La mayoría de las aplicaciones web actuales son dinámicas tanto en cliente como en servidor -

Dependiendo de cómo se use el JavaScript en el cliente, las aplicaciones se pueden dividir en tres tipos: JavaScript para efectos gráficos JavaScript con peticiones en segundo plano (AJAX) Single Page Application con API REST

6.- Conclusiones: Para realizar las conclusiones haremos un contraste resumido: -

Las aplicaciones Web exigen funcionalidad, confiabilidad, usabilidad y eficiencia entre otras características de calidad. La utilidad y crecimiento de las aplicaciones Web genera grandes desafíos como son los de controlar y mejorar su calidad. Aunque las aplicaciones Web están creciendo rápidamente tanto en uso como en aceptación, son las mismas metodologías de desarrollo las que no tratan de manera adecuada y profunda los atributos de calidad. Estas situaciones traen como consecuencia que los atributos de calidad de los sistemas basados en la Web tales como la funcionalidad, confiabilidad, mantenibilidad, usabilidad y portabilidad no se les da la debida consideración que se merecen durante el proceso de desarrollo.

Resumen: En la ingeniería software 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. Ingeniería Web es el proceso utilizado para crear, implantar y mantener aplicaciones y sistemas Web de alta calidad.

Bibliografía Cursos de Aplicaciones WEB. (s.f.). Obtenido de http://www.desarrolloweb.com/php/ EIDOS, G. (2000). Introducción a Internet. En G. EIDOS. Introducción al desarrollo web. (s.f.). Obtenido de http://desarrolloweb.dlsi.ua.es/idesweb-2a-ed/modulo-07 Mateu, C. (2004). Desarrollo de Aplicaciones WEB. En C. Mateu, Software libre. Av. Tibidabo, 39-43, 08035 Barcelona: Eureca Media, SL. Silva, R. (s.f.). Tutoriales de Diseño & Desarrollo Web . Obtenido de Desarrollo de Aplicaciones Web basadas en PHP: http://www.eresseasolutions.com/tutoriales/desarrollo-de-aplicacionesweb-basadas-en-php/introduccion/