TEMA 1.1 ASPECTOS GENERALES DE ARQUITECTURA WEB

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





Evolución de los servicios Web

  • Primero hablaremos de qué es un servicio web o web service y posteriormente analizaremos brevemente la evolución
  • Son muchas la definiciones que podemos encontrar
  • Esto hace que el concepto englobe muchos términos y usos, elegimos una
  • Información sobre servicios web

Web Service: definiciones

  • Es un conjunto de aplicaciones y/o tecnologías con capacidad para actuar entre ellas en la Web.
  • W3C define web service como un sistema de software diseñado para permitir interoperatibilidad máquina a máquina en una red.

WebServices.png

Web service definicion según W3C



Icon define.gif

Definición

Un Servicio Web es una aplicación software identificada por un URI, cuyas interfaces se pueden definir, describir y descubrir mediante documentos XML.
  • Los Servicios Web hacen posible la interacción entre agentes software (aplicaciones) utilizando mensajes XML intercambiados mediante protocolos de Internet


Web Service: idea general en la web

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


Web Service: qué hace este software



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

Web Service: Ejemplo 1

  • 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

Web Service: Ejemplo 1 (hoja 2)

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

Web Service: Ejemplo 1 (hoja 3)

  • El ejemplo completo con los estándares usados quedaría
Servicio3.png

Evolución de los servicios web

  • Evolución de la red implica evolución de muchos y variados servicios en la red
  • Son muchas las referencias web que nos pueden ilustrar sobre este concepto
  • De cualquier manera todos somos conscientes de la siguiente evolución
  • La evolución de los servicios web han marcado la evolución de la web

Evolucion.png

  1. Web 1.0
  2. Web 2.0
  3. Web 3.0 ???
  4. ???

Factores que favorecen la evolución

  • La www y los servicios web van de la mano
  • entre los factores que han impulsado el uso de servicios en la web tenemos:
El contenido dinámico
Los sitios web actuales proporcionan contenidos instantáneos. Un Servicio web debe ser capaz de combinar contenido proveniente de fuentes muy diferentes.
Ancho de banda menos costoso
Actualmente un Servicio web puede entregar tipos variables de contenidos como vídeo o audio. A medida que crezca el ancho de banda, los servicios web deben adaptarse a nuevos tipos de contenidos.

Factores que favorecen la evolución

El almacenamiento es más barato y seguro
Un Servicio web debe ser capaz de manejar cantidades masivas de datos, y debe poder hacerlo de forma inteligente.
Internet ahora es móvil
Con cientos de millones de dispositivos como teléfonos móviles, agendas electrónicas, etc. existentes actualmente, estamos llegando a un momento en el cual las computadoras están dejando de ser el dispositivo más común en Internet.

Factores que favorecen la evolución

A medida que las plataformas se hacen más diversas, tecnologías como XML se volverán más importantes.
Un servicio web no puede exigir que los usuarios ejecuten, por ejemplo, un navegador web tradicional en alguna versión de Microsoft Windows;
Por el contrario, los servicios web deben servir a todo tipo de dispositivos, plataformas y navegadores, entregando contendido sobre una amplia variedad de tipos de conexión.

Evolucion de la web

Evolucion2.png

Que es la Web

  • Materializada por Tim Berners Lee sobre 1990.
  • Popularizada con internet a partir de 1995
  • Desde entonces el crecimiento ha sido exponencial.
    • Hoy en día cualquiera puede tener dominios y múltiples sitios webs propios, blogs, wikis (como ésta), gran cantidad de serviciosgratuitos ofertados.

En qué consiste

  1. Protocolo HTTP, HTTPS
  2. Puerto 80, 446
  3. HTML, XHTML y CSS: hipertexto e hipermedia
  4. XML,
  5. Los tipos MIME
  6. Servidores y navegadores que se encuentran mediante URLs (y URIs)
  7. DNS que nos dan la ip a partir del URL

Qué hay detrás de una ip

  1. Una máquina, que puede tener varias IPs.
  2. Un repartidor de carga asume una IP para varias máquinas.
  3. Máquinas virtuales vs. clusters ¿Tendencias opuestas?
  4. Relación N:M entre IPs y máquinas.
  5. Appliances.
  6. IPv4, IPv6.

Modelo punto a punto con http

  1. Los proxies y las cachés (transparentes)
  2. Akamai.
  3. Contenidos estáticos, dinámicos y localización.
  4. Alojamientos: hosting, housing

