Usuario:ManuelRomero/DAW/ArquitecuraWeb/daw actual

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
Imagen:webServices.png
 * 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.

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
Describamos un proceso donde se usen servicios web
 * 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

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

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
 * 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

Evolución de los servicios web
Imagen:Evolucion.png
 * 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
 * 1) Web 1.0
 * 2) Web 2.0
 * 3) Web 3.0 ???
 * |Evolución de la web
 * |Evolución de la web

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.


 * 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. 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
700px

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, |keepalive, ...
 * El navegador
 * las compone y visualiza (render)


 * Diferencias de complejidad entre cliente y servidor, pero ambos tienen lo suyo.

http://news.netcraft.com/archives/web_server_survey.html
 * Servidores web y su uso
 * Navegadores
 * Los navegadores


 * De Netscape a Firefox pasando por Mozilla (¿Y AOL?)
 * 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.
 * 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

Quíen 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.


 * SOAP, 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

más de doscientos servicios gratuitos

Evolución de redes soliales http://www.muyinternet.com/2012/09/11/historia-redes-sociales [Imagen de la evolución de la Red]

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 http://tendenciasweb.about.com/od/nociones-basicas/a/Que-Es-La-Web-3-0-O-Web-Semantica.htm -->
 * Artículo sobre la web 3.0 y referencias a otras noticias de la web