[
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