4. 各种接口技术的比较
虽然CGI、WEB SERVER API 和JDBC都能实现WEB与数据库的连接,但它们的工作原理是不同的:
CGI和API 是将WEB服务器与某一进程或API 相连,该进程或API 将得到的结果格式化为HTML文档,返回给WEB服务器,然后由WEB服务器将得到的HTML文档传给浏览器。就是说,与数据库的交互是由WEB服务器完成的。而在JDBC 中,浏览器将嵌于HTML 文档中的JAVA应用程序下载到能够运行JAVA程序的本地浏览器中加以运行。与数据库服务器的交互工作是由浏览器直接完成的。
表(4-1)对它们从不同的侧面进行了比较。
|
CGI API JDBC IDC |
实现的灵活性 |
好 好 好 好 |
编程的复杂度 |
复杂 复杂 中等 简单 |
对程序员的要求 |
高 高 中等 低 |
开发时间 |
长 长 中等 短 |
可移植性 |
较好 差 好 差 |
CPU负担 |
重 较轻 较低 较低 |
平台有关性 |
有关 有关 无关 有关 |
表4-1
相比较而言,CGI接口应用灵活,开发工具丰富,功能广泛,技术相对成熟。CGI 是大家都支持的规范,但是用CGI 编程太复杂,一个简单的SELECT查询,用CGI实现就需要上百条语句;CGI 的运行效率也不高,并且要求程序员熟悉HTML。再加上与平台有关的缺点,所以CGI 已逐渐被新的规范所取代。
用WEB服务器API编写的程序运行效率高,但是,用API编程比用CGI还难,对程序员的要求更高。并且API致命的弱点是,各API间没有互通性,用一种API写的应用程序不能到另一种WEB服务器上运行,限制了使用范围。尽管个别公司(如ORACLE)推出了基于API的开发工具,在一定程度上解决了API开发困难的问题,但仍存在与API一样的弱点:与各自的WEB服务器捆绑的太死,缺乏通用性。
JAVA编程规范,接口清晰,开发效率高。JAVA代码在可移植性、安全性和可靠性等方面也有显著的优势,利用JAVA的多线程机制控制技术可以大大提高程序的执行效率。而且JAVA编译器是在客户端运行,开发人员能创建反馈迅速的JAVA APPLET,这是CGI 和API编程无法实现的。JDBC借鉴了ODBC 的思想,可以利用现成的ODBC驱动程序访问各种数据库,保护了原有的投资。重要的是,在数据库方面,所有的数据库厂商都宣布支持JDBC的标准,已推出或准备推出各自的JDBC驱动程序;在WEB服务器方面,除了MICROSOFT坚持自己的ACTIVEX外,其他厂商都宣布支持JDBC标准。
经过以上的分析、比较,对于此课题的实现,我采用了三层的BROWSER/SERVER结构体系,客户端使用JAVA APPLET编程技术,使用JDBC作为与数据库的接口,其数据库驱动程序为JDBC-ODBC Bridge。
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] [19] 下一页