Modelo cliente­ servidor

El servidor Web sirve páginas. miles de peticiones por segundo, [1], ...
El navegador
las compone y visualiza (render)
Diferencias de complejidad entre cliente y servidor, pero ambos tienen lo suyo.

Servidores web

Servidores web y su uso
http://news.netcraft.com/archives/web_server_survey.html
Navegadores
Los navegadores
  • De Netscape a Firefox pasando por Mozilla (¿Y AOL?) 

Servidores web

  • IE7: cada vez más compatible (ej: IE8)
  • Opera: el que más se ajusta a los estándares.
  • Safari, amaya, etc, etc.
  • Navegar por línea de comandos: Lynx, curl, wget y otros bichos raros (+ APIs)
  • Cuotas de mercado: http://www.w3schools.com/browsers/browsers_stats.asp
  • Pretenden cubrir usabilidad y accesibilidad en la web.

Servicios Web

En el servidor
CGI.
Scripts integrados en servidor: PHP, ASP, etc.
Java, EJBs, n­tiers, patterns, frameworks vs. POJOs, etc.
En el cliente
Javascript y DOM (DHTML)
Flash.

Servicios Web

Java applets.
Efectos gráficos y validación.
¿Enemigos de la accesibilidad?
Navegadores, compatibilidad e implementación de estándares.
Seguridad: sandbox,  XSS (Cross Site Scripting) ...

Evolución en los lengajes de programacion

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Quién habla en la web

  1. Diálogo hombre-­máquina.
  2. Diálogo máquina-­máquina:
Acceso a páginas y formularios expuestos
ejemplo con curl.
ROBOTS.

Quién habla en la web

SOAP,REST, WDSL, REST, SOA ...
exposición de interfaces (API)
https o firmas en los puntos de entrada.
Agentes, brokers, orquestación de servicios.
Equivalencia con los RPC y CORBA de la era pre­web

Tecnologías asociadas a las aplicaciones web

Web 2.0

Icon define.gif

Definición

Término acuñado para referirse a una segunda generación de web basada en comunidades de usuarios y gama especial de servicios como las redes sociales, los blogs, los wikis o los folcsomias que fomentan la colaboración y el intercambio ágil de información entre usuarios


Tecnologías al lado del cliente

  1. Navegadores
  2. Scrips JavaScript, VisualBasic Script,
  3. Helpers: Abrir o ejecutar documentos multimedia y programas concretos
  4. Plug-ins Flash
  5. Applets Java, limitados

Tecnologías del documento

  1. HTML XHTML
  2. XML, DTD, XML SCHEMA, SML DOM, X-PATH
  3. CSS, XSL, XSLT, XSL-FO
  4. SVG
  5. SMIL
  6. VOICEML
  7. WML

Tecnologías al lado del servidor

  1. Módulos Compilados
    1. CGI(C, C++, Perl, Python,
    2. Servlets (Java, Multihebra, Gestion de sesion)
  2. Scripts(ASP, JSP, PHP)
  3. Programación distribuida RMI (Java), IIOP(CORBA)
  4. ASP.NET (Aplicaciones distribuidas y servicios web)

Tecnologías para los servicios web

  1. SOAP:Protocolo que define el formato de los mensajes que se intercambian basado en http y XML
  2. REST:
  3. WSDL Interfaz pública basada en SML, descripcion de la utilidad, la localizacion e invocación del servicio
  4. UDDI Registro y publicación de información de servicios web disponibles.

Evolución

Icon qmark.gif

Pregunta

¿a dónde vamos?


Videos en la red sobre la evolución

  • Aquí algunos vídeos que nos muestran la evolución de la red hasta la web 3.0 hoy en día aún una idea idílica y sin aclarar

http://www.youtube.com/watch?v=fhVjgt4MlDE&feature=player_detailpage#t=252s http://www.youtube.com/watch?v=iimwsXny5j4&feature=player_detailpage#t=7s

  • Artículo sobre la web 3.0 y referencias a otras noticias de la web

http://tendenciasweb.about.com/od/nociones-basicas/a/Que-Es-La-Web-3-0-O-Web-Semantica.htm

Evolución de redes sociales

  • Evolución de redes sociales

historia de las redes sociales [http://www.muyinternet.com/wp-content/uploads/2012/09/redsocial_timeline.jpg Imagen de la evolución de la Red}