7

到目前为止,我有使用 COM+ 技术构建 3 层应用程序的经验。这是一项庞大而先进的技术,支持许多有趣的概念。对于在 LAN 上运行的应用程序,它可以正常工作。

现在我打算建立3层系统,仍然基于D7。不同之处在于它应该在互联网上工作。客户将分散在世界各地。根据我在这种情况下的经验,我不会依赖 com+。Com+ 基本上需要稳定的连接,防火墙服务器的配置并不容易,它必须打开相当广泛的端口(即使你缩小了它)。

所以问题是。哪种架构(Web 服务、服务或其他)在生产中适合您?我想我想要一个监听一个 tcp 端口的服务。我可以在其中保存可用于打开会话的会话客户端参数。此外,某种内置加密将是一个加号。

感谢帮助!

4

3 回答 3

7

我们使用RemObjects SDK提供服务,我们对质量非常满意!您可以使用 TCP + 二进制消息(用于高速),并带有可选的加密和压缩。但也可以使用 HTTP + SOAP(或 XML 或其他),或 TCP + SOAP 等。它非常易于使用,而且物有所值(不是很贵)!

顺便说一句:Data Abstract 基于 SDK,两者都来自 RemObjects.com。

于 2011-07-25T11:34:42.657 回答
6

SOAP 或 REST Web 服务受到广泛支持,并且(几乎总是 SOAP,绝对总是 REST)基于 HTTP,因此对防火墙友好,并且可以使用 SSL 进行加密。Delphi 7 做 SOAP,但做你自己的 REST 也没有那么难。

另一种选择是像Data Abstract这样的第 3 方库,它可能对 Multi-Tier 有更好的开箱即用支持,但您可能会将自己更多地锁定在一项技术中。

话虽如此:我在生产中都没有丰富的经验。

于 2011-07-25T11:15:36.810 回答
2

你可以看看我们的 ORM 框架,它在包括 HTTP/1.1 在内的多种协议上实现了一个 n-Tier Client-Server 架构。

因此,它可以帮助您使用 ORM 方法和 n-Tier/SOA 架构在 Internet 上构建客户端-服务器应用程序。

SOA(面向服务的架构)可用于ORM 客户端-服务器方法

查看文档,可以下载为 pdf 文件。在 SAD 文档的第一部分中,有一些页面突出了所有这些架构方面:

  • MVC 和多层架构;
  • 为什么是 ORM(具有高级 RTTI) - 为什么它不仅是 DB 上的一层;
  • 为什么是客户端/服务器 ORM;
  • 以 SOA 方法编写 RESTful 服务;
  • ORM 和 SQL(通过 SQLite3 虚拟表、访问 BLOB 的自定义函数)。

它是开源的,从 Delphi 6 到 XE,完整的 Unicode(即使在 Delphi 7 上,因为它使用内部 UTF-8 编码,如 JSON)。因此,当您升级到较新的 Delphi 版本时,您的代码仍然有效。可能有用。

于 2011-07-25T12:07:02.280 回答