SlideShare ist ein Scribd-Unternehmen logo
1 von 31
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

Weitere ähnliche Inhalte

Was ist angesagt?

State Management in Angular/React
State Management in Angular/ReactState Management in Angular/React
State Management in Angular/ReactDEV Cafe
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanAraf Karsh Hamid
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & DevelopmentAshok Pundit
 
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...Amazon Web Services
 
JavaScript with Syntax & Implementation
JavaScript with Syntax & ImplementationJavaScript with Syntax & Implementation
JavaScript with Syntax & ImplementationSoumen Santra
 
Asynchronous javascript
 Asynchronous javascript Asynchronous javascript
Asynchronous javascriptEman Mohamed
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentationVibhor Grover
 
AWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxAWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxRaneesh Ramesan
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentationBojan Golubović
 
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryIBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryKaren Broughton-Mabbitt
 
Serverless CQRS in Azure!
Serverless CQRS in Azure!Serverless CQRS in Azure!
Serverless CQRS in Azure!BizTalk360
 

Was ist angesagt? (20)

State Management in Angular/React
State Management in Angular/ReactState Management in Angular/React
State Management in Angular/React
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Microservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, KanbanMicroservices, Containers, Kubernetes, Kafka, Kanban
Microservices, Containers, Kubernetes, Kafka, Kanban
 
Callback Function
Callback FunctionCallback Function
Callback Function
 
Pengenalan ReactJS
Pengenalan ReactJS Pengenalan ReactJS
Pengenalan ReactJS
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & Development
 
REST in Peace
REST in PeaceREST in Peace
REST in Peace
 
React for Beginners
React for BeginnersReact for Beginners
React for Beginners
 
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
Using AWS Batch and AWS Step Functions to Design and Run High-Throughput Work...
 
React js
React jsReact js
React js
 
JavaScript with Syntax & Implementation
JavaScript with Syntax & ImplementationJavaScript with Syntax & Implementation
JavaScript with Syntax & Implementation
 
Swagger UI
Swagger UISwagger UI
Swagger UI
 
Asynchronous javascript
 Asynchronous javascript Asynchronous javascript
Asynchronous javascript
 
Graphql presentation
Graphql presentationGraphql presentation
Graphql presentation
 
AWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptxAWS VS AZURE VS GCP.pptx
AWS VS AZURE VS GCP.pptx
 
React workshop presentation
React workshop presentationReact workshop presentation
React workshop presentation
 
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay NagchowdhuryIBM Integration Bus and REST APIs - Sanjay Nagchowdhury
IBM Integration Bus and REST APIs - Sanjay Nagchowdhury
 
Vue.js for beginners
Vue.js for beginnersVue.js for beginners
Vue.js for beginners
 
Workshop React.js
Workshop React.jsWorkshop React.js
Workshop React.js
 
Serverless CQRS in Azure!
Serverless CQRS in Azure!Serverless CQRS in Azure!
Serverless CQRS in Azure!
 

Andere mochten auch

144 Rest Web Services
144 Rest Web Services144 Rest Web Services
144 Rest Web ServicesGeneXus
 
Oracle BPEL Presentation
Oracle BPEL PresentationOracle BPEL Presentation
Oracle BPEL Presentationshub54
 
GeneXus Apps UI / UX Kit - Gabriel Simonet
GeneXus Apps UI / UX Kit - Gabriel SimonetGeneXus Apps UI / UX Kit - Gabriel Simonet
GeneXus Apps UI / UX Kit - Gabriel SimonetGeneXus
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Miguel Gallardo
 
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB ProjectRakuten Group, Inc.
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web ServicesJose Selman
 
Metodologia secuencias didácticas
Metodologia secuencias didácticasMetodologia secuencias didácticas
Metodologia secuencias didácticasUsebeq
 
Elementos De La Secuencia Didactica
Elementos De La Secuencia DidacticaElementos De La Secuencia Didactica
Elementos De La Secuencia DidacticaCelso Selvas
 
Guía para diseñar secuencia didactica
Guía para diseñar secuencia didacticaGuía para diseñar secuencia didactica
Guía para diseñar secuencia didacticaAldoF9
 

Andere mochten auch (13)

144 Rest Web Services
144 Rest Web Services144 Rest Web Services
144 Rest Web Services
 
Simplemente REST
Simplemente RESTSimplemente REST
Simplemente REST
 
