0

这将是一个非常开放的问题;但在这一点上,这就是我必须开始的全部。我们目前有一个 2 层应用程序设计。这意味着我们有一个 C++ API 连接到我们的 SQL Server 并执行典型的数据库操作,例如插入/更新/查询。我们希望将其做成一个 3 层设计,中间有某种应用服务器。目标是随着我们获得更多负载;我们不需要处理作为瓶颈的数据库。设计是让用户的所有通信都发生在“中间层”,然后转到数据库。这将避免我们将复杂的业务规则放在数据库触发器中并让中间层处理它们。
我仍然不清楚的是中间层是什么样的。它必须是某种WebService吗?所有客户端都使用 HTTP 与中间层建立一些连接,然后我们将其传递给数据库?如您所知;从 C++ API 到 Web 服务;那是一个很大的转变。非常感谢您提供的任何资源来帮助我思考这个主题。谢谢!

4

1 回答 1

0

由于您已经有一个连接到我们的 SQL Server 并直接在其上执行操作的 C++ API,因此这似乎已经适合重构到您的设计的中间层。这段代码已经根据一些规则来操作数据库,这正是你的中间层应该做的。

剩下的工作就是将表示逻辑从这个 API 中分离出来,并允许它驻留在自己的应用程序中,这些应用程序连接到中间层 C++ API,以便由它处理它们的数据,存储在数据库和返回的结果显示给用户。

至于表示层和 C++ API 之间的连接,根据您的要求,您可以使用专有通信协议(例如,通过 TCP/IP 或 RPC 实现)或 HTTP,通过中介“中继”Web 服务,它从服务器调用您的 C++ API 并将结果返回给调用者。HTTP 选择虽然最初实现起来更快,但有一些方面需要考虑,例如默认情况下它是无状态的(您需要自己实现用户会话)并且必须与代码保持同步,当公共方法在开发过程中发生变化时。

于 2011-08-07T06:50:32.437 回答