-1

我有一个使用在本地 LAN 上运行的 SQL DB 的 Delphi 应用程序。

我现在想通过 WAN 推出 Delphi 应用程序(原则上),因为我想设置一个总部/分支机构,所以我们有许多分支机构运行 Delphi 应用程序,但 SQL DB 存储在主要总部。

如何才能最好地实现这一目标?

4

1 回答 1

1

今天,n 层/SOA 架构似乎可以满足您的需求。

永远不要将数据库暴露在 Internet 上,永远不要通过 Wire 发送 SQL 请求,而是设计服务,这些服务将被您的客户使用。

您可能仍然使用 RAD 来设计您的 UI,但您最好将您的业务逻辑和数据库远离您的应用程序。

您可以尝试使用DataSnap(可能在您的 Delphi 版本中),或者尝试一些 SOA 框架,例如我们的开源mORMot 框架。详尽的文档中有一些章节介绍了这些新概念,例如 nTier/SOA/ORM/MVC。它在 REST 上使用 HTTP 和 JSON,因此如果需要,您甚至可以使用 AJAX 客户端。

在此处输入图像描述

mORMot框架具有非常独特的/从复制功能,作为其 ORM 功能的一部分。它旨在根据您的需要轻松实现主办公室/本地办公室数据同步。这种同步可以使用WebSockets实时定义。

附带的好处是,由于每个本地办公室都有自己的(SQLite3 自托管)数据库,因此主服务器的请求会减少,如果主办公室服务器崩溃,或者在 Internet 的情况下,本地办公室甚至可以继续工作连接丢失。

于 2015-08-14T11:06:16.137 回答