Usuario:ManuelRomero/DAW/Tecnologías

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
center|450px
 * 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
 * La evolución de los servicios web han marcado la evolución de la web

Evolución de los servicios web

 * 1) Web 1.0: páginas estáticas, interacción hombre-máquina
 * 2) Web 2.0: Conocimiento colectivo, interacción máquina-maquina, servicios en la red
 * 3) Web 3.0: Web semántica, ya no buscaremos por palabras, el significado ???
 * 4) Web 4.0: Robots en la red???
 * |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.

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

Servidores web
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?)

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=

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
 * XML, DTD, XML SCHEMA, SML DOM, X-PATH
 * CSS, XSL, XSLT, XSL-FO
 * SVG
 * 1) SMIL
 * 2) VOICEML
 * WML

Tecnologías al lado del servidor

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

Tecnologías para los servicios web
sistemas hipermedias distribuidos tales como la Web.
 * 1) SOAP:Protocolo que define el formato de los mensajes que se intercambian basado en http y XML
 * 2) WSDL Interfaz pública basada en SML, descripcion de la utilidad, la localizacion e invocación del servicio
 * 3) UDDI Registro y publicación de información de servicios web disponibles.
 * 4) REST: (Representational State Transfer) es un estilo de arquitectura de software para

Videos en la red sobre la evolución
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
 * 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
 * Artículo sobre la web 3.0 y referencias a otras noticias de la web

Evolución de redes sociales

 * Evolución de redes sociales
 * historia de las redes sociales
 * Imagen de la evolución de la Red