我读了this question,但不知何故不满意答案。
我也很快阅读(正如那个问题中的建议)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,所以基本上我需要一个仅用于数据和跟踪状态的网络服务器,而不是用于提供网页。
要创建REST服务,请尝试我们的开源mORMot project。现在,这是一个众所周知的稳定项目,在全球范围内广泛应用。
你可以通过实现一个自定义的TSQLRestServerStatic
类(类似于TSQLRestServerStaticInMemory
类,但调用你的DAC)来使用任何具有框架当前状态的DAC:所以你将受益于ORM和JSON RESTful架构,以及加速http.sys内核模式服务器。
SQLite3引擎对于我们的框架不是强制性的,即使它被设计为更好地使用它。
如果您将从头开始申请,我认为如果Delphi是您唯一的选择,mORMot是一个不错的选择。如果选择datasnap,您将不得不忍受性能和稳定性问题。
我在博客上写了一篇文章,讨论在大型应用程序中使用DataSnap(和mORMot)的性能和稳定性,您可以在以下链接中看到它:
我想你应该看看kbmMW,有一种方法可以实现基于事件驱动的HTTP服务器的基本REST服务器。
检查news.components4developers.com
新闻组,那里你会有很多文档。
FireHttp是一个基于Delphi / Object Pascal语言的高性能Web服务器。它支持HTTP 1.1,HTTPS(SSL / TLS),WebSocket,GZip,Deflate,IOCP,EPOLL。它采用多进程+多线程模型,具有良好的稳定性和并发性,并提供SDK源代码。开发人员可以使用SDK快速构建高性能的跨平台Web应用程序。