"Craig R. McClanahan" wrote:
>
> "Geir Magnusson Jr." wrote:
>
> > [EMAIL PROTECTED] wrote:
> >
> > > If someone chooses to duplicate a piece of code, maybe the problem is with
> > > the way the code is written and shared.
> >
> > I think in some cases, its bacause people aren't aware that the stuff
> > exists. Go through the Jakarta project sites, and find the number of
> > places that offer a separate, clean <FOO> tool that supports <BAR>.
> > (Choose your tool and it's expected functionality).
> >
>
> One small proto-model of "shared code" code components already exists within the
> Jakarta community, and might serve as a starting point for discussions -- the
> Jakarta Taglibs project, which is focused on creating reuseable JSP custom tag
> libraries. ^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^
This is your <FOO>, and <BAR> then is clearly defined. To me, this is
a <FOO> that is generic - like 'visual component' or 'bean' - it is a
general class of software where the functionaly is a degree of freedom
left to the creativity of the developer. So you can say "Here is a
collection of <FOO>, listed by functionality."
I think this is a valuable model - clearly the Taglibs projects shows
it's a valuable model. But I am not sure that all the projects in
'Rupert' would work well this way. For the 'single-instance' model, it
would be harder to say "Here is a collection of JDBC-compliant DB
connection pools". How can you distinguish?
There certainly is space for both, or if you make <FOO> generic enough
in each case, then the overall project model can consists of a set of
libraries, each hosting a subject area :
POOLS : (works as library )
- generic object pool
- JDBC DB connection pool
- ?
XML Configuration : (works as library)
- this would be a big list
ETC:
And each library (POOLS, XML Config) could manage the components within
in, similar to how a Jakarta project manages its own work.
[SNIP]
>
> As long as you avoid a rule that there will be only one kind of <FOO> in the
> library, that should avoid most of the potential conflict issues.
Yes, but we should recognize that if the multiple <FOO> are something
like a DB Connection Pool, the 'rule' would be that the differences in
features and uses should be *clearly* enunciated, to the point of making
sure the non-Jakarta developer looking for a solution can easily
understand the differences, and make a decision. Otherwise, they *will*
go elsewhere.
Maybe my concern for the non-Jakarta developer is misplaced or
misaligned with the intent here, but as I have said before, there seems
to be an *enormous* amount of useful code for the Java developer
scattered around, and finding a way of clearly describing, presenting
and organizing it for general use would do the development community
(and ourselves - nothing beats writing software that is actually used) a
big favor.
> In order to make this work, someone(s) needs to step up and organize the basic
> infrastructure, but after that it can be fairly self-sustaining. (And maybe Sam
> can extend Gump to see which individual modules are being used in which projects
> -- having your shared code selected by some other project is a pretty good vote
> on it's quality, plus an indication of who you should talk to before changing
> APIs ;-).
that's a great idea.
geir
--
Geir Magnusson Jr. [EMAIL PROTECTED]
Velocity : it's not just a good idea. It should be the law.
http://jakarta.apache.org/velocity
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]