Hi all,

in the sideline around discussions surrounding multi-tenancy and
provisioning in the scope of platform 1.0 the use of  'core' in
package/artifact naming comes up every now and them.

Let me elaborate a little in the hope we can work out some compromise
after which all should be silent for ever :D

We use 'org.amdatu.core' as the base namespace for components that we
consider to be 'core' as it it were one project with one lifecycle
[0].

The multi-faceted issue is..

1) They are logically independent. For example multi-tenancy is
considered to be a set of optional packages to be deployed if one
requires them.
2) They will have individual life-cycles. For example multi-tenancy
will not be in the same lifecycle as provisioning.
3) Using 'core' is kind of non descriptive. It does not really add
anything. In contrast to 'cassandra' or 'web' which have a clear
domain and purpose.
4) Thus we end up with long packagename / symbolicnames.

The proposed solution obviously is the drop the 'core' and migrate to
logical packages of a more independent nature. Eg.

* org.amdatu.core.tenant  => org.amdatu.tenant
* org.amdatu.core.log  => org.amdatu.log
etc.

I like it, it mostly addresses the reported issues. Mostly because we
will still may end up with multi-module projects (eg. tenant/api,
tenant/adaptor, etc) that will eventually may have their won
independent lifecycles again.

Why raise this issue now? Well, this will obviously require some very
invasive re-factoring resulting in backward incompatible changes. IMHO
we must do it pre 1.0 or never again.

WDYT?

grz
Bram


[0] http://www.amdatu.org/confluence/display/Amdatu/Internal+naming+conventions
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers

Reply via email to