[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] tutorial idea: OSGi remote services for existing services
|
Hi Folks,
To go along with the example client code for the Geonames Timezone
service [1], I've started a tutorial that details/documents how this
example was created [2].
The tutorial is not finished yet (e.g. running the example consumer),
but that's a good time for review and feedback :). Please review and
provide feedback if you can. My intention is to finish this tutorial
prior to release of ECF 3.9.2 on December 22nd.
Thanks,
Scott
[1] https://github.com/ECF/Geonames
[2]
https://wiki.eclipse.org/Tutorial:_ECF_Remote_Services_for_Accessing_Existing_REST_Services
On 12/5/2014 11:10 AM, Scott Lewis wrote:
Hi Folks,
I've been working on the example code for this tutorial, and the
latest is available on github [1].
As I said below, I found a small bug in the rest client code that had
to be addressed [2] and I've since fixed this bug, and added a couple
of 'builder' classes to simplify the construction of the association
between the RSA-constructed remote service proxy and the REST request
creation, execution, and response handling.
The upshot is that I would like to propose that we have another
maintenance release before the end of 2014 to pick up these fixes and
small additions, so that when I finish the tutorial ECF Remote
Services impl will fully support it.
Any objections to maintenance release (3.9.2) this month? I was
thinking perhaps Dec 22nd to make an early Christmas gift. :)
Thanks,
Scott
On 11/27/2014 3:11 PM, Scott Lewis wrote:
I've created a new github repo for the Geonames Timezone example I've
been working on. The bundles so far are (in bundles directory):
1. org.geonames.timezone - declares the Geonames timezone API as an
OSGi service interface called ITimezoneService
2. org.eclipse.ecf.provider.geonames.timezone.client - An ECF Remote
Services provider using the ECF Rest API and JSON parser to make the
REST call and process the server's JSON response.
I've also begun the creation of two consumer bundles to test the
above provider
3. org.eclipse.ecf.geonames.timezone.consumer - A very simple
consumer which finds (via ServiceTracker) ITimezoneService proxies
and then calls the ITimezoneService.getTimezone/2 method on the added
proxy.
4. org.eclipse.ecf.geonames.timezone.consumer.edef = A very simple
EDEF bundle, containing the EDEF to discover the Geonames timezone
service, with RSA then creating the ITimezoneService proxy.
Over the next week, I'm going to write a short tutorial that shows
particularly the code in org.geonames.timezone (remote service API)
and org.eclipse.ecf.provider.geonames.timezone.client (REST Client
Remote Services ECF provider)
In testing this code unfortunately I discovered an oversight bug in
the RestClientService class from the changeover from httpclient 3.3
to 4.X. See [2] for details. To get this new example to work, this
fix has to be in place in the runtime, meaning that we will need to
produce 3.9.2 release for people to be able to successfully run the
timezone example themselves. We can discuss the timing of 3.9.2
creation and release relative to other things that committers and
contributors are currently working on.
If people have comments about any of this, would like to
help/contribute on this example, or would like to suggest specific
things to focus on for the wiki tutorial, please say so here, produce
a pull request, or contact me directly to coordinate on the tutorial.
Thanks,
Scott
[1] https://github.com/ECF/Geonames
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=453484
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev