Usuario:ManuelRomero/DAW/ArquitecuraWeb

De WikiEducator
Saltar a: navegación, buscar
Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg




Aspectos generales de arquitecturas web



Icon define.gif

Definición

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


Introduccion

  • Un sitio web está integrado por difentes elementos
  1. 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
  2. Tecnologías usadas Lenguajes de programación, HTML, Gestores de Bases de datos, la familia de protocolos TCP/IP.


Icon objectives.jpg

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.

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


Icon objectives.jpg

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 .

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:
  1. 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).
  2. 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.
  3. Formatos de contenidos estándar: todos los navegadores soportan un conjunto de formatos estándar, por ejemplo HTML, ECMA, JavaScript, etc.
  4. 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:

  1. Escalabilidad.
  2. Separación de responsabilidades.
  3. Portabilidad.
  4. Utilización de componentes en los servicios de infraestructura.
  5. Gestión de las sesiones del usuario.
  6. Aplicación de patrones de diseño.
  • El esquema de funcionamiento de los servicios web requiere de tres elementos fundamentales:
  1. 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.

  1. Consumidor del servicio, que es quien accede al componente para utilizar los servicios que éste presta.
  2. 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

ModeloTresCapas.png

  • De forma genérica podríamos decir que la arquitectura web es un modelo compuesto de tres

capas:

  1. 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.
  2. los servidores de aplicaciones web, ejecutando aplicaciones de tipo Apache, Tomcat, Resin, etc.
  3. Los clientes del servicio web al que accederían mediante

un navegador web como Firefox, Internet Explorer, Opera, etc. a

Evolución de los servicios Web

información sobre servicios web

  • Son muchas la definiciones que podemos encontrar, hace que el concepto englobe muchos términos y usos, elegimos una


Icon define.gif

Definición

Conjunto de aplicaciones y/o tecnologías con capacidad para actuar entre ellas en la Web.


Plantilla:Defiicion

  • 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

Icon objectives.jpg

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


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


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

Archivo:Soap11.png
Figura 2 - Estructura de los mensajes

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