Oracle BPEL Presentation
Oracle BPEL PresentationOracle BPEL Presentation
Oracle BPEL Presentation
 
GeneXus Apps UI / UX Kit - Gabriel Simonet
GeneXus Apps UI / UX Kit - Gabriel SimonetGeneXus Apps UI / UX Kit - Gabriel Simonet
GeneXus Apps UI / UX Kit - Gabriel Simonet
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
 
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
[RakutenTechConf2014] [D-4] The next step of LeoFS and Introducing NewDB Project
 
Soa & Bpel
Soa & BpelSoa & Bpel
Soa & Bpel
 
Bpel y Open Esb
Bpel y Open EsbBpel y Open Esb
Bpel y Open Esb
 
Charla Web Services
Charla Web ServicesCharla Web Services
Charla Web Services
 
Metodologia secuencias didácticas
Metodologia secuencias didácticasMetodologia secuencias didácticas
Metodologia secuencias didácticas
 
Secuencia didáctica
Secuencia didácticaSecuencia didáctica
Secuencia didáctica
 
Elementos De La Secuencia Didactica
Elementos De La Secuencia DidacticaElementos De La Secuencia Didactica
Elementos De La Secuencia Didactica
 
Guía para diseñar secuencia didactica
Guía para diseñar secuencia didacticaGuía para diseñar secuencia didactica
Guía para diseñar secuencia didactica
 

Ähnlich wie Web services GeneXus Tilo

8-Unidad 2: Diseños de Vista-2.3 Introducción Web Services
8-Unidad 2: Diseños de Vista-2.3 Introducción Web Services8-Unidad 2: Diseños de Vista-2.3 Introducción Web Services
8-Unidad 2: Diseños de Vista-2.3 Introducción Web ServicesLuis Fernando Aguas Bucheli
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del ProyectoLuis Fernando Aguas Bucheli
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Accióndrarock
 
Cómo crear un RESTful API con Go
Cómo crear un RESTful API con GoCómo crear un RESTful API con Go
Cómo crear un RESTful API con GoSoftware Guru
 
Java struts2 - 03 componentes de la aplicacion
Java   struts2 - 03 componentes de la aplicacionJava   struts2 - 03 componentes de la aplicacion
Java struts2 - 03 componentes de la aplicacionJechu2013
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014Adrian Diaz Cervera
 
Realtime nodejs socket io
Realtime nodejs   socket ioRealtime nodejs   socket io
Realtime nodejs socket ioJose Gratereaux
 
Pillars.js framework de desarrollo web para Node.js
Pillars.js framework de desarrollo web para Node.jsPillars.js framework de desarrollo web para Node.js
Pillars.js framework de desarrollo web para Node.jsChelo Quilón Gómez
 

Ähnlich wie Web services GeneXus Tilo (20)

8-Unidad 2: Diseños de Vista-2.3 Introducción Web Services
8-Unidad 2: Diseños de Vista-2.3 Introducción Web Services8-Unidad 2: Diseños de Vista-2.3 Introducción Web Services
8-Unidad 2: Diseños de Vista-2.3 Introducción Web Services
 
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto12-Unidad 3: Webservices-3.3 Inicio del Proyecto
12-Unidad 3: Webservices-3.3 Inicio del Proyecto
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Acción
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Ajax
AjaxAjax
Ajax
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Cómo crear un RESTful API con Go
Cómo crear un RESTful API con GoCómo crear un RESTful API con Go
Cómo crear un RESTful API con Go
 
Comenzando con GWT
Comenzando con GWTComenzando con GWT
Comenzando con GWT
 
Java struts2 - 03 componentes de la aplicacion
Java   struts2 - 03 componentes de la aplicacionJava   struts2 - 03 componentes de la aplicacion
Java struts2 - 03 componentes de la aplicacion
 
Ajax
AjaxAjax
Ajax
 
IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014IT Camps Apps Office 365 Valencia 2014
IT Camps Apps Office 365 Valencia 2014
 
Realtime nodejs socket io
Realtime nodejs   socket ioRealtime nodejs   socket io
Realtime nodejs socket io
 
04. Implementando APIs HTML5
04. Implementando APIs HTML5 04. Implementando APIs HTML5
04. Implementando APIs HTML5
 
Web cryptography
Web cryptographyWeb cryptography
Web cryptography
 
