Skip to main content

[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




Back to the top