SAAS架构和Salesforce数据库架构
我正在构建一个软件项目,我想创建一个 SAAS(软件即服务)项目。我想按照 Salesforce 的方式对我的应用程序进行建模。我真的很喜欢那里的定制功能,但我不确定他们是如何实现的。我读到他们为每个必需的字段创建一个 ID,然后也存储相应的数据。谁能指导我这如何可能。例如,如果我想存储员工记录。已经给出了 2 个字段(名字、姓氏),并且用户添加了第三个字段(例如 DOB),数据将如何存储?
如果有人能为我提供一些实现 SAAS 架构的实际示例的资源,我也将不胜感激。
谢谢
I am architecting a software project and I want to create a SAAS (Software As a service) one. I want to model my application along the lines of Salesforce. I really like there customization features but I am not sure how they really go about it. I read that they create an ID for every field that is required and then store the corresponding data too. Can anyone guide me as to how this is possible. For example, if I want to store an employee record. 2 fields (firstname, lastname) are already given and the user adds a third field(say DOB), how is data going to be stored?
I would also appreciate if someone could give me some resources to practical examples of implementing a SAAS architecture.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SaaS 实际上与 SalesForce 中的定制功能无关。您可能需要完善您的问题以获得更好的答案。
SaaS 只是意味着您设计的软件可供多人同时通过网络使用。
自定义功能同样适用于基于 Web 的应用程序、胖客户端应用程序等。
将用户特定扩展存储到基本实体的一种常见方法是使用名称值对。还有其他方法。对于名称值对,您可能具有如下结构(传达概念的粗略轮廓):
Employee
EmployeeUserFieldDefinitions
EmployeeUserData
SaaS really has nothing to do with customization features like in SalesForce. You probably need to refine your question to get better answers.
SaaS simply means you design your software to be usable to multiple people at the same time over the web.
Customization features apply equally to web based applications, thick client applications, etc.
One common way to store user-specific extensions to basic entities is by using name value pairs. There are other ways as well. With name value pairs you might have a structure like this (rough outline to convey concept):
Employee
EmployeeUserFieldDefinitions
EmployeeUserData
我也同意埃里克的观点。高度可定制性对于 SaaS 架构来说可能是一个优点,但不是必须的。我认为 SaaS 必须是多租户架构。
因此,您应该查看多租户数据架构文章,其中由微软发布。本文还包括一些关于可定制性的模式(可扩展性模式)。
顺便说一句,正如 dChengYou 所说,您可能不必从头开始构建它。我建议您查看 Viravis 作为替代解决方案。
I also agree with Eric. High customizability may be a plus for an SaaS architecture but it is not a must. I think that a must for an SaaS is multi-tenant architecture.
So, you should check out the Multi-Tenant Data Architecture article which was published by Microsoft. The article includes some patterns (Extensibility Patterns) about customizability too.
BTW, As dChengYou stated, you may not have to build it from scratch. i suggest you to review the Viravis as an alternative solution.