2

德尔福 5 Pro 内网 7

我有一个 Intraweb 应用程序,它使用带有 TDataSet 后代的“遗留”后端(B-Tree Filer)来处理数据访问。一切都很好,花花公子。

但是,我现在有一些外部网站要求访问我的数据。我已经完成了简单的 HTML Form Posts and Gets 作为一种通信工具来处理与其他站点的一些集成,但是现在其中一个请求是要求我发回一个数据“表”。表格的每一行代表一个单独的记录。

我怎么能用我目前的设置完成这个?我会返回一个 XML 文档并让另一个站点处理他们的“表格”吗?是否有可以在 Delphi 中使用的等效数据集(如 VB 或 .Net 世界中的数据集定义),如果有,我将如何将其发送回发出请求的站点?

任何想法和建议将不胜感激。

4

2 回答 2

0

首先,我想知道对方正在使用什么(PHP、Java 等),以及 SOAP/XML、JSON/REST 等是否已经“在他们知道如何做的事情列表中”。然后我会同意的。

您可能需要为他们提供 SOAP 或 JSON 服务器服务,或其他一些自定义文档(HTML/XML/JSON 等),否则以他们可以阅读的格式向他们提供原始数据,并为他们提供他们想要的 URL需要知道获取这些数据,您显然打算为他们获取这些数据,而不是为使用一般浏览器的公众访问您的网站。

于 2011-05-26T19:27:31.897 回答
0

HTTP POST(返回给对方)是一个好主意,使用异步操作允许在 HTTP 请求之外运行数据收集和转换。(请参见Matt Biddulph的演示文稿“ Dopplr:它由消息组成”的幻灯片 4 )

您的服务器会收到一个小的 HTTP GET 请求(类似于/context/loaddata?table=TABLENAME&from=1000&records=100),存储这个请求并立即返回一个简单的OK.

然后,您的服务器将收集并准备(XML 或 JSON 编码的)表数据,最后将带有此文档的 HTTP POST 发送到另一方的 Web 服务器。如果此操作失败,则可以轻松重试,直到其他服务器回答 OK。

因此,如果数据准备和转换需要很长时间,那么当您的服务器忙于获取和转换数据时,另一方就不必等待(并且可能会遇到请求超时)。

于 2011-05-26T16:28:39.927 回答