Hello Everyone,

I think If you look at both the "data model" and "services" in OFBiz
you will notice the following:

- They are highly coupled and everything is connected to everything
(orders, parties, work efforts, contents, etc ...)
- They are independent of the user interface. In fact you can make
multiple interfaces that share the same data model and services.
- Some services and entity models are component-specific and do not
belong to the generic data models and services.

So what does that mean? It means in order to achieve real flexibility
and a clean architecture, perhaps we need to separate our data model
and services from the rest of the components in the system, and we
already did this with the datamodel component.

So I propose creating a new component, perhaps calling it
"service-library" that houses all "generic" services that operate on
the "generic" data model. I propose we implement this new component as
follows:

- Slowly move services (one at a time) from components to this central
library, cleaning and refactoring as we move.
- Migrate any minilang services to another engine while moving
(groovy, entityauto, etc ...)
- Keep any services that are component-specific and do not operate on
the generic data model in the component

What do you think? Do you agree with the general idea? Can we do this
in a better way? Anyone interested in helping out?

Cheers,

Taher Alkhateeb

Reply via email to