Thanks, John, I am really glad you said this. The question I am raising is not whether JINI is useful. I assume that JINI is very cool. In fact, i will admit only to you that I want to use JINI but do not want a messy architecture because my projects require semantic sense because they require ultraquality. (The only way to make sure that you don't have bugs at the end is not to introduce them along the way.)

There are many, many of us out here who would like to use JINI, JavaSpaces, etc. However, I am suggesting that River needs to see there is a reason it is not being used and it is neither because we are lazy nor because JINI is not cool.

I don't care that there is a way to figure out how to use JINI. I care if the product is properly architected because I know that if it is not it will bite me in the butt along the way, And, my view of it is that it should separate JavaSpaces out.

You might look at another bit of functionality that has the same problem, mobile agents. The mobile agent field has a wonderful standard in FIPA (see OMG, Sun Microsystems and IEEE) and a very cool product. Nobody uses it. Nobody. The product is wholly academic because you have to swallow the whole damned turkey when you only wanted part of the drumstick. What if you just wanted a migration service and not artificial intelligence, CORBA, and the rest of the kitchen sink? Same with JINI.

Structure things so they are useful rather than useful only to someone who wants the whole shebang. The lack of interest in a cool product rather proves that there is a problem with the architecture.

How does that old saying go? If want what you got, keep doing what you have been doing. If you want something difference, change what you are doing.

Mike


On Dec 12, 2008, at 1:19 PM, John Sarman wrote:

Mike,
Suppose the Javaspace API became totally decoupled from Jini. So now you are busy writing code and you are happy. Now your customer asks if you can make a system to send Gigs and Gigs of data and have 20 distinct physical locations with automatic fail-over. So now with your JavaSpace, I'll call
it the NakedSpace, you need to build some networking infrastructure to
accommodate the clients requirements. You wisely decide to use the space as a mechanism for looking up and retrieving the information needed to make the high bandwidth connection. Lets say you decide to store in the tuple the
streams meta-data for searching and a network endpoint to create the
connection. Also you have some security tokens, blah in this tuple. Great, so now you build all this network code to provide the failover times 20.
Once you complete this you read more about Jini and realize you just
reinvented the wheel. I think from reading the posts, that you have not had that moment of realization of the power of Jini. Everyone wants the easy button. Well I think Dan Creswell's site explains in great detail how to get a jini service up. Yes Jini is not for the faint of heart and it does take some real work. But once you get over the learning curve then network distributed computing with full recognition of the fallacies of distributed
computing becomes possible and simple .  Sure everything has a
RemoteException. Well its Remote! or can be. Sure Leases or complex, well
knowledge that a failed remote point has failed is hard to obtain!
I got jini to work my first time in 2000 on a Windows 98, definitely no
easy button then.   But then when we took that work and moved it from
localhost to other computers and it just worked, that was my WOW moment. When I attended Discovery 01 jini convention me and another attendee built a jini enabled lego mindstorms robot. Before I a chance to test the ServiceUI gui that we added to the service, another attendee that did not have any knowledge of our project other than observing from a distance our tinkering, took control of our robot. Well we added the attribute to our service to allow him to remotely download our Gui, we just didn't realize that someone was running some code to actually see our service appear on the network and to locate the service and launch the GUI via ServiceUI API. But man was that
the coolest thing ever!
Enough rambling, try out Jini builds some services, forget about the easy
button, when you get stuck, post messages and I am sure all the energy
devoted to this topic by the excellent programmers would be more that enough to assist you. After you try it and you get the WOW moment, ask yourself
the same question, I think you may change your opinion!

John Sarman
On Fri, Dec 12, 2008 at 8:49 AM, Wade Chandler <
[email protected]> wrote:

I didn't say you were a dodo :-D Anyways, forget that, see my other reply to your points. Seems the only real area I disagreed with you there is no
javaspaces no jini.

Wade

==================
Wade Chandler, CCE
Software Engineer and Developer, Certified Forensic Computer Examiner,
NetBeans Dream Team Member, and NetBeans Board Member
http://www.certified-computer-examiner.com
http://wiki.netbeans.org/wiki/view/NetBeansDreamTeam
http://www.netbeans.org



----- Original Message ----
From: Michael McGrady <[email protected]>
To: [email protected]
Sent: Friday, December 12, 2008 4:57:02 AM
Subject: Re: Split JavaSpaces and JINI

Thanks, Wade.

You have my point askew. I don't know how to switch your thinking. I understand that one package or product often will need another. That is obvious. I also understand that classes can be arranged in packages that
are
badly structured. It would, for example, make no sense for the class
Class to
be in the concurrency package. Your description of what I think makes me
a
dodo.

Mike


On Dec 12, 2008, at 12:30 AM, Wade Chandler wrote:

Oh jeesh man. Yes, stakeholders, projects, and relation. You have just
been
writing about how it is such a no-no for JavaSpaces to use Entry because
it is
not specifically a part of spaces....well String isn't either...and
neither is
Class.

Wade

Michael McGrady
Senior Engineer
Topia Technology, Inc.
1.253.720.3365
[email protected]



Michael McGrady
Senior Engineer
Topia Technology, Inc.
1.253.720.3365
[email protected]




Reply via email to