Anda di halaman 1dari 18

El Futuro de los Servicios Web

Antes del Futuro, el Presente


Sabemos qu son los servicios web?
Entendemos para qu sirven?
Quin los usa?
Para qu se estn usando?

Fuentes:
Revistas especializadas (cientificas y divulgativas)
Pags web de los principales desarrolladores de software
Listas de distribucin (nacional e internacionales)
1) Sabemos qu son los Servicios Web?
Aun se discute sobre su verdadera identidad
Cul es su definicin exacta?
Cul es su relacin con otros conceptos como objeto,
componente software, o servicio?
Es necesario usar SOAP? Y si uso ASN.1? e IIOP?
Hasta el W3C cambi el ao pasado su definicin
"A Web service is a software system designed to support interoperable
machine-to-machine interaction over a network. It has an interface described
in a machine-processable format (specifically WSDL). Other systems interact
with the Web service in a manner prescribed by its description using SOAP-
messages, typically conveyed using HTTP with an XML serialization in
conjunction with other Web-related standards."

Otros vendedores proponen definiciones alternativas!


En el 2002, la W3C dijo que un Servicio Web era:
Eso dejaba la puerta abierta a un monton de posibilidades, pues lo
unico que fijaba era que de deberia usar XML como lenguaje para
describir cosas, y que cualquier protocolo para Interner vala.
Fantastico! Yo me alegre mucho, porque permitia un monton de
combinaciones (independientemente de que al final todo el mundo
usara WSDL para describir servicios, SOAP sobre http para invocarlos,
etc.) Pero por ejemplo, permitia definir en un momento bridges entre
Web services con CORBA/IOOP, etc.
Haciendo uso de su costumbre de desdecirse y cambiar sus estandares
el primer miercoles de cada mes, el WS Architecture group cambio
hace poco la definicin.
Con esto, hasta la siguiente version de la definicion (el proximo
primer miercoles de mes :-), hace falta describir los WS con WDSL, e
interactuar con ellos usando SOAP. El uso de HTTP y serializacion de
XML no es (todavia) imprescindible.
2) Entendemos para qu sirven?

En teora, los Servicios Web proporcionan una


tecnologa para soportar las interacciones entre
mquinas en una red (definicin de W3C)

Otros opinan que sirven fundamentalmente para


implementar SOA

Otros opinan que sirven para desarrollar


aplicaciones distribuidas en general, mejorando y
reemplazando a las tecnologas anteriores (CORBA)
2) Entendemos para qu sirven? (II)
S, los Servicios proporcionan una tecnologa muy
vlida para describir servicios e invocarlos a travs de
Internet, logrando ubicuidad e interoperabilidad.
Pero...
Es que no son seguros...
Es que no tienen estado...
Es que no tienen resueltos temas bsicos como los attachments o las
transacciones...
Es que slo describen la signatura de sus operaciones, pero no su
semntica (coreografa, significado, ...)
Es que son ineficientes en cuanto a prestaciones (no puedo hacer
computacin cientfica distribuida!)
Es que no puedo aplicarles fcilmente aspectos (login, ...)
....
Es que no me dejan la ropa muy blanca
Es que no me llevan los nios al colegio

Realmente entendemos para qu sirven y para qu no?


3) Quin los usa?
Las compaias de desarrollo software
IBM, Sun, Microsoft, Oracle, ...todas hacen ahora Servicios Web
Es muy curioso ver ahora sus paginas web sobre estos temas
Las organizaciones de estandarizacin (W3C,...)
Los grupos de investigacin
Revistas especializadas, Listas de Distribucin, Charlas,
Congresos ;-),
Las compaas de negocio
Financial (VISA, AMEX),
Travel agencies (TerminalA),
E-shops (Amazon),
Document handling (Adobe)
4) Para qu se usan?
Las compaias de desarrollo software (IBM, Sun, MS, ...)
Ahora todo son Servicios Web!
Los grupos de investigacin
Vuelven a atacar los problemas difciles de siempre: la
semntica, la QoS, context-awareness, adaptacin dinmica,...
Incluso tienen que volver a resolver otros ya resueltos:
transacciones, mensajera fiable, trading, addressing, ...
WS+aspectos, Modelado de WS...
Veremos pronto Genetic WS? Y que tal Fuzzy WS? :-)
Las organizaciones de estandarizacin (ISO, W3C,...)
Tienen ms cosas que estandarizar, en un nuevo contexto
4) Para qu se usan? (II)
Las compaas de negocio
Posiblemente, los mayores beneficiados de esta historia!
Pueden vender servicios, algo que no habian logrado con la
programacin estructurada, los objetos, los componentes,

