[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ecf-dev] Some Directions for ECF
|
Hi Folks,
It's been a while since there has been any public discussion about
future directions for ECF, so I wanted to begin such a discussion. This
note is not intended to be 'the story' for future work on ECF...by the
project lead...but rather I would like to start a discussion of some of
the things that I think are useful for ECF consumers...as well as my own
uses of ECF (I'm a consumer too!). Rather, this is the start of a
discussion...I would certainly like to hear from others about what they
want us (committers and contributors) to take on. Please consider
writing back...in response to this posting...about your own thoughts.
So with that, here' goes:
Some Possible Future Directions for ECF
1) OSGi remote services. ECF already has a big technical investment in
OSGi remote services...i.e. we have an RS implementation, but beyond
that, we also have an implementation of the Remote Service Admin (RSA)
spec as well...see [a]. Soon I expect that we will be able to claim
full conformance to the OSGI Test Compatibility Kit (we have to get it
from OSGI via Eclipse Foundation), and this will be good for the
visibility of our implementation. Also, we are the only impl that has
a provider architecture, making it much easier for OSGI remote services
users to deeply customize and configure both remote services discovery
and distribution. For example, it's currently possible for ECF
consumers to 'mix and match' discovery mechanisms/protocols (file-based
discovery, zookeeper, zeroconf, dnssd, slp, custom) with distribution
providers (e.g. rosgi, ecf generic, jms, jgroups, restlet, custom).
This is a huge advantage for OSGi remote services consumers, because it
allows them to substitute the provider...and/or create their own...to
meet their specific needs WRT (e.g.) security constraints, performance,
interoperability, etc.
But although this makes a great start, the work is not at all done
here. More providers are needed...and some of the existing ones need to
be updated (e.g. jgroups)...there's much more need for tutorials,
examples, and documentation about how to create new providers and fit
them into the OSGi remote services. We also badly need to get the work
we've already done on remote service test frameworks into full operation
and availability to consumers (e.g. adding the test framework to our own
automated tests). Also...I would like to see some efforts around
tooling for remote services...in order to make it easier for folks to
define, use, and maintain remote services. For example, at one point I
started work on defining/using annotations to define remote services
(e.g. @RemoteService).
Also, ECF has support for asynchronous/nonblocking remote services [b]
already built in...along with a distributed eventadmin implementation.
To me, there's a very long list of things that can/could be done on OSGi
remote services...and this is a great time to do them...as OSGi remote
services/RSA is (I think) really beginning to see some traction...on the
'server' side of things...as IMHO it really is a great approach to doing
SOA.
2) ECF on/with/for OSGi servers. OSGi is having more and more success
on the web-server these days (just try to find a commercial app server
that *doesn't* use it). ECF/OSGi remote services is a great fit here,
IMHO. There is a lot to do, however, to make ECF more easily
consumable/usable on OSGi servers, however...e.g.
install/config/update...along with testing and tooling in server
environment (as per 1)....and of course, tutorials, examples, documentation.
3) Mobile Clients. Clearly mobile clients need to communicate...with
services, with other clients, etc. ECF has relevant components
here...with OSGi or without OSGi. For example, I have created Android
apps that use ECF generic code to talk with OSGi-enabled tomcat web
server (running servletbridge, equinox, and ECF remote services).
There is a lot of opportunity, I believe, to use ECF and OSGi remote
services to create a very simple environment for creating both the
service and the native mobile client....e.g. by having the service 'in
the cloud'...using OSGi framework + ECF remote services...*and* having
an API/library on the (say Android) client to make it easy for the
Android app developer to communicate with/use/test those cloud services.
4) Collaboration for Tooling (and other apps). ECF has a lot of great
work invested in collaboration support for developers...e.g. integration
with IM, real-time shared editing/cola, irc client, tweethub, salvo,
sharecode, google wave integration, bot framework, etc. There is a lot
that could take this forward...e.g. work to integrate with Google Drive
(which uses operational transformation...aka google wave), new Eclipse
UIs (taking advantage of Eclipse 4) for dev
communications/collaboration, etc. Also...we have access to VNC client
code (written for another Eclipse project, since abandoned)...and there
is a lot of opportunity to use Google APIs for collaboration, info
sharing, in other ways within Eclipse and/or other RCP apps.
5) More/better support for SIP/VOIP/Skype, etc. We've got a lot of
great work already done here, but it needs to be finished, reviewed,
examples/apps written and deployed.
6) Documentation, tutorials, examples...ECF book...'nuff said. [c]
7) Bug fixes/backlog...'nuff said. [d]. Enhancements [e]
Those are my thoughts about areas where I would like to see ECF progress
over the next year. If there are others that you would like to convey,
please write back...and/or open a bug or enhancement request so it
doesn't get lost. If you are able, please consider contributing some
work to ECF to make it happen...or even to mentor a GSOC student to that
end as well. All contributions are welcome (bugs, code, docs,
examples, use cases, etc).
Thanks,
Scott
[a] http://wiki.eclipse.org/ECF#OSGi_Remote_Services
[b] http://wiki.eclipse.org/ECF/Asynchronous_Remote_Services
[c] https://bugs.eclipse.org/bugs/show_bug.cgi?id=329124
[d]
https://bugs.eclipse.org/bugs/buglist.cgi?list_id=5133404&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&classification=RT&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=ECF
[e]
https://bugs.eclipse.org/bugs/buglist.cgi?list_id=5133450&bug_severity=enhancement&classification=RT&query_format=advanced&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=ECF