Hello Martijn,

On Oct 11, 2011, at 14:17 , Martijn van Berkum wrote:

> Weaknessed or to be discussed parts in this definition:
> I replaced composite with the term component. After looking up the defintion 
> of composite, it was stated that a composite consists of a distinct set of 
> components, which is, I guess, the word we were searching for (composite as a 
> word is flawed as this is the result of combining those 'components', not the 
> 'lego building blocks' we meant it to be).
I'm not in favor of using the term component, because a "component" in our 
implementation code, which uses the Dependency Manager, refers to "something" 
that has dependencies on services, configuration or whatever and that might or 
might not publish an API (either an OSGi service, a REST service, or both). 
Having two things named "component" sounds too confusing.

Approaching this bottom up in code we already have:

 - inherited from Java: classes and interfaces, which are grouped into packages
 - inherited from Dependency Manager: components, which are declared and can be 
introspected, and have dependencies and publish services
 - inherited from OSGi: bundles, which are our "modules" and most fine-grained 
way of composing applications
 - inherited from Apache ACE: we have artifacts (which can be bundles, 
configuration files or pretty much and type of deployable) which we group into 
features, and features again are grouped into distributions

Granted, all of these are still quite technical and low level, but still I 
would like to at least not reuse any of these terms in a different, 
inconsistent way.

We could re-use "feature" or "distribution" (tbh, probably a "cloud 
component/composite" could end up as a "distribution" in ACE, and we would 
assemble those from "features" in ACE (which more or less could be mapped onto 
(sub)projects of Amdatu, maybe a bit more fine grained (as some projects really 
consist of more than one set of artifacts, such as the Amdatu Identity stuff we 
discussed, which has features that go on a "server" and things that go on a 
"client".

Also, after giving it some thought, I'm not sure I like the fact that we define 
a component/composite as something that's "most cost effective". Going back to 
the theories behind modularity, there are several constraints the determine the 
"best" way to modularize a system. Cost is one of them, but there are others, 
such as low coupling, high cohesion, similar rates of change, etc. I feel we 
should be a bit more formal here and recognize all of those constraints (or not 
mention any in high level texts).
> RPDC is a completely new term, even an abbreviation, which is risky, I would 
> like to have a more recognizable term

Yeah, still thinking about this one. Somehow I feel we need to map this one on 
one or more of the technical terms I mentioned above.

Greetings, Marcel

_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to