关于B/S开发(300分)

  • 主题发起人 主题发起人 Jiao_he
  • 开始时间 开始时间
To 东风在说:
第一点:我就是这个意思。IntraWeb能集成ASP、ASP .Net或JSP这些构建企业级B/S系统的技术
中其中任何一项吗?所谓集成,就是指ASP与COM,JSP与EJB那样的紧密结合程度。它不能做到
这一点,也没有能力做到这一点。
第二点:IntraWeb开发的Web应用是可以跨平台的,这就不可避免的要支持一些被多种平台所广泛
支持的传统技术。下面这些我刚从IntraWeb的帮助中找出的内容验证了我的猜测:
IntraWeb applications can be targeted to any of the following server types:
ISAPI/NSAPI
Apache versions 1 and 2
CGI (page mode only)
Windows services
它自己提供的Apache DSO Application实质应该是一种动态连接库的形态,我用相关向导建立
的项目编译后生成的是.so文件,在UNIX/Linux下动态连接库就是这种形式的,因此可以认为
Apache DSO Application是一种类似ISAPI的技术形式。它的Windows service形态是把每个应用
程序作为一个简单的Web Server,这一点与以上几点的技术不同,是一个值得花点时间进行研究
的地方。
第三点:这一点是上次发贴时对IntraWeb了解尚浅时抛出的观点,其中有不成熟之处,在此表示
歉意。但如果构建程序的技术采用的是CGI或ISAPI,自然是要面临两者的缺陷的,其中CGI的就
是速度慢、服务器负荷大,不能服务大量的客户端并发请求。ISAPI的主要问题是开发难度高,
如果要说ISAPI如何专业,那是说的要求开发ISAPI技术的人员有相当的技术水平,因为ISAPI需
要面临在多线程环境中处理数据库访问(如果用到数据库的话),要想摆平方方面面的事情,建
立一个高效而稳定的ISAPI系统是一件不容易的事,一旦编写的ISAPI程序有问题,往往会给Web
服务器造成严重的影响。
第四点:代码复用、完全机制、事务管理、对象缓冲(Pooling)与数据库缓冲是COM+、CORBA、
EJB等企业级组件结构所具有的重要功能,它们用于保障一个系统在响应大客户量客户端访问下
保持良好的负载能力与扩充性,这些相关技术并不是ISAPI/NSAPI、CGI、Apache DSO或IntraWeb
的Service所能提供的,这就是我认为IntraWeb不适合开发关键性企业级应用的原因。
关于CGI、ISAPI/NSAPI技术在开发企业级应用上与ASP的差距,李维的《Delphi 5.x 电子商务篇》
最后一章有详细论述,大家就兴趣的话可以看看。
 
等近期的工作告一段落,我计划把以往几个项目中用到的的技术整理一下,做成一个较复杂
的例程公布出来,与大家相互交流一下。
 
请不要用delphi作B/S开发,很不稳定,使用asp或jsp/servlet/ejb结构吧
 
呵呵,期待中……,希望对这个问题的讨论能够活跃起来
 
如果你把 Intraweb 当做一个在 IE 中执行的应用程序还可以,千万别把他当web看,
他对web上的后退,刷新等功能支持太差.
我觉得用他做管理系统还可以(开一个nomenu,notoolbar的窗口,不需要支持后退和刷新).
如果用他做网站不行,你总不能禁止人家用 back 和 refresh.
本来 intraweb 的pageform +webbroke 可以开发网站,但pageform有 bug.
希望 intraweb 6和delphi.net 能提供更好的方案
 
