Page 1

Arquitectura de Software

Clase 7: Arquitecturas Web y la Nube

1


Objetivos   

Revisar la evolución de la Internet y de las diferentes tecnologías Presentar los modelos de arquitecturas Web Comprender el concepto y las capas de servicio de la computación en la nube

2


Temas 

Arquitecturas Web ◦ Evolución ◦ Modelos ◦ REST

Computación en la nube

3


Internet 

     

Es una red de computadoras, formada a su vez por muchas redes independientes, que se pueden comunicar unas con otras, intercambiar mensajes y compartir información en forma de archivos World Wide Web (www) Correo electrónico (E-Mail) Transferencia de archivos (FTP) Buscadores Conferencias/Chats Noticias 4


Evolución de la web Web 1.0 

   

1991, Tim Berners Lee, crea la World Wide Web Propuso un nuevo sistema de “hipertexto” para compartir documentos Sistema basado en hipertexto, que permite clasificar información de diversos tipos Funciona con hipertexto y gráficos e incluye efectos multimedia Es considerado como el acceso más sencillo y comprensible al universo de la información disponible en Internet 5


Evolución de la web Web 1.0 

 

Pocos productores de contenidos Muchos lectores de contenidos La actualización de los sitios no se realiza en forma periódica

6


Evolución de la web HTTP 

 

Protocolo de transferencia de hipertexto Es un protocolo sin estado, es decir no guarda ninguna información sobre conexiones anteriores El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede almacenar en el sistema cliente. Esto permite a las aplicaciones web instituir la noción de “sesión” 7


Evoluci贸n de la web HTTP

8


Evolución de la web Gestión de la Sesión 

Aspecto muy delicado del sistema Caché 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.

9


Evolución de la web Web 2.0  

  

Segunda generación de la Web basada en comunidades de usuarios Se pasa de una web informativa, creada por expertos a una web social, donde cualquiera puede participar fácilmente Aparecen aplicaciones Web muy potentes y sencillas de manejar enfocadas al usuario final Basa su desarrollo en CMS (Sistemas de Gestión Contenidos) Herramientas de colaboración 10


Evoluci贸n de la web Web 2.0

11


Evolución de la web Web 2.0  

El usuario es el protagonista central que crea y comparte (prosumidores) Mayor usabilidad, no es necesario grandes conocimientos técnicos para crear un espacio en Internet Conocimiento compartido en base a la suma de esfuerzos individuales. Cuánto más usuarios comparten mayor utilidad del servicio Redes sociales 12


Evoluci贸n de la web Componentes principales de la Web 2.0

13


Evolución de la web CMS (Content Management System) 

Un Sistema de Gestión de Contenidos permite la creación y administración de contenidos principalmente en páginas web

14


Evolución de la web CMS (Content Management System)  

Consiste en una interfaz que controla una o varias base de datos donde aloja el contenido El sistema permite manejar de manera independiente el contenido y el diseño

15


Evolución de la web Portales 

Unificador de iniciativas web y organizador de información dentro de la empresa. Es la ventana de acceso principal. Existen productos que permite que cada usuario disponga de una o varias páginas compuestas y que pueda personalizarlas.

16


Evolución de la web Portales 

 

Generalmente proveen portlets (o webparts) Un portlet es una mini-aplicación web interactiva que devuelve fragmentos de HTML Los portales proporcionan aplicaciones pre-construidas en el que es posible instalar nuevos portlets

17


EvoluciĂłn de la web ď‚—

Portlet local que consume datos de un servicio web y un portlet remoto

18


Arquitecturas Web Diversas tecnologías  HTML  CSS  JavaScript  XML  XHTML  XSLT  Ajax  jQuery  … 19


Arquitecturas Web XML (Extensible Markup Language)  Diseñado especialmente para los documentos de la web  Permite definir la gramática de lenguajes específicos . Es decir los diseñadores pueden crear sus propios etiquetas.

20


Arquitecturas Web JSON  Es considerado una alternativa a XML  Diseñado para tener menos texto descriptivo  Ya ha sido adoptado por grandes empresas de software en Internet

21


Arquitecturas Web Aplicaciones estรกticas

22


Arquitecturas Web Aplicaciones dinรกmicas

23


Arquitecturas Web Modelo con aplicaciones CGI  Es el modelo dinámico más primitivo  Presentación, negocio y persistencia mezclados  El estado se almacena en el cliente y cada petición supone una ejecución completa

24


Arquitecturas Web Modelo con lenguajes Scripting  Separación de responsabilidades  Páginas ASP, PHP, JSP, Perl, etc. llevan la lógica de presentación  Otros componentes asumen la responsabilidades de negocio y datos

25


Arquitecturas Web Modelo Vista Controlador  Incorporación del patrón de diseño MVC ◦ Controlador: navegación ◦ Negocio y datos: componentes ◦ Presentación: páginas estáticas y dinámicas

26


Arquitecturas Web Modelo de aplicaciones multicanal  Muchos canales  Soluciones basadas en XML y XSLTs

27


Arquitecturas Web Modelo multicapa  Arquitectura 2 capas (Web + aplicación)  Arquitecturas 3 capas(Web + aplicación + datos)  Arquitecturas 4 capas (Web + controlador + negocio + datos)

28


Arquitecturas Web Modelo con framework Framework: Conjunto de componentes que componen un diseño reutilizable que facilita y agiliza el desarrollo de sistemas Web.  De diferentes tipos: 

◦ ◦ ◦ ◦

Presentación Componentes/Servicios Persistencia De todos los anteriores

29


Arquitecturas Web REST (Representational State Transfer) 

Se refiere al hecho de que HTTP es fundamentalmente sin estado

