Topografía 1 Nivelación y Carretera en la Ingenierías
Taller de arquitectura web
1. I
Taller de arquitectura web-java
Vanessa Estefania Corredor Andrade
Fundación de Educación Superior San José.
Ingeniería de sistemas
Programación con Arquitecturas Java
Bogotá. D.C
Agosto 2017
2. II
Contenido
URI................................................................................................................................................................ III
HTML ............................................................................................................................................................. V
HTTP ............................................................................................................................................................. VI
Navegador web ........................................................................................................................................... VII
Spiders........................................................................................................................................................ VIII
Arquitectura cliente servidor ....................................................................................................................... IX
El modelo de arquitectura web JSP............................................................................................................ XIII
Arquitectura centrada en páginas. .......................................................................................................... XIII
Arquitectura centrada en servlets ...........................................................................................................XIV
Modelo de arquitectura MVC.....................................................................................................................XIV
Escalabilidad ..........................................................................................................................................XIV
Separación de responsabilidades............................................................................................................XIV
Portabilidad ............................................................................................................................................XIV
Componentización de los servicios de infraestructura ...........................................................................XIV
Gestión de la sesión del usuario, cacheado de entidades.........................................................................XV
Aplicación de patrones de diseño............................................................................................................XV
El funcionamiento de los intermediarios web...........................................................................................XV
Bibliografía..................................................................................................................................................XVI
3. III
Taller de arquitectura web-java
URI
URI es un identificador de recursos y su propósito es permitir interacción entre recursos
disponibles en Internet o en alguna red de cómputo como lo son: páginas, servicios, imágenes,
vídeos, etc.
La sintaxis de un URI es: el esquema URI, tal como "HTTP", "FTP", "mailto", "URN", "tel",
"rtsp", "file", etc., seguido del carácter: (dos puntos) y de una parte-específica del esquema. La
sintaxis y semántica de la parte-específica está definidas en la especificación de cada esquema, si
bien la sintaxis de la URI hace que todos los esquemas sigan ciertas convenciones comunes que,
entre otras cosas, reserva algunos caracteres para usos especiales.
URL
URL es una secuencia de caracteres que se utiliza para nombrar y localizar recursos,
documentos e imágenes en Internet.El formato general de un URL es:
esquema://máquina.directorio.archivo.
HTML
HTML es un lenguaje de etiquetas el cual nos permite desarrollar páginas web. Este lenguaje
de etiquetas, puede ayudar a desarrollar webs estáticas. Cuando desarrollamos archivos mediante
HTML siempre el archivo que se guarda terminara en “.html”. Destaco que estas características
son las más prácticas, hay más funciones y ventajas con html:
Practico al utilizar, también fácil de aprender.
Posee una serie de etiquetas, que nos permite el desarrollo de la página.
4. IV
Divide la información en dos bloques sin embargo hubo un cambio hacia HTML5, donde
se utiliza ahora más bloques.
Es un lenguaje con estructuras, gracias a esto es fácil guiarse.
La estructura de html se basa en 2 bloques, “Head Y Body” cual significaría cabeza y
cuerpo.
HTTP
El http es un protocolo de transferencia donde se utiliza un sistema mediante el cual se permite
la transferencia de información entre diferentes servicios y los clientes que utilizan páginas web.
Este sistema fue desarrollado por las instituciones internacionales World Wide Web Consortium
y la Internet Engineering Task Force, finalizado en el año de 1999.
El http es una ejecución de un programa, donde hay a una base de datos, traducción y otras
funcionalidades donde toda la información que opera la página web mediante este protocolo es
identificada mediante el URL o dirección donde hay un típico acuerdo de protocolo HTTP que se
compone de un encabezamiento seguido por una línea blanca y luego un dato donde se define la
acción requerida por un servidor.
Navegador web
Es una aplicación de software que permite a los usuarios de Internet acceder, navegar y buscar
información, servicios o productos a nivel mundial. Los navegadores web interpretan enlaces de
hipertexto que permiten leer documentos formateados en HTML, JavaScript y AJAX de tal
manera que puedan ser vistos en la pantalla del computador.
5. V
El navegador se comunica con el servidor a través del protocolo HTTP y pide el archivo
solicitado en código HTML, después lo interpreta y lo muestra al usuario. Así pues, se dice que el
navegador web es un intérprete entre la web y el usuario.
Spiders
Los Spiders son robots automáticos que utilizan la mayoría de los grandes buscadores
internacionales y conocidos para indexar los sitios en sus motores de búsqueda. Los mismos
realizan las siguientes acciones:
Recorren las páginas recopilando información sobre los contenidos de estas. Cuando se
busca una información en los motores, ellos consultan su base de datos y presentan
resultados clasificados por su relevancia.
Si consideran que una web es importante para el usuario, tienden a registrarlas todas. Si
no la consideran importante, sólo almacenan una o más páginas.
Cada cierto tiempo, los motores revisan las webs, para actualizar los contenidos de su
base de datos, lo que garantiza que los resultados de la búsqueda estén siempre
actualizados.
Navegador
Usuario
Servidor Web Repositorio web
Comunica a traves
protocolo HTTP
Pide archivo html
Busca
Envia archivo html
Solicita informacion
Interpreta
Muestra
Obtencion
6. VI
Arquitectura cliente servidor
Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el
servidor) que le da respuesta. El modelo Cliente/Servidor es un modelo basado en la idea del
servicio, en el que el cliente es un proceso consumidor de servicios y el servidor es un proceso
proveedor de servicios. Además, esta relación está establecida en función del intercambio de
mensajes que es el único elemento de acoplamiento entre ambos.
El proceso cliente que es quien inicia el diálogo, el proceso servidor que pasivamente espera a
que lleguen peticiones de servicio y el middleware que corresponde a la interfaz que provee la
conectividad entre el cliente y el servidor para poder intercambiar mensajes.
Componentes
Cliente: Es el proceso que permite al usuario formular los requerimientos y pasarlos al
servidor. Éste normalmente maneja todas las funciones relacionadas con la manipulación y
despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir
interfaces gráficas de usuario.
Servidor: Es todo proceso que proporciona un servicio a otros. Es el proceso encargado de
atender a múltiples clientes que hacen peticiones de algún recurso administrado por él,
Middleware: Es un módulo intermedio que actúa como conductor entre sistemas permitiendo
a cualquier usuario de sistemas de información comunicarse con varias fuentes de información
que se encuentran conectadas por una red.
El modelo de arquitectura web JSP
Una arquitectura se utiliza para organizar las diferentes partes de una aplicación. Las
aplicaciones web pueden tener muchos elementos: Páginas JSP, clases Java, archivos HTML.
7. VII
Definir una arquitectura: Ayudará a decidir cómo dividir la aplicación web y a Proporcionará una
pauta para definir la forma en que todos los componentes trabajen juntos para llevar a cabo la
funcionalidad que se pretende conseguir con la aplicación.
Arquitectura centrada en páginas.
JSPs gestionan las peticiones directamente.
Se utilizan páginas JSP/HTML para interactuar con el usuario (lógica de presentación).
Páginas JSP responsables de controlar el flujo de la aplicación: recibir peticiones,
direccionar a la siguiente página (lógica de control o procesamiento).
El acceso a los datos se lleva a cabo desde la misma página JSP o con JavaBeans, según
la
Ventajas:
Es simple de programar y permite al creador de las páginas generar contenido dinámico
fácilmente, basándose en la petición y el estado de la aplicación.
Inconvenientes:
Tiene problemas de mantenimiento cuando la aplicación crece. Muchos scriptlets
incrustados en las páginas JSP.
Arquitectura centrada en servlets
Un servlet o un JSP actúa de mediador o controlador, delegando la resolución de peticiones en
páginas JSP y JavaBeans.Los JSP se utilizan para generar el nivel de presentación y los Servlets
8. VIII
para realizar las tareas que requieren procesamiento y control. Además, el controlador gestiona la
navegación, decidiendo a qué página JSP debe re direccionarse a continuación. Presentación JSP:
simplemente accede a los JavaBeans que previamente se han cargado
Modelo de arquitectura MVC
Es un patrón de arquitectura de software que, utilizando 3 componentes (Vistas, Models y
Controladores) separa la lógica de la aplicación de la lógica de la vista en una aplicación. Es una
arquitectura importante puesto que se utiliza tanto en componentes gráficos básicos hasta sistemas
empresariales; la mayoría de los frameworks modernos utilizan MVC (o alguna adaptación del MVC) para
la arquitectura.
Escalabilidad
Capacidad de adaptación y respuesta de un sistema con respecto al rendimiento del mismo a medida
que aumentan de forma significativa el número de usuarios del mismo.
Separación de responsabilidades
Separación de capas, distintas responsabilidades no deben ser delegadas en la misma clase.
Portabilidad
Una aplicación web debe poder adaptarse a las distintas arquitecturas físicas posibles en el
despliegue. Las tareas de adaptación a un nuevo entorno deben limitarse al ámbito de la configuración,
no del desarrollo.
Componentización de los servicios de infraestructura
Componentes independientes del dominio. Rompen aparentemente la separación vertical de capas.
Dan lugar a la capa de infraestructura. Por ejemplo: Servicio de Log,Pool JDBC,Sistema de configuración,
Gestor de permisos de acceso
9. IX
Gestión de la sesión del usuario, cacheado de entidades
Aspecto muy delicado del sistema. Cacheado de entidades en Sesión de usuario. Contexto de la
aplicación. Caducidad de la información. Refresco de datos. Rendimiento del sistema. Consumo de
recursos del sistema.
Aplicación de patrones de diseño
Definición de patrón de diseño GOF 94 Design Patterns.Además de una solución válida para
problemas habituales, son un medio de entendimiento que facilita la comunicación entre analista y
desarrollador. Aceleran el desarrollo de Software. Facilitan el mantenimiento. En proceso de integración
en las herramientas CASE (Rose, Together, etc.).
El funcionamiento de los intermediarios web
Proxy
Un proxy es un programa o dispositivo que realiza una tarea de acceso a Internet en lugar de
otro ordenador. Un proxy es un punto intermedio entre un ordenador conectado a Internet y el
servidor que está accediendo.
Pc del usuario
Proxy Internet
Hace peticiones
Pide datos
Devuelve datos
10. X
Tunel
es una tecnología que permite enviar datos en una red mediante otras conexiones de la red. El
tunneling funciona encapsulando el protocolo de red dentro de paquetes transportados por la
segunda red. También es conocido como encapsulation (encapsulamiento).
Pasarela
Es un sistema de hardware/software para conectar dos redes entre sí y para que funcionen
como una interfaz entre diferentes protocolos de red.
Cuando un usuario remoto contacta la pasarela, ésta examina su solicitud. Si dicha solicitud
coincide con las reglas que el administrador de red ha configurado, la pasarela crea una conexión
entre las dos redes. Por lo tanto, la información no se transmite directamente, sino que se traduce
para garantizar una continuidad entre los dos protocolos.
Usuario
remoto
Pasarela
Enviar solicitud
Archivos
temporales
Agente Web
MQMFT
Almacena archivo Envía archivo
Conexión vpn Tunel Servicio vpn
Enviar datos Encapsula datos
Envia la respuesta
11. XI
Bibliografía
Anon, (2017). [online] Available at: • https://es.wikipedia.org/wiki/HTML [Accessed 31 Aug.
2017].
Anon, (2017). [online] Available at: • http://enmsmtics1.blogspot.com.co/2015/09/ [Accessed 31
Aug. 2017].
Anon, (2017). [online] Available at: •
http://di002.edv.uniovi.es/~dflanvin/docencia/dasdi/teoria/Transparencias/06.%20Arquitectura
%20Web.pdf [Accessed 31 Aug. 2017].
https://www.ecured.cu/Arquitectura_Cliente_Servidor
https://oposicionestic.blogspot.com.co/2011/06/arquitectura-cliente-servidor.html
http://www.losteatinos.es/servlets/servlet.html
https://codigofacilito.com/articulos/mvc-model-view-controller-explicado