Diferencia entre revisiones de «Usuario:ManuelRomero/DAW/ArquitecuraWeb»
Línea 4: | Línea 4: | ||
=Aspectos generales de arquitecturas web= | =Aspectos generales de arquitecturas web= | ||
+ | |||
<br/> | <br/> | ||
{{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''}} | {{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''}} | ||
+ | ==Introduccion== | ||
*Un sitio web está integrado por difentes elementos | *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 | #'''''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 | ||
Línea 57: | Línea 59: | ||
un navegador web como Firefox, Internet Explorer, Opera, etc. | un navegador web como Firefox, Internet Explorer, Opera, etc. | ||
[[/daw_actual|a]] | [[/daw_actual|a]] | ||
+ | ==Evolución de los servicios Web== | ||
+ | = Evolución de los Servicios Web = | ||
+ | [http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb] | ||
+ | |||
+ | == Qué es == | ||
+ | Conjunto de aplicaciones y/o tecnologías con capacidad para actuar entre ellas en la Web. | ||
+ | |||
+ | W3C lo define como '''''web service '''''un sistema de software diseñado para permitir interoperatibilidad máquina a máquina en una red. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 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 == | ||
+ | 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'''. | ||
+ | |||
+ | 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:]] | ||
+ | |||
+ | 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:]] | ||
+ | |||
+ | |||
+ | 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). | ||
+ | |||
+ | <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, 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 | ||
+ | |||
+ | |||
+ | {{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> | ||
+ | |||
+ | }} | ||
+ | |||
+ | <!-- | ||
+ | ==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=== | ||
+ | --> |
Revisión de 07:27 6 oct 2012
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Aspectos generales de arquitecturas web
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
- 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.
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.
- 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
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 .
- 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
- 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. a
Evolución de los servicios Web
Evolución de los Servicios Web
http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
Qué es
Conjunto de aplicaciones y/o tecnologías con capacidad para actuar entre ellas en la Web.
W3C lo define como web service un sistema de software diseñado para permitir interoperatibilidad máquina a máquina en una red.
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.
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
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.
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:]]
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:]]
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).
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