使用http.sys,让delphi 的多层服务真的飞起来

c5soft

端茶倒水的
Administrator
Registered
Life Time Member
VIP Member
原delphi窑洞洞主xalion在自己的博客上发过一篇文章:
《使用http.sys,让delphi 的多层服务飞起来》
http://www.cnblogs.com/xalion/p/6219515.html
这里边提到如何把mormot的httpserver抠出来,嫁接到webbroker上,非常好的思路。
可惜xalion没贴出全部源代码。

最近对WebBroker做了点深入研究,给出了c5soft的实现,贴出全部源代码。
目前是0.0.0.1版本,仅搭了个框架,但是明眼人一看就明白实现思路,一步一步可以把整个框架填满。
源代码在Delphi7 与Delphi 10.2下编译通过。
1526812519314.png
 

附件

  • mORMotWebBroker.zip
    4.9 KB · 查看: 23
最后编辑:

c5soft

端茶倒水的
Administrator
Registered
Life Time Member
VIP Member
框架使用方法:

第一步,新建WebServer Application



第二步, 选择 CGI Standalone Executable



第三步, 将c5soft写的SynWebApp.pas放到项目文件夹下,修改dpr文件, 将CGIApp替换为SynWebApp in 'SynWebApp.pas'
此帖子包含附件:


后续要点:要让程序编译通过,需要下载mORMot的源文件,并将mORMot添加到Delphi的库搜寻路径中。剩下的要是还不会,就去看web broker开发文档了。
此帖子包含附件:
 

c5soft

端茶倒水的
Administrator
Registered
Life Time Member
VIP Member
发布SynBroker 0.0.0.5 版,基本可用版

1.增强SynReqRes.pas,实现了输出ContentStream。基本功能全有了。
2.增加SoapClient客户端用例。实现了我个人的目的--让mORMot支持SOAP。
3.在Delphi7/XE/10.2.3三个版本下编译测试通过。Delphi7编译32位的客户端程序SoapClient.exe连接D10.2.3编译的64位的服务程序SynBrokerTestXXX.exe正常运行。

SynBroker呱呱落地,该说声谢谢了。SynBroker是大家的成果,我能把代码写出来离不开以下诸位的支持:
1.mORMot作者AB, Arnaud Bouchez,我敬仰的少数几位大师之一。mORMot这个项目充分体现了作者的工匠精神,是作者将现代软件工程最新理论付诸实践的产物。他简单、高效的风格非常契合我大道至简、美是简单的追求。
2.flier (小海 //爱喝可乐^_^),用中文将WebBroker系统架构刨析得最透彻的那位大咖,他还写了Soap分析,这位学者沉睡近20年的文字为我搞懂Web Broker节省大量时间。
3.Delphi窑洞洞主xalion,他那篇博文是这个项目的导火索。老司机们应该记得,当年51delphi为大家带来了多少福利。
4.本站站长及看帖并回复的朋友,是大家的关注点燃了我写代码的热情。
 

附件

  • SynBroker0005.rar
    2.7 MB · 查看: 19

c5soft

端茶倒水的
Administrator
Registered
Life Time Member
VIP Member
SynBroker 0.9.0.0 版,基本稳定版,全部源码

让Delphi WebBroker/DataSnap通讯底层用上mORMot提供的http.sys调用,在Windows坏境实现高并发(万次以上)与高稳定(长期不运行不宕机)。
1.项目文件名以SynWeb开头,不是SynWeb开头的文件都不是必须的。一共4个文件,文件之间的引用关系是:SynWebApp->SynWebServer->SynWebReqRes->SynWebEnv。
2.SynHTTPWebBrokerBridge.pas用于替换IdHTTPWebBrokerBridge.pas,让大家少敲打几次键盘,这个文件中实质只有一行TSynHTTPWebBrokerBridge = TSynWebServer。
3.SynBrokerTest.dpr是Console类型服务端用例程序,SynBrokerTestGUI.dpr是GUI类型服务端用例程序。
4.SoapClient.pas客户端用例程序,用于测试Soap调用。
5.在Delphi7/XE/10.2.3三个版本下编译测试通过。支持Win32位与Win64位编译。


重要的事多说几遍,SynBroker能够降生,离不开以下诸位的支持:
1.mORMot作者AB, Arnaud Bouchez,我敬仰的少数几位大师之一。mORMot这个项目充分体现了作者的工匠精神,是作者将现代软件工程最新理论付诸实践的产物。他简单、高效的风格非常契合我大道至简、美是简单的追求。
2.flier (小海 //爱喝可乐^_^),用中文将WebBroker系统架构刨析得最透彻的那位大咖,他还写了Soap分析,这位学者沉睡近20年的文字为我搞懂Web Broker节省大量时间。
3.Delphi窑洞洞主xalion,他那篇博文是这个项目的导火索。老司机们应该记得,当年51delphi为大家带来了多少福利。
4.本站站长及看帖并回复的朋友,是大家的关注点燃了我写代码的热情。
 

附件

  • SynBroker0900.rar
    1.3 MB · 查看: 68
顶部