INSTITUTO TECNOLOGICO SUPERIOR DE ALVARADO –
INGENIERÍA EN SISTEMAS COMPUTACIONALES Materia: Programación Web Semestre - Grupo - Sistema: 6° Semestre - Grupo “A” – Escolarizado Producto Académico: !n"estigación #6 Preseta: $arrasco Sosa $int%ia &anette' ((6)((*+ ,ancilla rea .ngel /aniel' ((6)+*6( &0come Ama1a $arlos Ale2andro' ((6)+6*34 !ocete: !ng 5ogelio 5e1na argas
,E/E77!8 /E 95A' E5 :E9 – 4+(3
;ndice Objetivo……………………………………………………………………………… Objetivo………………………………………………… ……………………………………..3 ………..3 Introducción………………………………………………………… Introducción…………………………… …………………………………………...…… ……………...…………4 ……4 Hipertexto……………………………………………………… Hipertexto………………………… ………………………………………………….. ……………………..……….5 ……….5
W3c…………………………………………………………………………………..……….14 Ibm……………………………………………………………………………………………17 Conclusión………………………………………………………… Conclusión…………………………… ……………………………………………………. ………………………...56 ..56 iblio!r"#$"……………………………………………… iblio!r"#$"…………………… ……………………………………………………… …………………………………...56 ……...56
b2eti"o %e esper" 'ue con est" investi!"ción se ten!" un mejor entendimiento del tem"( 'ue en este c"so es sobre los servicios )eb.
2
!ntroducción *os servicios 'ue +o, o#rece Internet no sólo se +"n multiplic"do( sino 'ue +"n evolucion"do evolucion"do +"ci" nuev"s , mejor"d"s mejor"d"s #unciones , +"n !"n"do en #"cilid"d de uso , m"nejo. - este c"mbio +"n contribuido no sólo l" velocid"d de tr"ns#erenci" de los bits 'ue permiten los modems , routers "ctu"les , l" m",or e#icienci" , c"p"cid"d de l"s l"s l$ne l$ne"s "s de tele teleco comu muni nic"c c"cio iones nes con un !r"n !r"n "nc+o "nc+o de b"nd b"nd"( "( sino sino t"mb t"mbi in( n( mejor"s en el so#t)"re , l"s "plic"ciones / b"ses de d"tos inte!r"d"s en l" Web( mot motores ores de b0s b0s'ued 'ued" "( "!ente "!entes s intel inteli!ent i!entes es(( etc. , en el +"rd)"re /m",or c"p"cid"d de "lm"cen"miento , memori"( incremento exponenci"l de l" velocid"d de los proces"dores( c"p"cid"d de tr"t"r todo tipo de d"tos no sólo los textu"les( sino t"mbin los d"tos multimedi" multimedi"(( etc..
Ser"icios Web 2xisten numeros"s de#iniciones de %ervicios Web , esto demuestr"( en p"rte( l" !r"n complejid"d de los servicios 'ue se "!rup"n b"jo este trmino , l"s implic"ciones "soci"d"s "soci"d"s " ellos. ellos. H"st" "+or" l" de#inición de#inición ms !ener"l , convincente convincente es decir 'ue los %ervicios Web son el conjunto de "plic"ciones o tecnolo!$"s con c"p"cid"d p"r" interoper"r en l" Web. 2st"s tecnolo!$"s interc"mbi"n d"tos entre ell"s con el #in de o#recer unos servicios.
3
*" World Wide Web no Web no es sólo un esp"cio de in#orm"ción( t"mbin es un esp"cio de inter"cción inter"cción.. tili tili"ndo "ndo l" Web Web como como pl"t"#o pl"t"#orm" rm"(( los usu"rios usu"rios(( de #orm" remot"( pueden solicit"r un servicio 'ue "l!0n proveedor o#rec" en l" red. ero p"r" 'ue est" inter"cción #uncione( deben existir unos mec"nismos de comunic"ción estnd"res entre di#erentes "plic"ciones. 2stos mec"nismos deben poder inter"ctu"r entre s$ p"r" present"r l" in#orm"ción de #orm" dinmic" "l usu"rio usu"rio.. %e precis"( pues( un" "r'uitectur" de re#erenci" estnd"r 'ue +"!" posible l" interoper"bilid"d , extensibilid"d entre l"s distint"s "plic"ciones , 'ue permit" su combin"ción p"r" re"li"r oper"ciones complej"s.
uente8 W3C O#icin" 2sp"9ol". :*os %ervicios Web en #uncion"miento:. ;u$" reve de %ervicios Web. +ttp8<<))).)3c.es<=ivul!"cion<;ui"sbreves<%erviciosWeb Con el #in de est"nd"ri"r los di#erentes "spectos rel"cion"dos con los servicios )eb o Web %ervices /W%( el W3C reco!e todo lo re#erente " estos en8 Web %ervices -ctivit,/+ttp8<<))).)3.or!<>??><)s< -ctivit,/+ttp8<<))).)3.or!<>??><)s<. . -s$ pues( Web %ervices /W% o#rece un" un si!ni#ic"do estnd"r p"r" interoper"r entre di#erentes di#erentes "plic"ciones "plic"ciones de so#t)"re so#t)"re corriendo corriendo en di#erentes di#erentes pl"t"#orm"s pl"t"#orm"s ,
4
b"s" en los si!uientes componentes8 •
=ise9"r un m"rco de mens"jer$"8 •
%imple %O- %O-88 %imple Object -ccess rotocol es un protocolo
simple simple p"r" p"r" interc" interc"mbi mbi"r "r in#orm in#orm"ci "ción ón estruct estructur"d ur"d" " en un "mbien "mbiente te descentr"li"do , distribuido. :@ess"!in! r"me)orA: de#ine( us"ndo tecnolo!$"s B@*( un m"rco extensible de mens"jer$" 'ue contiene un" construcción construcción del mens"je 'ue se pued" interc"mbi"r interc"mbi"r con un" v"ried"d v"ried"d de protocolos sub,"centes. +ttp8<<))).)3.or!<D
Ep"rt1< •
Web %ervices -ddressin! /W%E-ddressin! W%E-ddressin!8 8 =ireccion"miento de
%ervicios Web. *" dirección de los servicios Web proporcion" mec"nismos neutr"les p"r" tr"nsport"r los servicios )eb , los mens"j mens"jes. es. =e#ine =e#ine un sistem sistem" " de c"r"cte c"r"cter$s r$stic tic"s "s "bstr" "bstr"ct" ct"s s , un" represent"ción de B@* p"r" re#erirse " servicios de l" Web , p"r" #"cilit"r l" dirección #in"l de los mens"jes. 2st" especi#ic"ción permite " los sistem"s de mens"jer$" soport"r l" tr"nsmisión del mens"je " tr"vs de redes 'ue inclu,en el proces"do de nodos t"les como !estión #in"l( cort"#ue!os
,
p"s"rel"s
medi"nte
un"
#orm"
de
tr"nsporte
neutro. +ttp8<<))).)3.or!<D<)sE"ddrEcore< •
%O- @ess"!e r"nsmi r"nsmission ssion Optimi"ti Optimi"tion on / @O@ @O@ =escripción
de l" Opti Optimi mi" "ci ción ón de l" r"ns r"nsmi misi sión ón del del @ens @ens"j "je. e. =escr =escrib ibe e un" un" c"r"cter$stic" "bstr"ct" , un" puest" en prctic" concret" p"r" optimi"r el #orm"to de l" tr"nsmisión ,Emtom< •
=escripción de los %ervicios8 •
Web %ervices =escription *"n!u"!e /W%=* W%=*8 8 *en!u"je de
=escripción de los %ervicios Web. %e tr"t" de un len!u"je p"r" describir %ervicios Web. *" especi#ic"ción de#ine el len!u"je bsico 'ue puede us"rse p"r" describir servicios Web b"s"dos en un modelo "bstr"cto de lo 'ue o#rece el servicio. "mbin de#ine los criterios de con#ormid"d de los
documentos
en
len!u"je. +ttp8<<))).)3.or!<D<)sdl>?<
5
rel"ción
"
este
Web %ervices C+oreo!r"p+, =escription *"n!u"!e /W%EC=*8
•
*en!u"je de =escripción de l" Coreo!r"#$" de los %ervicios Web. 2s un len!u"je b"s"do en B@* 'ue describe col"bor"ciones peer to peer de los p"rticip"ntes de#iniendo( desde un punto de vist" !lob"l( un comport"miento observ"ble com0n , complement"rioF donde orden"do el mens"je( interc"mbi" el result"do de "cuerdo " un objetivo de ne!ocios com0n.+ttp8<<))).)3.or!<D<)sEcdlE1?< *os servicios )eb 'ue se b"s"n en B@* permiten 'ue l"s "plic"ciones comp"rt"n in#orm"ción
,
'ue
independientemente
"dems de
cómo
invo'uen se
#unciones
+","n
cre"do
de
otr"s
dic+"s
"plic"ciones
"plic"ciones
e
independientemente del sistem"s oper"tivo o pl"t"#orm" en 'ue se ejecuten , de los dispositivos utili"dos en el "cceso. *os servicios Web B@*( "un'ue se"n independientes entre s$( pueden vincul"rse p"r" re"li"r un" t"re". or ejemplo( ;oo!le( utili" un %ervicio Web E;oo!le Web -IsE b"s"do en los estnd"res %O- , W%=* 'ue permite pro!r"m"r en G"v"( erl ó isu"l %tudio.2 , 'ue sirve p"r" l" recuper"ción de in#orm"ción permitiendo utili"r este busc"dor en distint"s pl"t"#orm"s , %ervicios Web.+ttp8<<))).!oo!le.com<"pis< or su p"rte( -m"on Web %ervices o#rece un" serie de de "plic"ciones de re#erenci" 'ue permiten " los des"rroll"dores "cceso directo " l" pl"t"#orm" de tecnolo!$" de -m"on , construir "plic"ciones propi"s. n" list" promenori"d" de muc+os de los servicios )eb existentes en l" "ctu"lid"d los o#rece B@et+od8 +ttp8<<))).xmet+ods.com -dems( existen numerosos pro,ectos como Web %ervices "nd %em"ntic /W%> roject /+ttp8<<))).)3.or!<>??4< cu,o objetivo es promover los %ervicios Web , tr"b"j"r en l" inte!r"ción de l" semntic" en l" Web( o el pro,ecto In#r")ebs 2urope +ttp8<<))).in#r")ebs.or!< cu,o objetivo es des"rroll"r un m"rco p"r" 'ue los des"rroll"dores de so#t)"re , proveedores de servicios pued"n !ener"r , est"blecer pl"t"#orm"s de des"rrollo p"r" "plic"ciones de %ervicios Web 'ue se"n "biert"s( extensibles , recon#i!ur"bles. Como se +" "#irm"do "nteriormente( los servicios )eb se componen de v"ri"s c"p"s entre l"s 'ue dest"c"n8 servicios de tr"nsporte /constituidos por los protocolos del nivel ms b"jo( 'ue codi#ic"n l" in#orm"ción independientemente de su #orm"to( ,
6
'ue pueden ser comunes " otros servicios( de mens"jer$"( de descripción , de descubrimiento. 2n l" c"p" in#erior se encuentr"n los servicios de tr"nsporte 'ue son los enc"r!"dos de est"blecer l" conexión , el puerto utili"do. *o ms com0n es emple"r el protocolo de +ipertexto H( pero t"mbin se pueden us"r otros protocolos como %@ /%imple @"il r"ns#er rotocol o rotocolo de r"nsmisión de Correo %imple 'ue es el protocolo 'ue nos permite recibir correos electrónicos ( o e l protocolo /ile r"ns#er rotocol. or su p"rte( l" #unción W%=* /Web %ervice =escription *"n!u"!e es decirle " un" "plic"ción 'u #orm"to us"r p"r" comunic"rse( especi#ic"ndo por medio de un len!u"je estnd"r( t"nto l" dirección del servicio como l" inter#" 'ue se v" " utili"r. W%=* es un len!u"je b"s"do en B@* p"r" describir servicios en l" Web. O#rece " los proveedores de servicios( un" #orm"to bsico de descripción de l"s peticiones de servicios )eb sobre di#erentes protocolos o codi#ic"ciones. 2xiste un !rupo de tr"b"jo dentro del W3C( el Web %ervices =escription WorAin! ;roup +ttp8<<))).)3.or!<>??><)s
ipos /,pes8 un contenedor p"r" de#iniciones del tipo de d"tos 'ue us"n "l!unos tipos de sistem"s /t"l como B%=.
•
@ens"je /@ess"!e8 un" de#inición "bstr"ct" tipo del d"to 'ue est siendo comunic"do.
7
•
Oper"ción /Oper"tion8 un" descripción "bstr"ct" de un" "cción soport"d" por el servicio.
•
ipo de puerto /ort ,pe8 un conjunto "bstr"cto de oper"ciones soport"d"s por uno o ms puntos #in"les.
•
Conexión /indin!8 un protocolo concreto , un" especi#ic"ción de #orm"to de d"tos p"r" un tipo de puerto p"rticul"r.
•
uerto /ort8 un punto #in"l individu"l de#inido como un" combin"ción de un" conexión, un" dirección de l" red.
•
%ervicio /%ervice8 un" colección de puntos #in"les rel"cion"dos.
or 0ltimo( en l" c"p" superior se encuentr" ==I /nivers"l =escription( =iscover, "nd Inte!r"tion( un protocolo 'ue permite no sólo describir servicios )eb( sino t"mbin describir productos( comp"9$"s( tr"ns"cciones( etc. ==I es uno de los princip"les edi#icios construidos p"r" llev"r " c"bo los servicios Web. ==I provee un mec"nismo p"r" 'ue los clientes encuentren de #orm" dinmic" otros servicios )eb cre"ndo un" pl"t"#orm" interoper"ble estnd"r 'ue permite " l"s comp"9$"s us"r de #orm" rpid"( #cil , dinmic" los servicios Web. s"ndo l" inter#" de ==I( pueden conect"rse dinmic"mente l" empres"s con los servicios proporcion"dos por socios externos. "r" ello es neces"rio re!istr"rse en ==I , los re!istros pueden tener diversos propósitos , us"rse en distintos contextos. 2xisten > tipos de clientes8 comp"9$"s 'ue dese"n public"r un servicio /, su inter#" de uso , clientes 'ue dese"n obtener ciert" cl"se de servicios por medio de un" conexión. ==I se mont" sobre %O- , "sume 'ue l"s consult"s , l"s respuest"s son objetos de ==I envi"dos como mens"jes de %O-. 2l W3C t"mbin est teniendo en consider"ción los des"rrollos del protocolo ==I. %e tr"t" de un es#uero conjunto de l" industri" , en el 'ue intervienen proveedores de l"s princip"les pl"t"#orm"s , so#t)"re( "s$ como oper"dores en el merc"do , l$deres de los ne!ocios dentro del consorcio de los estnd"res O-%I%. 2l pro,ecto ==I no es espec$#ico de un" industri"( sino 'ue cu"l'uier comp"9$" de cu"l'uier p"rte del mundo puede bene#ici"rse de est" inici"tiv". +ttp8<<))).uddi.or!< -s$ pues( l" pl"t"#orm" bsic" de los %ervicios Web es el len!u"je B@* construido sobre el protocolo de +ipertexto H , p"r" el interc"mbio de est" in#orm"ción
8
estructur"d" en un entorno descentr"li"do , distribuido( se utili" el protocolo %O- /%imple Object -ccess rotocol( pero en los %ervicios Web t"mbin intervienen otros mec"nismos( len!u"jes , tecnolo!$"s entre l"s 'ue se encuentr"n el len!u"je W%=*( el protocolo ==I , otros len!u"jes como W%*( W%@*( W%@O( W%@B( etc. 2l len!u"je W%* o Web %ervices lo) *"n!u"!e es un len!u"je B@* p"r" describir l" composición de los servicios )eb como p"rte de un" de#inición del proceso de ne!ocio. ue dise9"do por I@ como p"rte de un m"rco tecnoló!ico de servicios )eb , p"r" complet"r l"s especi#ic"ciones existentes. W%=* consider" > tipos de servicios )eb8 el primer tipo especi#ic" un proceso de ne!ocio ejecut"ble conocido como @odelo de #lujo /#lo)@odel , el se!undo tipo es un ne!ocio en col"bor"ción conocido como @odelo !lob"l /!lob"l@odel.
+e l",ered Web services st"cA )it+ ==I. uente8 om ell)ood. nderst"ndin! ==I. +ttp8<<)))E1>K.ibm.com
9
lo) o# ==I mess"!es bet)een Client "nd De!istr,.uente8 om ell)ood. nderst"ndin!
==I.
+ttp8<<)))E1>K.ibm.com
10
semntico com0n de OW* , W%@*. @s in#orm"ción "l respecto( se puede obtener en8 +ttp8<<))).)smo.or!<)sml<)smlEs,nt"x(+ttp8<<))).)smo.or!<)sml , +ttp8<<))).) 3.or!<%ubmission
en
un
documento
de
W%=*
/+ttp8<<))).)smo.or! , +ttp8<<))).)3.or!<%ubmission< "mbin
se
+"
des"rroll"do W%@B
/Web
%ervice
@odellin!
eBecution
environment 'ue es el entorno de ejecución de model"do de servicios )eb , l" implement"ción de re#erenci" de W%@O. %e tr"t" de l" ejecución de un entorno p"r" inte!r"ción de l"s "plic"ciones de los comp"9$"s donde los servicios )eb estn inte!r"dos por v"ri"s "plic"ciones. 2l objetivo es increment"r l" "utom"ti"ción de los procesos en los ne!ocios de un" m"ner" #lexible mientr"s se o#recen soluciones de
inte!r"ción
esc"l"ble.
2l
len!u"je
interno
de
W%@B
es
W%@*.
/+ttp8<<))).)smx.or!< or 0ltimo( t"mbin existe el len!u"je %W%* /%em"ntic Web %ervices *"n!u"!e un len!u"je p"r" describir l" ontolo!$" de los servicios de l" Web %emntic" /%W%O. %W%* tiene > p"rtes8 %W%*EO*( un len!u"je de ló!ic" de primer orden( , %W%*Dules( un len!u"je b"s"do en re!l"s. %W%*EO* se us" princip"lmente p"r"
11
l" especi#ic"ción #orm"l de l" ontolo!$" , p"r" proeer interoper"bilid"d con otros modelos de procesos b"s"dos en l" ló!ic" de primer orden , otr"s ontolo!$"s de servicios. or el contr"rio( %2%*EDules est dise9"do p"r" ser un len!u"je "ctu"l p"r" l" especi#ic"ción de servicios. /+ttp8<<))).)3.or!<%ubmission<%W%E%W%*< Otros pro,ectos dest"c"bles en el c"mpo de l" semntic" de los servicios )eb son8 •
%em"ntic Web 2n"bled Web %ervices /%WW%8 es un pro,ecto de l" 2. +ttp8<
•
Onto!rid8 es un pro,ecto 'ue coordin" l" niversid"d olitcnic" de @"drid. +ttp8<<))).onto!rid.net
•
-j"x
@-ssive
%tor"!e
%,stems
/-@-%%8 +ttp8<??6( predice 'ue el merc"do de l" tecnolo!$" semntic" rond"r los :5? billones de dól"res %-: +"ci" >?1?( con los consi!uientes imp"ctos sobre l"s industri"s de l"s tecnolo!$"s de l" in#orm"ción , l" comunic"ción. ero( sin dud"( t"mbin tendrn su imp"cto económico sobre los usu"rios de l" red. *os servicios de l" Web %emntic" permiten 'ue l"s "plic"ciones ," no estn "loj"d"s en los orden"dores clientes /como +"st" "+or" ocurr$" con l"s "plic"ciones
'ue
se
desc"r!"b"n(
ejecut"b"n
e
inst"l"b"n
en
el orden"dor del usu"rio( ," #uer" medi"nte pro!r"m"s ori!in"les o copi"s pir"t"s( sino 'ue perm"necern en los servidores , sern o#recid"s por un proveedor " modo de servicio )eb "l 'ue se deber "cceder c"d" ve 'ue se 'uier" +"cer uso del servicio. 2sto es( con l" puest" en m"rc+" de los servicios )eb se podr cobr"r por c"d" "cceso o uso individu"l del servicio )eb correspondiente. n" #iloso#$" de si!no bien contr"rio " l" 'ue( en p"r"lelo( se est des"rroll"ndo medi"nte l" ll"m"d" Web soci"l , col"bor"tiv" o Web >.? LMu son los %ervicios WebN 2xisten m0ltiples de#iniciones sobre lo 'ue son los %ervicios Web( lo 'ue muestr" su complejid"d " l" +or" de d"r un" "decu"d" de#inición 'ue en!lobe todo lo 'ue son e implic"n. n" posible ser$" +"bl"r de ellos como un conjunto de "plic"ciones o de
12
tecnolo!$"s con c"p"cid"d p"r" interpel"r en l" Web. 2st"s "plic"ciones o tecnolo!$"s interc"mbi"n d"tos entre s$ con el objetivo de o#recer unos servicios. *os proveedores o#recen sus servicios como procedimientos remotos , los usu"rios solicit"n un servicio ll"m"ndo " estos procedimientos " tr"vs de l" Web. L"r" 'u sirvenN 2stos servicios proporcion"n mec"nismos de comunic"ción estnd"res entre di#erentes "plic"ciones( 'ue inter"ct0"n entre s$ p"r" present"r in#orm"ción dinmic" "l usu"rio. "r" proporcion"r interoper"bilid"d , extensibilid"d entre est"s "plic"ciones( , 'ue "l mismo tiempo se" posible su combin"ción p"r" re"li"r oper"ciones complej"s( es neces"ri" un" "r'uitectur" de re#erenci" estnd"r. LCómo #uncion"nN 2l si!uiente !r#ico muestr" cómo inter"ct0" un conjunto de %ervicios Web8
n usu"rio " tr"vs de un" "plic"ción( solicit" in#orm"ción sobre un vi"je 'ue dese" re"li"r +"ciendo un" petición " un" "!enci" de vi"jes 'ue o#rece sus servicios " tr"vs de Internet. *" "!enci" de vi"jes o#recer " su cliente /usu"rio l" in#orm"ción re'uerid". "r" proporcion"r "l cliente l" in#orm"ción 'ue necesit"( est" "!enci" de vi"jes solicit" " su ve in#orm"ción " otros recursos /otros %ervicios Web en rel"ción con el +otel , l" comp"9$" "re". *" "!enci" de vi"jes obtendr in#orm"ción de estos recursos( lo 'ue l" convierte " su ve en cliente de esos otros %ervicios Web 'ue le v"n " proporcion"r l" in#orm"ción solicit"d" sobre el +otel , l" l$ne" "re". or 0ltimo( el usu"rio re"li"r el p"!o del vi"je " tr"vs de l" "!enci" de vi"jes 'ue servir de intermedi"rio entre el usu"rio , el servicio Web 'ue !estion"r el p"!o. 2n todo este proceso intervienen un" serie de tecnolo!$"s 'ue +"cen posible est" circul"ción de in#orm"ción. or un l"do( est"r$" %O- /rotocolo %imple de -cceso " Objetos. %e tr"t" de un protocolo b"s"do en B@*( 'ue permite l" inter"cción entre v"rios dispositivos , 'ue tiene l" c"p"cid"d de tr"nsmitir in#orm"ción complej". *os d"tos pueden ser tr"nsmitidos " tr"vs de H ( %@ ( etc. %O- especi#ic" el #orm"to de los mens"jes. 2l mens"je %O- est compuesto por un envelope /sobre( cu," estructur" est #orm"d" por los si!uientes elementos8
13
+e"der /c"becer" , bod, /cuerpo.
"r" optimi"r el rendimiento de l"s "plic"ciones b"s"d"s en %ervicios Web( se +"n des"rroll"do tecnolo!$"s complement"ri"s " %O-( 'ue "!ili"n el env$o de los mens"jes /@O@ , los recursos 'ue se tr"nsmiten en esos mens"jes /%O-E DD%H. or otro l"do( W%=* /*en!u"je de =escripción de %ervicios Web( permite 'ue un servicio , un cliente est"blec"n un "cuerdo en lo 'ue se re#iere " los det"lles de tr"nsporte de mens"jes , su contenido( " tr"vs de un documento proces"ble por dispositivos. W%=* represent" un" especie de contr"to entre el proveedor , el 'ue solicit". W%=* especi#ic" l" sint"xis , los mec"nismos de interc"mbio de mens"jes. =ur"nte l" evolución de l"s necesid"des de l"s "plic"ciones b"s"d"s en %ervicios Web de l"s !r"ndes or!"ni"ciones( se +"n des"rroll"do mec"nismos 'ue permiten enri'uecer l"s descripciones de l"s oper"ciones 'ue re"li"n sus servicios medi"nte "not"ciones semntic"s , con directiv"s 'ue de#inen el comport"miento. 2sto permitir$" encontr"r los %ervicios Web 'ue mejor se "d"pten " los objetivos dese"dos. -dems( "nte l" complejid"d de los procesos de l"s !r"ndes "plic"ciones empres"ri"les( existe un" tecnolo!$" 'ue permite un" de#inición de estos procesos medi"nte l" composición de v"rios %ervicios Web individu"les( lo 'ue se conoce como coreo!r"#$".
2jemplos - continu"ción se muestr" el códi!o 'ue se utili"r$" p"r" solicit"r un vi"je8
14
NxmlversionPQ1.?Q NR env82nvelopexmlns8envP:+ttp8<<))).)3.or!<>??35??35d"1E'345E73SrEb"5dEp'##SK#eKj7d ??1E11E>S138>?8??.???E?58????35??1E1>E14??1E1>E>?
15
p8+or"%"lid"Rmedi"Em"9"n"
16
" m"no( desde clculos complejos( p"r" p"s"r " l"s #in"n"s( , " muc+"s otr"s t"re"s. ero l"s "plic"ciones tr"dicion"les son TsilosU. *" "plic"ción de recursos +um"nos no pod$" +"bl"r con l" de #in"n"s 'ue( " su ve( no pod$" +"bl"r con l" "plic"ción de distribución. od"s est"s "plic"ciones ten$"n su propio +o!"r( en sus propi"s comput"dor"s ,( si bien er"n 0tiles( no er" un" buen" #orm" de comp"rtir d"tos entre ell"s. no ten$" l" opción de escribir procesos b"tc+ /por lotes p"r" p"s"r los d"tos de un sistem" "l otro( pero eso no er" un" sustitución de l" inte!r"ción en tiempo re"l. Comput"ción distribuid" 2l p"so si!uiente en nuestr" c"den" de evolución es l" comput"ción distribuid". *" comput"ción distribuid" permit$" 'ue di#erentes "plic"ciones se comunic"r"n entre s$( "un est"ndo en comput"dor"s distint"s. *"s tecnolo!$"s tipo COD-( %( , 2nterprise G"v" e"ns /2G( proporcion"ron un sistem" 'ue inclu$" un re!istro de estilos( p"r" 'ue l"s "plic"ciones pudiesen encontr"r componentes con los 'ue 'uer$"n inter"ctu"r( , lue!o ll"m"rlos como si estuviesen ubic"dos en l" m'uin" loc"l. 2stos sistem"s er" comp"tibles medi"nte middle)"re( o ms espec$#ic"mente( medi"nte middle)"re orient"do " mens"jes( 'ue proporcion"b" los dos re'uisitos. -+or" se pueden cre"r l"s "plic"ciones de m"ner" t"l 'ue pueden "cceder " los recursos de otros sistem"s( incluso si se encuentr"n en ubic"ciones !eo!r#ic"s di#erentes. servicios )eb 2l si!uiente( , c"si inevit"ble v$nculo en est" c"den" evolutiv" son los servicios )eb. "s"dos en B@*( ,( en l" m",or$" de los c"sos( H( los Tservicios )ebU tod"v$" si!ni#ic"s muc+"s cos"s p"r" muc+" !ente( pero en este c"so( +"bl"remos de los servicios )eb como el interc"mbio entre sistem"s de mens"jes b"s"dos en %O-. 2stos mens"jes se componen de B@*( 'ue es un estnd"r "bierto b"s"do en texto( "ccesible por cu"l'uier person" desde cu"l'uier "plic"ción /cu"l'uier "plic"ción 'ue no est dise9"d" p"r" "cept"rlo. 2sto "mpl$" el mundo de su "plic"ción p"r" 'ue
17
cu"l'uier person" pued" "cceder " ell" en su red. /%i eso le enciende "l"rm"s de se!urid"d( est bien( "prender cómo resolverlo en l" p"rte cu"tro de est" serie. 2l servicio )eb b"s"do en %O- implic" el env$o de un mens"je B@*. .%ervicio )eb b"s"do en %O- %O-env82nvelope xmlns8%O-envP:+ttp8<??1??1
%O-env8od,R re'8!etumberO#-rticles xmlns8re'P:+ttp8<
re'8c"te!or,Rcl"ssi#ieds
<%O-env82nvelopeR 2stos mens"jes v"n de un sistem" " otro( por lo !ener"l( v$" H. 2l sistem" receptor interpret" el mens"je( +"ce lo 'ue se supone 'ue debe +"cer( , devuelve un" respuest" con l" #orm" de otro mens"je %O-. Otros tipos de servicios )eb %er$" ne!li!ente si no mencion"r" 'ue %O- no es l" 0nic" #orm" de +"cer servicios )eb. 2xisten otr"s #orm"s b"s"d"s en B@* p"r" envi"r mens"jes entre sistem"s( "l!un"s de l"s cu"les son "decu"d"s p"r" un entorno de empres"( , otr"s 'ue no lo son. or ejemplo( -m"on #ue un" de l"s primer"s empres"s b"s"d"s en Web en o#recer " su p0blico el "cceso de servicios )eb " su sistem". -m"on inclu,e un servicio b"s"do en %O-( pero t"mbin proporcion" un servicio b"s"do en Depresent"tion"l %t"te r"ns#er /r"ns#erenci" de 2st"do Depresent"cion"l( D2%. D2% es un tipo de servicio )eb en el 'ue el usu"rio simplemente "ccede " l" D*( , l" respuest" es un "utntico documento B@*. Despuest" D2% current-rticlesR c"te!or,Rcl"ssi#ieds
18
subc"te!or,R#ors"le?4:R
"rticleHe"dlineR<"rticleHe"dlineR "rticleextR3? #t l"dder( onl, used once. Willin! to let !o #or +"l# itQs )ort+. H"s sli!+t dent ne"r t+e middle. H"rder t+"n " +um"n +e"d. V15? OO.<"rticleextR
<"rticleR "rticle idP:KKK>4>:R
"rticleHe"dlineR<"rticleHe"dlineR "rticleextRint"!e 1S63 Eird. *ess t+"n 3?? miles. =riven b, m, d"u!+ter until I tooA it ")",. %erious in'uires onl,. 555E3>64 "#ter 7 @.<"rticleextR
<"rticleR
19
busc" el servicio )ebF l" "plic"ción puede extr"er esos det"lles del "rc+ivo W%=* , proporcion"rle l"s inter#"ces pro!r"mtic"s p"r" 'ue l"s use. os ocup"remos de W%=* en l" p"rte dos de est" serie. ==I8 nivers"l =escription( =iscover, "nd Inte!r"tion /=escripción( =escubrimiento e Inte!r"ción nivers"les es un estnd"r 'ue +" su#rido "l!unos c"mbios desde su concepción inici"l. *" ide" er" proporcion"rle " l"s empres"s un" #orm" de re!istr"r sus servicios en un re!istro !lob"l( , consult"r ese re!istro !lob"l p"r" busc"r servicios 'ue 'uisier"n utili"r. %in emb"r!o( como es comprensible 'ue muc+"s empres"s se"n "l!o renuentes " "brir sus sistem"s " desconocidos( no se m"teri"lió este objetivo. o obst"nte( ==I se "#i"nó como un re!istro interno de servicios e in#orm"ción de serviciosF l" p"rte tres de est" serie d" det"lles de su uso. 2speci#ic"ciones "mpli"d"s de los servicios )eb =e l"s docen"s de especi#ic"ciones W%E 'ue "nd"n d"ndo vuelt"s( v"ri"s se dest"c"n como p"rticul"rmente 0tiles p"r" l" empres". J son8 W%E%ecurit, /%e!urid"d p"r" servicios )eb8 2st" especi#ic"ción m"nej" el encript"do , l"s #irm"s di!it"les( lo 'ue le permitir cre"r un" "plic"ción p"r" 'ue los mens"jes no pueden ser Xespi"dosY( , donde es imposible el no rec+"o. *" p"rte cu"tro de est" serie se ocup" de W%E%ecurit,. W%Eolic, /ol$tic" de los servicios )eb8 2st" especi#ic"ción es un" "mpli"ción de W%E%ecurit,( l" 'ue le permitir det"ll"r de un" m"ner" ms espec$#ic" cómo , 'uines pueden us"r un servicio )eb. *" p"rte cinco de est" serie se ocup" de W%E olic,. W%E2* /*en!u"je de ejecución de procesos de ne!ocios p"r" servicios )eb8 un servicio 0nico est bien( pero en l" m",or$" de los c"sos no se tr"t" de un" "plic"ción. Como m$nimo( l" comput"ción " nivel de empres" necesit" 'ue usted cree servicios m0ltiples dentro de un sistem" !ener"l( , W%E2* le proporcion" el medio p"r" especi#ic"r inter"cciones t"les como el proces"miento bi#urc"do , coincidente( neces"rio p"r" cre"r esos sistem"s. *" p"rte siete de est" serie se ocup" de W%E2*. Con#i!ur"ción
20
-+or" 'ue ," comprende los principios bsicos 'ue esto implic"( comencemos con l" cre"ción e#ectiv" de un" "plic"ción. 2l primer p"so es inst"l"r el so#t)"re. Con#i!ur"ción de -p"c+e ;eronimo 2l primer so#t)"re 'ue necesit"r es un servidor de "plic"ciones Web. Lor 'u necesit" un servidor de "plic"ciones WebN ueno( por'ue sin l( le v" ser mu, di#$cil d"r servicios )eb. n servidor de "plic"ciones Web "tiende solicitudes( l"s tr"duce " "l!o 'ue el servicio pued" entender( , lue!o +"ce el proceso 'ue se" neces"rio. "r" este proceso usted puede us"r virtu"lmente cu"l'uier servidor Web( pero en l" m",or$" de los c"sos inst"l"r so#t)"re 'ue #"cilite ese proceso( , eso suele re'uerir un servidor de "plic"ciones determin"do de "l!0n tipo. 2spec$#ic"mente( este tutori"l supone 'ue usted us"r un servidor de "plic"ciones G"v". /2n re"lid"d( supone 'ue ser un servidor de "plic"ciones G>22. Cu"ndo se tr"t" de servidores G>22( usted tiene muc+"s opciones ,( en este c"so( us"r -p"c+e ;eronimo. ;eronimo es el servidor de "plic"ciones de códi!o "bierto 'ue #orm" l" b"se de I@ Web%p+ere -pplic"tion %erver Communit, 2dition. ;eronimo es pe'ue9o( de #cil inst"l"ción , de #cil m"nejo. "mbin #uncion" bien con otros pro,ectos -p"c+e( como por ejemplo -xis>( 'ue usted inst"l"r despus. =esc"r!ue el so#t)"re /ver De'uisitos revios , extr"i!" los "rc+ivos en un directorio de destino. er 'ue los "rc+ivos extr"$dos tienen su propio directorio( de m"ner" 'ue sólo tendr 'ue descomprimirlos , moverlos " donde 'uier". %e "cept" cu"l'uier directorio( pero evite "'uellos 'ue conten!"n un esp"cio en su nombre( como T-rc+ivos de ro!r"m"U( T=ocuments "nd %ettin!sU( o sus descendientes. or ejemplo( l" inst"l"ción de prueb" p"r" el tutori"l us" e8Z!eronimoE1.?. *isto. J" inst"ló ;eronimo. cil LnoN "r" inici"r el servidor( "br" un" vent"n" de petición de com"ndos , ejecute los si!uientes com"ndos8 cd ;2DOI@O[HO@2R j"v" Ej"r server.j"r Inst"l"ción de -p"c+e -xis> 2s complet"mente posible d"r servicios )eb desde un servidor H com0n. %in
21
emb"r!o( no es "consej"ble. H", muc+o 'ue +"cer p"r" proces"r mens"jes %O-( , no +", motivos p"r" 'ue usted reinvente l" rued". =esde +"ce ," v"rios "9os( el pro,ecto -p"c+e -xis> simpli#ic" est" t"re" con l" cre"ción de un entorno donde( cre"r , proces"r servicios )eb es mu, #cil. 2l so#t)"re inclu,e "plic"ciones 'ue lo ",ud"rn " cre"r un servicio )eb " p"rtir de un objeto com0n( cre"r un objeto G"v" " p"rtir de un servicio )eb( , " proces"r "mbos. 2l !rupo -p"c+e desi!nó un" nuev" versión de -xis( -xis>( 'ue tom" todo el tr"b"jo +ec+o en -xis , lo elev" un" c"te!or$" medi"nte el c"mbio de "r'uitectur" p"r" permitirle un m",or !r"do de el"sticid"d. 2sto es import"nte( por'ue continu"mente "p"recen especi#ic"ciones p"r" servicios )eb. *" cre"ción de -xis> permite un" inte!r"ción ms sencill" con pro,ectos t"les como W%%4G( l" implement"ción de W%E%ecurit, de -p"c+e. Como ms "del"nte us"remos estos pro,ectos( inst"le -xis> "+or" /ver De'uisitos previos de in#orm"ción sobre l" desc"r!". -se!0rese de desc"r!"r t"nto l" in"r, =istribution /=istribución bin"ri" como l" W"r =istribution /=istribución W"r. *" primer" lo ",ud"r con l" cre"ción de los clientes( , l" se!und" con l" cre"ción de los servicios. "r" inst"l"r -xis> en el servidor Web( copie el "rc+ivo "xis>.)"r en el directorio de implement"ción de ;eronimo. /"r" 'ue "p"rec" el directorio( debe "se!ur"rse de +"ber inici"do ;eronimo por lo menos un" ve. ;eronimo detect" su presenci" inmedi"t"mente( por lo 'ue no tendr 'ue implement"r n"d". eri#ic"ción del eje " l" inst"l"ción "r" est"r se!uro de 'ue todo se +" inst"l"do correct"mente( "punte su n"ve!"dor " +ttp8< tr"e v"rios. 2n principio( inst"l"r el servicio @,%ervice de l" si!uiente #orm"8 -utent$'uese
en
l"
"plic"ción
-xis>
"punt"ndo
su
n"ve!"dor
"
+ttp8<<*o!in.jsp , despus inicie l" sesión. 2l nombre de usu"rio
22
, l" contr"se9" predetermin"dos son "dmin , -xis>( respectiv"mente. H"!" clic en plo"d serviceRro)se /C"r!"r servicioR"ve!"r. "ve!ue +"ci" el "rc+ivo @,%ervice.""r. odr encontr"rlo en el directorio s"mples. H"!" clic en O\. H"!" clic en plo"d /C"r!"r. =eber ver un" noti#ic"ción de 'ue el servicio +" sido incorpor"do. -xis> inclu,e( de m"ner" predetermin"d"( T+ot deplo,mentU( por lo 'ue no tendr 'ue +"cer n"d" p"r" "ctiv"rlo. -+or" ve"mos lo 'ue usted v" " cre"r. 2ntender %O- -+or" 'ue ," inst"ló el so#t)"re( puede comen"r " ver el servicio )eb propi"mente dic+o. -+or" 'ue ," inst"ló el so#t)"re( puede comen"r " ver el servicio )eb propi"mente dic+o. Como mencion en Ot+er Ainds o# Web services /Otros tipos de servicios )eb( usted dispone de diversos #orm"tos p"r" ele!ir. 2n est" serie( us"r %O-. n breve coment"rio "cerc" de B@* odos estos mens"jes 'ue v"n , vienen estn b"s"dos en 2xtensible @"rAup *"n!u"!e /*en!u"je de m"rc"do extensible o B@*. %i no est #"mili"ri"do con B@*( investi!ue un poco "l respecto "ntes de entr"r en pro#undid"d en los tem"s de los servicios )eb. %in emb"r!o( "'u$ "p"recen los #und"mentos 'ue debe conocer "ntes de se!uir "del"nte con este tutori"l. B@* es un len!u"je de Tm"rc"do "mpli"bleU( lo 'ue si!ni#ic" 'ue proporcion" un" #orm" de suministr"r in#orm"ción "dicion"l sobre el contenido. 2st" in#orm"ción tiene l" #orm" de Tt"!sU /Teti'uet"sU( l"s 'ue denot"n TelementsU /TelementosU. -rc+ivo B@* 'ue muestr" los #und"mentos "rticle "rticleIdP:KK>71: c"te!or,IdP:cl"ssi#ieds: subc"te!or,IdP:#ors"le:R "rticleHe"dlineRun( #un( #un<"rticleHe"dlineR "rticleextRint"!e 1S63 Eird. *ess t+"n 3?? miles. =riven b, m, d"u!+ter until I tooA it ")",. %erious
23
in'uires onl,. 555E3>64 "#ter 7 @.<"rticleextR <"rticleR Observe un p"r de cos"s "cerc" de este texto. -nte todo( es texto. 2so lo +"ce le!ible por c"si cu"l'uier"( o por c"si cu"l'uier cos". %e!undo( l"s eti'uet"s estn indic"d"s con R , ( con un" eti'uet" TopenU /de "pertur" 'ue contiene un nombre( , "tributos posibles( como l" I= del "rt$culo( , un" eti'uet" de cierre con un" b"rr" /<. *os elementos deben est"r "utoEcontenidos , "nid"dos correct"mente. 2n otr"s p"l"br"s( usted no podr$" tener un documento B@* simil"r. @uestr" no vlid" de un documento B@* "rticle "rticleIdP:KK>71: c"te!or,IdP:cl"ssi#ieds: subc"te!or,IdP:#ors"le:R "rticleHe"dlineRun( #un( #un "rticleextR<"rticleHe"dlineRint"!e 1S63 Eird. *ess t+"n 3?? miles. =riven b, m, d"u!+ter until I tooA it ")",. %erious in'uires onl,. 555E3>64 "#ter 7 @.<"rticleextR <"rticleR B@* t"mbin proporcion" un" #orm" de sep"r"r el contenido en di#erentes :esp"cios de nombresU( p"r" 'ue pued" ser tr"t"do de otr" m"ner" por un" "plic"ción. or ejemplo( un mens"je %O- puede p"recerse "l si!uiente8 2jemplo de mens"je %O- Nxml versionPQ1.?Q NR env82nvelope xmlns8envP:+ttp8<<))).)3.or!<>??35<%O-Eenvelope:R env8He"derR
cms8c"te!or,Rcl"ssi#ieds
cms8subc"te!or,R#ors"le
24
o se preocupe por l" estructur" del mens"je( pero observe 'ue +", dos Tpre#ijosU distintos( c"d" uno de los cu"les corresponde " un esp"cio de nombres en p"rticul"r. 2n este c"so( di#erenci"mos el TsobreU %O- de l" c"r!" 0til re"l. 2l sobre %O- *" unid"d bsic" de un mens"je de servicio )eb es el sobre %O-. %e tr"t" de un documento B@* 'ue inclu,e tod" l" in#orm"ción neces"ri" p"r" proces"r el mens"je. 2jemplo de mens"je %O- Nxml versionPQ1.?Q NR env82nvelope
xmlns8envP:+ttp8<<))).)3.or!<>??35<%O-Eenvelope:R env8He"derR
2n este c"so( usted tiene un 2nvelope /%obre sencillo( con el esp"cio de nombres especi#ic"do como %O- versión 1.>. Inclu,e los dos subEelementos( un He"der /2nc"be"do , un od, /Cuerpo. e"mos 'u +"cen c"d" uno de estos elementos. 2l enc"be"do %O- 2l He"der /2nc"be"do de un mens"je %O- tiene l" #in"lid"d de proporcion"r in#orm"ción "cerc" del mens"je en s$ mismo( contr"ri"mente " l" in#orm"ción destin"d" " l" "plic"ción. In#orm"ción de ruteo en el He"der /2nc"be"do Nxml versionPQ1.?Q NR env82nvelope xmlns8envP:+ttp8<<))).)3.or!<>??35<%O-Eenvelope:R env8He"derR )s"8Depl,o xmlns8)s"P
:+ttp8<??4
)s"8-ddressR +ttp8<??4
25
+ttp8<S=>KC11433S?566>?36<)s"8@ess"!eI=R ??35<%O-Eenvelope:R env8He"derR ...
26
64 "#ter 7 @.
xmlns8envP:+ttp8<<))).)3.or!<>??35<%O-Eenvelope:R
env8He"derR
*" "ltern"tiv" "l estilo DC implic" 'ue usted ten!" sol"mente sus d"tos como
27
contenido del cuerpo %O-( e inclu,e l" in#orm"ción rel"tiv" "l procedimiento o #unción " l" 'ue st" pertenece en el ruteo del mens"je por p"rte del servidor de "plic"ciones /ver *ist"do 1>. *ist"do 1>. ="tos como contenido en el cuerpo %O-
env82nvelope xmlns8envP:+ttp8<<))).)3.or!<>??35<%O-Eenvelope:R env8He"derR 64 "#ter 7 @.??35<%O-Eenvelope:R env8He"derR
28
cms8c"te!or, xsi8t,peP:xsd8strin!:Rcl"ssi#ieds64 "#ter 7 @.??35<%O-Eenvelope:R env8He"derR 64 "#ter 7 @.<"rticleextR
29
proceso del destino " donde debern ser envi"dos los d"tosF eso lo m"nej" el so#t)"re de ruteo. or ejemplo( todos los ll"m"dos " un" D* o punto #in"l en p"rticul"r deben "punt"r " un" oper"ción en p"rticul"r. sted t"mbin podr$" us"r el estilo documento
30
cuent" con 'ue el destin"t"rio se ocup"r de ell"( Cre"ción de un cliente %O- ien( ," vio l" teor$"( "+or" lle!ó el momento de cre"r l"s "plic"ciones re"les. Comencemos por el cliente. *" #orm" "nti!u" Cu"ndo "p"recieron por primer" ve l"s -Is G"v" p"r" el tr"b"jo con mens"jes %O-( er"n mu, espec$#ic"s en cu"nto " su r"ón de ser. 2r"n( " l"s cl"r"s( p"r" l" cre"ción del mens"je %O-. %e re'uer$" 'ue usted cre"r" el mens"je( el 2nvelope /%obre( el He"der /2nc"be"do( el od, /Cuerpo( etc. or ejemplo( puede cre"r un cliente se!0n el Testilo "nti!uoU p"r" "cceder " l" #unción ec+o /eco del servicio @,%ervice'ue inst"ló "ntes /ver *ist"do 15. ot"8 "r" compil"r , ejecut"r este cliente( necesit"r un" implement"ción %--G( como
el
so#t)"re
ori!in"l
de
-xis.
uede
desc"r!"r
-xis
+ttp8<<)s."p"c+e.or!<"xis<. Cliente %O- en l" #orm" "nti!u" import j"v"x.xml.%O-.F import j"v"x.xml.tr"ns#orm.F import j"v".io.ileInput%tre"mF import j"v"x.xml.tr"ns#orm.stre"m.F import or!.)3c.dom.F public cl"ss %end%O- ] public st"tic void m"in/%trin! "r!s^_ ] tr, ] @ess"!e"ctor, mess"!e"ctor, P @ess"!e"ctor,.ne)Inst"nce/F %O-@ess"!e mess"!e P mess"!e"ctor,.cre"te@ess"!e/F <
31
desde
%O-"rt %O-"rt P mess"!e.!et%O-"rt/F %O-2nvelope envelope P %O-"rt.!et2nvelope/F %O-od, bod, P envelope.!etod,/F %O-2lement bod,2lement P bod,."ddC+ild2lement/envelope.cre"te"me/:ec+o:( :re':( :+ttp8<
bod,2lement."ddC+ild2lement/:c"te!or,: ."ddextode/:cl"ssi#ieds:F mess"!e.s"veC+"n!es/F %O-"rt %O-p"rtbe#ore P mess"!e.!et%O-"rt/F %O-2nvelope re'env P %O-p"rtbe#ore.!et2nvelope/F
%,stem.out.println/:D2M2%8:F
%,stem.out.println/re'env.to%trin!/F <<o) cre"te t+e connection %O-Connection"ctor, %O-Conn"ctor, P %O-Connection"ctor,.ne)Inst"nce/F %O-Connection connection P %O-Conn"ctor,.cre"teConnection/F %O-@ess"!e repl, P connection.c"ll/mess"!e( :+ttp8<
%,stem.out.println/:ZnD2%O%28:F
%,stem.out.println/repl,env.to%trin!/F
32
connection.close/F ` c"tc+ /2xception e]
%,stem.out.println/e.!et@ess"!e/F ` `
` ote 'ue usted cre" direct"mente el %O-2nvelope( %O-od,( etc. sted puede "!re!"r elementos( t"les como el elemento ec+o /eco , el elemento c"te!or, /c"te!or$" en ese cuerpo. - p"rtir de "ll$( usted cre" l" conexión( +"ce l" ll"m"d"( , podr volver " "brirse c"mino " tr"vs de l" estructur" del mens"je %O- p"r" lle!"r "l contenido. 2l cliente +"st" "'u$ D2M2%8 %O-env82nvelope xmlns8%O-envP :+ttp8<??1??1
:+ttp8<
re'8c"te!or,Rcl"ssi#ieds
<%O-env8od,R <%O-env82nvelopeR D2%O%28 %O-env82nvelope xmlns8%O-envP :+ttp8<??4
33
%O-env8He"derR
)s"8Depl,oR )s"8-ddressR +ttp8<??4
<)s"8Depl,oR
)s"8romR
)s"8-ddressR +ttp8<
<)s"8romR
)s"8@ess"!eI=R2C2531K7>S=>KC11433S?566>?36<)s"8@ess"!eI=R
<%O-env8He"derR %O-env8od,R re'8ec+o xmlns8re'P
:+ttp8<
re'8c"te!or,Rcl"ssi#ieds
<%O-env8od,R <%O-env82nvelopeR odo lo 'ue( en re"lid"d +"ce el servicio ec+o es volver " solicit"r con l" solicitud 'ue +" recibido( lo 'ue es un" buen" oportunid"d p"r" ver l" di#erenci" entre el proceso del estilo "nti!uo , el estilo nuevo. H"blemos de es" di#erenci". *" #orm" nuev" 2n l" "ctu"lid"d( +", un movimiento creciente p"r" esconder l" complejid"d del tr"b"jo del pro!r"m"dor con los mens"jes de servicios )eb b"s"dos en B@*. H"n sur!ido todo tipo de inici"tiv"s( l" m",or$" de l"s cu"les tienden " +"cer l" pro!r"m"ción de los servicios )eb lo ms p"recido " pro!r"m"r cu"l'uier otr" "r'uitectur". 2n -xis>( esto si!ni#ic" ms 'ue eso. -xis> present" un" #orm" tot"lmente nuev" de tr"b"jo con el B@* 'ue represent" "l mens"je %O-( "un'ue en l" super#icie se" mu, simil"r "l uso de =ocument Object @odel /@odelo de Objetos de =ocumentos(
34
=O@. 2l modelo de objeto -BIs( o -BIO@( +"ce muc+os c"mbios( pero por el momento sólo mencion"r 'ue se concentr" en el conjunto de in#orm"ción del mens"je( 'ue es l" in#orm"ción !enuin" contenid" en los elementos , "tributos( ms 'ue en l" versión en serie de l"s eti'uet"s 'ue vemos norm"lmente.. Cre"r l" solicitud "r" comen"r con l" cre"ción del cliente( "se!0rese de 'ue todos los "rc+ivos .j"r del directorio -xis> lib a'ue ser$" l" distribución 2stnd"r( no l" W"ra estn en su C*-%%-H( , cree un" cl"se nuev" ll"m"d" Cl"ssi#iedClient. Cree l" c"r!" 0til como se muestr" en el *ist"do 17. *ist"do 17. C"r!" 0til
import or!."p"c+e."xis>."ddressin!.2ndpointDe#erenceF import or!."p"c+e."xis>.client.OptionsF import or!."p"c+e."xis>.client.%erviceClientF import or!."p"c+e."xis>.om.O@2lementF import j"v"x.xml.stre"m.B@*Output"ctor,F import j"v"x.xml.stre"m.B@*%tre"m2xceptionF import j"v".io.%trin!WriterF import or!."p"c+e."xis>.om.O@-bstr"ct"ctor,F import or!."p"c+e."xis>.%O-.%O-"ctor,F import or!."p"c+e."xis>.om.O@"ctor,F import or!."p"c+e."xis>.om.O@"mesp"ceF public cl"ss Cl"ssi#iedClient ] public st"tic O@2lement !et2c+oO@2lement/ ] %O-"ctor, #"c P O@-bstr"ct"ctor,.!et%O-1>"ctor,/F O@"mesp"ce oms P #"c.cre"teO@"mesp"ce/ :+ttp8<
35
O@2lement v"lue P #"c.cre"teO@2lement/:c"te!or,:( omsF v"lue."ddC+ild/#"c.cre"teext/v"lue( :cl"ssi#ieds:F
met+od."ddC+ild/v"lueF return met+odF ` public st"tic void m"in/%trin!^_ "r!s ] tr, ] O@2lement p",lo"d P Cl"ssi#iedClient.!et2c+oO@2lement/F ` c"tc+ /2xception e ] <
%,stem.out.println/e.to%trin!/F ` `
` rimero( usted cre" un !ener"dor , un esp"cio de nombres( , los us" p"r" cre"r elementos. 2n este c"so( usted cre"r los mismos elementos 'ue creó en el ejemplo "nterior( ," 'ue us"r otr" ve este cliente p"r" "cceder " l" #unción ec+o. /@s "del"nte( lo c"mbi"r p"r" "cceder "l servicio re"l. *ue!o( cre"r l" solicitud. Cre"r l" solicitud 2l p"so si!uiente es cre"r l" solicitud re"l. -'u$ volver " ver l" m"rc+" del tiempo. 2n lu!"r de envi"r simplemente l" solicitud " un" D*( usted con#i!ur" un" :re#erenci" de extremo:. De#erenci" de extremo en l" solicitud ... public cl"ss Cl"ssi#iedClient ] priv"te st"tic 2ndpointDe#erence t"r!et2D P ne)
2ndpointDe#erence/ :+ttp8<
36
public st"tic O@2lement !et2c+oO@2lement/ ] ... ` public st"tic void m"in/%trin!^_ "r!s ] tr, ] O@2lement p",lo"d P Cl"ssi#iedClient.!et2c+oO@2lement/F Options options P ne) Options/F
options.seto/t"r!et2DF
options.setr"nsportInrotocol/Const"nts.D-%OD[HF ` c"tc+ /2xception e ] <
%,stem.out.println/e.to%trin!/F ` `
` 2l coment"rio completo "cerc" de W%E-ddressin! est #uer" del "lc"nce de este tutori"l( pero b"st" decir 'ue un" re#erenci" de extremo inclu,e l" D* +"ci" donde se orient" el mens"je pero 'ue( opcion"lmente( puede incluir otr" in#orm"ción( t"l como un" respuest"E" l" dirección( , otr"s propied"des de los recursos. rimero( usted cre" l"s Opciones p"r" l" solicitud( l"s 'ue le permitirn con#i!ur"r l" 2D /re#erenci" de extremo p"r" l" solicitud( como "s$ t"mbin otr" in#orm"ción( como por ejemplo( el tr"nsporte 'ue piens" us"r. n" ve 'ue tiene todo eso listo( ," puede envi"r l" solicitud. 2nvi"r l" solicitud n" ve 'ue +" con#i!ur"do todo( es +or" de envi"r l" solicitud. =esde -xis( +"st" l" versión ?.S4( l" #orm" pre#erible de envi"r un mens"je es " tr"vs de l" cl"se %erviceClient. 2nv$o de l" solicitud ... public st"tic void m"in/%trin!^_ "r!s ]
37
tr, ] O@2lement p",lo"d P Cl"ssi#iedClient.!et2c+oO@2lement/F Options options P ne) Options/F
options.seto/t"r!et2DF
options.setr"nsportInrotocol/Const"nts.D-%OD[HF %erviceClient sender P ne) %erviceClient/F
sender.setOptions/optionsF O@2lement result P sender.sendDeceive/p",lo"dF ` c"tc+ /2xception e ] <
%,stem.out.println/e.to%trin!/F ` `
` sted cre" el objeto %erviceClient , con#i!ur" l"s Options /Opciones 'ue creó "nteriormente p"r" l. - p"rtir de "ll$( ," podr envi"r el mens"je. J como 'uiere obtener un" respuest"( us"r el mtodo sendDeceive/ 'ue es un mens"je de entr"d"
sender.setOptions/optionsF O@2lement result P sender.sendDeceive/p",lo"dF
%,stem.out.println/result.to%trin!/F
38
` c"tc+ /2xception e ] <
%,stem.out.println/e.to%trin!/F ` `
` *" ejecución de este cliente le d" l" respuest" 'ue "p"rece en el *ist"do >1. *ist"do >1. Despuest" de sendDeceive cms8ec+o xmlns8cmsP:+ttp8<
r,Rcl"ssi#ieds
or supuesto( podr +"cer muc+"s cos"s con estos d"tos( un" ve 'ue los recibe. or "+or"( v"mos " cre"r el verd"dero servicio!etumbero#-rticles/. Cre"ción de un servicio %O- %i el proceso de cre"ción de un servicio )eb le result" b"st"nte sencillo( tiene r"ón. J l" cre"ción de un servicio( +"st" cierto punto( es i!u"lmente sencill". roceso !ener"l 2l proceso !ener"l de l" cre"ción de un servicio )eb -xis> implic" los si!uientes p"sos8 Cre"r el m"ni#iesto de servicios Cre"r l" cl"se 2mp"'uet"rlos en un "rc+ivo de "lm"cen"miento -xis C"r!"r el "rc+ivo de "lm"cen"miento -xis en l" "plic"ción Web -xis> =e ser neces"rio( reinici"r el servidor 2so es todo. Comencemos con el m"ni#iesto de servicios. Cre"r el m"ni#iesto 2l m"ni#iesto de servicios le dice " l" "plic"ción -xis> /, por extensión( "l servidor de "plic"ciones 'u solicitudes corresponden " 'u cl"ses. 2speci#ic"ción de dos #unciones de servicio en el m"ni#iesto service n"meP:C@%%ervice:R descriptionR +is is " s"mple )eb service #or t+e ne)sp"perQs Content @"n"!ment %,stem.
39
RC@%%ervice
:or!."p"c+e."xis>.receivers.D")B@*IOut@ess"!eDeceiver:
:or!."p"c+e."xis>.receivers.D")B@*IOnl,@ess"!eDeceiver:
import or!."p"c+e."xis>.om.O@2lementF
40
import j"v"x.xml.stre"m.B@*%tre"m2xceptionF public cl"ss C@%%ervice ] public O@2lement !etumberO#-rticles/O@2lement element t+ro)s B@*%tre"m2xception ]
element.build/F
element.det"c+/F return elementF `
` "r" compil"r est" "plic"ción( "se!0rese de 'ue todos los "rc+ivos .j"r de "xis>[+omeR4. *ist"do >4. Despuest" de l" Cl"se C@%%ervice
cms8!etumberO#-rticlesRcms8c"te!or,Rcl"ssi#ieds
41
*" extr"cción de in#orm"ción de l" c"r!" 0til es un" #orm" de m"nipul"ción del elemento c"r!" 0til recibido us"ndo tcnic"s mu, simil"res " =O@ /ver *ist"do >5. *ist"do >5. 2xtr"cción de in#orm"ción de l" c"r!" 0til ... import j"v"x.xml.stre"m.B@*%tre"m2xceptionF public cl"ss C@%%ervice ] public O@2lement !etumberO#-rticles/O@2lement element t+ro)s B@*%tre"m2xception ]
element.build/F
element.det"c+/F %trin! root"me P element.!et*oc"l"me/F O@2lement c"te!or,2lement P element.!etirst2lement/F %trin! c"te!or,2lement"me P c"te!or,2lement.!et*oc"l"me/F %trin! c"te!or,"lue P c+ild2lement.!etext/F return elementF `
` Cre"r , remitir l" respuest" "r" termin"r( usted us"r los d"tos 'ue extr"jo de l" c"r!" 0til de l" solicitud p"r" cre"r un" respuest". 2n este c"so( lo "liment"r " un" se!und" #unción 'ue( en un" "plic"ción re"l( +"r$" otro tr"b"jo. Cre"ción de un" respuest" ... import j"v"x.xml.stre"m.B@*%tre"m2xceptionF public cl"ss C@%%ervice ] public O@2lement !etumberO#-rticles/O@2lement element t+ro)s B@*%tre"m2xception ]
42
element.build/F
element.det"c+/F %trin! root"me P element.!et*oc"l"me/F O@2lement c+ild2lement P element.!etirst2lement/F %trin! c+ild"me P c+ild2lement.!et*oc"l"me/F %trin! c"te!or,"lue P c+ild2lement.!etext/F %O-"ctor, #"ctor, P O@-bstr"ct"ctor,.!et%O-1>"ctor,/F O@"mesp"ce n"mesp"ce P #"ctor,.cre"teO@"mesp"ce/ :+ttp8<
:numberO#-rticles:(n"mesp"ceF %trin! "ctu"l"lue P /"rticleCount/c"te!or,"lue.to%trin!/F
result2lem.setext/"ctu"l"lueF return result2lemF ` priv"te Inte!er "rticleCount/%trin! c"tId] <<er#orm some #unction suc+ "s se"rc+in! t+e C@% <F `
` rimero( cree el !ener"dor 'ue us"r p"r" cre"r todos los otros objetos( , despus
43
cree el esp"cio de nombres 'ue "!re!"r " l" c"r!" 0til de l" respuest". continu"ción( cree los elementos de result"do re"les( en este c"so un elemento ll"m"do numberO#-rticles. 2l contenido del elemento numberO#-rticles ser un n0mero 'ue devolver l" #unción "rticleCount/ 'ue( en este c"so( es complet"mente "rbitr"rio. 2n un" "plic"ción re"l( usted +"r todo lo 'ue se" neces"rio p"r" obtener este d"to. n" ve obtenido( lo con#i!ur"r como contenido del elemento numberO#-rticles , simplemente remitir ese elemento. *o 0nico 'ue #"lt" "+or"( es implement"r el servicio. Implement"r el servicio "r" poder implement"r el servicio( deber cre"r un "rc+ivo de "lm"cen"miento -xis. 2ste "rc+ivo es como un "rc+ivo .j"r o .)"r( ," 'ue se tr"t" de un simple "rc+ivo ip con un" extensión de "rc+ivo especi"l( en este c"so .""r. %i!" estos p"sos p"r" cre"r este "rc+ivo8 Incorpore todos los "rc+ivos del directorio -BI%>[HO@2R
C@%%ervice.cl"ss/in
P
513
/outP
33?/de#l"ted
35
"ddin!8
C@%%ervice.j"v"/in P 3>K /outP 1K>/de#l"ted 44 i!norin! entr, @2-EI< "ddin!8 @2-EI>S/de#l"ted 41 . %i su sesión venció( l" "plic"ción no se lo "vis"r( pero prob"blemente le muestre un error. 2n c"so de ser neces"rio( reinicie ;eronimo. /2s prob"ble 'ue no deb" +"cerlo despus de +"ber incorpor"do el servicio( pero prob"blemente deb" +"cerlo despus de re"li"r c"mbios.
44
%ervicios disponibles -cceder "l servicio -+or" 'ue creó el servicio( lle!ó l" +or" de "cceder " l " tr"vs del cliente. H"!" los si!uientes c"mbios en el "rc+ivo Cl"ssi#iedClient.j"v" 'ue creó "nteriormente public cl"ss Cl"ssi#iedClient ] priv"te st"tic 2ndpointDe#erence t"r!et2D P ne) 2ndpointDe#erence/
:+ttp8<"ctor,/F O@"mesp"ce oms P #"c.cre"teO@"mesp"ce/ :+ttp8<
met+od."ddC+ild/v"lueF return met+odF ` public st"tic void m"in/%trin!^_ "r!s ] tr, ] O@2lement p",lo"d P Cl"ssi#iedClient.!et2c+oO@2lement/F Options options P ne) Options/F
options.seto/t"r!et2DF
options.setr"nsportInrotocol/Const"nts.D-%OD[HF %erviceClient sender P ne) %erviceClient/F
45
sender.setOptions/optionsF O@2lement result P sender.sendDeceive/p",lo"dF %trin! response P result.!etext/F %,stem.out.println/:+ere "re :response: cl"ssi#ieds "t t+e moment.:F ` c"tc+ /2xception e ] <
%,stem.out.println/e.to%trin!/F ` ` ` Cu"ndo compile , ejecute est" "plic"ción( deber ver l" respuest" 'ue "p"rece en el *ist"do >K. *ist"do >K. Despuest" de Cl"ssi#iedClient 2n este momento +", 4>
cl"si#ic"dos.
2l servicio unidireccion"l -ntes se!uir "del"nte( ve"mos l"s di#erenci"s 'ue implic" tr"b"j"r con un servicio unidireccion"l( en lu!"r de +"cerlo con uno de solicitud
46
2l cliente p"r" este servicio t"mbin es simil"r "l 'ue usted us"r$" p"r" un servicio solicitud."ddressin!.2ndpointDe#erenceF import or!."p"c+e."xis>.client.OptionsF import or!."p"c+e."xis>.client.%erviceClientF import or!."p"c+e."xis>.om.O@2lementF import or!."p"c+e."xis>.%O-.%O-"ctor,F import or!."p"c+e."xis>.om.O@-bstr"ct"ctor,F import or!."p"c+e."xis>.om.O@"mesp"ceF public cl"ss -dd-rticleClient ] priv"te st"tic 2ndpointDe#erence t"r!et2D P ne) 2ndpointDe#erence/
:+ttp8<"ctor,/F O@"mesp"ce oms P #"c.cre"teO@"mesp"ce/ :+ttp8<
c"te!or,.setext/:cl"ssi#ieds:F O@2lement subc"te!or, P #"c.cre"teO@2lement/:subc"te!or,:( omsF
c"te!or,.setext/:)"nt"ds:F O@2lement "dtext P #"c.cre"teO@2lement/:"rticle:( omsF
47
"dtext.setext/:=o ,ou +"ve !ood +e"d #or numbers: : "nd " !re"t de"l o# p"tienceN =o ,ou liAe: : to sit #or +ours sortin! objects b, t+eir: : sieN I# so( t+en ,ou could be t+e: : next !oober counter in t+e )orld #"mous: : @urp+, rot+ers pe"nut #"ctor,. : : Willin!ness to dress up "s our m"scot: : +elp#ul( but not re'uired.:F
met+od."ddC+ild/c"te!or,F
met+od."ddC+ild/subc"te!or,F
met+od."ddC+ild/"dtextF return met+odF ` public st"tic void m"in/%trin!^_ "r!s ] tr, ] O@2lement p",lo"d P -dd-rticleClient.!etO@2lement/F %erviceClient serviceClient P ne) %erviceClient/F Options options P ne) Options/F
serviceClient.setOptions/optionsF
options.seto/t"r!et2DF
serviceClient.#ire-ndor!et/p",lo"dF ` c"tc+ /-xis"ult "xis"ult ]
"xis"ult.print%t"cAr"ce/F `
48
` ` -un'ue l" c"r!" 0til es di#erente( por lo 'ue puede ver en el mtodo !etO@2lement/( el 0nico c"mbio verd"dero( en lo 'ue +"ce " l" pro!r"m"ción( es el uso del mtodo #ire-ndor!et/ en lu!"r del mtodo sendDeceive/. 2ste mtodo no devuelve un" respuest". %i ejecut" este cliente( ver un env$o en l" vent"n" de ;eronimo( simil"r "l 'ue "p"rece en l" i!ur" 5. i!ur" 5. 2nv$o de l" l$ne" de com"ndos -cceso "l servicio v$" ;2 -ntes de %O- 1.>( l" 0nic" #orm" de "cceder " un servicio )eb b"s"do en %O- con el uso de H( er" medi"nte el uso de un" solicitudO%. sted ten$" 'ue cre"r un cliente 'ue cre"r" un" solicitud O% con el mens"je %O- como contenido de es" solicitud. %in emb"r!o( %O- 1.>( de#ine l" #orm" de "cceder " un servicio )eb b"s"do en %O- con el uso de un" solicitud ;2. ;2 contr" O% -ntes de se!uir "del"nte( es import"nte comprender l" di#erenci" entre l"s solicitudes ;2 , O% en H. -un'ue muc+os pro!r"m"dores "ct0"n como si est"s dos solicitudes #uesen interc"mbi"bles( existe en re"lid"d un motivo p"r" c"d" un" de ell"s. ;2( donde tod" l" in#orm"ción "cerc" del recurso 'ue usted solicit" est contenid" en l" D*( por lo !ener"l como p"rmetros( est destin"d" "l uso exclusivo de solicitudes idempotentes. 2s"s son solicitudes p"r" l"s 'ue no +", Te#ectos secund"riosU. 2n otr"s p"l"br"s( usted podr ll"m"r " es" solicitud un" docen" de veces( cien veces( mil vecesF , no deber$" c"mbi"r n"d". or ejemplo( un" solicitud Web p"r" l" temper"tur" "ctu"l en -lbu'uer'ue es idempotente. n" solicitud Web 'ue insert" un coment"rio en l" b"se de d"tos de un blo! no lo es. . 2n lo 'ue respect" " %O-( esto si!ni#ic" 'ue usted debe ser c"p" de us"r ;2 p"r" solicitudes %O- 'ue simplemente recuper"n in#orm"ción sin +"cer c"mbios.
49
"mbin deber$" us"r O% p"r" cu"l'uier oper"ción 'ue s$ +"!" c"mbios. -cceso "l servicio 2n -xis>( puede cre"r un" solicitud ;2 , el servidor l" tr"ducir " un mens"je %O- , remitir como result"do l" c"r!" 0til. or ejemplo( "punte su n"ve!"dor " l" ubic"ción 'ue "p"rece en el *ist"do 31. *ist"do 31. -cceso " los servicios +ttp8<. *ist"do 3>. Despuest" de l" c"r!" 0til %O- resp8numberO#-rcticlesR4>( usted deber$" ver l" respuest" %O- complet". 2sto prob"blemente c"mbie con l"s versiones #utur"s de -xis>. @"nejo de "djuntos Otr" v"ri"nte del mens"je %O- com0n es el "djunto. *os "djuntos se +"n ido metiendo en l" piel de l" !ente dur"nte "9os( pero d"do 'ue "+or" son re'ueridos por determin"d"s especi#ic"ciones "mpli"d"s( +", 'ue "prender " m"nej"rlos. ="tos bin"rios , B@* -un'ue B@* es un #orm"to b"s"do en texto( no podemos i!nor"r 'ue existe un mundo bin"rio. Como t"l( lle!"r el momento en 'ue deb"mos p"s"r in#orm"ción bin"r" +"ci" o desde un servicio )eb. sted podr m"nej"r est" situ"ción de un" de est"s dos #orm"s8 *" primer" opción es incluir el d"to bin"rio dentro del documento. n ejemplo de esto sucede cu"ndo !u"rd"mos un documento de @icroso#t Word como "rc+ivo B@*. %i tenemos im!enes incrust"d"s en ese documento( Word l"s incrust" en el documento B@* como d"to bin"rio( codi#ic"do en "se64. *" se!und" opción es re#erenci"r el d"to p"r" 'ue l" "plic"ción 'ue proces" el documento l" pued" encontr"r. n ejemplo mu, si!ni#ic"tivo de esto es un n"ve!"dor Web , cómo m"nej" l"s im!enes
50
re#erenci"d"s desde un "rc+ivo H@*. 2l "rc+ivo BH@* inclu,e un elemento de im!( /o( si usted es "decu"d"mente "v"n"do( un elemento de object , ese elemento inclu,e un "tributo src 'ue contiene l" D* 'ue "punt" " ese d"to. *" "plic"ción puede entonces c"r!"r el d"to desde es" ubic"ción , us"rlo "propi"d"mente. "'uetes Optimi"dos B@* bin"rio Como puede ver( B@*( ," es ms det"ll"do de lo 'ue 'uisier"n los oponentes del bin"rio. J como t"l( us" muc+o ms "nc+o de b"nd". 2ntonces( cu"ndo usted consider" el +ec+o de 'ue el mtodo pre#erido p"r" incorpor"r d"tos bin"rios " un documento de texto B@* acodi#icndolo como "se64a tiene l" tendenci" " increment"r su t"m"9o por un #"ctor de dos o ms( usted tiene un verd"dero problem". 2n re"lid"d( +ubo t"nto revuelo en los 0ltimos "9os( por l" #"lt" de "l!0n tipo re"l de soporte p"r" los d"tos bin"rios( 'ue #ue c"si un" rebelión( , W3C se ocupó del problem". Como result"do( "p"recieron los "'uetes optimi"dos B@* bin"rio /BO. 2ste protocolo proporcion" un" #orm"r de re#erenci"r de m"ner" #i"ble los d"tos externos desde dentro de un documento B@*. or ejemplo( l" especi#ic"ción %O- con -djuntos dec$" 'ue el d"to bin"rio pod$" envi"rse como p"rte de un documento @I@2 multip"rte( donde el d"to B@* compon$" l" primer" p"rte( , el d"to bin"rio incorpor"do( como p"rtes "dicion"les. 2l problem" de esto es 'ue( "un'ue su pro!r"m" pued" desconocer l" existenci" del d"to( el documento no. "mpoco permite l" optimi"ción selectiv" del documento( o el proces"miento retro"ctivo de un documento existente 'ue inclu," d"tos bin"rios. BO mejor" est" situ"ción medi"nte el suministro de un mec"nismo por el cu"l se puede extr"er selectiv"mente l" in#orm"ción 'ue debe ser optimi"d"( l" incorpor" " un mens"je @I@2 multip"rte 'ue t"mbin inclu,e nuestro mens"je %O-( , +"ce un" re#erenci" direct" " l. BO especi#ic" 'ue( en c"mbio( usted extr"i!" el d"to( , lo reempl"ce con un elemento Include /Incluir( 'ue re#erencie su nuev" ubic"ción( como en este ejemplo 'ue "p"rece en el *ist"do 34. so de BO
51
@I@2Eersion8 1.? ContentE,pe8 @ultip"rt??35<%O-Eenvelope:R env8He"derR
env8od,R cms8"dd-rticle xmlns8cmsP:+ttp8<<))).d"il,Emoon.com
cms8c"te!or,Rcl"ssi#ieds
cms8subc"te!or,R#ors"le
cms8"rticleHe"dlineRcms8"rticleHe"dlineR
cms8"rticleextRxop8Include xmlns8xopPQ+ttp8<<))).)3.or!<>??4
52
EE@I@2[bound"r, ContentE,pe8 "pplic"tion
%O-( d"tos bin"rios( , -xis> 2l proceso de utili"ción de BO en documentos %O- se denomin" @O@ /p"r" @ec"nismo de optimi"ción de tr"nsmisión de mens"jes %O-. -xis> proporcion" soporte p"r" est" #orm" de tr"b"jo con d"tos %O-( pero usted debe "se!ur"rse de con#i!ur"r l" "plic"ción de m"ner" "propi"d". so de BO con -xis> "xiscon#i! n"meP:-xisG"v">.?:R EE PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP EER EE "r"meters EER EE PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP EER p"r"meter n"meP:+otdeplo,ment: locAedP:#"lse:Rtrue
p"r"meter n"meP:en"bleD2%: locAedP:#"lse:Rtrue
53
p"r"meter n"meP:user"me: locAedP:#"lse:R"dmin
.)"r( +"cer este c"mbio( , volver " comprimirlo en un .)"r. reempl""r l" "plic"ción -xis>( visite l" consol" ;eronimo( us"ndo l" D* 'ue "p"rece en el *ist"do 36.
$onclusión H", di#erentes tipos de servidores )eb( entre ellos se encuentr" el x"mmp( el cu"l es un pro!r"m" 'ue m"nej" el servidor "p"c+e( "s$ como el !estor de "se de ="tos @J%M*. Con est" investi!"ción tenemos en cuent" 'ue +", v"ried"d de servidores )eb.
9ibliogra<=a OB(
=on. -
brie#
+istor,
o#
%O-. +ttp8<<)ebservices.xml.com??144??6. %emec+ >??6. +ttp8<<))).sem"nticE con#erence.com
G%(
%ervlets(
GWI;(
%O-(
W%=*(
==I. +ttp8<<))).brics.dA
54