Skip to main content

[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



Back to the top