Hello Michael,

Michael Brohl <michael.br...@ecomify.de> writes:

> thanks for your proposal. Just a few questions to get the whole picture:
>
> 1. do we really have a complexity problem here? The removed code seems
> not too complicated or long.

I would claim that we have a complexity problem in OFBiz in
general. Some is essential (the data model) but a lot of it is
accidental (ad-hoc semantics of the XML, Groovy and Freemarker DSLs,
data manipulation across programming layers, complex unused
abstractions...).

I agree that when considering the change I am proposing in isolation it
is not that big in term of complexity reduction. However in the long-run
incremental clean-ups that are reducing the number of unused/unnecessary
moving parts will allow significative improvements in term of
simplification.

It is similar to juggling, getting from 7 balls to 6 balls does not
reduce the difficulty, however when having only 2 or 3 balls it starts
to become manageable for most human.

My underlying goal is to empower most OFBiz integrators/contributors by
allowing them to put every OFBiz elements (containers, entity engine,
service engine, webapps, screen renderer, components) in their brain at
the same time and reason informally about the relations between those
elements without getting headaches.

> 2. what do we lose with the removal? I see one can not only configure
> the ComponentContainer class but also set different loaders.

I see 2 things we are losing:

- The ability to desactivate/replace the "component-container" container
  a.k.a the ‘ComponentContainer’ class which is augmenting the classpath
  to add the “src” directories from the components to be able to among
  other things to find the class implementing the containers defined
  inside components.

- The ability to define a container without associating it to a
  component.

I am not sure to understand what you mean by "set(ting) different
loaders" here? As I understand it, "loaders" are set in the ‘Config’
class from the "ofbiz.start.loaders" property which is defined in
“{load-data,rmi,start,test}.properties” file or by the arguments passed
to the JVM.  Am I missing something?

Thanks.

-- 
Mathieu Lirzin
GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37

Reply via email to