Thread Rostis Framework (81 answers)
Opened by rosti at 2014-05-09 10:51

rosti
 2014-11-19 12:28
#178447 #178447
User since
2011-03-19
3472 Artikel
BenutzerIn
[Homepage]
user image
Etwas ausführlicher: Ich habe mandantenfähige Anwendungen, die allesamt unter einunddemselben URL erreichbar sind, d.h., auf dem URL rolfrost.de erreicht jeder Mandant nur seine eigene Anwendung.

In den Anwendungen selbst (Beispiel Code auf meinem Forum) gibt es keinerlei Code bezüglich ACLs, denn das regelt mein FW bereits vor der Auslieferung einer Anwendung. Somit kann ich allein über eine außerhalb vom Code liegende Konfiguration eine Anwendung an verschiedene Benutzer/Gruppen binden, ohne die Anwendung ändern zu müssen. Ebenso ist der Ressource-URL immer derselbe, so sieht ein nicht angemeldeter Benutzer auf rolfrost.de meine Startseite, ein angemeldeter Benutzer hingegen sieht auf rolfrost.de beispielsweise einen Shop oder ein Forum, je nachdem, zu welcher Gruppe der Anwender gehört und welchen Benutzernamen der hat.

Und: Über einen Proxy kann ein Mandant eine ihm zugeordnete Webanwendung (z.B. ein Shop f. Gartenzwerge) auf seiner Domäne so zur Verfügung stellen dass sie für alle Benutzer ohne Anmeldung erreichbar ist (jeder braucht Gartenzwerge, ist doch klar). Ein solcher Proxy ist transparent, er baut auf dem Host eine Session auf, ohne dass der Anwender etwas davon mitbekommt.

Staging wird damit möglich, ohne einen dedizierten Staging-Server einrichten zu müssen: Ein Staging-User kann den Shop auf demselben URL testen ohne den Produktionsbetrieb zu beeinträchtigen und ohne dass Test-Daten in produktiven Datenbanken landen.

Und nicht zuletzt kann so auch eine zentral gehostete Shop-Software an beliebig viele Mandanten verteilt werden, die auf ihren eigenen Domänen Shops betreiben, ohne dass die Shop-Software beim Mandant installiert sein muss. D.h., verteilt wird nur die Anwendung, nicht jedoch die Software. Um Software-Updates muss sich ein Mandant dann gar nicht mehr kümmern.

Admin-Backends kann ich auf diese Art und Weise ebenfalls mandantenfähig machen und verteilen.

Und alles ist in Perl :)

PS/Kurz und knapp: Content-Negotiation by user heißt bei mir, dass eine komplett andere Routing-Table geladen wird, wobei die Perl-Klassenbindung an einen URL eine andere sein kann. Nun auch über Proxy, Beispiel:

Forum in grün: http://www.kimis-freche-locke.de/forum.html
Anderes Forum in blau: http://www.kimis-freche-locke.de/xf.html

Übern Proxy wird die Routing-Table natürlich auf dem Host (rolfrost.de) geladen. Auf der Domäne meiner Schwiegertochte läuft ein ganz anderes Framework, das ist zwar auch von mir, aber in PHP (igitt *G).

modedit Editiert von pq: fullquote entfernt
Last edited: 2014-11-19 13:25:11 +0100 (CET)

View full thread Rostis Framework