User Tools

Site Tools


prom20:tenant

Tenant

Der Mandant ist das zentrale Modul, auf dem alle anderen basieren. Hierrüber wird u.a. die Mandantenfähigkeit hergestellt. Wenn man z.B. von der Eindeutigkeit der Personalnummer spricht, wird damit die Eindeutigkeit innerhalb des Mandanten gemeint.

Dieses Modul müsste sicherlich nicht mit DDD/CQRS/ES umgesetzt werden, aber das Framework, das hierfür in der TAV Enterprise Software GmbH geschaffen wurde, hat einen anfänglichen Zusatzaufwand von vielleicht 2 Stunden für diese Architektur pro Modul, danach vielleicht eine Stunde pro Aggregate. Hinten raus werden die Dinge aber deutlich einfacher, weil man z.B. bereits Ereignisse hat, über die das Modul mit anderen Modulen verknüpft werden kann; oder man hat die automatische Erweiterbarkeit, sowie die Austauschbarkeit. Somit wird vorerst alles, was mehr als eine einfache Datenspeicherung ist, in dieser Architektur umgesetzt.

Die Mandantenfähigkeit anders umzusetzen, z.B. über die URL1) wäre einfacher. Vor allem die eingesetzten Module wären so pro Unterverezeichnis am einfachsten zu regeln, für den Fall, dass unterschiedliche Mandanten unterschiedliche Module im Einsatz haben. Das kann man aber auch über die Konfiguration lösen, indem man dort konfiguriert, welche Module welcher Mandant einsetzt, und die Freigabe über die Lizenzschlüssel regel.

Es gibt in diesem Modul nur ein Aggregate. Es wurde sich auch ganz bewußt dagegen entschieden, hier Mandantengruppen für die Lizenzvergabe einzuführen, weil das veränderbar ist, bzw. man die Lizenzen später vielleicht anders vergeben und verwalten möchte, bzw. mehrere Varianten haben möchte.

Aggregates

prom20/tenant.txt · Last modified: 2013/11/13 11:57 by rtavassoli