关于做B/S的方法Sachow谈了几种,我想Sachow在ASP上花了不少的精力。
ASP的优缺点了解得很清楚。也许现在对将来采用.net或J2ee继续发展正在忧郁不绝。
可惜我没有对J2ee作深入研究,现在不谈J2ee和.net谁好谁不好,只谈谈.net。
我个人的观点,.net中的asp.net最终是asp的杀手,他克服了asp中的大部分缺点,
特别是源代码的保护性以及代码的复用、可读、维护性,几乎达到了和传统程序同一个级别的水平。
微软做了.net但他不仅仅是增加了c#和asp.net和增强了vb、vc,它还把做企业级的应用程序的开发难度
大大降低了,把Com技术简化掉了,Com不再神秘和难以琢磨。
我觉得Borland的开发工具和Microsoft的开发工具最大的区别在于,每推出一个重量级别的版本,
Borland带给我们的是更轻松和更快捷完成指定功能开发的开发工具来满足客户日益增长的软件开发需要。
而Microsoft带给我们的是全新的开发模式及理念来满足客户日益增长的软件开发需要。
打个比方,Microsoft的开发工具是练的内功,Borland练的是外功,两种不同的功夫练到绝顶的时候,
其实可能还是不分上下。
作为我们这些软件开发者,最理想的境界是用Microsoft的开发理念武装大脑,用Borland的神兵利器解决问题。
但这也过于理想化了。Borland老是慢半拍,.net神兵利器还没有打造出来(要给点时间,神兵利器也不是那么好造的),
不过基于VC6.0开发模式的传统软件开发到Delphi6.0/7.0阶段,已经被Borland公司几乎发挥到了极限。
.net的开发理念Borland的公司的人估计还没有完全吸收,只是为了应付市场,推出来了些中看不中用的东西,
所以,我现在认为现阶段还是用.net开发环境开发B/S结构为好,不过再过2-3年就不知道了。
在.net中有个企业级的演示例子Duwamish,虽然规模不大,但把Microsoft公司的.net核心思想几乎都包容在里面了。
我现在正在认真研究Duwamish,并且按Duwamish的模式在开发自己的东西,虽然现阶段的进度慢点。但只要.net的
核心思想完全掌握和突破后,那对程序代码将带来质的飞跃,特别是在企业级应用方面。建议大家好好研究,但
要理解它,还是比较难的,特别是初学者(初学计算机编程者)几乎是看天书一样。
目前,我在网上也下载了些.net开发的东西,看到的,都是采用旧的软件编程思想,用.net新的开发工具开发的,
大大的篡改了.net开发者的初衷,也许.net的多层开发模式确实那么另人难以理解和使用。
所以,我建议,如果你确实无法理解多层开发模式的化,还是采用传统的开发方式来使用.net,利用它的新的性能,
来提高你的软件执行效果,但务必还是要掌握多层开发模式,这样,你就能建立一个无坚不催的企业级的软件应用环境。
最后,我还是要特别申明,传统的ASP确实是一个优秀的开发环境,不管将来怎么发展,ASP还是会被Microsoft保留的。
它好比Basic,永远永远是初学动态网页编程的首选,因为它是那么的简单,那么的高效率,经管缺点多不胜数。
 
我强烈建议:

不要考虑Delphi,换别的

 
我已经用intraweb做了个项目,效果好。主要是开发周期短,上手快,调试方便等优点。
bug多?intraweb提供了在delphi里开发web的工具,说白了intraweb就是实现vcl向ie代码
(多是javascrip代码)的转换工具。intraweb的控件基本上是有原吗的,自己可以修改里面的代码的。来避免这样那样的bug。atozed公司在一年的时间,intraweb4升到现在的6.0
核心部分基本上已经很成熟了,可见其生命力的。
 
>> wzgss: 有什么经验 介绍一下?
 
我强烈推荐你用asp.net,asp马上就要淘汰了,这种脚本语言还用他干嘛.
 
上面的好多兄弟如Sachow、biggo 等都说得很好,希望大家热烈讨论
请问大家一下:
若要做这样一个较小型的电子商务网站:能发布信息、电子订购、论坛等基本功能,访问量不会很大。
用MIDAS/COM + ASP方式,采用李维的《Delphi 5.x 电子商务篇》上所讲的方法,这样做出来的网站能达到要求吗?采用这种技术需要注意哪些事情?另外,租用一个空间就可以吧?(我曾听说若有象SQL SERVER 或ORACLE 等这样数据库,或是用J2EE做的,服务商不让挂上去,是吗?)
 
如果网站是租用虚拟主机的方式,就不必考虑由MIDAS/COM+技术构建核心组件的方式了,ISAPI也不行。服务器提供商一般是不会让你把这些与操作系统核心技术密切相关的东西挂到他们的系统中的——出于安全考虑。一般他们只会接受由脚本语言开发的应用,但如果采用主机托管方式(服务器是你们自己的),那就可以爱用什么技术就用什么技术。
另外,租用空间的方式下,数据库的应用是受限的,如果你的系统需要用到SQL Server、Oracle或其它SQL数据库,通常是需要花高价来租用的,我以前问过本地某电信运营商的价格,好像是50M SQL Server数据库空间是3000元/年(贵!),现在应该降了些价吧。
如果不是对系统安全性有特别的要求,一般没有必要用MIDAS/COM+技术来做整个系统的应用,这样的工作量会很大,难度也比较高。我最近的一个小项目快完成了,就是完全用MIDAS/COM+技术来与数据库打交道(没用WebSnap),ASP跟本不碰数据库,结果很累人,建议工期紧或对MIDAS/COM/COM+技术没有1年以上经验的人要慎用。
 
TO:Sachow
兄弟,可以留个 E-MAIL 吗?想跟你聊聊。
 
To lelian:我的个人信息里有。
 
biggo,你讲的,我深有同感,我是从pb,vb,delphi,一步步过来的,delphi的确已到了windows一般开发的极限,开发b/s它不是首选,我目前也打算学.net,毕竟这是方向,希望你多发言,对我们有启发。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
后退
顶部