My position is that JavaSpaces has value aside from the objectives of
JINI and should be able to stand alone and to be consistent with JINI
competitors just like RMI is (without discussing the JERI issues). To
do that, JavaSpaces cannot depend on JINI interfaces, even if present
JINI interfaces include things that JavaSpaces must depend upon. That
is fundamentally where I stand.
Mike
On Dec 20, 2008, at 11:08 PM, Niclas Hedhman wrote:
On Sun, Dec 21, 2008 at 1:40 PM, Michael McGrady
<mmcgr...@topiatechnology.com> wrote:
JavaSpaces API-wise has dependency on;
- Entry Specification
- Transaction Specification
- Lease Specification
(maybe something else I forgot)
And I agree with Dan, Gregg and others that this is architecturally
sound. Even Structure-101 agrees to a large extent (there are some
smaller mistake but nothing major).
I don't see any problem with JavaSpaces having a dependency on
these and
believe it does.
So, why are you then re-iterating the following, saying the same
thing;
In JINI, Entry is not used by JavaSpaces "under the hood", it and
other
aspects are in the buyer's JavaSpaces API brochure.. It is in the
API,
along with the following:
public interface JavaSpace {
Lease write(Entry entry, Transaction txn, long lease)
throws TransactionException, RemoteException;
long NO_WAIT = 0;
Entry read(Entry tmpl, Transaction txn, long timeout)
throws UnusableEntryException, TransactionException,
InterruptedException, RemoteException;
Entry readIfExists(Entry tmpl, Transaction txn, long timeout)
throws UnusableEntryException, TransactionException,
InterruptedException, RemoteException;
Entry take(Entry tmpl, Transaction txn, long timeout)
throws UnusableEntryException, TransactionException,
InterruptedException, RemoteException;
Entry takeIfExists(Entry tmpl, Transaction txn, long timeout)
throws UnusableEntryException, TransactionException,
InterruptedException, RemoteException;
EventRegistration
notify(Entry tmpl, Transaction txn, RemoteEventListener
listener,
long lease, MarshalledObject handback)
throws TransactionException, RemoteException;
Entry snapshot(Entry e) throws RemoteException;
}
All these interfaces, I think, except MarshalledObject and
RemoteException
(I know), should be part of a JavaSpaces package that is separate
from and
independent of JINI. I will develop more detailed arguments on why
later,
if at least we can agree this is what I think.
From my PoV you are contradicting yourself. You say that it is Ok that
JavaSpaces has a dependency on Lease, Entry and Transaction. We say
that Entry, Lease, Transaction and other specifications are UNDER the
Discovery/Join/Lookup (a.k.a Jini Service Architecture).
Fancy Layer diagrams???
[Jini] [Javaspaces]
[Entry] [Lease] [Transaction]
(well, the above is not accurate, since Transaction depends on Lease
as well)
Are you purely speaking that all the classes discussed is under the
Java package names of "net.jini" ?? In which Jini stands for an
organizational unit and not a technical one. Is that what is bothering
you?
Cheers
Niclas