[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| Re: [ecf-dev] Using ECF to create a osgi cloud... | 
Hi Chris,
On 1/28/2013 9:58 AM, Chris Hawk wrote:
Hello,
We have an equinox based system that we are investigating a way to 
port it for a cloud environment.
The initial idea is to have a central node (perhaps one for each 
customer) and reusable satellite nodes that will provide multi tenancy 
remote services for each other.
For each node we will define "roles" that will help us to identify the 
kind of services provided and in the central node we configure which 
satellite nodes it could use.
I believe that ECF's RS and RSA implementation would the main 
component in this puzzle. But I couldn't find any resource yet that 
could help us to choose which providers we would use to achieve our goal.
This is a very interesting question.    I regret to say we don't have a 
lot written down (yet) comparing the relative non-functional 
characteristics of the various providers.    Perhaps we can use your 
need to get some of these comparisons and experiences written 
down...with input from as many people in the community as possible...as 
well as from the ECF committers.  To this end, I will create a wiki page 
specifically to record experiences with the various providers...for 
remote services specifically.  As soon I do so, I'll send a notice to 
this mailing list.  Hopefully...with enough input from community members 
and committers...it can turn into a useful resource to address these 
kinds of questions.
A little bit of seed+context information
In the context of ECF's implementation of OSGi remote services, we are 
basically talking about discovery providers (to support remote service 
discovery), and distribution providers (to support the actual remote 
method calls).  So, I would like to break things down broadly with 
discovery and distribution.
Discovery
Zookeeper
Zeroconf (jmdns)
DNSSD
SLP (service locator protocol)
'File-based' discovery [1]
Distribution
r-OSGi
ECF generic
REST-based providers
    Restlet
    Jaxr (under construction)
SOAP-based provider
    Axis2
Generic-based providers
    JMS
    JavaGroups
The main thing to say as a starting point for this discussion is that 
these providers have different non-functional characteristics...i.e. 
they differ in how/what kinds of security, performance, reliability the 
provide under various runtime/deployment situations.  For example, WRT 
discovery...it may be that for given application...because of app 
specific security requirements...that it's not possible or desirable to 
use multicast-based mechanisms (e.g. SLP or Zeroconf).    OTOH, there 
are deployment scenarios (e.g. Internet with capital 'I') where using 
some discovery approaches will be practically difficult.
One other broad point to make about both discovery and remote services 
providers.  ECF's architecture [2], supports the creation/use of 
arbitrary other providers (i.e. making/using your own custom 
provider).   Combined with the fact that all the existing providers (for 
both discovery and remote services) are available in open source...and 
can be used as examples and/or extended to create actual 
implementations.   This makes it quite easy to create custom providers 
(for both discovery and/or distribution), that are potentially 
proprietary (up to you), and can perhaps meet the specific requirements 
better than any of the existing providers. The question of 'what's 
right'? in those situations has to be based upon an examination of the 
specific requirements and runtime behaviors for the app.
As well, the providers can/will differ in how performant they are under 
different sorts of use situations.   Further, because of our own 
resource limitations, some providers can/have gotten more technical and 
community attention than others.  If work is needed..to functionally 
enhance a provider, to do performance work, or to fix bugs...we will do 
what we can to provide the necessary support.  In some cases, however, 
we may need some help from the community...or won't be able to do the 
desired work.
So...with that...let the discussion commence.  I'll create a wiki page 
today/Monday, and notify about it's existence in response to this thread.
BTW...thanks in advance to those that are able/willing to 'chime in' 
about their experiences with various providers and their use cases.   
That participation...by itself...is a real, valuable contribution to the 
ECF project and the community.  So again: thanks.
Scott
[1] 
http://wiki.eclipse.org/File-based_Discovery_with_the_Endpoint_Description_Extender_Format
[2] http://wiki.eclipse.org/OSGi_4.2_Remote_Services_and_ECF
thanks,
Chris
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev