On Tuesday 13 April 2004 03:37, Noel J. Bergman wrote:
> > A component developed against a set of (one or more) specifications
> > WILL work unmodified in all applications that understand/"complies
> > with" suc specification(s).
>
> That is like saying that a J2EE component will run on every J2EE app
> server. Very nice, but doesn't do much for J2SE or J2ME.  Essentially, you
> are saying that only an Avalon "J2EE" can/should exist.

Not at all. I have probably not been good at communicating my findings.

1. Specification declaration. If I provide a piece of code today, let's say a 
JAR file, there is no way to know which specifications (pluralis) it 
"complies with", "requires" and "requests". I am convinced that ALL 
components would benefit from this.

2. Specifications should be kept very small, allowing components to "comply 
with", "require" and/or "request" any subset of all or mutually exclusive 
specifications.

3. By keeping Specifications small, they can evolve fairly easily.

After this has been established, it is a matter of establishing the existing 
formal contracts (pluralis) that do exist (by implementation coincidence) in 
ECM, Fortress and Merlin.

Each container being developed then has a fairly straight forward task when 
encountering a component;
1. Does it "comply with" my own "required" contracts? Does it have same or a 
higher 'minor' version and the same 'major' that I can work with?
2. Do I "comply with" its "required" contracts? Do I comply with the same or a 
higher 'minor' version of the same 'major' that it requires?

If NOT, the component doesn't work with that container.

If the containers themselves could expose the same Specification "complies 
with", "requires" and "requests", other applications can 'know' what will 
work with what, and so on.

To call this a J2EE attempt is IMHO an over-statement. 
Would it be possible to define J2EE under this? Yes, it is of course possible.
Would it be possible to define PicoComponents under this? Yes, equally true.

The challenge I am trying to figure out now is how should these declarations 
be made. And that brings me to a much tougher nut to crack, since noone think 
it is an issue; How do you "Identify" a component? Or a service for that 
matter?
I have no definate answers here yet, but I am actually leaning towards using a 
URN based on package+interface/class, since they are supposedly unique.

And if that is solved "Where does the Specification Declaration go?" is next. 
Here the problems of consensus would start big time. Some would be in favour 
of sticking to a Java only solution, others to files in JAR or entries in 
Manifest, and perhaps another group would like to see an RDF solution.
Are they mutually exclusive? No, but the more schemes the harder for everyone.


Cheers
Niclas

-- 
+---------//-------------------+
|   http://www.bali.ac         |
|  http://niclas.hedhman.org   |
+------//----------------------+

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to