Está en la página 1de 14

Marzo, 2002

Microsoft Cororation
!
NDICE
ASPECTOS BSICOS DE LOS SERVICIOS WEB X
QU ES UN SERVICIO WEB XML? X
APLICACIN DE SERVICIOS WEB X
DESCRIPCIN DE LA INFORMACIN: XML X
ACCESO A SERVICIOS WEB: SOAP
X
DEFINICIN DE INTERFACES PARA SERVICIOS WEB: WSDL X
BSQUEDA DE SERVICIOS WEB: UDDI XX
SERVICIOS WEB EN LA .NET FRAMEWORK XX
QU ES LO QUE QUEDA? XX
CONCLUSIN XX
"
Asectos b#sicos de los servicios Web
Durante los ltimos diez aos, nada ha tenido una influencia tan grande sobre el mundo del software
como Internet y la World Wide Web. os esfuerzos de las organizaciones !or ada!tarse a este nue"o
entorno han generalizado el uso de a!licaciones !ara na"egadores. #ero a !esar de su innegable
utilidad, ofrecer ser"icios en na"egadores no es la nica forma en $ue las a!licaciones !ueden
e%!lotar la tecnolog&a de la Web. '#or $u( no hacerlo tambi(n mediante !rogramaci)n* +i el software
$ue se e,ecuta en otros sistemas !udiera !oner en marcha directamente o!eraciones en la Web, las
a!licaciones Web !odr&an ofrecer me,ores ser"icios a clientes m-s di"ersos.
.sto es !osible gracias a los ser"icios Web. /on esta nue"a tecnolog&a, el software $ue se e,ecuta en
sistemas de escritorio, ser"idores, asistentes digitales !ersonales 0#D12, tel(fonos m)"iles o cual$uier
otro dis!ositi"o inteligente !uede !oner en marcha directamente o!eraciones ofrecidas !or
a!licaciones Web. 1un$ue las a!licaciones !ara Internet ser-n mayor&a en este nue"o mundo, las
a!licaciones $ue se e,ecuten en redes internas tambi(n !odr-n beneficiarse del uso de los ser"icios
Web. .l ob,eti"o de este art&culo es dar una bre"e introducci)n sobre las tecnolog&as b-sicas $ue hay
detr-s de esta nue"a idea.
$%u& es un servicio Web 'ML(
os ser"icios Web 3M son la base $ue !ermitir- la com!utaci)n distribuida en Internet. .l uso de
est-ndares abiertos y la orientaci)n hacia la comunicaci)n y colaboraci)n entre !ersonas y
a!licaciones han creado un entorno en el $ue los ser"icios Web 3M funcionan como !lataforma !ara
la integraci)n de a!licaciones. as a!licaciones se crean con "arios ser"icios Web 3M de distintas
fuentes $ue colaboran entre s&, inde!endientemente de d)nde residan o de c)mo se !usieran en
marcha.
#robablemente haya tantas definiciones de ser"icios Web 3M como em!resas $ue los crean, !ero
casi todas las definiciones tienen estos !untos en comn4
os ser"icios Web 3M utilizan un !rotocolo est-ndar de Web !ara !oner funciones tiles a
dis!osici)n de los usuarios de la Web. .l !rotocolo utilizado en la mayor&a de los casos es
+51#.
os ser"icios Web 3M ofrecen una forma de describir sus interfaces con suficiente detalle
!ara $ue el usuario !ueda crear una a!licaci)n de cliente !ara comunicarse con ellas. .sta
descri!ci)n se ofrece normalmente en un documento 3M $ue recibe el nombre de
documento de lengua,e de descri!ci)n de ser"icios Web 0Web Services Description
Language, W+D2.
os ser"icios Web 3M est-n registrados !ara $ue los !osibles usuarios !uedan encontrarlos
con facilidad. .sto se hace con descri!ci)n, descubrimiento e integraci)n uni"ersales
0Universal Discovery Description and Integration, 6DDI2.
)
a tecnolog&a de ser"icios Web se !uede di"idir en cuatro -reas, cada una de las cuales trata un
as!ecto concreto del !roblema. .stas -reas son4
Descripcin de la informacin enviada por la red. a !uesta en marcha de una o!eraci)n
remota suele im!licar el !aso de !ar-metros y la rece!ci)n de algn ti!o de resultados. /on
los ser"icios Web, esta informaci)n se describe mediante el lenguaje de marcado extensible
(!L", $ue ha sido admitido uni"ersalmente como el lengua,e comn !ara la descri!ci)n de
datos. 3M !ermite describir e intercambiar todo ti!o de datos.
#cceso a servicios Web. 6na "ez definida una interfaz, los clientes tienen $ue usar algn
!rotocolo !ara !oner en marcha las o!eraciones en esa interfaz. 7o hay ningn !rotocolo
es!ec&fico !ara ello 0de hecho, W+D !ermite e%!l&citamente el uso de distintos !rotocolos
!ara !oner en marcha las o!eraciones en una interfaz2. 7o obstante, la o!ci)n m-s
im!ortante es el protocolo de acceso simple a objetos (Simple $bject #ccess %rotocol
S$#%", $ue se define con 3M y !ermite identificar la o!eraci)n $ue se "a a !oner en
marcha, !asar los !ar-metros de entrada de esa o!eraci)n como datos definidos !or 3M, y
de"ol"er los !osibles resultados tambi(n como datos definidos !or 3M. +51# define
nicamente un a,ustador sencillo !ara comunicar esta informaci)n, $ue se !uede trans!ortar
de distintas maneras. #or e,em!lo, las llamadas de +51# se !ueden trans!ortar con el
!rotocolo de transferencia de hi!erte%to 0899#2, con una tecnolog&a de mensa,er&a como el
!rotocolo sim!le de transferencia de correo 0+M9#2, o con otros m(todos.
Definicin de capacidades de servicios Web. os !ro"eedores de ser"icios Web necesitan
algn mecanismo $ue les !ermita es!ecificar con e%actitud los datos t(cnicos de los ser"icios
ofrecidos. /omo ocurre con otros ti!os de ser"icios, lo m-s til es agru!ar o!eraciones
relacionadas en interfaces y luego utilizar algn m(todo !ara describir cada una de esas
o!eraciones. .n el caso de los ser"icios Web, esto se hace con el lenguaje de descripcin de
servicios Web (WSDL& 'ue normalmente se pronuncia ()i*del+". /ada una de las interfaces
definidas con W+D contiene una o m-s o!eraciones, y cada o!eraci)n tiene datos de
entrada y salida definidos con 3M.
,-s'ueda de servicios Web. #ara $ue los desarrolladores !uedan crear clientes $ue utilicen
ser"icios Web es necesario $ue conozcan cu-les son los ser"icios dis!onibles, $u( es lo $ue
ofrecen y c)mo son sus interfaces. a me,or o!ci)n consiste en utilizar Internet !ara crear un
registro est-ndar donde se !ueda almacenar este ti!o de informaci)n y acceder a ella. .sto
es ,ustamente lo $ue hace la tecnolog&a definida !ara descripcin& descubrimiento e
integracin universales (UDDI". 6DDI !ermite a los !ro"eedores de ser"icios Web dar a
conocer sus ofertas de una forma est-ndar, lo $ue hace $ue los clientes !uedan saber cu-les
son los ser"icios ofrecidos !or cada !ro"eedor y $ue los creadores de software de cliente
dis!ongan de toda la informaci)n necesaria !ara crear esos clientes.
9odas estas tecnolog&as se crearon con la colaboraci)n de gru!os de !ro"eedores y usuarios. 3M,
!or e,em!lo, es el resultado de la coo!eraci)n de un numeroso gru!o $ue traba,) ba,o los aus!icios
del World Wide Web /onsortium 0W:/2, mientras $ue W+D fue creado fundamentalmente !or
Microsoft e I;M. +51# !ro"iene de un gru!o de tamao intermedio en el $ue !artici!aron Microsoft,
I;M, 6serand +oftware, De"elo!Mentor y "arias organizaciones m-s. 6DDI es una de las
tecnolog&as m-s modernas y fue desarrollada originalmente !or Microsoft, I;M y 1riba, aun$ue desde
*
entonces se han unido muchas otras organizaciones.
o m-s im!ortante sobre el origen de las tecnolog&as de ser"icios Web es $ue ninguna de ellas es la
soluci)n de un solo !ro"eedor. De hecho, no hay ninguna $ue est( "inculada a tecnolog&as e%clusi"as
como Windows, 6ni%, el modelo de ob,etos com!onentes 0/5M2 de Microsoft o .nter!rise <a"a;eans
0.<;2. #or el contrario, los ser"icios Web basados en W+D, +51# y 6DDI se !ueden utilizar
!r-cticamente con cual$uier !lataforma, lengua,e y modelo de ob,etos.
.n este art&culo hablaremos de todas estas tecnolog&as, !ero antes me gustar&a e%!licar $u( !ueden
ofrecer los ser"icios Web 3M.
6na de las !rinci!ales "enta,as de la ar$uitectura de los ser"icios Web 3M es $ue !ermite la
comunicaci)n entre !rogramas escritos en distintos lengua,es sobre !lataformas diferentes. =uienes
conozcan un !oco el sector dir-n4 >?6n momento@ '.so no es lo mismo $ue me !rometieron hace
tiem!o con /5A;1 y antes an con D/.* '/u-l es la diferencia*> a !rimera diferencia es $ue
+51# es bastante menos com!le,o $ue otras soluciones anteriores, !or lo $ue es mucho m-s f-cil
acceder a una "ersi)n de +51# $ue cum!la los est-ndares. #aul BulchenCo mantiene una lista de
"ersiones de +51# en htt!4DDwww.soa!ware.orgDdirectoryDEDim!lementations $ue, des!u(s de su
ltima actualizaci)n, ten&a FG entradas. /omo era de es!erar, la mayor !arte de las grandes em!resas
cuentan con "ersiones de +51#, !ero tambi(n hay muchas $ue han sido creadas y mantiene un solo
desarrollador. a otra "enta,a im!ortante $ue distingue a los ser"icios Web 3M de soluciones
anteriores es $ue funcionan con !rotocolos Web est-ndar 03M, 899# y 9/#DI#2. Ha hay muchas
em!resas $ue tienen una infraestructura Web y !ersonal con los conocimientos y la e%!eriencia
necesarios !ara mantenerla, !or lo $ue el coste !ara acceder a ser"icios Web 3M es
considerablemente menor $ue con tecnolog&as anteriores.
8emos definido un ser"icio Web 3M como un ser"icio de software $ue se ofrece en la Web !or
medio de +51#, $ue se describe con un archi"o W+D y $ue se registra en 6DDI. a !regunta l)gica
des!u(s de esto es4 >'=u( !uedo hacer con los ser"icios Web 3M*> os !rimeros ser"icios Web
3M eran b-sicamente fuentes de informaci)n $ue se !od&an incluir f-cilmente en a!licaciones
0&ndices burs-tiles, !ron)sticos del tiem!o, marcadores de!orti"os, etc.2. .s f-cil imaginar la creaci)n
de una clase de a!licaciones $ue analizar&an y aadir&an la informaci)n $ue usted $uisiera y la
!resentar&an de distintas formasI !or e,em!lo, !odr&a tener una ho,a de c-lculo .%cel de MicrosoftJ
$ue resumiera toda su informaci)n econ)mica 0acciones, E0KB, cuentas bancarias, !r(stamos, etc.2.
+i es !osible acceder a esta informaci)n a tra"(s de ser"icios Web 3M, .%cel !uede actualizarla
continuamente. #arte de esta informaci)n !uede ser gratuita, mientras $ue !ara acceder a otra !arte
!odr&a ser necesario subscribirse al ser"icio. a mayor !arte de esta informaci)n ya est- dis!onible en
la Web, !ero los ser"icios Web 3M !ueden hacer $ue el acceso mediante !rogramaci)n sea m-s
sencillo y fiable.
.l hecho de ofrecer a!licaciones e%istentes como ser"icios Web 3M !ermitir- a los usuarios crear
a!licaciones nue"as y m-s !otentes a !artir de ser"icios Web 3M. #or e,em!lo, un usuario !odr&a
desarrollar una a!licaci)n de com!ras !ara conseguir autom-ticamente informaci)n sobre los !recios
de distintos !ro"eedores, lo $ue le !ermitir&a elegir un !ro"eedor, cursar el !edido y su!er"isar el
en"&o hasta recibirlo. a a!licaci)n del !ro"eedor, ,unto con la oferta de sus ser"icios en la Web,
!odr&a utilizar a su "ez ser"icios Web 3M !ara com!robar el cr(dito del cliente, cargar el !recio en su
cuenta y !re!arar el en"&o con una em!resa de trans!ortes.
.n el futuro, algunos de los ser"icios Web 3M m-s interesantes ser-n com!atibles con a!licaciones
+
$ue usen la Web !ara cosas $ue son im!osibles de hacer hoy en d&a. #or e,em!lo, el !royecto My
+er"ice s de Microsoft .7.9 ofrece un ser"icio de calendario. +i su dentista o su mec-nico ofreciera su
calendario a tra"(s de este ser"icio Web 3M, usted !odr&a concertar directamente una cita en l&nea
en su calendario !ara una lim!ieza bucal o !ara un mantenimiento de rutina. .s f-cil imaginarse
cientos de a!licaciones $ue se !odr&an crear si se !udiera !rogramar la Web.
+i desea m-s informaci)n sobre ser"icios Web 3M y las a!licaciones $ue se !ueden crear con ellos,
"isite la !-gina de ser"icios W eb de M+D7.
Alicacin de servicios Web
8ay muchos casos en los $ue se !ueden utilizar ser"icios Web. 9al "ez el m-s ob"io consista en la
!osibilidad de $ue los usuarios finales !uedan e,ecutar directamente o!eraciones ofrecidas !or
a!licaciones a las $ue se accede !or Internet. #or e,em!lo, su!ongamos $ue usted $uiere concertar
una cita con su dentista, reser"ar un "uelo a #ar&s o "er el saldo de su cuenta bancaria. 9odo eso lo
!uede hacer hoy en d&a en la Web utilizando a!licaciones Web tradicionales, aun$ue (stas ofrecen
sus ser"icios a tra"(s de una interfaz gr-fica de usuario 0L6I2 y !or lo tanto re$uieren cierto grado de
inter"enci)n humana. 1dem-s, el hecho de $ue den tanta im!ortancia a los gr-ficos hace $ue sean
menos interesantes cuando el cliente es un dis!ositi"o de bolsillo como un #ocCet#/ o un tel(fono
m)"il. 9odas estas funciones y muchas m-s !odr&an ser mucho m-s eficaces si se ofrecieran como
ser"icios Web. 6na L6I sencilla $ue fuera adecuada !ara el dis!ositi"o de cliente bastar&a !ara $ue
usted diera a conocer sus deseos y hacer $ue se cum!lieran utilizando ser"icios Web.
.ste uso de los ser"icios Web abre una nue"a !osibilidad4 '#or $u( no utilizar algunos de estos
ser"icios !ara generar ingresos* Del mismo modo $ue las a!licaciones Web basadas en L6I hicieron
!osibles nue"os modelos de negocio $ue !ro"ocaron el boom de Internet, los ser"icios Web !ueden
ofrecer nue"as formas de conseguir beneficios. #or e,em!lo, !odr&a haber muchos ser"icios Web $ue
re$uirieran la misma informaci)n de sus usuarios, como datos de autenticaci)n. .n lugar de !edir esta
informaci)n a cada usuario !or se!arado, un ser"icio Web !odr&a almacenarla de una "ez !or todas, a
cambio de una tarifa, !ara $ue muchos clientes diferentes !udieran acceder a ella. Microsoft ofrece un
e%celente e,em!lo de organizaci)n $ue cree en este modelo de negocio, y ya ha anunciado !lanes
!ara ofrecer distintos ser"icios de base 0,uilding ,loc. services2 en Internet.
5tra im!ortante a!licaci)n de los ser"icios Web, $ue tambi(n de!ende de Internet, es la integraci)n
;2; 0de em!resa a em!resa2 entre distintas organizaciones. 8asta ahora se han utilizado m(todos
bastante es!ecializados !ara conectar a!licaciones en distintas em!resas. .%isten algunos
est-ndares como el intercambio electr)nico de datos 0/lectronic Data Interc0ange, .DI2, !ero
normalmente son com!le,os y demasiado es!ec&ficos. '#or $u( no utilizar algo m-s sencillo*
os ser"icios Web ofrecen una tecnolog&a sencilla y abierta a todos $ue se !uede utilizar !ara resol"er
este !roblema. a descri!ci)n de datos con 3M, la definici)n de interfaces con W+D, la bs$ueda
de interfaces dis!onibles con 6DDI y la !uesta en marcha de ser"icios con +51# !ueden ofrecer una
soluci)n global !ara todo ti!o de entornos. 5tra "enta,a de este m(todo es $ue, !uesto $ue +51#
!uede funcionar !or 899#, es !osible acceder a ser"icios Web a tra"(s de ser"idores de seguridad.
M-s tarde discutiremos los l)gicos !roblemas de seguridad $ue esto !odr&a !ro"ocar, !ero no se
,
!uede lograr la integraci)n ;2; en Internet si no es !osible su!erar los ser"idores de seguridad.
.l ltimo e,em!lo del uso de ser"icios Web ser- tambi(n el mas im!ortante !ara algunas
organizaciones. +e trata de la integraci)n entre a!licaciones dentro de una em!resa, un !roblema $ue
normalmente recibe el nombre de .1I 0integraci)n em!resarial de a!licaciones2. Inde!endientemente
de su tamao, cual$uier em!resa tiene software $ue se e,ecuta en distintos sistemas y $ue se ha
escrito antes o des!u(s en lengua,es diferentes. a uni)n de todas estas a!licaciones en una sola es
uno de los mayores desaf&os a los $ue se enfrentan estas em!resas, es!ecialmente cada "ez $ue
aaden nue"as a!licaciones. os ser"icios Web ofrecen una soluci)n a este molesto !roblema.
#ara entender este !unto, recordemos $ue el ob,eti"o fundamental de los ser"icios Web es definir una
interfaz a cuyas o!eraciones se !ueda acceder desde cual$uier cliente. .s f-cil hacer $ue las nue"as
a!licaciones sean com!atibles con interfaces !ara ser"icios Web, !ero tambi(n es !osible ada!tar
estas interfaces a las a!licaciones e%istentes. #uesto $ue no est-n "inculadas a ningn entorno
concreto y son utilizadas !or muchos !ro"eedores, las tecnolog&as b-sicas de los ser"icios Web son
una soluci)n e%celente !ara conectar distintas a!licaciones dentro de una organizaci)n. De hecho, es
muy !osible $ue +51# y las otras tecnolog&as se con"iertan en el mecanismo est-ndar utilizado !or
todas las a!licaciones !ara ofrecer sus ser"icios al mundo e%terior.
1un$ue hay muchos otros usos !osibles de los ser"icios Web, estos tres !arecen los m-s im!ortantes
!or el momento. #ara "er c)mo se !odr&an utilizar, imag&nese $ue $uiere reser"ar un billete de a"i)n
desde su #ocCet#/ con una cone%i)n inal-mbrica a Internet. a siguiente figura muestra c)mo ser&a
el sistema utilizado !ara reser"ar el billete des!u(s de indicar su destino y las fechas deseadas.
a !rimera tarea 0el !aso K en el diagrama2 consiste en ad$uirir la informaci)n necesaria sobre el
cliente en un ser"icio est-ndar de Identidad dis!onible en Internet. .ste ser"icio !odr&a ser uno de los
ser"icios de base de Microsoft, como se indica en el diagrama, o algn otro. #ara acceder a este
ser"icio, como a todos los otros ser"icios Web de este e,em!lo, se utiliza +51#.
1 continuaci)n, el #ocCet#/ se !one en contacto con una a!licaci)n de reser"as utilizando de nue"o
Internet, como se muestra en el !aso 2. .sta a!licaci)n !uede !ertenecer a una agencia de "ia,es !or
Internet, !or lo $ue !odr&a no ser m-s $ue un !unto de acceso comn !ara los sistemas de reser"as
-
Identidad
Intranet
Aplicacin
de reservas
SOAP
Servicio de
base
Internet
Sistema de
reservas de la
lnea area
Aplicacin de
bsqueda de plazas
Aplicacin
de precios
1
2
3

