[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] network discovery and distribution questions related to RFC 119 impl
|
Hi Carl,
Carl Cook wrote:
Hi Scott (and all others),
Taking a step back from the implementation of RFC 119, are there clear
use cases for when dynamic service discovery is of genuine use?
I think so. Actually...to me...the uses of dynamic service discovery
are much more obvious and clear than static/file-based discovery...e.g.
peer-to-peer services, where peers come and go (as they are likely to do
these days with notebooks, phones/IPhones, etc., etc).
There are plenty of examples these days of network services that are
published/discovered via network discovery protocols...e.g. iTunes,
networked devices (printers, cameras, etc), iPhones/touch, and plenty of
other things.
There may well be, and if so, please just disregard this email (!),
but after reading the RFC, I saw a clear description of the
implementation, but nothing really on the reasons why such a feature
is justifiable - without overstepping the mark, I am an advocate of
the rule "if you can't use it in three separate contexts, leave it
out" :).
I don't think it's a good idea to disregard this email...I think it's a
good discussion to have. WRT the three different contexts...my initial
set: networked devices, peer-based services, phones/PDAs (I think
that's > 3 for each of 3 categories :).
From my experience, static service configuration seems to be the
mainstream, although dynamic discovery is useful when you have to deal
with versioning of services (where a proxy routes the request to the
appropriate implementation based on IP address, application headers,
etc). However, this can already be achieved (reasonably well) by UDDI,
LDAP/Active Directory, etc.
I agree that static service configuration is the mainstream, but it's
also (IMHO) the degenerate case. That is, it fails to recognize the
dynamic aspect to networking these days...e.g. depending upon fixed IP
addresses and names...as well as assuming a basic asymmetry between
'servers' and 'clients'. But with the rapid growth of network-enabled
devices (in particular) I think this is changing.
Although useful for some application and network architectures, I think
that UDDI, LDAP/Active Directory are going to be limited to certain
types of applications...because of the implicit administration and
maintenance requirements (for example...would you run an LDAP server in
your home?...well, probably for Carl that's a poor question...but is
Carl's grandmother going to run an LDAP server in her home? :).
I like the idea of dynamic service discovery. I can think of all sorts
of applications, such as using a Dependency Injection framework
(Guice, for example) to instantiate and inject a web service (client
side) proxy into an program, where Guice itself has used the discovery
framework to locate the web service (a currency conversion service for
example if the application is in the financial/trading domain).
However, as you point out in your email, there are a lot of hidden
caveats to this, such as security, resolution of service conflicts, etc.
Yes. On the whole though...it's my view that the benefits frequently
outweigh the risks at the user level...just witness the usage of
peer-based services like iTunes sharing and the growth of
network-enabled devices.
Am I reading into this RCF correctly, or have I missed the point of
the RFC (in particular the dynamic service discovery section)?
I don't think you've missed the point of the RFC. RFC 119 actually has
discovery as an optional component...partially, I believe, because the
RFC's starting use cases came more from the enterprise computing realm
(RFC 119 was done by the Enterprise Experts Group in OSGi Alliance),
than for the core experts group or the micro experts group.
I think the network discovery use cases are clear even for
enterprise/server-based systems...as to achieve anything close to the
level of dynamicity supported by the OSGi service registry, there has to
be *some* support for network services that come and go (for whatever
reason...e.g. versioning a service...as you suggest).
Do you feel that there are substantial use cases to support the
implementation of dynamic service discovery?
Yes, see above. I'm quite confident that there are others who can/could
come up with others (Markus, Jan, others?).
Thanks,
Scott