On 15/02/2013 20:11, Vojtech Szocs wrote:
Hi Libor,
> I would like to ask, if there have been discussions about an option to
> call REST API services directly from the Frontend (GWT layer)? GWT
> compiles Java frontend-side to Javascript, calls to backend services
> are performed "transparently" by the framework using AJAX support.
> But, there is still a need to have a special set of data objects and
> the server-side logic can duplicate.
Indeed, for both WebAdmin and UserPortal, we're planning to move away from GWT RPC
(a.k.a Generic API) and use Engine REST API and promote loose coupling between client and
server.
As Chris mentioned, for WebAdmin UI plugins, there's already support for calling
Engine REST API - session ID is obtained upon WebAdmin UI login and passed to all UI
plugins. It's up to plugin authors to decide if the plugin itself (JavaScript) will
communicate via REST API, or if the plugin passes the session ID to some other server so
that the other server does REST API communication.
> Java REST API SDK enables to build "thick" client. The calls are
> realized using e.g. Apache HttClient and supported libraries. I think
> the requirements of GWT can be a little bit different, but something
> overlaps.
Well, we can't really use Java REST API SDK directly due to restrictions imposed by
GWT on client-side code, e.g. HttClient uses sockets which are (obviously) not supported
in JavaScript and therefore related classes are rejected by GWT compiler.
What we're planning to do is to map REST API XML responses to generated "REST
API Types" (based on api.xsd schema) and vice versa. This could be a bit of
challenge, as most frameworks for GWT REST API support use JSON representation in favor of
XML.
JSON is also more efficient than XML, but will take a bit of time until
supported by the REST API.
Vojtech
----- Original Message -----
From: "Christopher Morrissey" <Christopher.Morrissey(a)netapp.com>
To: "Keith Robertson" <kroberts(a)redhat.com>, "Libor Spevak"
<lspevak(a)redhat.com>
Cc: engine-devel(a)ovirt.org
Sent: Tuesday, February 12, 2013 11:53:52 PM
Subject: Re: [Engine-devel] REST API calls from the GUI
The UI plugin framework already makes a session ID available for REST API calls.
Oved's blog gives a good description with some example code.
http://ovedou.blogspot.co.il/2012/12/ovirt-foreman-ui-plugin.html
-Chris
> -----Original Message-----
> From: engine-devel-bounces(a)ovirt.org [mailto:engine-devel-
> bounces(a)ovirt.org] On Behalf Of Keith Robertson
> Sent: Tuesday, February 12, 2013 11:30 AM
> To: Libor Spevak
> Cc: engine-devel(a)ovirt.org
> Subject: Re: [Engine-devel] REST API calls from the GUI
>
> Not sure if this is possible now but, I would like the front-end to expose an
> authenticated hook to the API so that plug-ins can call RESTful methods. It
> would enable plug-in writers to do all sorts of interesting things in their plug-
> ins with the RESTful API.
>
> Cheers,
> Keith
>
> On 02/12/2013 11:13 AM, Libor Spevak wrote:
>> Hi,
>>
>> I would like to ask, if there have been discussions about an option to
>> call REST API services directly from the Frontend (GWT layer)? GWT
>> compiles Java frontend-side to Javascript, calls to backend services
>> are performed "transparently" by the framework using AJAX support.
>> But, there is still a need to have a special set of data objects and
>> the server-side logic can duplicate.
>>
>> Java REST API SDK enables to build "thick" client. The calls are
>> realized using e.g. Apache HttClient and supported libraries. I think
>> the requirements of GWT can be a little bit different, but something
>> overlaps.
>>
>> I found several links about REST API support from GWT, so there is
>> something for inspiration...
>>
>> -
http://www.spiffyui.org/
>> -
http://www.zackgrossbart.com/hackito/gwt-rest/
>> -
http://code.google.com/p/gwt-rest/
>> -
http://restygwt.fusesource.org/
>>
>> But, do you think it would be useful and what drawbacks can occur
>> (authentication, authorization, response times, need to support larger
>> set of services, painful refactoring, ...)?
>>
>> Regards,
>> Libor
>>
>> _______________________________________________
>> Engine-devel mailing list
>> Engine-devel(a)ovirt.org
>>
http://lists.ovirt.org/mailman/listinfo/engine-devel
>
> _______________________________________________
> Engine-devel mailing list
> Engine-devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel
_______________________________________________
Engine-devel mailing list
Engine-devel(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel