纯粹Delphi自身的多层框架的实现,几乎都只是达到了玩具的程度,也只能做做Demo给人看,真的到了实战场合,就会暴露出完全不可行:
1)COM+虽然好,却部署困难,难于管理,无法穿透防火墙,诚然有scktsrvr.exe或httpsrvr.dll这样的转接桥程序,却会因为多出一个数据转接口模块从而品质大为下降;
2)exe形态的DCOM的Midas Server部署起来好一些,但是其稳定性、性能却比较低下,没有object pooling,是instance per connection的方式,几乎无法应对大量客户端的场合,而且往往很难直接使用,大多是配合scktsrvr.exe,用socket的方式连接;
3)Delphi的Web Service只能说是“权宜之计”,是稍微可用一点的Delphi的互联网解决方案。不过,相比于其他的支持Web Service的开发平台,Delphi的Web Service毫无突出之处:开发方便性和性能,都不如Asp.Net;跨平台、绿色性、成熟性,不如Java及其一大堆基于Java的Application Server。Delphi是个高效率的语言,可是在其自身的Web Service实现上,并没有作很好的优化。
4)IntraWeb也同样是一套玩具级别的开发平台,高不成、低不就,纵然发挥到了极致,不过是和asp.net差不太多。
5)直接用ActiveForm开发Web系统,这种方法不加变通的来用的话,几乎完全不可行,如果你的系统是一大堆每个1、2M的OCX文件,这将是一件多可怕的事情:每个模块都要注册,同时每个模块更新后,打开页面要等很长时间安装这个模块。
独头蒜的Delphi就是这么一个东西:貌似有很多路可以走,但实际上每条路都走不通。不过熟悉Delphi的人都明白,Delphi的好处并非是它提供了现成的好东西,而是用它能做出好东西来。Delphi的很多思想和模式是好的,只是实现的并不很到位,比如说Midas。实现的不到位,那我们自己来实现好了。
CBX RIA框架就是这么个东西,其实是发扬了Delphi的特色,同时又把欠缺的东西补齐了:
1、采纳一个强有力的Web Server(例如Apache或IIS)直接当作应用服务器
2、发挥优势,客户端用VCL,用bpl的机制给客户端减肥
3、中间层无状态,Pooling
4、直接采用http协议通讯,天然穿透防火墙
5、热部署程序模块,解决部署的麻烦
6、用一个小exe初始化程序,来初始化浏览器,绕开浏览器安全设定的麻烦。CBX RIA框架几乎是国产多Delphi层框架中最好的一个,同时体现SmartClient和RIA思想。 
CBX RIA Demo(需要客户端初始化): http://117.21.247.37/cbx/AppSvr.dll/Splash.ao
有关CBX RIA的评论:http://www.firebird.net.cn/forum_view.asp?forum_id=2&view_id=2251
刚创建的CBX RIA讨论区
http://www.firebird.net.cn/forum_list.asp?forum_id=11

CBX RIA案例:
http://www.firebird.net.cn/forum_list.asp?forum_id=12
CBX RIA QQ群
主讨论群:53623431(已满)
第二群:16169282
第三群:63756040
第四群:64740999
第五群:511572126

解决方案 »

  1.   

    请问采用这套框架后,客户端设计的是一个程序(exe),还是一个网页?是否和平时用delphi设计的方法完全相同?是否可以采用任何第三方控件?
      

  2.   

    这套东西本质上还是HTTP + ActiveX......
      

  3.   

    大多数的知名第三方控件都可以在CBX框架里面使用。但是,CBX默认融入了cxGrid、RO、ExpressBars等控件,所以使用这些控件开发UI,那么客户端对象(ao)会很小。如果使用的控件没有被客户端容器预先融入,那么相应的客户端对象会比较大。高级用户可以自己订制容器预容纳对象。
    CBX是RIA框架,当然程序运行在浏览器里了。
      

  4.   

    用CBX开发web系统,简直就是一种享受,以前的很多Delphi的知识都可以继承,控件也能继续使用,完全是用Delphi在开发程序界面,不必学习拖沓繁杂的html和JavaScript。
      

  5.   

    CBX真正魅力的领略在于实际的开发中。CBX的软件生长周期和Agile的理念非常接近:小团队,快节奏,迅速的响应用户反馈,迅速的改良并部署。属于高频率螺旋方式的伸展系统功能。
      

  6.   

    其实ActiveForm完全成做出这种样子,甚至做得更好,可以把整个应用程序做成一个ocx,可以象开发普通程序一样做的,可能做成外框没有浏览器的,只是程序运行时,安装有这个ocx的网页不能关闭,如果关闭就退出了这个程序