REST es un estilo de arquitectura para el diseño de aplicaciones de red. En lugar de usar mecanismos complejos, tales como CORBA, RPC o SOAP para conectarse, utiliza HTTP para realizar llamadas entre aplicaciones 30


Arquitecturas Web REST

31


Arquitecturas Web REST  Aplicaciones REST utilizan solicitudes HTTP para enviar datos (crear y / o actualizar), leer datos (por ejemplo realizar consultas) y eliminar datos. Por lo tanto, REST utiliza HTTP para las cuatro operaciones CRUD (Create / Read / Update / Delete) 

REST es una alternativa ligera a mecanismos como RPC (Remote Procedure Calls) y servicios web

Los servicios son accedidos como recursos 32


Arquitecturas Web REST  GET solo lee datos, POST solo modifica datos 

REST no tiene un formato XML estándar, aunque especifica una forma de apariencia

Como un enfoque de progra-

mación, REST es una alternativa ligera a los servicios web. Estos son denominados RESTful

33


Arquitecturas Web Mensaje SOAP

Mensaje REST

34


Arquitecturas Web Tendencias en la web  Computación en la nube y vinculación de datos y de aplicaciones  Agentes de usuario, es el modelo hipotético de un programa que sería capaz de actuar en nombre de un usuario humano  Mayor ancho de banda, facilitando todo tipo de las aplicaciones multimedia  Ubicuidad de la web, estará en toda clase de dispositivos 35


Computación en La Nube 

Es un sistema informático basado en Internet y centros de datos remotos para gestionar servicios de información y aplicaciones. La computación en la nube permite que los consumidores y las empresas gestionen archivos y utilicen aplicaciones sin necesidad de instalarlas. Esta tecnología ofrece un uso mucho más eficiente de recursos, como almacenamiento, memoria, procesamiento y ancho de banda, al proveer solamente los recursos necesarios en cada momento. 36


Computaci贸n en La Nube

37


Computación en La Nube 

El término “nube” se utiliza como una metáfora de Internet y se origina en la nube utilizada para representar Internet en los diagramas de red como una abstracción de la infraestructura que representa. Un ejemplo de computación en nube es el sistema de documentos y aplicaciones electrónicas Google Docs / Google Apps. Para su uso no es necesario instalar software o disponer de un servidor, basta con una conexión a Internet para poder utilizar cualquiera de sus servicios. 38


Computación en La Nube Arquitectura de la capa de servicio 

Infraestructura como Servicio (IaaS) Es la capa mas baja. La idea básica es la de externalización de servidores para espacio en disco, base de datos, routers, etc. en lugar de tener un servidor local y toda la infraestructura necesaria para la conectividad y mantenimiento dentro de una organización. Con una IaaS lo que se tiene es una solución en la que se paga solo por consumo de recursos usados: espacio en disco utilizado, tiempo de CPU, espacio en base de datos, transferencia de datos. Las IaaS permiten desplazar una serie de problemas al proveedor relacionados con la gestión de las máquinas y su mantenimiento. 39


Computación en La Nube Arquitectura de la capa de servicio 

Plataforma como Servicio (PaaS) La idea básica es proporcionar un servicio de plataforma que permita desarrollar software a través de la red. El proveedor es el encargado de escalar los recursos en caso de que la aplicación lo requiera, del rendimiento óptimo de la plataforma, seguridad de acceso, etc.

40


ComputaciĂłn en La Nube Arquitectura de la capa de servicio ď‚—

Plataforma como Servicio (PaaS) Para desarrollar software se necesitan BD, servidores, redes, y herramientas de desarrollo. Con PaaS uno se olvida del personal para su uso y te centras en innovar y desarrollar, lo que permite aumentar la productividad de los equipos de desarrollo.

41


Computación en La Nube Arquitectura de la capa de servicio 

Software como Servicio (SaaS) Esta en la capa mas alta y consiste en la entrega de una aplicación completa como un servicio. El proveedor SaaS dispone de una aplicación estándar desarrollada en algunos casos por él mismo que se encarga de operar y mantener y con la que da servicio a multitud de clientes a través de la red, sin que estos tengan que instalar ningún software adicional. Un ejemplo claro es la aplicación para el manejo del correo electrónico como GMail, Outlook, etc. 42


Computaci贸n en La Nube Arquitectura de la capa de servicio

43


Computación en La Nube Virtualización en la nube 

La virtualización es esencial en el desarrollo óptimo de la computación en las nube, y está referida principalmente al tema de plataforma. Se puede decir que la virtualización es una abstracción de los recursos tecnológicos que permite a los servidores crear dispositivos virtuales la cual pueden ser usados para aumentar los recursos. Es interesante el tema de la virtualización que permite tratar a un servidor como muchos servidores. Otro tema interesante es el clustering , que permite tratar a muchos servidores como uno solo. 44


Computación en La Nube Proveedores       

Amazon Web Services Firehost Rackspace Verizon (Terremark) IBM CSC Softlayer Microsoft

45


Resumen     

La evolución de la web, desde HTML hasta los servidores de portales y gestores de contenidos Diversas tecnologías HTML, CSS, JavaScript, XML, Ajax, jQuery, etc. Aplicaciones web estáticas y dinámicas Diferentes modelos para arquitecturas en la web REST es un estilo de arquitectura para el diseño de aplicaciones de red que utiliza HTTP para realizar llamadas entre las aplicaciones La computación en la nube es un sistema informático basado en Internet y centros de datos remotos para gestionar servicios de información y aplicaciones. Ofrece principalmente 3 capas de servicio. 46


¿Preguntas?

¿Qué productos y/o tecnologías en la nube estas usando? 47

Arquitecturas web y la nube  

aprendiendo la nube

Read more
Read more
Similar to
Popular now
Just for you