incubator-river-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Keith Campbell <kecampb...@mac.com>
Subject Re: Split JavaSpaces and JINI
Date Thu, 11 Dec 2008 17:20:58 GMT
Well, this description really works for me now. It echos some similar  
issues that I've been forced to face with my own deployments.

I have many circumstances where I want a single JVM deployment (for  
example, for a local application in circumstances where the IP address  
may dynamically change while the application is still running because  
you move from one WiFi network to another, but you are not actually  
using or caring about the network), and have had to do serious abuse  
to the sun provided transaction manger to get it to run within a  
single JVM with no network requirement.

I think having a local JVM transaction manager and discovery manager  
that does not use the network, and can be a default configuration is  
something that I'm very interested in having. This would help with  
mock testing, and also in some deployment situations where a multi- 
threaded application on multiple cores on a stand-alone machine is all  
that is required (no downloadable code necessary). And then to have a  
straight forward upgrade path to moving that application to the  
network with minimal fuss.

I think that the interfaces are less the issue than getting these  
stand-alone non-networked services to use a smart proxy to recognize  
when they are in the same JVM and rely on some type of statically  
accessible discovery manager to get non-networked stubs.

Getting such an environment to run and deploy in maven will also make  
the package simpler to approach, and will make my job working with  
Jini/river easier.

Keith


On Dec 11, 2008, at 9:02 AM, Niclas Hedhman wrote:

> On Fri, Dec 12, 2008 at 12:30 AM, Gregg Wonderly <gergg@cox.net>  
> wrote:
>
>> Perhaps Niclas you can enumerate all the reasons why JavaSpace  
>> shouldn't
>> have transactions or leases?
>>
>> I'm dead serious about trying to understand what you are saying.
>
> Ok, let's try this again;
>
>
> I want the 'package' that is offered to "me" to have local-JVM
> implementations that are plug-replaceable with distributed ones. I
> don't want to "yank" out Transactions and Leases, I want to be able to
> use them easily locally without network traffic.
>
> I want an introduction path into this world going through that
> 'local-JVM' variant first, and slowly introducing the more complex
> aspects of Jini to me. I don't want to know that I have 3-4 transport
> protocols, some with endless options, and I don't want to know the
> details of setting up security (just assume I am the ignorant b'stard
> that I am and give me AllPermissions until I sober up). I don't want
> to see configuration files in a "Java-like" language, either give me a
> straight shooting API, properties files or worst-case a Spring app
> context...
>
> I want to deploy my first Jini services and clients in a WAR on
> Tomcat, without having to ask my NetAdmin to alter any setup and know
> that it works out of the box everywhere.
>
> I want services to be under the control of Java code that I write. I
> don't want to ever hear about RMID and Activation ever again. I don't
> want to encounter classloading problems when services are in the same
> JVM, even if they depend on different versions of Jini "Core".
>
> I want every bit of the system to be Maven adapted, so that my Maven
> project can consume the meta-data easily. Jini is a toolkit, and not a
> installable application for JC's sake.
>
> I want to be able to use Jeri without any Jini at all.
>
> I want to be able to easily(!) test my Jini clients and services
> within a single JVM (otherwise too hard to automate), preferably via a
> single AbstractJiniServiceTestcase and AbstractJiniClientTestcase
> doing all the bits for me. And of course, those take care of whether I
> am testing against InMemory or OverNetwork versions of the services.
>
> I want River to 'feel' like an open source and accessible project.
> Simple things should be dirt easy and complex things should be
> possible.
>
> I _might_ want to chuck the Configuration system, or at least create
> more familiar alternate implementations.
>
>
>
> Well, that is what I can recall after midnight (now)... Maybe more  
> later...
>
>
> Does that help, or am I still confusing?
>
>
> Cheers
> Niclas


Mime
View raw message