We are community, we need to be careful not to Borg, but to foster.
We can encourage important projects to become River sub projects. This
will grow our community further.
Gregg and his projects are part of our community, why not contribute to
Gregg's project instead, as it appears we're trying to implement /
duplicate existing functionality. I think you'll find other parts of
his projects are also useful.
When we bring code into River from subprojects we take on the
responsibility of maintaining that code, it also becomes the default
implementation. We have a responsibility to take more than our own
needs into consideration.
River is a platform and I agree we need to make it easier to deploy. A
lot of external projects do this already, perhaps we can link to these?
I also acknowledge that fragmentation causes confusion, so perhaps it is
time we widen the net, and capture some common functionality implemented
in various down stream projects, this would need to be done as a process
of consultation.
I understand also what it feels like when your trying to get something
done and someone throws up a roadblock or another hoop to jump through
and how difficult it has been in the past to get things done, however if
done properly it's an achievement that you'll be recognised for, rather
than resented.
If you just want to code though, perhaps you can create a subproject,
making River easier to use and deploy for first time developers, this
might also encourage projects with competing functionality to become
subproject's of River to get more of the limelight.
Cheers,
Peter.
Tom Hobbs wrote:
Hi Gregg,
Is any of this stuff in a public repo? You might have noticed that
I've put a "River Success Stories" page on the site and it'd be great
to be able to link to these projects - even the
experimental/incomplete ones.
With regards to startnow, particularly ConfigurableJiniApplication and
PersistentJiniService, would you be willing to donate these to the
River code base? This kind of thing is exactly what I wanted to put
in the "extras" drirectory of River that was discussed a while back.
Let me just say that I am more than very happy to direct people onto
your implementations and towards your projects, as I hope the above
request for the links to public repos and permission to link to them
above shows. However I still think that it's easier and more
intuitive to new users if they get more stuff like this along with
their original River download. I hope that you don't think I'm trying
to absorb all of your projects into River or divert any credit away
from you onto this project, but just those two quick-start classes
would be really useful for new developers using River - and a donation
of existing code saves me the effort of re-implementing them myself!
Cheers,
Tom
On Fri, Dec 3, 2010 at 10:04 PM, Gregg Wonderly <[email protected]> wrote:
Sam, there is not a comprehensive list anywhere, but I'll post one here just
FYI and anyone else who might be interested. What I want to stress is that
most of this stuff is hovering closer to "investigation" than "production"
quality code. I'm willing to answer questions as best I can. Some of it is
early versions of stuff which I later put into production with
changes/enhancements.
gosie A Jini Based Desktop System
This is my serviceUI based desktop environment.
This application lets you use a list of hosts and URL
suffixes, and then does unicast to those hosts, and
creates a dynamic policy for all host and URL suffix
combinations. In my use, I rely the reef project work
on reggie for delayed unmarshalling as well as on the
fact that the hosts have services returning vhttp URLs
in the annotations which will download and locally cache
all service jars. In the deployments I use this, there
are 5-10 services per machine with 2-4 jars per service.
There are 2 or more serviceUIs per service registration.
This results in hundreds of UIs to select from and thus
I need very quick display of icons and choices.
griddle Jini Grid tuple space
This is something that I put together while the
JavaSpaces05 discussion was happening. It has in-space
executor and programmble query control because the space
objects are separated from the keys so that the data
can stay marshalled and the keys can be unmarshalled
and compared with the "entry" matching implementation.
jetset A Jetty service for launching servlets
This is a service that launches the Jetty web server
logman Remote logging management using a Jini enabled LogManager
This service is launched from the LogManager SPI in
the JVM. It provides remote monitoring by letting you
change logger settings as well as remote streaming of
the log output.
reef A service lookup to reduce client memory use.
This is the work that I did to make Reggie return
marshalled match data so that you can decide when
to unmarshall the service and the Entry objects
yourself. You can thus get Name objects and other
data without unmarshalling the service. I also did
work to Jini to provide the ability to configure the
net.jini.loader.pref.ClassLoading class to "never prefer"
some classes so that things such as Name would never
cause the initial download that the preferred list
discovery causes.
startnow A collection of Jini tools for new Users
This includes a ConfigurableJiniApplication and a
PersistentJiniService class that I use all the time
as foundations for all services I write. But there
are also all kinds of things that I dumped into
this project as I was experimenting with different
concepts about abstracting parts of Jini prior to the
2.0 release with Configuration and other good things.
Included in this project is stuff like a configuration
provider/manager that I was working on. There is also
a DynamicPolicyProxyPreparer class that was intended
to allow proxyPreparation to look at the codesource
and assert policy around the prepared proxy. This was
intended to allow "users" or "deployers" to give users
appropropriate local policy to use for services they
might encounter on the network.
whatsitdo A Jini Container system for Jini Examples
This project was about giving people instance access
to Jini as well as to example services which used Jini.
It provides a container GUI that you can drag "jars" into
and the contained services will be shown and you can then
launch them and use the associated serviceUIs. What is
interesting, to me, in this, was that I put together some
"hacks" on the JarFile/ZipFile mechanisms and jar: URL
handling in the JVM to allow recursive jar URLs to work.
This meant that you could put the jini jars into your
services jar as the complete classpath for it, and include
codebase jars as well, and through the magic I created,
everything just worked. It still works last I tried it.
The build scripts do all the work to package thinsg,
and there are control points that are created in that
process to allow the right thing to happen. I used
the com.sun.jini.start stuff as the "service launching"
control code.
Gregg Wonderly
On 12/1/2010 9:25 AM, Sam Chance wrote:
Greg,
Are your various Jini/River related projects listed on-line somewhere?
Thank you!
Sam
On Wed, Dec 1, 2010 at 10:13 AM, Gregg Wonderly<[email protected]>
wrote:
I have requested that jini.dev.java.net be moved and I've requested that
my individual projects be moved. Any other projects own by others need
to
be dealt with pronto. All users should have received emails about needed
action.
Gregg Wonderly
On 11/24/2010 5:19 AM, Peter Firmstone wrote:
There are a lot of Jini Community projects on Java.net which are
probably
stagnant.
Do we know if any of these projects will be moved?
It looks like they're all going to go the way of the dinosaur unless we
preserve
their source.
Looks like we've got 6 days left to copy these projects. It will be a
significant loss if we don't.
Peter.
Niclas Hedhman wrote:
Has this been discussed??
<quote>
ACTION REQUIRED: Java.net is migrating to a new infrastructure and
project owners must request that projects be moved by November 30,
2010. A list of projects that will be moved is here:
http://java.net/projects/help/pages/RequestedProjects For more details
please see the Community Manager's blog -
http://www.java.net/blog/30701
</quote>
Cheers