wsdl inspector

Upload: mariajose-mora-acevedo

Post on 08-Jul-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 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/