> On Sep 1, 2015, at 9:55 AM, Dennis Reedy <dennis.re...@gmail.com> wrote:
> 
> The bulk rename of com.sun.jini and com.artima to org.apache.river was meant 
> to move the namespace to the org.apache.river realm. I think it is implicit 
> that the namespace org.apache.river defines project specific implementations 
> of the net.jini namespace semantics. Remember, the net.jini namespace is for 
> specification classes, not implementation (refer to the Apache Jini 
> specifications <https://river.apache.org/doc/spec-index.html>). The further 
> re-organizing under the org.apache.river namespace - to me - provides little 
> value given the purpose of the namespace change. I vote to keep the namespace 
> as it is.
> 

Just to be clear, I agree with Dennis here.

> If there is the desire to move everything into the org.apache.river namespace 
> (that means net.jini namespace goes away), thats a different discussion, and 
> one that needs to go up for a vote (like the previous namespace change went 
> through), and provide specifics as to what goes where and why. 
> 

I for one would be entirely against losing “net.jini”! 

Greg Trasuk

> A different (but related) topic is project re-organization, to have River 
> conform to conventions that align themselves to a multi-module project, that 
> reflect the basic architectural elements of a distributed service (documented 
> here <http://www.rio-project.org/conventions.html>). I have been (as well as 
> others) pushing for a modularized project for some time, but the modularized 
> project does not need to remove the net.jini namespace, it would provide 
> structure and organization over the org.apache.river namespace.
> 
> Regards
> 
> Dennis
> 
>> On Sep 1, 2015, at 927AM, Greg Trasuk <tras...@stratuscom.com> wrote:
>> 
>> 
>> My opinion….
>> 
>> - There is “Jini API” - This is the interfaces and implementations that are 
>> meant to be quite long-lasting and define how to build services and clients 
>> that are independent of any particular implementation.  e.g. it should be 
>> immaterial whether a service or client runs under Service Starter, River 
>> Container, Rio, StartNow, etc.  They should all work together if they are 
>> written to Jini API.  We might think of this as the external interfaces to 
>> the infrastructure services (registrar, transaction manager, JavaSpaces, 
>> eventing API, etc), along with whatever other classes are necessary to use 
>> the infrastructure services, like Entry and its subclasses, 
>> ServiceDiscoveryManager, etc.  These are associated with the solution 
>> architecture, and are currently under “net.ini.*"
>> 
>> - There is “implementation”, which provides all the plumbing to create the 
>> individual service instances.  This is what’s currently under 
>> ‘com.sun.ini.*”.  In the original JTSK, this was intended as “starter kit” 
>> material, likely to be replaced by any particular implementation.  To me, 
>> this is a clear mapping: “com.sun.jini.* —> 'org.apache.river.*’
>> 
>> - There may be a case going forward for “Implementation API”, intended for 
>> interfaces that should have a little more permanence.  For example, I could 
>> see there being an “org.apache.river.collections” and 
>> “org.apache.river.collections.api”.  But personally, I think that’s a weak 
>> case.
>> 
>> - “*.impl” - I tend to reserve for explicit implementation of a service.  
>> For example, in River-examples, there is 
>> “org.apache.river.examples.hello.api” and 
>> “org.apache.river.examples.hello.impl”.  In that case, the “api” sub-package 
>> is meant to explicitly denominate the client-side api for the hello service.
>> 
>> So in terms of recommendations, there are kind of two steps here:
>> 
>> 1 - Bulk rename ‘com.sun.jini.*’ to ‘org.apache.river.*’, which is what 
>> Dennis did already.
>> 2 - Discuss renaming, reorganization, modularization, etc.  I started 
>> talking about this in regards to “com.sun.ini.tools” a while ago, but we 
>> didn’t move forward because of the size of the job.  We can probably carry 
>> on discussions.
>> 
>> Going forward, the question is - let’s say I feel like I need to create a 
>> new library, “neatstuff”, and I’d like to separate neatstuff’s api from 
>> implementation.  Do I make:
>> 
>> Option 1-
>>      org.apache.river.neatstuff.api
>>      org.apache.river.neatstuff.impl
>> 
>> Option 2-
>>      org.apache.river.neatstuff
>>      org.apache.river.neatstuff.api
>> 
>> Option 3-
>>      org.apache.river.api.neatstuff
>>      org.apache.river.neatstuff
>> 
>> Option 4-
>>      org.apache.river.api.neatstuff
>>      org.apache.river.impl.neatstuff
>> 
>> For me, purely as a matter of aesthetics, I have a strong preference for 
>> (Option 1 or Option 2) over (Option 3 or Option 4), and a mild preference 
>> for Option 1 over Option 2.
>> 
>> As well, I’ll state my unifying principle again - someone writing a Jini 
>> service or client has no need to deal with River internals, any more than I 
>> need to compile Tomcat in order to write a web servlet.  So anything in 
>> “org.apache.river.api.*” or “org.apache.river.**.api” should really still be 
>> considered river internals.
>> 
>> Cheers,
>> 
>> Greg Trasuk
>> 
>>> On Aug 31, 2015, at 9:41 PM, Patricia Shanahan <p...@acm.org> wrote:
>>> 
>>> On 8/31/2015 4:07 PM, Bryan Thompson wrote:
>>> ...
>>>> Why use net.jini.* rather than net.river.*?
>>> 
>>> Do mean "net.river" rather than "org.apache.river"?
>>> 
>>> We have domain names jini.net and river.apache.org, and can base package 
>>> names on either of those. If we want to use anything else, we would need to 
>>> acquire the corresponding domain name.
>>> 
>>> In my opinion, for branding reasons, we should use org.apache.river.* 
>>> wherever possible.
>> 
> 

Reply via email to