[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ecf-dev] New Directions for ECF...after Luna release
|
Hi Folks,
We are close to ECF 3.8.1/Luna, and I wanted to start a public
discussion about areas of focus/work after Luna is released. Below are
some new ideas and directions that I've been thinking of...
Below the 'New Ideas/Directions' there several areas that represent
ongoing work (catch up/clean up, New RS providers, docs, RSA 1.1)...with
links to existing bugs/enhancements. These are areas that we've already
committed to do...for subsequent releases of ECF (3.8.2 and beyond).
See below for these areas.
New Ideas/Directions
A) Use of remote services with languages other than Java. We already
have started several efforts with the use of Python...e.g. see
[10]...and I would like for these to continue.
B) Tooling Improvements/Additions for OSGi Remote Services. I think of
this as having a huge importance and potential. Currently there is
essentially no tooling for creating, registering, discovering and
consuming/using OSGi Remote Services generally...not to mention support
for using ECF's implementation/customization. I have three ideas about
what would be good to focus on here...in order to better support the use
of OSGi Remote Services.
i) PDE template projects...for OSGi Remote Services. We currently
have one RS example (hello example) as a PDE template. It would be very
nice to have several other examples, and to make these example much more
customizable...e.g. WRT which discovery and distribution provider is
used...how things are configured, etc. Sakith Indula has proposed work
in this area for his Google Summer of Code project for 2014.
ii) Enhancements to either/both PDE and/or bndtools 2.0...to
support ECF OSGi Remote Services. For example...it would be very nice
if either PDE's declarative services and/or bndtools...or both (e.g.
through annotations) could be enhanced to specifically support OSGi
Remote Services.
iii) Creation of runtime tooling to aid in
creation/use/testing/debugging of remote services. What I'm currently
thinking about here could be called an 'EndpointDescription Browser'.
Currently, we have a Service Discovery browser/view that shows
IServiceInfo's that have been discovered via the discovery API. It
would be nice...I think...to have a similar UI that specifically shows
EndpointDescriptions...which by RSA specification...represent OSGi
remote services. I think something like this would be very useful for
testing and debugging remote services...as it would allow the programmer
to view discovered and imported EndpointDescriptions, as well as get and
display information about the underlying
ImportRegistration/ImportReference. It could even (potentially) allow
the user to directly invoke the remote service...synchronously and/or
asynchronously...i.e. without requiring any code to do so. This would
very very helpful for consumers (in particular) to understand what
remote services are available (for a given discovery
mechanism/framework)...and to understand what the TopologyManager is
doing wrt endpoint discovery and import.
C) Use of OSGi Remote Services for Internet of Things + integration +
'service oriented architecture'. There is a lot here...OSGi Remote
Services...and ECF's extensible implementation...e.g. new discovery and
distribution providers...is a wonderful foundation for Internet of
Things, integration, and SOA. Much of this value comes from
interoperability through standardization...but there is also a unique
aspect of ECF that allows existing web-based services (e.g. REST-based)
be exposed as OSGi Remote Services...with the versioning, dynamics,
etc...simply by creating a new distribution provider (e.g. see tutorial:
https://wiki.eclipse.org/Tutorial:_Creating_a_RESTful_Remote_Service_Provider).
We can/could...perhaps through some more tooling...make this sort of
integration much more easily accessible.
WRT these three ideas...i.e. A, B, and C...I'm thinking that perhaps
each of them could be a major theme for the next calendar year (i.e. in
between Luna and whatever the Jun 2015 simultaneous release is called)
for ECF.
Any comments appreciated. At a certain point I will probably move both
the 'new ideas' given above...and the links below...to the ECF wiki.
Thanks,
Scott
Areas of Ongoing Work
Catch up/clean up/generalizations for Remote Services...discovery and
distribution
There are a couple of areas that need some 'catch up/clean up'.
Specifically, bugs
[1] Upgrade Zookeeper to 3.4.x
[2] IP v6 for SLP
[3] RSA not dynamic wrt discovery providers
[4] Other bugs and pending enhancements
New Remote Service Providers
[5] vert.x provider
[6] websockets
[7] mqtt enhancements
[8] java groups enhancements
More Documentation/Examples/Tutorials...for IoT and other use cases
[9] https://bugs.eclipse.org/bugs/show_bug.cgi?id=329124
Raspberry Pi...and other IoT device tutorials...like
https://wiki.eclipse.org/Tutorial:_OSGi_Remote_Services_for_the_Raspberry_Pi
Merge in RSA 1.1/OSGi R6 Support (on rfc1.1 branch)
[10]
https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=RT&list_id=9078691&product=ECF&query_format=advanced&short_desc=RFC%201.1&short_desc_type=allwordssubstr
[1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=378350
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=328074
[3] https://bugs.eclipse.org/bugs/show_bug.cgi?id=424059
[4]
https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=RT&list_id=9078636&product=ECF&query_format=advanced
[5] https://bugs.eclipse.org/bugs/show_bug.cgi?id=430221
[6] https://bugs.eclipse.org/bugs/show_bug.cgi?id=426186
[7] https://bugs.eclipse.org/bugs/show_bug.cgi?id=420898
[8] https://bugs.eclipse.org/bugs/show_bug.cgi?id=340552
[9] https://bugs.eclipse.org/bugs/show_bug.cgi?id=329124
[10] https://bugs.eclipse.org/bugs/show_bug.cgi?id=425817