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