Sin embargo...
Las cifras de uso de Internet no acompaan todava
Ojo con la guerra de estndares, que puede daar mucho las
inversiones e ilusiones de muchas empresas privadas
WS-CDL vs. BPEL4WS (una vez que WSCI ha muerto)
WS-Coordination y WS-Transaction vs. WS-CF y WS-CAF
WS-Reliability vs. WS-ReliableMessaging
OWL-S vs. WSMO vs. SWSL
SOAP vs. ASN.1 vs. IIOP vs. RSS/Atom vs. ....
...
Algunos comentarios que se han hecho
Los servicios Web no hacen ms que reinventar la rueda, pero esta
vez usando XML
No aportan nada nuevo que no tuvieramos ya en CORBA
Los Servicios Web proporcionan las facilidades del Nivel 4 por
encima del Nivel 7, dando un paso atrs tanto en eficiencia como
en funcionalidad (seguridad, mensajera fiable, etc.)
Los servicios Web no permiten resolver ninguno de los problemas
realmente difciles de los sistemas distribuidos, como la
interoperabilidad semntica, los repartos de cargas, la fiabilidad, o
la escalabilidad
Cmo RSS/Atom va a reemplazar a los Servicios Web
Los servicios Web van a suponer un cambio radical en la forma en
la que construimos aplicaciones distribuidas hoy en da
Managing IT with Web Services (ACMqueue, Jul/Ago 2005)
Algunos comentarios que se han hecho
Los servicios Web no hacen ms que reinventar la rueda, pero
esta vez usando XML
Los destornilladores no hacen ms que reinventar la
rueda, pero esta vez usando tornillos en vez de clavos

No aportan nada nuevo que no tuvieramos ya en CORBA


No aportan nada nuevo que no tuvieramos ya con los
martillos y las puntas

Los Servicios Web proporcionan las facilidades del Nivel 4 por


encima del Nivel 7, dando un paso atrs tanto en eficiencia
como en funcionalidad (seguridad, mensajera fiable, etc.)
A la hora de clavar puntas, los destornilladores suponen
un paso atrs tanto en eficiencia como en funcionalidad
Ms comentarios que se han hecho
Los servicios Web no permiten resolver ninguno de los
problemas realmente difciles de los sistemas distribuidos, como
la interoperabilidad semntica, los repartos de cargas, la
fiabilidad, o la escalabilidad
Los destornilladores no permiten resolver ninguno de los
problemas realmente difciles de las catedrales, como la
seguridad, estabilidad, cimentacin,

Cmo RSS/Atom va a reemplazar a los Servicios Web


Cmo los alicates van a reemplazar a los destornilladores
Ms comentarios que se han hecho
Los servicios Web van a suponer un cambio radical en la forma
en la que construimos aplicaciones distribuidas hoy en da
Los destornilladores van a suponer un cambio radical en la
forma en la que construimos catedrales hoy en da.

Managing IT with Web Services


La gestin de las Catedrales con destornilladores
Conclusiones
Los Servicios Web estn aqu...
Y han venido para quedarse!
Aunque no van a arreglar todos los problemas de las
aplicaciones distribuidas
Pero aportan soluciones vlidas a ciertos problemas importantes,
como la ubicuidad (pervasiveness) y la interoperabilidad
Posibilitan las arquitecturas SOA y P2P
Su objetivo no es sustituir a las tecnologas existentes,
sino complementarlas
Note, however, that all this does not mean that your CORBA objects
and EJBs have suddenly become superfluous. On the contrary: they
supply the implementations for your web services. Without them, you
have no web services [Steve Vinoski]
A robust public marketplace for components hasnt emerged. Web
Services represent a new revenue stream essential for the future health
of the [hardware and software] business [Grady Booch]
Algunos trabajos que hacer
A corto plazo
Terminar de definir su identidad
Perfilar su campo de aplicacin (encontrar su nicho)
Completar los flecos que aun presentan (y que tiene
sentido solucionar en un tiempo razonable!)
Aclarar el campo al inversor, tratando de eliminar la guerra
de estandares que tanto dao hace a los inversores

Futuro...?
Algunos flecos todava sueltos
Mensajera fiable
Seguridad
Acuerdos en cuanto a estndares para transacciones y coreografa
Asincrona, latencia, fragmentacin, transparencia frente a fallos
en nodos y comunicaciones, degradacin de prestaciones, poca
escalabilidad (cuellos de botella)... Vamos, los problemas propios
de los sistemas distribuidos
Interoperabilidad semntica?
Contratos?
Calidad de servicio? (definicin, monitorizacin,...)
Mtricas de calidad?
Negociacin automtica?
Tarificacin? (licencias, acuerdos de uso, re-venta, etc.)
Legislacin?
Marketing: Es el software un producto, o un servicio?
Cifras uso de Internet (Agosto 2005)

% Empresas... Espaa Europa

...que compran a travs de Internet 9% 32%

...que venden a travs de Internet 2% 11%


Objetos, Componentes y Servicios Web
Objetos Componentes Servicios Web

Perspectiva Elementos internos Elementos internos de un Elementos que se ven


arquitectnica de un componente sistema desde fuera del sistema

Modelo de Junto con la Despliegue fsico El software existe en


despliegue aplicacin o el (install-and-use) algn lado
componente (connect-and-use)
Niveles de Mayoritariamente Mayoritariamente dentro Mayoritariamente entre
intercambio de dentro de un de la empresa varias empresas
informacin componente software

Niveles de Fuerte Dbil Muy dbil


acoplamiento
Comunicacin Directa Middleware Web-based
(eg. IIOP) (SOAP/XML sobre http)
Granularidad Pequea Media-grande Media-grande