如何使用Delphi作为大型Web应用程序的后端来创建REST Web服务器?

LaB*_*cca 14 delphi rest delphi-xe

我读了这个问题,但不知何故对答案不满意.

我也很快阅读(正如那个问题中的建议)MarcoCantù2010手册的最后一章,我从中引用以下内容(我想我可以引用这么简短的文字):

我[MarcoCantù]在Delphi编写的服务器端Web和REST应用程序方面投入了大量资金,近年来我开始在会议上使用Delphi Web应用程序REST Framework119(即DWARF),目前还没有公开发表......仅仅因为它太粗略而未完成发表.我已经看到其他正在努力克隆Delphi中的Rails并提供其他REST服务器架构.我认为,如果您想构建一个非常大的REST应用程序架构,您应该推出自己的技术或使用这些原型架构之一.

考虑到我拥有Delphi XE Professional和DataSnap不在那里,我想根据上面的评论考虑编写大型应用程序,似乎DataSnap不是一个选项.

甚至有商业解决方案吗?我不想考虑"我自己的REST实现",我想创建一个使用我的数据模块的网络服务器,我使用我选择的DAC(在本例中为Devart).

最后说明:我的目标是为大型Web应用程序编写后端,在客户端我想使用Ext JS 4.0,但我想用javascript完成所有客户端工作,充分利用EXT JS,所以基本上我需要一个仅用于数据和跟踪状态的网络服务器,而不是用于提供网页.

Arn*_*hez 13

要创建REST服务,请尝试我们的开源mORMot项目.现在,这是一个众所周知的稳定项目,在全球范围内广泛应用.

您可以通过实现自定义TSQLRestServerStatic类(类似于TSQLRestServerStaticInMemory类,但调用DAC)来使用任何具有框架当前状态的DAC:因此,您将受益于ORM和JSON RESTful架构以及高速http .sys内核模式服务器.

sqlite3的引擎不是强制性的,同时我们的框架,即使它被设计工作,并具更好.

  • @user30478 在哪个意义上很重?可能在开发人员的学习曲线中,但不是作为其结果可执行文件大小或设置基于 mORMot 的解决方案。运行在 Windows 和/或 Linux(使用 FPC 编译)上的 REST/JSON 服务器是在几行代码中实现的 - 参见 https://github.com/synopse/mORMot/tree/master/SQLite3/Samples/36% 20-%20Simple%20REST%20Benchmark 或 https://github.com/synopse/mORMot/tree/master/SQLite3/Samples/28%20-%20Simple%20RESTful%20ORM%20Server 或其他示例 (2认同)

Rob*_*ers 10

如果您将从头开始申请,我认为如果Delphi是您唯一的选择,mORMot是一个不错的选择.如果选择datasnap,您将不得不忍受性能和稳定性问题.

我在博客上写了一篇文章,讨论在大型应用程序中使用DataSnap(和mORMot)的性能和稳定性,您可以在以下链接中看到它:

DataSnap分析基于速度和稳定性测试