【一起学UniGUI】--UniGUI的部署选项(5)

uniGUI支持Windows平台下所有主要部署选项。 

1.Standalone Server (独立服务器) 

        最简单的部署方法是独立服务器。在这种模式下,应用程序服务器像桌面应用程序一样直接运行。它也是用于调试应用程序的模式。运行应用程序可执行文件后(它是一个EXE文件),它将最小化到托盘图标,并运行到用户手动终止为止。见下图:

         一个独立的应用程序可以从浏览器访问,地址栏只需键入:http://localhost:8077
        其中8077是应用程序绑定到的专用端口号(侦听端口)。可以在服务模块(ServerModule)中轻松地修改它。

        独立模式只建议用于调试目的。因为它是作为桌面应用程序运行的,所以当当前用户注销时,它就会被终止。而且,它不会在重启后自动启动。模式最适合用于开发时调试。当您的应用程序在调试模式下运行时,您可以设置断点、暂停、转到光标位置,并使用Delphi IDE的所有其他高级调试功能来调试您的应用程序,就像调试任何其他VCL应用程序一样。不建议在正式使用环境中使用此模式,因为它不会在OS重新启动时自动运行。此外,它可以很容易受未经授权的用户干预而被终止。

2. Windows 服务

        另一种部署方法是Windows 服务。通过创建uniGUI Windows服务应用程序,可以将应用程序部署为标准的Windows服务应用程序。这种方法是正式使用环境的首选方法之一。每次系统重启时,Windows服务都会自动运行。它将保证Web应用程序的可用性。Windows服务应用程序可以像上面描述的独立服务器一样从浏览器访问,这意味着每个Windows服务应用程序都需要一个专用端口(未使用的专用端口)。

3. ISAPI 模块

       最后一个可用的部署选项是ISAPI模式。该技术最初是由Microsoft公司采用基于Windows DLL技术应用到Microsoft IIS产品中的。当然,还有其他web服务器,如Apache,也支持加载ISAPI模式。ISAPI模式在许多方面与前面讨论的选项不同。最重要的是,它不包含内置的Web服务器,而不是独立的服务和Windows服务。在ISAPI模式下,IIS服务器是HTTP服务器,ISAPI模块执行它的请求。您可以使用Delphi IDE中的uniGUI向导轻松创建ISAPI模式应用程序。编译后,uniGUI应用程序将输出DLL文件而不是EXE文件。这个DLL文件必须部署到IIS服务器(详细描述在Web部署部分的ISAPI模式中)。uniGUI 应用程序所生成的DLL文件支持从IIS 5.1开始的所有IIS版本。ISAPI模式为开发人员提供了在同一服务器上部署许多模块的自由,而不需要为每个应用程序选择不同的端口。它还继承了Microsoft IIS中所有高级安全特性的优点。

PS:IIS的安全脆弱性曾长时间被业内诟病,一旦IIS出现远程执行漏洞威胁将会非常严重。远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码,可以导致IIS服务器所在机器蓝屏或读取其内存中的机密数据。详情请自行百度!

运行ISAPI应用程序就像在浏览器中打开以下URL一样简单,访问格式: http://localhost/appdir/app.dll 

如果你有多个应用程序在同一个文件夹下,你可以调用他们只需指定一个不同的DLL名称:

 http://localhost/appdir/app.dll
 http://localhost/appdir/app2.dll
 http://localhost/appdir/appaccount.dll

你可能感兴趣的:(UniGUI,uniGUI)