Web Services JAX-RS RESTful y SOAP
Web Services JAX-RS RESTful y SOAPWeb Services JAX-RS RESTful y SOAP
Web Services JAX-RS RESTful y SOAP
 
Segunda sesion
Segunda sesionSegunda sesion
Segunda sesion
 
Aplicaciones Web
Aplicaciones WebAplicaciones Web
Aplicaciones Web
 
Pillars.js framework de desarrollo web para Node.js
Pillars.js framework de desarrollo web para Node.jsPillars.js framework de desarrollo web para Node.js
Pillars.js framework de desarrollo web para Node.js
 
Msdn Te Invita A Ser Parte De UXity
Msdn Te Invita A Ser Parte De UXityMsdn Te Invita A Ser Parte De UXity
Msdn Te Invita A Ser Parte De UXity
 
(13/05) MSDN te invita a ser parte de Uxity
(13/05) MSDN te invita a ser parte de Uxity(13/05) MSDN te invita a ser parte de Uxity
(13/05) MSDN te invita a ser parte de Uxity
 

Mehr von GeneXus

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsGeneXus
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!GeneXus
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in ActionGeneXus
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...GeneXus
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?GeneXus
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroGeneXus
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y PlataformasGeneXus
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosGeneXus
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaGeneXus
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 StudentsGeneXus
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsiveGeneXus
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusGeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosGeneXus
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAPGeneXus
 
Going mobile
Going mobileGoing mobile
Going mobileGeneXus
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusGeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusGeneXus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...GeneXus
 

Mehr von GeneXus (20)

After Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) BotsAfter Chatbots Yo (Ro) Bots
After Chatbots Yo (Ro) Bots
 
Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!Construya las aplicaciones del futuro ¡hoy!
Construya las aplicaciones del futuro ¡hoy!
 
Live Editing in Action
Live Editing in ActionLive Editing in Action
Live Editing in Action
 
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
Experiencias en el desarrollo de aplicaciones móviles en el sector salud de M...
 
¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?¿Pensando en implementar un sistema de gestión integral en su organización?
¿Pensando en implementar un sistema de gestión integral en su organización?
 
K2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuroK2B Tools el compañero de viaje ideal hacia el futuro
K2B Tools el compañero de viaje ideal hacia el futuro
 
Sd y Plataformas
Sd y PlataformasSd y Plataformas
Sd y Plataformas
 
PXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivosPXTools: Nuevo generador y nuevos controles responsivos
PXTools: Nuevo generador y nuevos controles responsivos
 
APPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industriaAPPlícate: Aplicaciones móviles para el desarrollo de la industria
APPlícate: Aplicaciones móviles para el desarrollo de la industria
 
GeneXus 4 Students
GeneXus 4 StudentsGeneXus 4 Students
GeneXus 4 Students
 
La importancia de ser responsive
La importancia de ser responsiveLa importancia de ser responsive
La importancia de ser responsive
 
K2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXusK2B: El ERP nativo para el mundo GeneXus
K2B: El ERP nativo para el mundo GeneXus
 
GeneXus 15 (Salto)
GeneXus 15 (Salto)GeneXus 15 (Salto)
GeneXus 15 (Salto)
 
GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.GeneXus Cloud Deployment Services. El camino a la nube.
GeneXus Cloud Deployment Services. El camino a la nube.
 
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuariosLigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
 
Innovando con GeneXus y SAP
Innovando con GeneXus y SAPInnovando con GeneXus y SAP
Innovando con GeneXus y SAP
 
Going mobile
Going mobileGoing mobile
Going mobile
 
Audit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXusAudit+: La mejor forma de auditar KB’s GeneXus
Audit+: La mejor forma de auditar KB’s GeneXus
 
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite PlusWW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
WW+, SD+ y Audit+: Potencie GeneXus la Suite Plus
 
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
Aproveche las ventajas de la colaboración entre GeneXus y Cloud Shared Office...
 

Web services GeneXus Tilo

Hinweis der Redaktion

  1. SOA: aplicaciones basadas en servicios.Restful web services: http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?14573HTTP
  2. 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.
  3. 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).
  4. 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.
  5. 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.
  6. 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.
  7. 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
  8. http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?6932
  9. 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.
  10. Ws REST quepermite el ingreso de unaorden de compras.
  11. http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?22574
  12. http://wiki.gxtechnical.com/commwiki/servlet/hwikibypageid?7200