de las distintas l&neas a(reas. .l !aso : del diagrama muestra c)mo la a!licaci)n se !one en contacto
con el sistema de reser"as de una l&nea a(rea concreta. #ara ello se utiliza de nue"o Internet, lo $ue
significa $ue esta l&nea a(rea tiene $ue haber ofrecido su sistema de reser"as a la agencia de "ia,es
!or Internet 0aun$ue no necesariamente a nadie m-s2 como un ser"icio Web. Minalmente, como se
indica en el !aso E, el sistema de reser"as de la l&nea a(rea interacta con una a!licaci)n de
bs$ueda de !lazas y una a!licaci)n de !recios !ara hacer la reser"a. .stas a!licaciones s)lo est-n
dis!onibles en la Intranet de la l&nea a(rea, !ero !ueden funcionar en distintos sistemas $ue utilicen
diferentes tecnolog&as. Incluso en este caso, los ser"icios Web !ueden ser la soluci)n $ue unifi$ue
todos los softwares.
os !asos K y 2 del diagrama son e,em!los del acceso directo de un cliente a ser"icios a tra"(s de
Internet, el !rimero de los usos de los ser"icios Web descritos anteriormente. .l !aso : muestra la
integraci)n ;2; en Internet con ser"icios Web, mientras $ue el !aso E ilustra un e,em!lo de .1I $ue
utiliza ser"icios Web !ara integrar a!licaciones internas en una Intranet. .n todos los casos, estas
tiles tecnolog&as !ro!orcionan interfaces y m(todos comunes !ara la comunicaci)n entre distintas
a!licaciones en sistemas diferentes sobre "arias redes.
Descricin de la infor.acin: 'ML
a comunicaci)n no es !osible si no e%iste algn acuerdo sobre c)mo re!resentar lo $ue se $uiere
comunicar. .n los ltimos aos, 3M se ha con"ertido en la soluci)n est-ndar !ara describir la
informaci)n $ue se intercambia entre sistemas diferentes. #or ello no hay $ue e%traarse de $ue
3M sea fundamental !ara los ser"icios Web. 9odas las dem-s tecnolog&as en la familia de los
ser"icios Web lo utilizan de una forma u otra, !or lo $ue !ara com!render los ser"icios Web es
necesario entender 3M. 1fortunadamente, !ara dominar los as!ectos b-sicos de los ser"icios
Web s)lo se necesitan algunos conce!tos de 3M. .sas ideas cla"e son eti$uetas, elementos,
atributos, es$uemas y es!acios de nombres.
6na eti'ueta es generalmente una !alabra entre corchetes angulares, como <Account> o
<Balance>. as eti$uetas se utilizan !or !are,as, al !rinci!io y al final de una elemento. a
eti$ueta final de un elemento no es m-s $ue la eti$ueta inicial con una barra diagonal antes de la
!alabra. 6n elemento contiene te%to relacionado de alguna manera con la !alabra en las eti$uetas.
#or e,em!lo, en el elemento
NAccount>729-1269-4785</Account>
el te%to entre las dos eti$uetas re!resenta !robablemente el nmero de una cuenta, como una
cuenta bancaria de che$ues. De la misma forma, en el elemento
<Balance>3.822,55</Balance>
el te%to entre las eti$uetas !odr&a re!resentar la cantidad de dinero $ue hay en una cuenta. /on
las eti$uetas correctas se !uede crear un documento 3M con elementos $ue describen
informaci)n til. #or e,em!lo, se !odr&a crear un documento sencillo con informaci)n sobre cuentas
bancarias y sus corres!ondientes saldos utilizando nicamente los dos elementos descritos
anteriormente.
a eti$ueta inicial de un elemento tambi(n !uede contener uno o m-s atributos. /ada atributo
describe algn as!ecto del elemento en el $ue a!arece. #or e,em!lo, en el elemento
<Account type=chec!n">729-##84-7823</Account>
el atributo type indica $ue se trata de una cuenta de che$ues. 5!cionalmente se !uede utilizar
una sim!lificaci)n $ue resulta es!ecialmente til !ara elementos con atributos y $ue !ermite omitir
la eti$ueta final de un elemento. #ara indicar $ue un elemento consta de una sola eti$ueta, se
/
!uede !oner una barra diagonal antes del corchete de cierre. #or e,em!lo, un documento $ue
contenga la lista de los ti!os de cuentas de un cliente !odr&a incluir el elemento
<Account type=chec!n"/>
.sto es e$ui"alente, !ero m-s sim!le, a4
<Account type=chec!n"></Account>
os elementos son la base de un documento 3M. #ero 'c)mo se definen estos elementos*
Debe haber una forma de es!ecificar un gru!o de elementos 0y !or tanto de eti$uetas2 $ue se
"ayan a utilizar !ara un ob,eti"o concreto. .n la !rimera "ersi)n de 3M, los elementos se defin&an
mediante definiciones de ti!os de documentos 0D9D2. 7o obstante, los D9D ten&an "arias
limitaciones, !or lo $ue hoy en d&a se utiliza un m(todo m-s fle%ible llamado es'uema 3M. /ada
es$uema define uno o m-s elementos, ,unto con reglas sobre c)mo se !ueden utilizar esos
elementos. #or e,em!lo, un es$uema !odr&a definir un elemento /nvelope acotado !or las
eti$uetas <$n%elope> y </$n%elope>, e indicar $ue ese elemento !uede contener una o m-s
"eces el elemento ,ody, acotado !or las eti$uetas <Bo&y> y </Bo&y>.
as cosas son m-s sencillas si un solo documento "a a utilizar las eti$uetas de un nico es$uema.
7o obstante, es habitual combinar elementos de uno o m-s es$uemas en un solo documento.
#uesto $ue los es$uemas se crean de forma inde!endiente, no hay ningn !roblema en definir la
misma eti$ueta con significados distintos en cada es$uema. #or e,em!lo, la eti$ueta <Account>
en un es$uema !odr&a identificar un elemento de cuenta de che$ues, mientras $ue la misma
eti$ueta definida en otro es$uema !odr&a identificar un elemento $ue re!resentara la cantidad
im!agada de un !r(stamo. #ara combinar eti$uetas de distintos es$uemas en el mismo
documento tiene $ue haber una forma de combinar un elemento con el es$uema en el $ue est-
definido. Osta es la funci)n de los espacios de nombres.
6n es!acio de nombre !ro!orciona un nombre global nico !ara un con,unto de elementos. /ada
es!acio de nombre se identifica con un identificador de recursos uniforme 06AI2, $ue es similar 0y a
menudo igual2 a un localizador de recursos uniforme 06A2. .l es!acio de nombre en el $ue est-
definido un elemento se !uede es!ecificar con un atributo. #or e,em!lo, en el elemento
<Account '(ln)=*http+//,,,.-,!c.an.co(/.an>
729-1269-4785
</Account>
el atributo '(ln) indica $ue el elemento #ccount est- definido en un es!acio de nombre
identificado !or el 6AI http+//,,,.-,!c.an.co(/.an.
Minalmente, un documento 3M !uede contener comentarios, aun$ue no son esenciales !ara su
significado. os comentarios !ermiten aadir informaci)n dirigida a un lector humano, no al
software $ue "a a !rocesar el documento. .l as!ecto de los comentarios 3M es el siguiente4
</-- 0)te e) un co(enta1!o 234 -->
3M contiene mucho m-s de lo $ue se ha descrito a$u&. 1 !esar de ello, !ara entender los
as!ectos b-sicos de los ser"icios Web no es necesario saber mucho m-s $ue los !untos m-s
elementales de este lengua,e de descri!ci)n de datos. .stos conce!tos fundamentales nos dan las
armas necesarias !ara e%aminar las tecnolog&as de los ser"icios Web.
Acceso a servicios Web: SOAP
+51# es el !rotocolo de comunicaciones !ara ser"icios Web 3M. /uando se describe +51# como
un !rotocolo de comunicaciones, casi todo el mundo !iensa en D/5M o en /5A;1 y hace !reguntas
0
del ti!o >'/)mo se acti"an ob,etos en +51#*> o >'=u( ser"icio de nombres utiliza +51#*> 1un$ue
es !robable una "ersi)n de +51# incluya estos !untos, el est-ndar de +51# no los es!ecifica. +51#
es una es!ecificaci)n $ue define el formato 3M !ara mensa,es, y eso es todo lo $ue se necesita.
#ara tener un mensa,e +51# s)lo hace falta un fragmento 3M metido en un !ar de elementos
+51#. M-cil, '"erdad*
8ay otras !artes de la es!ecificaci)n +51# $ue describen c)mo re!resentar datos de !rograma como
3M y c)mo utilizar +51# !ara hacer llamadas a !rocedimientos remotos. .stas !artes o!cionales de
la es!ecificaci)n se utilizan !ara acti"ar a!licaciones de estilo A#/, desde donde al cliente se le en"&a
un mensa,e +51# $ue contiene una funci)n in"ocable y los !ar-metros $ue hay $ue !asar a esa
funci)n, y el ser"idor de"uel"e un mensa,e con los resultados de la funci)n e,ecutada. a mayor !arte
de las "ersiones actuales de +51# admiten a!licaciones A#/, ya $ue los !rogramadores $ue est-n
acostumbrados a a!licaciones /5M o /5A;1 com!renden el estilo A#/. +51# tambi(n admite
a!licaciones de estilo documento en las $ue el mensa,e +51# no es m-s $ue un a,ustador del
documento 3M. as a!licaciones +51# de estilo documento son muy fle%ibles, lo $ue a!ro"echan
muchos nue"os ser"icios Web 3M !ara crear ser"icios $ue ser&a dif&cil construir con A#/.
a ltima !arte o!cional de la es!ecificaci)n +51# define c)mo es un mensa,e 899# $ue contiene un
mensa,e +51#. .ste enlace 899# es im!ortante, ya $ue 899# se !uede utilizar en casi todos los
sistemas o!erati"os actuales 0y en otros $ue no lo son tanto2. .l enlace 899# es o!cional, !ero casi
todas las "ersiones de +51# son com!atibles con (l ya $ue es el nico !rotocolo normalizado !ara
+51#. #or esta raz)n se ha e%tendido la creencia err)nea de $ue +51# re$uiere 899#. 1lgunas
"ersiones admiten trans!ortes !or M+M=, M= +eries, +M9# o 9/#DI#, !ero la mayor !arte de los
ser"icios Web 3M actuales utilizan 899# debido a su uni"ersalidad. 899# es el !rotocolo
fundamental de la Web, !or lo $ue la mayor !arte de las organizaciones cuentan con una
infraestructura de red com!atible con 899# y !ersonal $ue sabe c)mo administrarla. as
infraestructuras de seguridad, su!er"isi)n y e$uilibrio de carga !ara 899# est-n ya muy e%tendidas.
6n moti"o corriente de confusi)n cuando se em!ieza a utilizar +51# es la diferencia entre la
es!ecificaci)n +51# y las numerosas "ersiones de la es!ecificaci)n +51#. a mayor !arte de la
gente $ue utiliza +51# no escribe mensa,es +51# directamente, sino $ue utiliza un Cit de
herramientas de +51# !ara crear y analizar los mensa,es +51#. .n general, estos Cits de
herramientas traducen llamadas de funci)n de algn ti!o de lengua,e a un mensa,e +51#. #or
e,em!lo, .l +51# 9oolCit 2.0 de Microsoft traduce llamadas de funci)n /5M a +51#, y el Cit de
herramientas de 1!ache traduce llamadas de funci)n de <1P1 a +51#. os ti!os de llamadas de
funci)n y los ti!os de datos de los !ar-metros admitidos "ar&an segn la "ersi)n de +51#, !or lo $ue
una funci)n $ue es "-lida !ara un Cit de herramientas !uede no serlo !ara otro. .sto no es una
limitaci)n de +51#, sino de la "ersi)n concreta $ue se utilice.
a caracter&stica m-s atracti"a de +51# es $ue se ha introducido en muchas !lataformas de
hardware y software diferentes. .sto significa $ue se !uede utilizar +51# !ara "incular sistemas
distintos dentro y fuera de una organizaci)n. .n el !asado se han hecho muchos intentos !ara
conseguir un !rotocolo de comunicaciones comn $ue se !udiera utilizar !ara la integraci)n de
sistemas, !ero ninguno se ha difundido tanto como +51#. '#or $u(* #or$ue +51# es mucho m-s
!e$ueo y mucho m-s f-cil de a!licar $ue muchos de los !rotocolos anteriores. #or e,em!lo, fueron
necesarios "arios aos !ara !oner en !r-ctica D/. y /5A;1, !or lo $ue a!arecieron muy !ocas
"ersiones. #or el contrario, +51# !uede utilizar analizadores 3M y bibliotecas 899# e%istentes !ara
$ue hagan casi todo el traba,o duro, !or lo $ue se !uede finalizar una "ersi)n de +51# en s)lo unos
!1
meses. #or eso e%isten ya m-s de F0 "ersiones de +51#. 5b"iamente, +51# no hace tanto como
D/. o /5A;1, !ero a cambio de algunas funciones !resenta la "enta,a de su falta de com!le,idad.
a uni"ersalidad de 899# y la sim!licidad de +51# los con"ierte en la base ideal !ara !oner en
marcha ser"icios Web 3M $ue se !ueden acti"ar desde !r-cticamente cual$uier entorno. +i desea
m-s informaci)n sobre +51#, "isite la !-gina de +51# de M+D7.
Definicin de interfaces ara servicios Web: WSDL
W+D 0a menudo !ronunciado )0i*1dull2 significa lengua,e de descri!ci)n de ser"icios Web. Dentro
del tema $ue estamos tratando, !odemos decir $ue un archi"o W+D es un documento 3M $ue
describe un con,unto de mensa,es +51# y la forma en $ue se intercambian esos mensa,es. .n otras
!alabras, W+D es a +51# lo $ue ID es a /5A;1 o /5M. #uesto $ue W+D es 3M, se !uede
leer y editar en la mayor !arte de los casos y es generado y consumido !or software.
#ara entender las "enta,as de W+D, imag&nese $ue $uiere em!ezar a a!licar un m(todo +51#
ofrecido !or uno de sus socios comerciales. #odr&a !edirle algunos e,em!los de mensa,es +51# y
escribir su !ro!ia a!licaci)n !ara !roducir y consumir mensa,es similares a los e,em!los, !ero es
!robable $ue cometa errores. #or e,em!lo, !odr&a "er la identificaci)n de cliente 2Q:F y su!oner $ue
es un entero cuando en realidad es una cadena. W+D es!ecifica de forma ine$u&"oca lo $ue debe
contener un mensa,e de !etici)n y c)mo tiene $ue ser el mensa,e de res!uesta.
a notaci)n $ue utiliza un archi"o W+D !ara describir formatos de mensa,es se basa en el est-ndar
de es$uemas 3M, lo $ue significa $ue es inde!endiente del lengua,e de !rogramaci)n y $ue est-
basada en est-ndares. .sto hace $ue sea adecuada !ara describir interfaces de ser"icios Web 3M a
las $ue se !uede acceder desde una gran "ariedad de !lataformas y lengua,es de !rogramaci)n.
1dem-s de describir los contenidos de los mensa,es, W+D define d)nde se !uede acceder al
ser"icio y $u( !rotocolo de comunicaciones se utiliza !ara ello. .s decir, el archi"o W+D define todo
lo necesario !ara escribir un !rograma !ara traba,ar con un ser"icio Web 3M. .%isten "arias
herramientas !ara leer un archi"o W+D y generar el c)digo necesario !ara comunicarse con un
ser"icio Web 3M. 1lgunas de las herramientas m-s !otentes se encuentran en el Pisual +tudioJ
.7.9 de Microsoft.
Muchos de los actuales Cits de herramientas de +51# incluyen herramientas !ara generar archi"os
W+D a !artir de interfaces de !rogramas e%istentes, !ero hay !ocas $ue !ermitan escribir archi"os
W+D directamente. a gama de herramientas !ara W+D no es todo lo com!leta $ue debiera, !ero
no !asar- mucho tiem!o antes de $ue herramientas !ara crear archi"os W+D y luego generar
!ro%ys y c)digos au%iliares, muy similares a las herramientas ID de /5M, !asen a formar !arte de la
mayor&a de "ersiones de +51#. .sto con"ertir- a W+D en la me,or forma de crear interfaces +51#
!ara ser"icios Web 3M.
.%iste una e%celente descri! c i)n de W+D, y !uede encontrar la es!ecificaci)n W+D en
htt!4DDwww.w:.orgD9ADwsdl.
!!
23s4ueda de servicios Web: UDDI
as tecnolog&as $ue hemos discutido hasta ahora se centran en c)mo describir un ser"icio Web y
c)mo acti"arlo sobre una red. +e trata de !artes cruciales de la soluci)n, !ero toda"&a $uedan algunos
!roblemas im!ortantes. #or e,em!lo, 'c)mo !ueden saber las em!resas $u( ser"icios Web ofrecen
sus asociados* '/)mo !ueden encontrar los desarrolladores la interfaz W+D $ue necesitan !ara
acti"ar un cliente !ara un ser"icio concreto* '/)mo !uede un software $ue $uiere in"ocar un ser"icio
Web determinar si ese ser"icio ha sido acti"ado de forma com!atible* 'H c)mo se !uede gestionar
esta informaci)n sobre ser"icios Web*
9odos estos !roblemas se !ueden resol"er con 6DDI. 6na organizaci)n $ue desee ofrecer ser"icios
Web !uede crear un registro de em!resa 6DDI, $ue es un documento 3M cuyo formato se es!ecifica
en un es$uema definido !or 6DDI. 6na "ez creados, estos registros de em!resa se almacenan en
una base de datos re!licada conocida como registro de em!resa 6DDI. /ada sitio de o!erador 6DDI
mantiene una co!ia del registro de em!resa. .stos sitios, suministrados ya !or Microsoft, I;M y 1riba,
se comunican entre s& segn las necesidades !ara mantener la coherencia de la informaci)n $ue
almacenan. #ara acceder a la informaci)n del registro 6DDI, el software de cliente utiliza siem!re
+51# !or 899# 0de hecho, 6DDI es tambi(n un ser"icio Web $ue !ro!orciona informaci)n sobre
otros ser"icios Web2.
6DDI 0descri!ci)n, descubrimiento e integraci)n uni"ersales2 es como las !-ginas amarillas de los
ser"icios Web. /omo en las !-ginas amarillas tradicionales, se !uede buscar una em!resa $ue
ofrezca cual$uier ti!o de ser"icios, leer sobre el ser"icio ofrecido y !onerse en contacto con alguien
!ara conseguir mas informaci)n. #or su!uesto, !uede ofrecer un ser"icio Web sin registrarlo en 6DDI,
igual $ue !uede abrir una em!resa en su s)tano y recurrir al boca a boca !ara la !ublicidad, !ero si
realmente $uiere llegar al mercado necesitar- 6DDI !ara $ue sus clientes !uedan conocerle.
6na entrada de directorio 6DDI es un archi"o 3M $ue describe una em!resa y los ser"icios $ue
ofrece. 6na entrada en el directorio 6DDI tiene tres !artes. as >!-ginas blancas> describen la
em!resa $ue ofrece el ser"icio4 nombre, direcci)n, contactos, etc. as >!-ginas amarillas> incluyen
categor&as industriales basadas en clasificaciones est-ndar como el 7orth 1merican Industry
/lassification +ystem y la +tandard Industrial /lassification. as >!-ginas "erdes> describen la interfaz
del ser"icio con suficiente detalle !ara $uienes $uieran escribir una a!licaci)n $ue utilice el ser"icio
Web. os ser"icios se definen mediante un documento 6DDI llamado Model 9y!e 0Modelo 9i!o2 o
tModel. .n muchos casos, el tModel contiene un archi"o W+D $ue describe una interfaz +51# !ara
un ser"icio Web 3M, !ero el tModel es lo bastante fle%ible !ara describir casi cual$uier ti!o de
ser"icio.
.l directorio 6DDI tambi(n le ofrece "arias formas de buscar los ser"icios $ue necesita !ara crear sus
a!licaciones. #or e,em!lo, !uede buscar los !ro"eedores de un ser"icio en una zona geogr-fica
concreta o una em!resa de un ti!o determinado. .l directorio 6DDI le !ro!orcionar- informaci)n,
contactos, enlaces y datos t(cnicos $ue le !ermitir-n decidir cu-les son los ser"icios $ue cum!len sus
condiciones.
6DDI le !ermite encontrar em!resas cuyos ser"icios Web !odr&an interesarle. '=u( !asa si ya ha
decidido la em!resa con la $ue $uiere tratar !ero no sabe $u( ser"icios ofrece* /on la es!ecificaci)n
W +RIns!ection !uede e%!lorar una colecci)n de ser"icios Web 3M ofrecidos en un ser"idor concreto
!"
!ara encontrar los $ue m-s se ada!ten a sus necesidades.
6DDI es una !ieza im!ortante en el !uzzle de los ser"icios Web. +in (l, las organizaciones $ue tienen
ser"icios Web no !odr&an dar a conocer a sus !osibles clientes $u( es lo $ue ofrecen, y los clientes no
!odr&an conocer f-cilmente los datos $ue necesitan !ara acceder a esos ser"icios. 1un$ue uno de los
!rinci!ales ob,eti"os de 6DDI es hacer $ue los clientes !uedan localizar ser"icios en Internet, tambi(n
!uede resultar muy til dentro de una organizaci)n. os ser"icios Web su!onen un a"ance
significati"o, !ero ser&an mucho menos tiles sin un ser"icio como 6DDI.
+i desea m-s informaci)n sobre 6DDI, "isite htt!4DDwww.uddi.orgDabout.html.
Servicios Web en la 5678 9ra.e:or;
a .7.9 MrameworC ofrece una ayuda im!ortante !ara la !uesta en marcha de ser"icios Web. os
as!ectos m-s im!ortantes de esa ayuda se encuentran en 1+#.7.9, el sucesor de las !-ginas 1cti"e
+er"er. /on 1+#.7.9, un desarrollador !uede crear una o m-s !-ginas .asm%, cada una de las cuales
contiene c)digo e,ecutable. /omo la .7.9 MrameworC admite distintos lengua,es, ese c)digo !uede
estar escrito en Pisual ;asic.7.9, /S o algn otro lengua,e. +ea cual sea la o!ci)n elegida !or el
desarrollador, ofrecer un m(todo como ser"icio Web es muy sim!le4 9odo lo $ue hay $ue hacer es
!oner el atributo est-ndar WebMethod antes de la definici)n de un m(todo. 7o es necesario crear
e%!l&citamente una interfaz W+D o escribir c)digo $ue ace!te llamadas +51#, ya $ue la .7.9
MrameworC !ro!orciona estos ser"icios autom-ticamente. Pisual +tudio.7.9 tambi(n tiene ayuda
integrada !ara acceder a un registro de em!resa 6DDI, $ue los desarrolladores !ueden utilizar !ara
crear m-s f-cilmente clientes !ara ser"icios Web concretos.
9ambi(n se !uede acceder a los ser"icios Web creados con 1+#.7.9 mediante 899# !uro, sin
necesidad de +51#. .n este caso, los !ar-metros $ue se !asan a una o!eraci)n deben ser
relati"amente sencillos y los resultados se tienen $ue de"ol"er como un documento 3M sim!le. .l
uso de +51# es m-s fle%ible, !ero es !robable $ue !ara muchos clientes sea m-s !r-ctico in"ocar
ser"icios Web mediante 899# !uro, al menos a corto !lazo. /ual$uiera $ue sea el !rotocolo utilizado,
la creaci)n de a!licaciones de ser"icios Web con 1+#.7.9 no es en absoluto dif&cil, y seguramente
a!arecer-n muchas en el futuro.
$%u& es lo 4ue 4ueda(
8asta ahora hemos discutido c)mo comunicarse con ser"icios Web 3M 0+51#2, c)mo describir
ser"icios Web 3M 0W+D2 y c)mo encontrar ser"icios Web 3M 06DDI2. .stos as!ectos constituyen
un con,unto de es!ecificaciones b-sicas $ue !onen los cimientos !ara integrar y aadir a!licaciones.
1 !artir de estas es!ecificaciones b-sicas, las em!resas crean soluciones reales de las $ue se
!ueden beneficiar.
1un$ue se ha a"anzado mucho !ara $ue los ser"icios Web 3M sean una realidad, an $ueda mucho
!or hacer. 8oy en d&a ya se est-n consiguiendo (%itos con ser"icios Web 3M, !ero an hay cosas
$ue se de,an como e,ercicio !ara el desarrollador, como la seguridad, la gesti)n de o!eraciones,
!)
transacciones o una mensa,er&a de confianza. a Llobal 3M Web +er"ices 1rchitecture 0ar$uitectura
global de ser"icios Web 3M2 ayudar- a lle"ar los ser"icios Web 3M al siguiente ni"el,
!ro!orcionando un modelo coherente y de uso general, modular y am!liable, !ara aadir nue"as y
a"anzadas ca!acidades a los ser"icios Web 3M.
os m)dulos !ara seguridad 0la es!ecificaci)n W +R+ecurity define sistemas de cifrado com!leto y la
es!ecificaci)n W +Ricense define t(cnicas !ara "erificar la identidad de la !ersona $ue llama y
asegurar $ue un ser"icio Web es utilizado nicamente !or usuarios autorizados2 mencionados
anteriormente son algunas es!ecificaciones de la Llobal Web +er"ices 1rchitecture. .sta ar$uitectura
tambi(n se ocu!a de las necesidades de gesti)n de o!eraciones, como el enrutamiento de mensa,es
entre "arios ser"idores y la configuraci)n din-mica de esos ser"idores !ara el !rocesamiento, en la
es!ecificaci)n W +RAouting y la es!ecificaci)n W +RAeferral. 1 medida $ue crezca la Llobal Web
+er"ices 1rchitecture, se ir-n aadiendo m-s es!ecificaciones !ara (stas y otras necesidades.
Conclusin
7o cabe duda de $ue los ser"icios Web son una buena idea, ya $ue el hecho de $ue distintos
!ro"eedores !uedan ofrecer ser"icios $ue se e,ecuten en todo ti!o de !lataformas !or Intranets o en
Internet abre todo un mundo de !osibilidades. 9odas las tecnolog&as $ue hay detr-s de los ser"icios
Web 03M, W+D, +51#, y 6DDI2 son relati"amente nue"as !ero, a !esar de ello, ya son ace!tadas
!or muchos !ro"eedores y es !robable $ue todas ellas tengan un !a!el destacado en el futuro de la
com!utaci)n distribuida. as a!licaciones !ara na"egadores han hecho de la Web lo $ue es hoy en
d&a, !ero es muy !osible $ue los ser"icios Web la con"iertan en lo $ue ser- maana.
!*

También podría gustarte