Sebastian Schneider wrote:
I am getting the idea and there's nothing wrong about it from my
point
of view - for the right use cases. IMHO there should be separation of
the APIs for processes and rules. Imagine use cases where you just want
a process engine with a small footprint but you don't need Drools
because your own application takes the place of it (to make business
decisions) or in situations where you want or you have to use a
different external rules engine and repository - maybe even an
enterprise-wide repository.
I completely agree. If you only want a workflow engine, you should be
able to use only that. Same if you only want a rules engine. And
sometimes you want both, tightly integrated. So separation and
modularization are definitely a goal. However, so are integration,
unification and harmonization. With unification I mean making sure that
similar services can be reused (a repository for processes, is it really
different from a repository for rules? don't we need to unify those, so
you don't need two different versions of something that basically does
the same). Harmonization makes sure that, even though you might want to
separate APIs, you still might want to have similar APIs and tooling
(e.g. to start a session, or to attach listeners, etc.).
By doing so, you still leave it up to the user to select what he needs.
Kris