2010-02-08 6 views
2

Je suis architecte d'un projet logiciel et je souhaite créer un logiciel SAAS (Software As a Service). Je veux modéliser mon application sur le modèle de Salesforce. J'aime vraiment les fonctionnalités de personnalisation, mais je ne suis pas sûr de la façon dont ils s'y prennent vraiment. J'ai lu qu'ils créent un ID pour chaque champ qui est requis et ensuite stocker les données correspondantes aussi. Quelqu'un peut-il me guider sur la façon dont cela est possible. Par exemple, si je veux stocker un enregistrement d'employé. 2 champs (prénom, nom) sont déjà donnés et l'utilisateur ajoute un troisième champ (disons DOB), comment les données vont-elles être stockées?Architecture de base de données SAAS Architecture et Salesforce

J'apprécierais aussi que quelqu'un puisse me donner des ressources sur des exemples pratiques de mise en œuvre d'une architecture SAAS.

Merci

Répondre

6

SaaS n'a vraiment rien à voir avec des fonctionnalités de personnalisation comme dans SalesForce. Vous avez probablement besoin d'affiner votre question pour obtenir de meilleures réponses. SaaS signifie simplement que vous concevez votre logiciel pour qu'il puisse être utilisé par plusieurs personnes en même temps sur le Web.

fonctionnalités de personnalisation s'appliquent également aux applications basées sur le Web, les applications clientes épaisses, etc.

Une façon courante pour stocker des extensions spécifiques à l'utilisateur à des entités de base est en utilisant des paires de valeurs de nom. Il y a d'autres façons aussi. Avec des paires de valeurs de nom que vous pourriez avoir une structure comme celui-ci (ébauche de transmettre conception):

employé

  • EMPLOYEEID
  • FirstName
  • LastName

EmployeeUserFieldDefinitions

  • Fiel dName
  • FieldType
  • InputRestrictions (par ex. longueur)

EmployeeUserData

  • EmployeeID
  • FieldName
  • FieldValue
2

Je suis également d'accord avec Eric. Une personnalisation élevée peut être un plus pour une architecture SaaS mais ce n'est pas un must. Je pense qu'un must pour un SaaS est l'architecture multi-locataire.

Donc, vous devriez consulter l'article Multi-Tenant Data Architecture qui a été publié par Microsoft. L'article inclut également des modèles (Extensibility Patterns) sur la personnalisation.

BTW, Comme dChengVous l'avez dit, vous ne pouvez pas avoir à le construire à partir de zéro. Je vous suggère de revoir le Viravis comme solution alternative.