2013-06-21 14 views
6

Ciao Ho una domanda relativa al modello SAAS e multi-tenancy.Personalizzazione client specifica multi-tenancy per SAAS

Per quanto ne so, l'applicazione multi-tenancy SAAS indica la funzionalità comune per tutti i client, con alcune personalizzazioni dell'interfaccia utente e delle funzionalità sotto.

Se ho bisogno di rendere per alcuni clienti la personalizzazione specifica del cliente, come posso ottenerla?

so di approccio di SalesForce

Per quanto riguarda la risposta che mi apprezzi per vedere si verificano con una tale - personalizzazioni sotto il livello di database, - architettura del backend in generale o in - qualsiasi link per questo argomento.

risposta

9

Ci sono le seguenti due modi di personalizzazione di un'applicazione multi-tenant 1. Presentazione tier cambia cambiamento 2. Sistema.

Di seguito sono le opzioni di personalizzazione tipiche preferite nelle applicazioni web in un ambiente multi-tenant, sono

1) l'interfaccia utente e il branding,

2) del flusso di lavoro e di business regole,

estensioni 3) del modello di dati, e

4) controllo di accesso

In cui 1 appartiene alla modifica del livello presentazione e il resto tutti costituiscono la modifica del livello di sistema in un'applicazione multi-tenant.

MVC è considerato un'opzione di personalizzazione del livello presentazione in cui è possibile consentire all'inquilino di avere il proprio tema, logo e layout personalizzato o controller personalizzati e sezioni di pagina personalizzate.

Per le impostazioni di sistema, ci sono molti modi per raggiungere questo obiettivo, tuttavia i seguenti sono i più pervasivo

  1. personalizzazione a livello di database
  2. personalizzazione a livello di middleware.

Nell'app SaaS, ci sono funzionalità e implementazione. Nel caso del successivo, ci sarà una configurazione specifica del tenant che governa quale implementazione deve essere invocata per l'inquilino preso in considerazione in base alla sua configurazione e quindi fornisce il servizio. Questi sono raggiunti utilizzando un meccanismo di iniezione delle dipendenze personalizzato che è a conoscenza del tenant e verrà inoltre richiesta una configurazione specifica del titolare che può essere utilizzata durante il runtime per facilitare questo processo.

Nel caso di (1), i dati nel db devono essere isolati in base all'identificatore del titolare in modo che la configurazione oi metadati non siano condivisi tra i tenant in un ambiente multi-tenant.

Così i componenti principali saranno

  1. un identificatore inquilino ottenuto da un contesto inquilino
  2. multi-tenant DataStorage
  3. di autenticazione specifico inquilino [forma firma/singolo profilo di accesso, ecc ..]

IMHO, dal momento che il tuo argomento è ampio, se puoi presentarci aree più specifiche, discuteremo sulla loro implementazione.

Spero che questo risponda alla tua domanda, per favore pubblica il tuo aggiornamento.

+0

Grazie, la tua risposta è davvero utile. Hai un'esperienza di implementazione in .net? – Alexandr

+0

@Alexandr: Grazie, Alexandr. Ho esperienza nell'implementazione ma non nella parte dell'iniezione tenant basata su DI. Mi sono imbattuto in alcune implementazioni e blog su questo punto. Si prega di postare qualsiasi altra query dalla tua fine relativa a questo post. – Saravanan