WSDL Inspector
-
Upload
mariajose-mora-acevedo -
Category
Documents
-
view
221 -
download
0
Transcript of WSDL Inspector
-
8/19/2019 WSDL Inspector
1/20
WSDL INSPECTOR
Alcance
Lenguajes: Java, .NET, Visual BasicInterfaces: Win, Web
Introducción
El WSDL Inspectr per!ite a partir "el WSDL "e un #eb service "efinir ls tips "e"ats necesaris en $ene%us para p"er cnsu!ir el #eb service en fr!atransparente sin tener &ue precuparse "e ls prtcls invlucra"s en el prces 'la "efinici(n "el !is!.
Descripción
El WSDL "e un #eb service es un arc)iv &ue "escribe al !is!* brin"a t"a lainfr!aci(n necesaria para p"er cnsu!irl.$ene%us brin"a una )erra!ienta lla!a"a WSDL Inspectr &ue per!ite a partir "elWSDL "e un #eb service "efinir en la base "e cnci!ients t" l necesari parap"er cnsu!ir ls !+t"s "el #eb service en fr!a transparente. ara acce"er al WSDL Inspectr )a' &ue ejecutar la pci(n Tls-WSDL Inspectr. La!is!a esta sl accesible "es"e Design.
http://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDLhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDLhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDLhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDLhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDLhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDL
-
8/19/2019 WSDL Inspector
2/20
En Web Service /0L1 se "ebe ingresar el ca!in )acia el WSDL. ue"e serreferencia" pr !e"i "el prtcl )ttp 2pr ej.)ttp:--api.ggle.c!-$gleSearc).#s"l 3 file 2pr ej.file:4:5Servicis56!a7nWebServices.#s"l3./na ve7 ingresa" el ca!in "el WSDL se "ebe presinar el bt(n Inspect1, cn lcual en cas "e n e8istir ning9n errr se !strar la infr!aci(n "e ls "istints!+t"s &ue brin"a el #eb service, junt cn ls tips "e "ats necesaris parap"er cnsu!irls.ara p"er i!prtar1 la infr!aci(n necesaria "entr "e la base "e cnci!ients&ue per!ita cnsu!ir el #eb service se "ebe presinar el bt(n 6"" 0eference1. En la i!agen anterir se !uestra la infr!aci(n "e un #eb service si!ple, el cualcuenta cn un sl !+t" lla!a" Babel;is) &ue recibe "s par!etrs "e entra"a"e tip 4arcter ' retrna tr par!etr "e tip 4arcter.
El siguiente eje!pl !uestra tr cas en el cual el #eb service cuenta cn !as "eun !+t" ' se necesita "efinir nuevs tips "e "ats26rra'
-
8/19/2019 WSDL Inspector
3/20
Add Reference
4! se !encin( anterir!ente al presinar el bt(n 6"" 0eference1 se genera"entr "e la base "e cnci!ients ls tips "e "ats necesaris para p"er cnsu!irel #eb service en fr!a trasparente. < sea, se genera un tip "e "ats &ue i"entificael #eb service ' en cas "e &ue el !is! necesite nuevs tips "e "ats se generaun tip "e "ats estructura" para ca"a un "e ells.De esta fr!a se pue"e "efinir una variable a la cual asignarle el tip "e "ats"efini" para el #eb service ' utili7an" ls !+t"s "e la !is!a p"er invcar a ls"istints !+t"s &ue el #eb service prvee. Si para cnsu!ir el !+t" senecesitan tips "e "ats estructura"s )a' &ue crear variables cn ls tips "e "atsestructura"s crea"s pr el Inspectr.
Invocación de los métodos de un web service
Método sin tipos de datos estructurado
Vlva!s entnces a la pri!era i!agen para p"er !strar en un cas sencill c!p"er cnsu!ir un #eb service.En este cas al presinar el bt(n =6"" 0eference> se agrega a ls tips "e "ats &ue!aneja $ene%us, el tip net?8!et)"s?###s"?Babel;is)Service.Babel;is)Service1.
http://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/devenv/docum/releasenotes/8.0/StructureDatatype.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/devenv/docum/releasenotes/8.0/StructureDatatype.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm
-
8/19/2019 WSDL Inspector
4/20
2Ntar &ue en el n!bre asigna" al tip "e "ats esta prece"i" pr el na!espace&ue i"entifica al #eb service, "e esta fr!a $ene%us asegura &ue n van a e8istir"s tips "e "ats cn el !is! n!bre para "istints #eb services3.De esa fr!a se pue"e "efinir una variable a la cual asignarle ese tip "e "ats*lla!are!s a la !is!a #s1.Lueg p"re!s invcar utili7an" la variable #s1 a cual&uiera "e ls !+t"s &ue
el #eb service prvee 2en este cas sl un3 "e la siguiente fr!a: @result A @#s.Babel;is)2@traslatin!"e, @surce3 Dn"e @result, @traslatin!"e ' @surce sn variables "e tip c)aracter. Es es t", "e esta fr!a se pue"e invcar a un #eb service en fr!a sencilla sintener &ue precuparse "e ls prtcls invlucra"s en el prces ' la "efinici(n "el!is!* sla!ente se tuv &ue "ar la ubicaci(n "e su WSDL ' $ene%us se encarg( "eescn"er la c!pleji"a" ' "efinir un tip "e "ats &ue represente al #eb service.
Método con tipo de datos estructurado
6)ra va!s a cnsu!ir un #ebservice &ue utili7a "s tips "e "ats estructura"s.6l i!prtar el #ebservice en $ene%us se crea la siguiente:
• /n nuev tip "e "ats crrespn"iente al #ebservice
2c!?s#anan"!Cas)i.rscpe3
http://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDLhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htmhttp://www.gxtechnical.com/gxdlsp/pub/genexus/Internet/TechnicalPapers/Web_Services.htm#WSDL
-
8/19/2019 WSDL Inspector
5/20
• /n tip "e "at estructura" lla!a" "iacSigns cn la siguiente
"efinici(n: "iacSign 4)aracter2FFFF3 Dail';recast 4)aracter2FFFF3
• /n tip "e "at estructura" lla!a" 6rra'
-
8/19/2019 WSDL Inspector
6/20
$%Lcatins $%Lcatin na!eAc!?s#anan"!Cas)i?rscpe 4!!n stlcal)st-st rtKK-rt -4!!n
TT Base/0L-!eage-WebServices--Base/0L -TT -$%Lcatin-$%Lcatins
Ejeplo
En el $%
-
8/19/2019 WSDL Inspector
7/20
A"stract
En los últimos tiempos ha surgido con mucha fuerza el concepto de ‘web
services’, incluso armándose que el mismo cambiaría la forma de programar
las aplicaciones orientadas a nternet hacia una arquitectura orientada a
servicios! "odo esto se ha visto potenciado luego del anuncio de #icrosoft de sunueva estrategia !$E" que está basada en el modelo de web services!
Este documento describe que son los web services % como es la arquitectura
general del modelo, adicionalmente se provee una introducci&n de los
estándares en los cuales se basa este modelo como ser '()*, +'- % .!
%&ué es un 'e" ser!ice(.n web service es una aplicaci&n que puede ser descripta, publicada,
localizada e invocada a trav/s de una red, generalmente nternet! 0ombinan
los me1ores aspectos del desarrollo basado en componentes % la +eb!
)l igual que los componentes, los web services son funcionalidades que se
encuentran dentro de una ca1a negra, que pueden ser reutilizados sin
preocuparse de c&mo fueron implementados! ) diferencia de la actual
tecnología de componentes, no son accedidos por medio de protocolos
especícos del modelo de ob1etos como ser 2#, 0(# o (*3 sino que son
accedidos utilizando protocolos web como ser 4""* % 5#-!
-a interface de los web services esta denida en t/rminos de los mensa1es que
el mismo acepta % retorna, por lo cual los consumidores de los web services
pueden ser implementados en cualquier plataforma % en cualquier lengua1e de
programaci&n, solo tiene que poder crear % consumir los mensa1es denidos
por la interface de los web services!
El odelo de 'e" ser!ices)
-a arquitectura básica del modelo de web services describe a un consumidor,
un proveedor % ocasionalmente un corredor 6bro7er8! 2elacionados con estos
agentes están las operaciones de publicar, encontrar % enlazar!
-a idea básica consiste en que un proveedor publica su servicios en un
corredor, luego un consumidor se conecta el corredor para encontrar los
servicios deseados % una vez que lo hace se realiza un lazo entre el consumidor
% el proveedor!
-
8/19/2019 WSDL Inspector
8/20
0ada entidad puede 1ugar alguno o todos los roles!
*or todo lo anterior ha% ciertos requerimientos a la hora de desarrollar o
consumir un web services9
• Una forma estándar de representar los datos. 5#- es la opci&n obvia para este requerimiento!
• Un formato común y extensible de mensajes. S
-
8/19/2019 WSDL Inspector
9/20
• Interoperabilidad: 4ual&uier #eb service pue"e interactuar cn tr #eb service. 4! ls #ebservices pue"en ser i!ple!enta"s en cual&uier lenguaje, ls "esarrlla"resn necesitan ca!biar sus a!bientes "e "esarrll para pr"ucir cnsu!ir#eb services.
• Ubicuidad:
-os web services se comunican utilizando 4""* % 5#-! *or lo tantocualquier dispositivo que soporte estas tecnologías pueden implementar
o acceder web services! #u% pronto estarán presentes en tel/fonos,
autos e incluso máquinas e:pendedoras, las que avisarán a la central
cuando el stoc7 sea menor al indicado!
• Encapsular reduce la comlejidad T"s ls c!pnentes en un !"el "e #eb services sn #eb service. Li!prtante es la interface &ue el servici prvee ' n c! estai!ple!enta", pr l cual la c!pleji"a" se re"uce.
• Fácil de utilizar: El cncept "etrs "e ls #eb services es fcil "e enten"er, inclus e8istentlCits "e ven"e"res c! IB icrsft &ue per!iten a ls"esarrlla"res crear #eb services en fr!a rpi"a ' fcil.
• oporte de la Industria: T"s las e!presas "e sft#are i!prtantes sprtan S
-
8/19/2019 WSDL Inspector
10/20
cntrata"O U4(! se cbra su usO U4(! se in"ica &ue un servici 'a nesta !s en lneaO
-
8/19/2019 WSDL Inspector
11/20
Tecnolo-.as asociadas
El modelo de web services está basado en ciertas tecnologías emergente que
es el resultado del traba1o de varias compa;ías % organizaciones entre las
cuales se destacan
-
8/19/2019 WSDL Inspector
12/20
"odo esto es un modelo de mensa1es request=response con una forma de
describir un con1unto de m/todos % pasarle a los mismos parámetros! Esto
parece la base del protocolo 2*0 % de hecho es el uso más común de '()*! El
potencial es entregar esto sobre nternet utilizando 4""* para realizar
comunicaciones entre organizaciones permitiendo realizar comunicaciones
entre aplicaciones con diferente plataforma, sistema operativo % lengua1e de
programaci&n!
) continuaci&n se muestra un mensa1e '()* embebido en un request 4""*9
Este e1emplo invoca al servicio 'toc7?uote llamando al m/todo
@et-ast"rade*rice con el símbolo ' por parámetro!
-
8/19/2019 WSDL Inspector
13/20
Este es la respuesta al requerimiento anterior, el cual retorna el precio de la
acci&n solicitada9
'i usted quedo asustado por la aparente comple1idad del protocolo '()*
pensando lo engorroso que sería armar los mensa1es de requerimiento %
parsear los mensa1es de respuesta despreocúpese3 la ma%oría de los lengua1esde programaci&n proveen o proveerán soporte para realizar esto! -a idea
fundamental consiste en utilizar algún ob1eto al cual se le brinda un +'- % se
le indica que m/todo se quiere llamar % con que parámetros! Esto arma en
tiempo de e1ecuci&n el mensa1e '()*, lo manda % parsea el resultado
ad1udicándoselo a alguna variable en forma trasparente para el usuario como si
hubiera hecho un call común!
S!"# eb Services !escription "an$ua$e
+'- es un lengua1e basado en 5#- que se utiliza para describir un +eb'ervices! 4a sido suministrado por la +>0 por estandarizaci&n!
.n archivo con formato +'- provee informaci&n de los distintos m/todos
6operaciones8 que el +eb 'ervices brinda, muestra c&mo accederlos % que
formatos deben de tener los mensa1es que se envían % se reciben! Es como un
contrato entre el proveedor del servicio % el cliente, en el cual el proveedor se
compromete a brindar ciertos servicios solo si el cliente envía un requerimiento
-
8/19/2019 WSDL Inspector
14/20
con determinado formato! Es el documento principal a lo hora de documentar
un +eb 'ervices, pero puede no ser el único! En la ma%oría de los casos es
conveniente que este acompa;ado por un documento escrito en lengua1e
natural que brinde informaci&n de que es lo que hace cada uno de los m/todos
brindados por el +eb 'ervices así como tambi/n e1emplos, por e1emplo, de los
mensa1es '()* que espera % responde el servicio!
En forma resumida podríamos decir que un archivo +'- describe lo siguiente9
• #ensa1es que el servicio espera % mensa1es que el servicio responde!
• *rotocolos que el servicio soporta!
• ) donde mandar los mensa1es!
FORMATO DE UN ARCHIVO WSDL:) continuaci&n se muestra como es el formato básico de un archivo +'-! -a
especicaci&n completa de este lengua1e se puede encontrar en
http9==www!w>!org="2=wsdl!html
.n archivo con formato +'- básicamente contiene los siguientes elementos9
!ype: escribe los tipos no estándar usados por los mensa1es 6Message8!
"essage: ene los datos que contienen los mensa1es pasados de un punto a
otro!
#ort!ype: ene una colecci&n de operaciones brindadas por el servicio! 0ada
operaci&n tiene un mensa1e de entrada % uno de salida que se corresponde con
algún Message antes denido!
$inding: escribe los protocolos que se utilizan para llevar a cabo la
comunicaci&n en un determinado PortType3 actualmente los protocolos
soportados son '()*, 4""* @E", 4""* *('" % ##E, siendo '()* el más
utilizado!
http://www.w3.org/TR/wsdl.htmlhttp://www.w3.org/TR/wsdl.html
-
8/19/2019 WSDL Inspector
15/20
#ort: ene una direcci&n 6.2-8 para un determinado Binding
ervice: ene una colecci&n de Ports!
El siguiente es un e1emplo de archivo +'-9
El mismo dene dos mensa1es 6'imple!foo % 'imple!foo2esponse8, luego dene
un m/todo llamado AfooB el cual recibe el mensa1e 'imple!foo % retorna el
mensa1e 'imple!foo2esponse! ) continuaci&n se dene un binding para el
m/todo foo asociándolo con el protocolo '()*! *or último se da una .2- física
que implementa lo antes descrito!
-
8/19/2019 WSDL Inspector
16/20
INTERFASE E IMPLEMENTACIÓN-a estructura básica de archivo con formato +'- podría ser dividido en dos
partes l&gicas9 la interfase del servicio, % la implementaci&n del mismo!
-
8/19/2019 WSDL Inspector
17/20
Esta divisi&n l&gica divide los elementos de la siguiente forma9
Interface del servicio:
"%pe, #essage, *ort"%pe,
-
8/19/2019 WSDL Inspector
18/20
EL ESQUEMA UDDIEl modelo de informaci&n base utilizado por los registros . es denido en
un esquema 5#-! Este esquema dene cuatro tipos básicos de informaci&n,
cada uno de los cuales proveen la clase de informaci&n que un usuario necesita
saber para utilizar un web service de otra empresa!
-os cuatro tipos de informaci&n son9
• nformaci&n del negocio!
Este tip "e infr!aci(n esta "efini" en el ele!ent businessEntit'.4ntiene infr!aci(n "e la e!presa, c! ser su n!bre, ls cntacts, eltip "e e!presa, etc.
• nformaci&n del servicio!
Dentr "el ele!ent businnessEntit' se encuentran ls ele!entsbusinessServices, ests ele!ents cntienen infr!aci(n sbre #eb servicesgeneral!ente agrupa"s pr prcess "e negci categras "e servicis.
• nformaci&n del enlace 6binding8!
entro de cada elemento business'ervices se encuentran los
elementos binding"emplate! 0ada uno de ellos brinda una direcci&n
sica para hacer contacto con los servicios descriptos anteriormente!
• nformaci&n sobre las especicaciones del servicio!
4a"a bin"ingTe!plate tiene ascia" un t"el, el cual brin"a infr!acnsbre las especificacines "el servici, pr eje!pl, c! tienen &ue ser ls!ensajes &ue el servici espera ' respn"e, etc..n t#odel puede ser asociado con elementos binding"emplate de
distintas empresas que brindan la misma especicai&n del servicio!
.tilizando entonces los t#odels se pueden encontrar todas las
empresas que brindan tal servicio!
-
8/19/2019 WSDL Inspector
19/20
*or más informaci&n sobre el esquema .9
http9==www!uddi!org=pubs=*rogrammers)*CvD!pdf
API UDDIEl acces al registr /DDI, 'a sea para reali7ar b9s&ue"as para ingresar !"ificarun registr, se pue"e reali7ar a trav+s "e una pgina #eb &ue i!ple!ente el acces utili7an" ciertas interfaces 2#eb services3 &ue prvee la especificaci(n "e /DDI.Estas interfaces estn "escriptas en una 6I, &ue pue"e ser "ivi"i"a en "s partesl(gicas, la 6I "e cnsultas ' la 6I "e publicaci(n.*or más informaci&n sobre la )* .9
http9==www!uddi!org=pubs=*rogrammers)*CvD!pdf
http://www.uddi.org/pubs/ProgrammersAPI_v2.pdfhttp://www.uddi.org/pubs/ProgrammersAPI-V2.00-Open-20010608.pdfhttp://www.uddi.org/pubs/ProgrammersAPI_v2.pdfhttp://www.uddi.org/pubs/ProgrammersAPI-V2.00-Open-20010608.pdf
-
8/19/2019 WSDL Inspector
20/20
/n ejeplo
-as formas en que se puede realizar negocios utilizando web services es mu%
variada! El consumidor podría pagar por utilizar los servicios brindados por un
proveedor, o el proveedor podría pagar para que aparezcan los servicios que /lofrece en un determinado consumidor, o incluso e:isten casos en los cuales ni
el consumidor ni el proveedor pagan por consumir o proveer los servicios en
forma respectiva! Este es el caso que se presenta a continuaci&n!
El e1emplo es tomado de la vida real % es sobre la compa;ía a/rea 'outhwest!
En su portal http9==www!southwest!com= , esta compa;ía a/rea permite hacer
reservas de boletos, pero además como valor agregado a los clientes permite
hacer reservas de hoteles % reservas de alquileres de autos! -os datos para
poder realizar estas reservas están tomados de web services que brindan los
distintos hoteles % rentadoras de autos!
Este es un e1emplo de uso de web services en el cual ni el consumidor ni los
proveedores pagan3 a ambos le sirve este intercambio %a que la compa;ía de
aviones le brinda un valor agregado a sus clientes, % los hoteles % rentadoras
de autos están e:puestos a ser contratos por potenciales clientes! Es más,
estas empresas no publicaron sus servicios para que fueran e:clusivamente
utilizados por la compa;ía a/rea, sino que los mismos pueden ser descubiertos
% utilizados por cualquier empresa que los necesite!
0laramente se muestra en este e1emplo el gran poder de los web services, % la
venta1a que tendrán las empresas que los sepan utilizar en forma adecuada
con respecto a las otras! magínese en este caso si usted fuera a reservarboletos de avi&n % pudiera elegir por una compa;ía que además de reservar los
boletos le permitiera hacer la reserva de hotel, % otra que no3 por cual haría la
reservaF *or otro lado imagine que usted es due;o de una rentadora de autos %
sabe que su competencia esta brindando sus servicios en un portal de una
compa;ía a/rea % usted no, qu/ haríaF!
http://www.southwest.com/http://www.southwest.com/