I agree it would be great to have ECF Remote Services providers for
Google Maps Web services as well as many others.
I've already started with creating a short tutorial that exposes the
geonames [1] timezone service [2], and would like to get that
completed before starting work on others. Once that
example/tutorial is out, I will work on others as much as I can.
Of course, contributions are welcome.
One of the things that is very easy to do with ECF's impl
of Remote Services is the following use case:
1) Assume: You already have an existing web-based service
(e.g. using REST, json, xml or whatever), and already have
multiple types of consumers of that service (e.g.
browsers, smart phones, other servers using the service,
RCP apps, Eclipse, etc).
2) It would make things easier for at least some clients
(e.g. RCP apps) if this existing web-based service was
exposed as an OSGi Remote Service. Why? Because then on
the consumer you get all of the 'goodness' of OSGi
services (e.g. dynamics, versioning of service interface,
clear separation of concerns, injection and service
dependency mgmt, etc)...completely for free from using
OSGi Remote Services.
It seems to me likely that there are a fair number of
potential consumers of Remote Services in this situation
(1 and 2). If so, with ECF Remote Services it's very
easy to create a service client/consumer-only Remote
Services provider that
a) Uses the existing service without requiring it to be
changed at all...i.e. it doesn't have to be implemented in
java, or use OSGi, or its implementation be changed in any
way. This means complete backward service compatibility
across clients (existing non-OSGi clients unaffected).
b) Exposes the service as an OSGi Remote Service on any
service consumer/client that uses OSGi
I intend to create a tutorial [1], that demonstrates how
to do this simply with ECF Remote Services.
One question I have: I would like to use an existing,
public, web-based service for 1. Years ago I did this
for the twitter API/service, but I think it would be
better to use some other more recent web-based service.
Suggestions for such a service? It would be very nice
if it was a popular, public API, that was constantly
available/reliable, so that everyone can/could try and
successfully run things in the tutorial.
So...any suggestions for an existing popular web-based
service that I could use for this tutorial?