Diferencia entre revisiones de «Usuario:ManuelRomero/DAW/ArquitecuraWeb»

De WikiEducator
Saltar a: navegación, buscar
 
(11 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/>
 
+
{{Puntos clave|
=Aspectos generales de arquitecturas web=
+
;Como podemos observar este tema se divide en 4 bloques
 
+
#'''''Aspectos generales de la arquitectura web'''''
<br/>
+
#'''''Servidor web apache'''''
{{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''}}
+
#'''''Aplicaciones web y servidores de aplicaciones'''''
==Introduccion==
+
#'''''Estructura y despliegue de una aplicación web'''''
*Un sitio web está integrado por difentes elementos
+
#'''''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
+
#'''''Tecnologías''''' usadas Lenguajes de programación, HTML, Gestores de Bases de datos, la familia de protocolos TCP/IP.
+
{{Objetivo|Este sistema siempre quiere '''''ofrecer un servicio a clientes''''', ''queremos que la gente se conecte a nuestro espacio}}
+
 
+
*Hablamos de arquitectura, hablamos de capas y protocolos.
+
*En la tecnologías de la web hay cambios que a veces parecen radicales.
+
[[Imagen:cambio.png]]
+
 
+
*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.
+
 
+
*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
+
 
+
===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]]
+
==Evolución de los servicios Web==
+
[http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb información sobre servicios web]
+
*Son muchas la definiciones que podemos encontrar, hace que el concepto englobe muchos términos y usos, elegimos una
+
{{Definicion|'''''Conjunto de aplicaciones y/o tecnologías con capacidad para actuar entre ellas en la Web.'''''}}
+
{{Defiicion| W3C lo define '''''web service  es un sistema de software diseñado para permitir interoperatibilidad máquina a máquina en una red.'''''}}
+
 
+
*Desde un punto de vista práctico lo podemos ver como '''''API's Web que pueden ser accedidas en una red y ejecutadas en un sistema de hosting remoto.'''''
+
 
+
**Estas aplicaciones o tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios.
+
 
+
*El uso es el normal de un escenario '''''cliente/servidor''''' Los proveedores ofrecen sus servicios como procedimientos remotos y los usuarios solicitan un servicio llamando a estos procedimientos a través de la Web.
+
 
+
== Qué hacen ==
+
{{Objetivo|Proporcionan mecanismos de comunicación estándares entre diferentes aplicaciones}}
+
 
+
*Estas aplicaciones interactúan entre sí para presentar información dinámica al usuario.
+
 
+
*Para que esto sea posible, es necesaria una '''''arquitectura de referencia estándar''''', que veremos mas adelante
+
 
+
Describamos un proceso donde se usen servicios web
+
 
+
*Un cliente solicita a una agencia de viajes una solicitud para un viaje. Se conecta a la página aprorta sus datos y el servidor web de la agencia de viajes contesta
+
 
+
 
+
[[Image:Servicio1.png]]
+
 
+
*A la vez para poder responder a la solicitud se ha de verificar hotels, viajes y la tarjeta de crédito que aporte el cliente con lo que tenemos que el servidor web de la agencia tiene que interoperar con otros servidores web
+
 
+
 
+
[[Image:Servicio2.png]]
+
 
+
 
+
*En todo este proceso intervienen una serie de tecnologías que hacen posible esta circulación de información.
+
 
+
= Tecnologías asociadads a las aplicaicones 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&nbsp;SOAP&nbsp;(Protocolo Simple de Acceso a Objetos). Se trata de un protocolo basado en&nbsp;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&nbsp;HTTP&nbsp;,&nbsp;SMTP&nbsp;, etc. SOAP especifica el formato de los mensajes. El mensaje SOAP está compuesto por un&nbsp;'''envelope'''&nbsp;(sobre), cuya estructura está formada por los siguientes elementos:&nbsp;'''header'''&nbsp;(cabecera) y&nbsp;'''body'''&nbsp;(cuerpo).
+
 
+
<center>[[Image:soap11.png]]</center>
+
 
+
<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,&nbsp;WSDL&nbsp;(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
+
 
+
 
+
{{ProjectNav
+
 
+
|image = daw1.png
+
 
+
|title <nowiki>= Implantación de arquitecturas web</nowiki>
+
 
+
<nowiki><h2></nowiki>
+
 
+
<nowiki>''<div style="color: green; text-align:center; ">'''¡A trabajar ......!'''</div>''<br /><br /></nowiki>
+
 
+
<nowiki></h2></nowiki>
+
 
+
|tagline =
+
 
+
|pages <nowiki>= [[../general|Aspectos Generales]] {{vbar}}[[../apache|Servidor Web Apache]] {{vbar}}[[../AplicacionesServidores|Aplicacione y Servidores]] {{vbar}}[[../despliegue|Estructura y despliegue]]</nowiki>
+
 
+
 
}}
 
}}
 
+
*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í).
<!--
+
*Para este bloque tenemos asignadas un máximo de 18 horas (9 clases)
==Teconologías asociadas a las aplicaciones web==
+
*Realizaremos 1 trabajo y 3 prácticas que hay que ''docuementar y entregar'' (Parte de la nota)
==Tipos de aplicaciones web==
+
*No contamos la parte de introducción a las redes ya vista
==Arquitectura Web. Modelos==
+
{{Objetivos|
==Plataformas web libres y propietarias==
+
*Cubrir conceptos generales relacionados con:
==Organización de un servidor web==
+
:la web
==Escalabilidad==
+
:los servicios web
===Escalar vertical===
+
:y servidores web.
===Escalar horizontal===
+
*identificación de las plataformas web más importantes libres y propietarias.
===Cloud computing===
+
*Servidores web y de aplicaciones.
-->
+
}}
 +
==Prácticas==
 +
#Instalación y configuración básica de un servidor web
 +
## Instalación y configuración básica de un servidor web.
 +
## Documentación del proceso de instalación y
 +
## configuración del servidor web instalado.
 +
## Realización de pruebas de funcionamiento del servidor web instalado.
 +
# Instalación y configuración básica de un servidor de aplicaciones.
 +
## Documentación del proceso de instalación y configuración del servidor de aplicaciones instalado.
 +
## Realización de pruebas de funcionamiento del servidor de aplicaciones instalado.
 +
## Reconocimiento de la estructura y recursos que componen una aplicación web.

Última revisión de 09:24 8 oct 2012

Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg





Icon key points.gif

Puntos clave

Como podemos observar este tema se divide en 4 bloques
  1. Aspectos generales de la arquitectura web
  2. Servidor web apache
  3. Aplicaciones web y servidores de aplicaciones
  4. Estructura y despliegue de una aplicación web



  • 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í).
  • Para este bloque tenemos asignadas un máximo de 18 horas (9 clases)
  • 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


Icon objectives.jpg

Objetivos

  • Cubrir conceptos generales relacionados con:
la web
los servicios web
y servidores web.
  • identificación de las plataformas web más importantes libres y propietarias.
  • Servidores web y de aplicaciones.




Prácticas

  1. Instalación y configuración básica de un servidor web
    1. Instalación y configuración básica de un servidor web.
    2. Documentación del proceso de instalación y
    3. configuración del servidor web instalado.
    4. Realización de pruebas de funcionamiento del servidor web instalado.
  2. Instalación y configuración básica de un servidor de aplicaciones.
    1. Documentación del proceso de instalación y configuración del servidor de aplicaciones instalado.
    2. Realización de pruebas de funcionamiento del servidor de aplicaciones instalado.
    3. Reconocimiento de la estructura y recursos que componen una aplicación web.