• Like
  • Save
Web services GeneXus Tilo
Upcoming SlideShare
Loading in...5
×
 

Web services GeneXus Tilo

on

  • 1,654 views

Web Services in GeneXus Tilo

Web Services in GeneXus Tilo

Statistics

Views

Total Views
1,654
Views on SlideShare
1,610
Embed Views
44

Actions

Likes
1
Downloads
53
Comments
0

3 Embeds 44

http://wiki.gxtechnical.com 24
http://wiki.genexus.com 11
http://webcache.googleusercontent.com 9

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • SOA: aplicaciones basadas en servicios.Restful web services: http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?14573HTTP
  • REST es un estilo de diseño de webservices, y constituye una alternativa a SOAP.Un caso de uso de REST es aquel caso en donde la optimización de tráfico es esencial y parte de la solución. REST brinda la posibilidad de que la informacion sea cacheable, y accesible a cualquier cliente HTTP.
  • Lo quequeremoshaceresexponerdatos de unaaplicación o lo quevamos a llamar “recursos” o entidades, en la web, con unasalida con un formatoestándar, paraque sea interpretable por un programaqueejecutesobrecualquierplataforma o framework, e inclusosobrecualquiercliente HTTP genérico (inclusodesde un telefonocelular).
  • Vamos a suponer que lo que quiero es exponer la lista de productos de mi empresa, para que cualquier cliente HTTP pueda acceder a ella.Para invocarlo solo hago un GET al servicio (comopuedenver en la imagen, se trata del header del request HTTP)Luegopodemosver el response HTTP del servicio.Es solamente un HTTP Response, que trae en el cabezal el status code y demas datos, y en el cuerpo la lista de productos, en este caso en formato Json.El mensaje no lleva envelopes (como en el caso de SOAP).La respuestatiene el producId, la descripcion, y una URI queindicadondeobtener el detalle de cadaproducto. Esta URI sirvepara “descubrir” comolocalizarotrosrecursos.
  • REST es un estilo de arquitectura de software (no es como SOAP un protocolo), es un modelo orientado a recursos que va directo sobre HTTP.Cuando un webservice es Restful?Cuando se van a cumplir una serie de condiciones.Básicamente se va a cumplir que cada URL es la representación de un objeto, al que vamos a llamar recurso. Y cada recurso se representa con una única URI. Cada recurso se asocia a una URI, y cada recurso tienen n representaciones posibles, puede ser XML, Json. Además REST es un modelo cliente servidor sin estado. No se mantiene el estado en el servidor.El estado del recurso viaja en la representación. También en la representación se incluye la referencia a otros recursos relacionados, como vimos en la lista de productos, que estaba la referencia a cada producto en particular.También se caracteriza por tener una interfaz uniforme, es decir, un conjunto de operaciones bien definidas que voy a poder ejecutar sobre los recursos – métodos HTTP GET, POST, PUT, DELETE.
  • Con frecuencia estas operaciones se equiparan a las operaciones CRUD que se requieren para la persistencia de datos.Dado un recurso, un POST HTTP a su representación se puede equiparar con un create sobre la DB.Un GET HTTP se corresponde a un Read, un PUT HTTP sobre la representación se puede equiparar a un UPDATE sobre la DB, y un DELETE HTTP con un Delete sobre la DB.Bien, hasta aca hemos hablado de que es REST y que podemos resolver con REST.
  • En GeneXus tenemos la posibilidad de crear automáticamente servicios REST a partir de transacciones que sean Business Components, a partir de Data Providers y procedures.Es decir que el metodoCreate del BC podrá ser accedido mediante el método POST de HTTP, el metodoRead del BC a traves de un GET HTTP, el Update del BC a traves de un PUT HTTP, y el delete a traves del delete HTTP.Los data providers son servicios REST de lectura.http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?14573
  • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6932
  • Voy a empezar por exponer el recurso “lista de productos” como servicio REST.La manera de crear un servicio REST es muy sencilla, Mi transaccion debe ser Business Component, Y debo especificar la propiedad Expose as webservice – REST del Business Component.
  • Ws REST quepermite el ingreso de unaorden de compras.
  • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22574
  • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7200

