问题标签 [saas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1105 浏览

sql-server - SaaS 多租户应用程序:如何实施数据导入/导出/备份?

应用程序如何在基于 SaaS 的多租户应用程序中提供数据导入/导出(或备份),尤其是单一数据库设计?

进口:

保持简单,我认为基本导入很有用,即 CSV 到规范(或提供 CSV 列和数据库中字段之间的映射的一种方式。

出口:

在单一数据库设计中,我见过 XML 导出和 HTML(基本生成的)数据导出吗?我会假设 XML 是一个更好的选择?如何满足关系数据的需求?您会在 XML 中引用各种内容并提供关系文档还是让用户弄清楚这一点?

供应商是否提供可以导入/恢复的导出/备份?

您的意见表示赞赏。

0 投票
2 回答
1434 浏览

email - SaaS/多租户应用程序如何实现电子邮件通知(发送和接收)?

给定多租户应用程序,供应商如何从电子邮件帐户设置和编程角度实施电子邮件通知:

发送电子邮件可以来自通用帐户:例如,notifications@VendorName.com 或 noreply@VendorName.com,考虑到电子邮件内容中可以包含回复地址和链接,这似乎是合理的。

接收电子邮件:例如,应用程序将如何接收电子邮件;生成支持票或在电子邮件中为项目/任务分配评论。我在主题中看到了 ID 和一些包含帐户名称的地址的回复,例如:notifications@AccountName.VendorName.com

我意识到可以以编程方式连接到 pop3 服务器并接收电子邮件并查找带有主题的 ID,但是有没有一种方法可以从多个子主机名电子邮件地址设置和接收单个pop3 帐户的电子邮件(不确定术语)例如:noreply@AccountName1.VendorName.com 或 noreply@AccountName2.VendorName.com 并检查地址中的帐户名称?(类似于检查 URL 上的子域)

有什么做法、经验、意见或建议吗?

(不确定它的相关性,但使用 C# asp.net-mvc 和服务等)

0 投票
2 回答
1301 浏览

ruby-on-rails - SaaS 应用程序是如何组织的?

考虑将多个客户端的 Web(MVC,例如 Rails)应用程序作为服务。

这个怎么设计?

  • 每个客户端一个应用程序实例?(+ 每个客户端一个数据库)

  • 所有客户端一个实例(+所有客户端一个数据库)

前一个很简单,但是……“效率低下”。后者怎么样?(最佳实践、设计模式)如何分离客户端数据?例如:客户端“1”的工作人员“A”有两个文档,客户端“2”的工作人员“B”有三个文档。如何建立模型关联来保护其他用户(和客户端)数据?我认为使用 Client 模型加入每个查询并不是一个好的解决方案。

0 投票
5 回答
2483 浏览

payment - 我该如何处理定期计费?

这可能是一个主观问题,但我会试一试。

已经有许多关于订阅计费管理的问题。我目前正在开发一个需要全自动计费系统的 SaaS 解决方案。

当我问这个问题时,我不是在寻找关于实施特定支付网关或类似东西的建议。相反,我想就采取什么样的方法提出建议。

我需要的功能是一个可以处理升级、降级、定期计费、取消等的系统。最初只针对一种产品,但随着时间的推移,可能需要系统可以处理多种产品(我的意思是根本不同的产品)产品,而不是同一产品的不同变体)。

正如我所见,当您需要这样的解决方案时,有多种可能的方法:

  1. 自己编写一个支持此功能的计费服务器,并与每个产品分离,以便它可以处理多个独立的产品。
  2. 使用托管解决方案,如RecurlyChargifySpreedlyCheddarGetter

使用托管解决方案的优势显然是您不需要 PCI 认证,关注点是外包的,而且启动和运行速度要快得多。然而,这些优势是有代价的:对您的产品最重要的支持功能 - 即计费不在您的控制范围内。此外,您的控制力和灵活性较低。

你会怎么办?如果我们超越 PCI 要求,我肯定更愿意拥有一个可以完成此类工作的内部编码系统。另一方面,我从许多来源听说,编写这样的系统是一件痛苦的事情。

任何建议都将受到高度赞赏。此外,如果您建议自己编写代码,任何关于如何编写代码的经验或是否有任何开源项目(无论语言,我追求的不是代码而是结构),我都可以从中受益意义重大。

0 投票
0 回答
575 浏览

ruby - SaaS 定期计费与我的 Ruby 应用程序一起使用?

我正在尝试向我的应用程序添加一个 SaaS 定期计费解决方案,它是用 Ruby 编写的,我们使用 Sinatra 框架和 Riak 之类的东西。

好的是:

  • 一个 RESTful API
  • 红宝石 API
  • 返回并获取 JSON 数据(因为这样很容易与 Riak 集成)
  • 便宜(我们是一家初创公司,所以没有企业解决方案)

到目前为止,我正在查看:http ://chargify.com/

0 投票
1 回答
274 浏览

cloud - 云软件是:云应用、按需应用还是SaaS应用?

写一篇关于开发云计算应用程序的文章,我不知道如何调用云软件,标题文章是架构和设计(例如按需应用程序),我如何定义我可以使用??我对这个定义很困惑想要知道这个概念的区别:云应用程序,按需应用程序和SaaS应用程序。

谢谢

0 投票
5 回答
4985 浏览

entity-framework - 实体框架和多租户数据库设计

我正在研究 SaaS 概念的多租户数据库架构设计。它将是 ASP.NET MVC -> EF,但这并不重要。

您可以在下面看到一个示例数据库模式(租户是公司)。CompanyId 在整个架构中复制,主键已放置在自然键和租户 ID 上。

当我将表添加到实体模型文件 (Model1.edmx) 中时,将此模式插入实体框架会出现以下错误:

  • 关系“FK_Order_Customer”使用外键集“{CustomerId, CompanyId}”,这些外键集部分包含在“Order”表的主键“{OrderId, CompanyId}”集中。外键集必须完全包含在主键集中,或者完全不包含在要映射到模型的主键集中。
  • 关系“FK_OrderLine_Customer”使用部分包含在表“OrderLine”的主键“{OrderLineId, CompanyId}”集中的外键集“{CustomerId, CompanyId}”。外键集必须完全包含在主键集中,或者完全不包含在要映射到模型的主键集中。
  • 关系“FK_OrderLine_Order”使用外键集“{OrderId, CompanyId}”,这些外键集部分包含在表“OrderLine”的主键集“{OrderLineId, CompanyId}”中。外键集必须完全包含在主键集中,或者完全不包含在要映射到模型的主键集中。
  • 关系“FK_Order_Customer”使用外键集“{CustomerId, CompanyId}”,这些外键集部分包含在“Order”表的主键“{OrderId, CompanyId}”集中。外键集必须完全包含在主键集中,或者完全不包含在要映射到模型的主键集中。
  • 关系“FK_OrderLine_Customer”使用部分包含在表“OrderLine”的主键“{OrderLineId, CompanyId}”集中的外键集“{CustomerId, CompanyId}”。外键集必须完全包含在主键集中,或者完全不包含在要映射到模型的主键集中。
  • 关系“FK_OrderLine_Order”使用外键集“{OrderId, CompanyId}”,这些外键集部分包含在表“OrderLine”的主键集“{OrderLineId, CompanyId}”中。外键集必须完全包含在主键集中,或者完全不包含在要映射到模型的主键集中。
  • 关系“FK_OrderLine_Product”使用外键集“{ProductId, CompanyId}”,这些外键集部分包含在表“OrderLine”的主键集“{OrderLineId, CompanyId}”中。外键集必须完全包含在主键集中,或者完全不包含在要映射到模型的主键集中。

问题分为两部分:

  1. 我的数据库设计不正确吗?我应该避免使用这些复合主键吗?我质疑我对基本模式设计(疲惫的大脑综合症)的理智。请随时提出“理想化”模式。
  2. 或者,如果数据库设计正确,那么 EF 是否无法匹配键,因为它将这些外键视为潜在的错误配置的 1:1 关系(不正确)?在这种情况下,这是一个 EF 错误吗?我该如何解决?

多租户数据库架构

0 投票
1 回答
317 浏览

.net - 任何成熟的 SaaS CMS 解决方案

正在寻找具有 .NET api 或 RESTful api 的成熟 SaaS CMS 解决方案。

最低要求是:

  • 一个很好的内容编辑界面
  • 跨服务器同步内容的能力(开发/登台/生产)
  • 版本控制(回滚)
  • 工作流程
  • 基于角色的权限
  • (所有其他 cms 好东西)
0 投票
2 回答
608 浏览

saas - SaaS 提供商的 IdP/STS,SaaS 客户在哪里进行自己的用户管理?

(这个问题不是关于编程,而是关于如何避免进行任何编程。此外,这里有很多术语——我假设有答案的人已经知道它们的意思。)

背景:我正在使用“联合身份”的环境中进行单点登录。我们有几种支持联合的产品(使用例如 WS-Federation 或 SAML 协议,使用例如 .NET 上的 WIF 和 Java 上的 Fedlet 实现),并且它们使用 SaaS 模型提供给客户。其中许多客户没有自己的用户名/密码存储,因此他们不会自己运行“身份提供商”。

问:有没有这样的产品

  • 可以安装在 SaaS 提供商处;

  • 扮演 SaaS 提供的应用程序的 IdP/STS(即联合环境中的身份提供者)的角色;

  • 拥有自己的用户名/密码存储,分别针对每个 SaaS 客户(“租户”);

  • 允许 SaaS 客户进行自己的用户管理,而无需 SaaS 提供商的帮助。

(我们可以自己构建它,例如,作为带有用户管理屏幕的 WIF 之上的自定义 STS,但我们正在努力避免这种情况。这并不是我们真正的核心业务。)

0 投票
1 回答
373 浏览

mysql - 企业云服务的数据库设计是什么

我正在为企业云服务计划一个数据库。该服务将是两个 Web 应用程序,一个仓库管理系统和一个发票。

公司可以注册并成为该服务的“用户”,然后他们可以在线拥有他们的库存和发票系统。

我应该将所有用户/公司保留在同一张表中,还是应该每个用户有一个表/应用程序?如果所有用户/公司都使用同一个数据库表,维护起来会容易得多,但我认为如果我每个用户/公司使用一张表,在发票上实现序列号会更容易。

库存/仓库将包含每个用户/公司多达 5,000 件物品。

每张发票都需要有一个序列号,第一张发票从 1 开始。因此,如果我每个用户/公司有一个表,那么自动增量列将是一个好主意。company_id或者如果我将所有公司放在同一张表中并使用-column ,我应该如何解决它?

我应该如何为这样的应用程序设计数据库?我将使用 MySQL 作为 DBMS。