river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike <mikro...@gmail.com>
Subject Re: Extras (Was: PGP)
Date Sat, 23 Oct 2010 08:42:13 GMT
On 13/10/2010 17:47, Dennis Reedy wrote:

> I would suggest that as part of an upcoming release the project
> starts to breakout the JSK into platform, services and utilities [1] first,
> before adding additional code.
...
> Infrastructure/Platform:
> Discovery & Join, Lookup, Leasing, Transactions, Distributed Security, Events
> 
> Services:
> Outrigger, Reggie, Mercury, Mahalo, Fiddler, Norm

I strongly support Dennis's call for this sort of reorganisation. I've
had a couple of goes at this in private to test the feasibility, and
it's not as easy as it sounds... somewhere along the line codebase
dependencies have become a little tangled, and it's going to be some
work untangling them.

[Minor] Missing from Dennis's outline above is some sort of "common"
package for utility classes used all over the place. There certainly are
quite a number of them.

Also, I would urge that "infrastructure" and "platform" be kept clearly
separate, where "platform" is essentially net.jini.core so that the
distinction between "the standards" and "our standard implementations"
is kept very clear. Might be worth considering moving "infrastructure"
out from the net.jini namespace altogether (?) (or maybe the distinction
between net.jini.core and the rest of net.jini is well-enough understood...)

I would also plead for a change in service names (at /least/ for package
names) to something much more comprehensible. So, for e.g.:
  Reggie -> svcregistry (or just registry...)
  Mahalo -> txnmanager (or transactionmanager...)
  Outrigger -> javaspace
etc. Much as we might love the old names, they are totally
non-informative (esp. for newcomers.)

IMHO the codebase is currently too much of a monolith for someone
approaching it for the first time, and breaking it up into mind-sized
chunks can only help in getting more people working on the codebase. I
strongly feel that this monolithic nature has proven too daunting a
target for many developers over the years - long before Jini became River.

A hard part of this will be refactoring all the tests.

> I would suggest that Reggie be added to the platform,

Respectfully I must disagree with this. Registry is just a service.
Discovery protocol and the requirement for services to announce
themselves are part of the platform contracts. In theory, at least, it
should be possible to run some services without reggie in the mix, no?

-- 
mike morris :: mikro2nd (at) gmail (dot) com

http://mikro2nd.net/
http://mikro2nd.net/blog/planb/
http://mikro2nd.net/blog/mike/

This email is [X]bloggable [ ]ask-first [ ]private


Mime
View raw message