Web services GeneXus Tilo Web services GeneXus Tilo Presentation Transcript

  • Servicios WEB: Integración de aplicaciones Artech Diciembre 2013
  • SOAP REST HTTP
  • Web Sevices SOAP • Basado en XML • Modelo de comunicación HTTP
  • Web Services en GeneXus • Proveer • Procedimientos • Call Protocol SOAP • Business Components, DataProviders • Expose as Web Service • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypa geid?11231 • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypa geid?2282
  • Web Services en GeneXus • Consumidor • WSDL Import Wizard http://wiki.gxtechnical.com/commwiki/servlet/hwikibyp ageid?6181
  • Definición del consumidor de un Web Service Objetos Externos Paso 1: Indicar la URL del Web Service que se quiere utilizar.
  • Definición del consumidor de un Web Service Objetos Externos Paso 2: Indicar el nombre que se le dará al External Object, su descripción, carpeta de ubicación y prefijo.
  • Definición del consumidor de un Web Service Objetos Externos Paso 3: Una vez descubierto el Web Service, presionamos Import para importarlo.
  • Definición del consumidor de un Web Service Objetos Externos Paso 4: Una vez importado el Web Service, vemos el objeto externo y sus propiedades (View/Properties o F4 sobre el Objeto Externo).
  • Definición del consumidor de un Web Service Objetos Externos Para conocer la estructura del WS, damos botón derecho sobre el mismo y seleccionamos Open Part / Structure: Conocemos los parámetros
  • Definición del consumidor de un Web Service Objetos Externos Para consumir el WS definimos una variable basada en el tipo de dato CountryInfoService y luego invocamos al método CapitalCity:
  • Web Services en GeneXus Manejo de errores http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7021 http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7022
  • Web Services Locations • Para permitir configurar invocaciones a objetos main GeneXus en forma remota. • Se pueden hacer usando el tipo de datos Location de GeneXus o el archivo location.xml. • Instancias para configurar los locations: 1. 2. 3. En tiempo de generación: mediante location.xml En tiempo de ejecución mediante un archivo: location.xml En tiempo de ejecución mediante código: utilizando variables tipo Location • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6 981 • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6 111
  • Ejemplo &location= GetLocation('WebserviceDatatype') &location.Host = Localhost &location.Port = 8085 &location.CancelOnError=2 &location.Timeout=&timeout &outparam= &webservice.Method(&inparams) &SoapErr=GetSOAPErr() &SoapMsg=GetSOAPErrMsg()
  • TroubleShooting • Tcptrace http://www.gxtechnical.com/gxdlsp/dist/iehelp.htm?genexus/inter net/technicalpapers/debugcallsoap.htm • SoapUI http://www.soapui.org/
  • Rest
  • Por qué REST? P o • Optimización de tráfico r • Accesible a cualquier cliente HTTP q u é R E S T
  • Qué es REST? Q u • Exponer recursos en la web en un formato estándar: XML, Json.. é E s R E S T …. JSON XML
  • …Invocando un servicio REST Q u é E s R E S T
  • RESTful Web Services Q u é • Sintáxis universal para identificar los recursos (URI) E s • Definición de una representación del estado R • MIME TYPE: XML, Json.. E S T • Interfaz Uniforme(GET, POST, PUT, DELETE)
  • Analogía CRUD Q u é E s Resource POST GET PUT DELETE R E S T URI: http://server/Product/ 123 Create Read Update Delete
  • R E S T e n G E N E X U S REST a la luz de GeneXus • Business Components • Create (POST), Read (GET), Update (PUT), Delete (DELETE) • Data Providers • Read (GET) • Procedures • POST http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?14573
  • Consumir un servicio REST • HTTPClient Data Type • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6932 • Método ToJson / FromJson • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?10670 • Método ToXML / FromXML • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?8789 • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?8788
  • R E S T e n G E N E X U S Lista de Entidades
  • R E S T e n G E N E X U S • Lista de Entidades / Entidad por PK
  • R E S T e n G E N E X U S Ejemplo: Exponer un Recurso para modificación
  • R E S T E n G E N E X U S Cliente de servicio REST
  • Json 2 SDT • Tools – Application Integration – Json Import • http://wiki.gxtechnical.com /commwiki/servlet/hwikiby pageid?22574
  • TroubleShooting • Tcptrace http://www.tcptrace.org/ • RestClient https://code.google.com/p/rest-client/
  • HTTP • Proveer • Procedure : Call Protocol = HTTP • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7947 • Consumir • HttpClient, HttpRequest, HttpResponse data type. • http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6932
  • XML Schema Import • Tools/Application integration/XML schema Import. (XSD) • http://wiki.gxtechnical.com /commwiki/servlet/hwikiby pageid?7200