|
|
(3 revisiones intermedias por el mismo usuario no mostrado) |
Línea 2: |
Línea 2: |
| {{Usuario:ManuelRomero/DAW/despliegueWeb/arquitectura/Web}} | | {{Usuario:ManuelRomero/DAW/despliegueWeb/arquitectura/Web}} |
| <br/> | | <br/> |
− | {{#widget:Slides}} | + | {{Puntos clave| |
− | {{MiTitulo|TEMA 1.1 ASPECTOS GENERALS DE ARQUITECTURA WEB}}
| + | ;Como podemos observar este tema se divide en 4 bloques |
− | | + | #'''''Aspectos generales de la arquitectura web''''' |
− | <div class="slides layout-regular template-default">
| + | #'''''Servidor web apache''''' |
− | | + | #'''''Aplicaciones web y servidores de aplicaciones''''' |
− | <div class="slide">
| + | #'''''Estructura y despliegue de una aplicación web''''' |
− | =Aspectos generales de arquitecturas web=
| + | }} |
− | <br/>
| + | *Es un tema de introducción y no profundizaremos en ningún aspecto (p.e. Apache lo estudiaremos en profundidad en el siguiente tema, aunque lo veamos aquí). |
− | {{Definicion| Es el conjunto de elementos que permiten el '''''desarrollo y despliegue''''' de un de un ''sitio web'', donde los arquitectos ''diseñan y coordinan'' dicho ''espacio en la red''}}
| + | *Para este bloque tenemos asignadas un máximo de 18 horas (9 clases) |
− | </div>
| + | *Realizaremos 1 trabajo y 3 prácticas que hay que ''docuementar y entregar'' (Parte de la nota) |
− | | + | *No contamos la parte de introducción a las redes ya vista |
− | <div class="slide">
| + | {{Objetivos| |
− | ==Introduccion==
| + | *Cubrir conceptos generales relacionados con: |
− | *Un sitio web está integrado por difentes elementos
| + | :la web |
− | #'''''Sistemas''''', como Bases de datos, servidores (Servidores web, de correo, de ficheros, de resolución de nombres, ...),redes (familia de protocolos TCP/IP)m componentes de backup ,seguridad, y otros | + | :los servicios web |
− | #'''''Tecnologías''''' usadas Lenguajes de programación, HTML, Gestores de Bases de datos, la familia de protocolos TCP/IP. | + | :y servidores web. |
− | {{Objetivo|Este sistema siempre quiere '''''ofrecer un servicio a clientes''''', ''queremos que la gente se conecte a nuestro espacio}}
| + | *identificación de las plataformas web más importantes libres y propietarias. |
− | | + | *Servidores web y de aplicaciones. |
− | *Hablamos de arquitectura, hablamos de capas y protocolos. | + | }} |
− | </div>
| + | ==Prácticas== |
− | =====Introduccion=====
| + | #Instalación y configuración básica de un servidor web |
− | <div class="slide">
| + | ## Instalación y configuración básica de un servidor web. |
− | | + | ## Documentación del proceso de instalación y |
− | *En la tecnologías de la web hay cambios que a veces parecen radicales.
| + | ## configuración del servidor web instalado. |
− | [[Imagen:cambio.png]]
| + | ## Realización de pruebas de funcionamiento del servidor web instalado. |
− | | + | # Instalación y configuración básica de un servidor de aplicaciones. |
− | *Los protocolos como http no tienen un cambio muy dinámico Verision 1.1 (junio de 1999), Version 1.0 (Mayo de 1999) 0.9, las tecnologías que se utilizan para desarrollar aplicaciones sí que evolucionan rápidamente más que cambios radicales.
| + | ## Documentación del proceso de instalación y configuración del servidor de aplicaciones instalado. |
− | </div>
| + | ## Realización de pruebas de funcionamiento del servidor de aplicaciones instalado. |
− | <div class="slide">
| + | ## Reconocimiento de la estructura y recursos que componen una aplicación web. |
− | =====Introduccion=====
| + | |
− | *Sin embargo volvemos al objetivo marcado anteriormente, qué sí que es constante | + | |
− | {{Objetivo|la gente debe poder usarlos. Si no, se irán de nuestra web y será un fracaso. Y se desperdiciaría una gran cantidad de dinero.}}
| + | |
− | http://www.youtube.com/watch?v=iimwsXny5j4&feature=player_embedded#t=17s
| + | |
− | </div>
| + | |
− | | + | |
− | ===Modelo Cliente/Servidor de la web===
| + | |
− | | + | |
− | *La arquitectura World Wide Web (WWW) de Internet provee un modelo cliente servidor .
| + | |
− | [[Imagen:ClienteServidor1.png]]
| + | |
− | *Las aplicaciones y los contenidos son presentados en formatos de datos estándar y son localizados por aplicaciones conocidas como '''''web browsers''''', que envían requerimientos de objetos a un servidor y éste responde con el dato codificado según un formato estándar. | + | |
− | | + | |
− | *Los estándares WWW especifican muchos de los mecanismos necesarios para construir un ambiente de aplicación de propósito general, por ejemplo: | + | |
− | #Modelo estándar de nombres: todos los servidores, así como el contenido de la WWW se denominan según un Localizador Uniforme de Recursos (Uniform Resource Locator: URL).
| + | |
− | #Contenido: a todos los contenidos en la WWW se les especifica un determinado tipo permitiendo de esta forma que los browsers (navegadores) los interpreten correctamente.
| + | |
− | #Formatos de contenidos estándar: todos los navegadores soportan un conjunto de formatos estándar, por ejemplo HTML, ECMA, JavaScript, etc.
| + | |
− | #Protocolos estándar: éstos permiten que cualquier navegador pueda comunicarse con cualquier servidor web. El más comúnmente usado en WWW es HTML (Protocolo de Transporte de HiperTexto), que opera sobre el conjunto de protocolos TCP/IP.
| + | |
− | | + | |
− | *Esta infraestructura permite a los usuarios acceder a una gran cantidad de aplicaciones y servicios de terceros. También permite a los desarrolladores crear aplicaciones y servicios para una gran comunidad de clientes. | + | |
− | | + | |
− | ===Aspectos generales=== | + | |
− | Podemos destacar los siguientes:
| + | |
− | #Escalabilidad. | + | |
− | #Separación de responsabilidades. | + | |
− | #Portabilidad. | + | |
− | #Utilización de componentes en los servicios de infraestructura. | + | |
− | #Gestión de las sesiones del usuario. | + | |
− | #Aplicación de patrones de diseño. | + | |
− | *El esquema de funcionamiento de los servicios web requiere de tres elementos fundamentales:
| + | |
− | #'''''Proveedor del servicio web''''', que es quien lo diseña, desarrolla e implementa y lo pone disponible | + | |
− | para su uso, ya sea dentro de la misma organización o en público.
| + | |
− | #'''''Consumidor del servicio''''', que es quien accede al componente para utilizar los servicios que éste presta. | + | |
− | #'''''Agente del servicio''''', que sirve como enlace entre proveedor y consumidor para efectos de publicación, búsqueda y localización del servicio. | + | |
− | ===Modelo de tres capas===
| + | |
− | [[Imagen:ModeloTresCapas.png|300px]]
| + | |
− | *De forma genérica podríamos decir que la arquitectura web es un modelo compuesto de tres
| + | |
− | capas:
| + | |
− | #'''''Capa de Base de Datos''''', donde estaría toda la documentación de la información que se pretende administrar mediante el servicio web y emplearía una plataforma del tipo MySQL, PostgreSQL, etc. | + | |
− | #'''''los servidores de aplicaciones web''''', ejecutando aplicaciones de tipo Apache, Tomcat, Resin, etc. | + | |
− | #'''''Los clientes del servicio web''''' al que accederían mediante
| + | |
− | un navegador web como Firefox, Internet Explorer, Opera, etc.
| + | |
− | [[/daw_actual|a]]
| + | |
− | <div class="slide">
| + | |
− | == Tecnologías asociadas a las aplicaciones web ==
| + | |
− | *Antes de hacer una lista incompleta de tecnologías que se utilizan en las aplicaciones web vamos a continuar con el ejemplo anterior.
| + | |
− | *Entre el cliente y el servidor, y entre los servidores va a haber una interoperatividad que va a interecambiar información compleja, pues puede ser de direrentes tipos de aplicaciones de servidores (datos confidenciales y variados).
| + | |
− | *Necesitamos tecnologçías que nos permitan desarrollar aplicaciones que distribuyan de forma global información, ya que estas aplicaciones trabajan en internet.
| + | |
− | *Ejemplos de estas tecnologías serían CORBA, COM, EJB,( MRM Ver que son )
| + | |
− | | + | |
− | *Estas tecnologías parece que presentan una dependencia de la máquina sobre las que estan trabajando, pequeño inconveniente que a veces puede volverse muy incómodo
| + | |
− | *Para ello tenemos SOAP (Protocolo Simple de Acceso a Objetos, Simple Object Access Protocoll), un modelo de computación distribuida de objetos que no es dependiente de la plataforma.
| + | |
− | *'''SOAP '''proporciona un mecanismo simple y ligero de intercambio de información entre dos puntos usando el lenguaje XML .
| + | |
− | *Solo es un mecanismo sencillo de expresar la información mediante un modelo empaquetado de datos modular y una serie de mecanismos de codificación de datos.
| + | |
− | ====SOAP====
| + | |
− | *Por un lado, estaría SOAP (Protocolo Simple de Acceso a Objetos). Se trata de un protocolo basado en XML, que permite la interacción entre varios dispositivos y que tiene la capacidad de transmitir información compleja. Los datos pueden ser transmitidos a través de HTTP , SMTP , etc. SOAP especifica el formato de los mensajes. El mensaje SOAP está compuesto por un '''envelope''' (sobre), cuya estructura está formada por los siguientes elementos: '''header''' (cabecera) y '''body''' (cuerpo).
| + | |
− | | + | |
− | [[Image:soap11.png]]
| + | |
− | | + | |
− | <center>''Figura 2 - Estructura de los mensajes''</center>
| + | |
− | | + | |
− | Para optimizar el rendimiento de las aplicaciones basadas en Servicios Web, se han desarrollado tecnologías complementarias a SOAP, que agilizan el envío de los mensajes (MTOM) y los recursos que se transmiten en esos mensajes (SOAP-RRSHB).
| + | |
− | | + | |
− | Por otro lado, WSDL (Lenguaje de Descripción de Servicios Web), permite que un servicio y un cliente establezcan un acuerdo en lo que se refiere a los detalles de transporte de mensajes y su contenido, a través de un documento procesable por dispositivos. WSDL representa una especie de contrato entre el proveedor y el que solicita. WSDL especifica la sintaxis y los mecanismos de intercambio de mensajes.
| + | |
− | | + | |
− | Durante la evolución de las necesidades de las aplicaciones basadas en Servicios Web de las grandes organizaciones, se han desarrollado mecanismos que permiten enriquecer las descripciones de las operaciones que realizan sus servicios mediante anotaciones semánticas y con directivas que definen el comportamiento. Esto permitiría encontrar los Servicios Web que mejor se adapten a los objetivos deseados. Además, ante la complejidad de los procesos de las grandes aplicaciones empresariales, existe una tecnología que permite una definición de estos procesos mediante la composición de varios Servicios Web individuales, lo que se conoce como coreografía.
| + | |
− | | + | |
− | | + | |
− | Des
| + | |
− | | + | |
− | | + | |
− | | + | |
− | <!--
| + | |
− | ==Teconologías asociadas a las aplicaciones web==
| + | |
− | ==Tipos de aplicaciones web==
| + | |
− | ==Arquitectura Web. Modelos==
| + | |
− | ==Plataformas web libres y propietarias==
| + | |
− | ==Organización de un servidor web==
| + | |
− | ==Escalabilidad==
| + | |
− | ===Escalar vertical===
| + | |
− | ===Escalar horizontal===
| + | |
− | ===Cloud computing===
| + | |
− | -->
| + | |