1) replace the ofbiz component loader (i.e. ofbiz configuration) with
technology like OSGi or DI (e.g. spring)
BENEFITS:
+ reduce the amount of time a new ofbiz developer working on the ofbiz
framework will have to spend understanding the component loader
+ help manage the dependencies and interfaces between each component
making them easier to test and operate independently of the whole
framework (e.g. allowing use of the entity engine with grails, or entity
engine + service engine with grails)
+ make ofbiz more desirable to framework developers
2) move the components (e.g. entity engine, service engine) to their own
svn repositories, and move the component config files to a separate
location away from the code.
BENEFITS:
+ make it easier to manage patching, for example bug fixes to the entity
engine would just be packaged into ofbiz-entity.jar and replace the
existing jar in an ofbiz installation
3) make running in tomcat as a war an OOTB option.
BENEFITS:
+ makes ofbiz more attractive to enterprises wanting ofbiz to fit in to
their existing JEE architecture.
... probably more to follow ...
If you could change anything about the OFBiz framework (not related to a
specific tier), what would it be? This could be about how OFBiz is deployed,
how the tools fit together, how application components are written and
organized, and so on.
All comments are welcome. If there is another tool you'd like to see used, please describe what you
like about it (like "I've found the aspect oriented inversion of control approach nice because
I can plugin all sorts of tools and the full life cycle of the tools are managed for me")
instead of just mentioning the tool (like "let's use Spring!").
Why am I asking? This topic comes up every once in a while, and it's true that
many suggestions never get enough support to actually happen (or on further
research it is decided that the idea is not tenable), but brainstorming about
them to get ideas in the open is still a great thing. The history of OFBiz is
full of things like this where users and more casual contributors had ideas and
saw possibilities that others, even more involved contributors, totally missed
or never looked at that way. What I think would be fun, and ultimately useful
too, is to keep this mostly to brainstorming and not do too much comparing of
ideas.
BTW, if you want to brainstorm about one of the tiers (ie the Data, Logic, or
UI tiers) please use the other threads on those.
-David