Architecture n层体系结构解决方案。有多好?

Architecture n层体系结构解决方案。有多好?,architecture,n-tier-architecture,Architecture,N Tier Architecture,我需要创建具有以下部分的n层应用程序: 数据服务器 业务逻辑服务器 为每个客户提供定制功能的轻量级客户端 数据服务器(1)和l/w客户端(3)将放置在客户服务器上。 应用程序将作为服务,所有业务逻辑(2)将在我的服务器上工作。 这很简单,是的

我需要创建具有以下部分的n层应用程序:

  • 数据服务器
  • 业务逻辑服务器
  • 为每个客户提供定制功能的轻量级客户端
  • 数据服务器(1)和l/w客户端(3)将放置在客户服务器上。 应用程序将作为服务,所有业务逻辑(2)将在我的服务器上工作。 这很简单,是的<但是客户拥有的数据服务器,数据对每个客户都是保密的。我无法在服务器上保存数据,但我希望在客户端发布轻量级客户端。来自所有客户的所有客户端将使用来自我的服务器的相同业务逻辑

    问题是:

    如何将客户端(3)与业务逻辑(2)连接起来,并保护要从客户处传输的数据?

    我的第一个解决方案是VPN或SSH隧道,但可能还有其他方法吗? 或者可能是另一种方法

    另外,数据服务器和业务逻辑服务器之间的数据传输可能非常慢,这是因为我正在尝试为这种体系结构找到另一种方法


    谢谢

    我认为你在这里混合了两件事:

    -架构:我认为你最好谷歌“多租户应用”的设计,因为这符合你的系统描述


    -安全问题:如果这是一个web应用程序(我认为这是您提到的轻量级应用程序),您最好使用SSL证书,该证书通过使用HTTPS加密所有进出服务器的流量。如果这不适用,您可以选择SSH或VPN,因为它们具有几乎相同的要求,并且对应用程序的影响相同。

    是否需要在服务器上放置中间层(业务逻辑)?你能简单地把它放在客户端服务器上吗?必要的,因为它必须是SaaS,如果我在业务逻辑中有新功能,我不想为每个客户更新应用程序,只需在我的服务器上更新,每个客户都有最新版本。这不是​​SaaS,我不想在客户的计算机上安装业务逻辑应用程序。在这种情况下,您可以重新考虑SaaS:)显然,当客户数据也存储在云中时,SaaS更简单。总之,@Hadi下面的答案是解决您问题的关键——多租户阅读。:)SaaS不适合在云中存储数据,idea是一个适用于所有客户端的应用程序实例和集中式应用程序逻辑,我认为您应该看看salesforce.com,它是多租户SaaS的最大示例之一