airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Supun Nakandala <supun.nakand...@gmail.com>
Subject Re: Integrating a thrift javascript client sdk with angularjs
Date Wed, 19 Mar 2014 16:30:30 GMT
Hi Vijayendra,


On Wed, Mar 19, 2014 at 9:48 PM, Vijayendra Grampurohit <
vijayendra.sdm@gmail.com> wrote:

> Hi All
>
> @Shameera : It would be better if we come up with new javascript client in
> AngularJS instead of  wraping exiting javaScript client as angular
> service. We faced lot of issues last time doing this. Do you remember?
>
> Currently I am looking into Thrift API.
>
> Can we have a concrete plan on
> 1) Integrating different modules. For this we have to rewrite the
> Javascript API in Angularjs.
> 2) writing thrift client in Angularjs
>
 Can you explain more on this. According to what I found and what I
experimented the Thrift JS client is auto generated by the thrift framework
and all the data model classes and communication is handled by thrift
itself.

>
> Regards
> Vijayendra
>
>
>
>
>
> On Wed, Mar 19, 2014 at 8:50 AM, Suresh Marru <smarru@apache.org> wrote:
>
>> Hi Supun,
>>
>> Since there are no further comments on this thread, I would encourage you
>> to start working on the GSoC proposal. Just start a proposal on google
>> melegenge portal, make it publicly readable and share it on the dev list
>> for comments.
>>
>> Suresh
>> On Mar 17, 2014, at 3:24 PM, Suresh Marru <smarru@apache.org> wrote:
>>
>> > Thanks Supun for taking the initiative. I echo Shameera that this seem
>> to be a good working stop-gap strategy. But I am not knowledgable enough to
>> judge on this topic and would like to listen critical feedback from others.
>> >
>> > Suresh
>> >
>> > On Mar 17, 2014, at 2:58 PM, Shameera Rathnayaka <
>> shameerainfo@gmail.com> wrote:
>> >
>> >> Hi Supun,
>> >>
>> >> This is great, I too found this $scope.apply()[1] would solve our
>> issue . And i was going to follow this[2] and come up with a sample demo
>> but you already have done it :) (didn't check it, will do).  For now we can
>> wrap exiting javaScript client as angular service and use it inside the
>> angular. But for long run It would be good to use Thrift generated JS
>> client instead exiting JS client. @Sanchit and all WDYT?
>> >>
>> >> [1]
>> https://github.com/angular/angular.js/wiki/When-to-use-$scope.$apply%28%29
>> >> [2] http://jimhoskins.com/2012/12/17/angularjs-and-apply.html
>> >>
>> >>
>> >> Thanks,
>> >> Shameera.
>> >>
>> >>
>> >>
>> >>
>> >> On Tue, Mar 18, 2014 at 12:07 AM, Supun Nakandala <
>> supun.nakandala@gmail.com> wrote:
>> >> Hi All,
>> >>
>> >> I was able to do successful POC on the $subject (the source code is
>> available at [1]). I implemented a simple thrift API (thrift descriptor
>> [2]) for echo function. The server side was implemented in java and for the
>> client side I used javascript.
>> >>
>> >> Important points WRT to thrift
>> >>    ->Thrift javascript client can be used only against a http server.
>> So I wrapped the EchoServiceHandler.java[3] inside EchoServlet.java[4] and
>> deployed in tomcat server.
>> >>    ->Thrift client sdk currently supports only AJAX based
>> communication.
>> >>
>> >> Important points WRT to thrift client and angular integration
>> >>    ->Thrift js client can be used for the communication with the
>> server within angular. But the problem is, since thrift client is not part
>> of angular, when we do the ajax communication and update the model the
>> changes will not be updated in the DOM. The reason is angular is not aware
>> of the events triggered outside of the framework. But this can be overcome
>> by wrapping thrift client inside an angular service and using promises in
>> angular to notify the success of ajax calls and then manually updating the
>> DOM.
>> >>
>> >> The thrift client that I created for this service can be found at[5].
>> This thrift client is wrapped inside this angular service[6] and that
>> service is used in controller [7]. I have also attached screen shots of the
>> demo.
>> >>
>> >> Hope Shameera, Sanchit, Viknes or Vijayendra can provide feedback on
>> this POC and evaluate whether this POC is sound enough to guaranty that web
>> based experiment builder can be integrated with the thrift client sdk.
>> >>
>> >> Thank you.
>> >> Supun Nakandala
>> >>
>> >> [1] - https://github.com/scnakandala/echo_service
>> >> [2] -
>> https://github.com/scnakandala/echo_service/blob/master/Echo.thrift
>> >> [3] -
>> https://github.com/scnakandala/echo_service/blob/master/src/echo/EchoServiceHandler.java
>> >> [4] -
>> https://github.com/scnakandala/echo_service/blob/master/src/echo/EchoServlet.java
>> >> [5] -
>> https://github.com/scnakandala/echo_service/blob/master/WebContent/Web/app/lib/echo_service/echo_client.js
>> >>
>> >> [6] -
>> https://github.com/scnakandala/echo_service/blob/master/WebContent/Web/app/js/services.js
>> >>
>> >> [7] -
>> https://github.com/scnakandala/echo_service/blob/master/WebContent/Web/app/js/controllers.js
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> --
>> >> Best Regards,
>> >> Shameera Rathnayaka.
>> >>
>> >> email: shameera AT apache.org , shameerainfo AT gmail.com
>> >> Blog : http://shameerarathnayaka.blogspot.com/
>> >
>>
>>
>


-- 
Thank you
Supun Nakandala
Dept. Computer Science and Engineering
University of Moratuwa

Mime
View raw message