Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev]Customize selection of RemoteServices Providers to expose/ consume a service

Hi Phillip,

Konradi, Philipp wrote:
<stuff deleted>
So in case a new provider is installed into a container, how is an
IHostContainerFinder implementation supposed to know about the
capabilities of this new provider?

Well, at service registration time, the DefaultHostContainerFinder looks through all the containers that currently exist/are known to the IContainerManager. It selects one or several based upon whether they have IRemoteServiceContainerAdapter as an adapter. If they *do* have that adapter...it's included in the found distribution containers. This is just the default strategy...with no other knowledge about the candidate containers than that they already exist/are known to IContainerManager (they've been previously created), and that they implement IRemoteServiceContainerAdapter. There's also an optional service property where a specific provider can be specified...but if this isn't specified then all IRemoteServiceContainerAdapters will be 'found'.

Presumably, if someone/some app registers themselves as a IHostContainerFinder, with a priority higher than the DefaultHostContainerFinder, then they would have some knowledge of the characteristics of this new provider. Of course, if they wish, their IHostContainerFinder can be based upon the DefaultHostContainerFinder (i.e. fall back on or extend it as desired).

Scott


Philipp

-----Original Message-----
From: ecf-dev-bounces@xxxxxxxxxxx [mailto:ecf-dev-bounces@xxxxxxxxxxx]
On Behalf Of Scott Lewis
Sent: Wednesday, April 29, 2009 6:11 PM
To: Eclipse Communication Framework (ECF) developer mailing list.
Subject: Re: [ecf-dev]Customize selection of RemoteServices Providers
to expose/ consume a service

Hi Philip,

Konradi, Philipp wrote:
Hi all,

in _http://dev.eclipse.org/mhonarc/lists/ecf-dev/msg02281.html_ as
well as in today's conf call Scott described and asked for comments
about the newest additions to RFC 119 / Distributed OSGi support:
the
IProxyContainerFinder / IHostContainerFinder interfaces as a way to
customize the selection of ECF Remote Services Providers to expose /
consume a service.

I think that this extensions are important means for application
developers / ECF extenders and starting here a new thread to discuss
them and try to uncover missing point if there are some.

When looking closely at the IHostContainerFinder interface:

*public** interface* IHostContainerFinder {

* public* IRemoteServiceContainer[] findHostContainers(

ServiceReference serviceReference, String[] remoteInterfaces,

String[] remoteConfigurationType, String[] remoteRequiresIntents);

I've got the impression that a it fulfills two tasks:

1. Check which provider is capable to expose the service (based on
interface, intents, configuration, ...)

2. Select from multiple suitable providers the ones which should
actually take care of service exposure

Is my understanding correct?

Yes.

If yes: Task 1. requires very good knowledge of each available
provider... is the implementer of IHostContainerFinder extension
point
supposed to have it?

Yes...but just to be clear the IHostContainerFinder is not an
extension
point (yet), it's just a service interface.
[Konradi, Philipp] So in case a new provider is installed into a container, how is an
IHostContainerFinder implementation supposed to know about the
capabilities of this new provider?

This capability check is also required at the client/proxy side, to
be
taken care by IProxyContainerFinder?

Yes.

Regards,

Philipp

P.S.: just a minor remark: Given that this extension point selects
the
providers from the available ones and not really "finds" them, maybe
we should rename it to something like xxxContainerSelector?

Calling it Selector would be reasonable if people prefer it...although
a
'finder' is able to select from available ones *and/or* create new
ones.

Again if people think Selector would be better (given that it can
indeed
create or select) I'm open to it...but we would have to come to
consensus to make the name change quickly.

Thanks for questions and comments.

Scott

---------------------------------------------------------------------
---
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev



Back to the top