【问题标题】:IntraWeb / DataSnap?IntraWeb / DataSnap?
【发布时间】:2012-05-05 13:46:04
【问题描述】:

我是一名业余程序员,尝试使用 Delphi XE 构建客户端/服务器应用程序套件。

我偶尔会编写独立的应用程序,供我个人使用。问题是我对网络/多层一无所知。不过我愿意学习。

我想方设法做到这一点,DataSnap 和 IntraWeb 成为最有可能胜任这项工作的候选人。但是,在我开始使用其中一种之前,我想知道一些我在网上找不到的信息:

  1. 如果我构建一个 IW 独立应用程序并将其部署在我的站点(作为服务器)上,我是否能够使用客户端应用程序连接到它/检索数据?我需要在我的 Delphi 编写的应用程序中做到这一点,而不使用浏览器和 HTML(我对 HTML 知之甚少,我并不渴望学习)。我知道 IntraWeb 不适合这个,但它会起作用吗?

  2. 如果我使用 DataSnap 并构建服务器应用程序,我能否将其部署到我的网站?还是我必须将网络上的计算机设置为服务器?

如果有人想知道,我想连接 5 台计算机(来自不同城市),在它们之间交换信息,如果可能的话,使用 ADO,因为我非常熟悉它。

【问题讨论】:

  • 没有太多的主机提供商允许在共享主机帐户上执行 ISAPI dll 或其他服务器/服务类型的可执行文件,这就是您在使用 DataSnap 路线时所看到的。您必须找到允许这些服务的 ISP,或者您必须使用专用服务器。云托管可能是一种选择。我自己对这些没有任何经验,但他们在工作中被调查过,就允许安装/运行的内容而言,它似乎与运行自己的服务器并不完全一样。
  • 我确信 Windows/IIS 托管您可以在其中运行自己的服务以及您可以运行 CGI/ISAPI DLL 的地方,它可能比那些您不能这样做的地方更赚钱。无论如何,它的成本与编程并不完全相关。如果你想做一个 Web 服务实现,它有一个连接到你自己的 SQL 数据库的 SQL DB 后端,那么托管、云托管或专用服务器可能就是你正在寻找的东西,是的,DataSnap是这种中间件的正确工具。最近他们也为移动平台添加了 DataSnap 连接器。

标签: delphi datasnap intraweb


【解决方案1】:

Intraweb 是一种基于服务器的网站构建工具,可通过浏览器访问。它不是“适当的”多层,听起来它不是您所需要的。

DataSnap 旨在做你想做的事。首先,ADO 部分将在服务器上,您将定义服务器提供的用于执行任务的接口。然后您的客户将通过互联网调用该接口以获取数据或执行这些任务等。

至于它们是否可以在您的网络服务器上运行,这取决于您的服务器是什么,以及提供给它的访问权限。 Web 服务器只是一台 PC,但典型的托管相当受限于在该服务器上运行“脚本”语言,这些语言位于托管目录中。 Delphi 服务器将是一个正在运行的可执行文件(通常是 Windows 服务),侦听端口,并且需要比典型的更多的计算机访问权限。您至少需要一个对桌面具有管理员访问权限的虚拟 Windows 服务器才能使其正常工作。不过,在第一种情况下,您可以愉快地在 DSL 线路或类似线路上运行服务器并使其正常工作。当您有客户付费时,您可以担心将其托管在网络上。

【讨论】:

  • 好的,谢谢两位的回答。那么,在 Web 上部署服务器(我可以为我的站点获取专用 IP)并通过客户端应用程序连接到它的最佳方式是什么?
  • @cipnec 要在 Web 中部署原型,您可以尝试 Amazon Elastic Compute Cloud (EC2) - 它提供不昂贵的小型 Windows 服务器实例(按小时付费,他们也曾经提供几个月内免费的初始帐户)。
  • 感谢大家的意见,它帮助很大。我将采用 DataSnap 方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 1970-01-01
相关资源
最近更新 更多