JDO之前世今生sun2bin(原作) 來源:CSDN
Java發明以來,在短短的幾年之間,迅速占領了從桌面應用(J2SE)到服務器(J2EE),再到小型設備嵌入式系統(J2ME)的應用開發市場,其語言吸取了SmallTalk的一切皆對象的理念,擺脫了C++的歷史累贅,簡潔、自由的風格贏得了很多開發者的喜愛。從JDK1.1開始,Java成為實用的語言,而不是被人觀望的新品秀;再經過JDK1.2的大量增強(尤其是Collection Framework),JDK1.3的虛擬機效率提升(HotSpot),JDK1.4的融合百家之長(Logging、RegEXP、NewIO等),現在已經是成熟穩重,頗顯大家風范。
在企業級市場上,大部分的應用建立在數據庫基礎上,數據是企業的生命,傳統開發語言,包括面向過程的C、面向對象的C++、變種Pascal的Delphi(非常棒的語言,我用過四年),面向數據的PowerBuilder等等,先后在數據庫開發的舞臺上展現風姿。Java當然不會放過這些,于是,出現了JDBC。在JDBC的幫助下,Java也迅速滲入數據庫開發的市場,尤其是面向企業服務器的應用開發。
今天要談的JDO,與JDBC有非常密切的關系,盡管JDO并不是只面向JDBC的數據對象包裝規范。下面先簡單地介紹一下JDBC。
關系數據庫的歷史一言難盡,我只能從我的接觸經歷和所見所聞,簡單地敘述一下。最早的時候,計算機還只在一些大型的研究機關露面,并不是普羅大眾可以涉及的。蘋果電腦將個人電腦引入民間,再隨著IBM的PC標準開放,個人電腦逐步普及開來,加上微軟的DOS操作系統,以及Borland的Turbo系列語言開發環境,老百姓發現原來電腦可以做這么多事!后來,出現了DBASE,一個簡單的關系數據庫系統,和SQL語言。后來,Borland看到了數據庫的市場前景,推出了Paradox(也是當今Delphi和C++Builder中仍然使用的Paradox),一舉占領了民用數據庫的大部分江山,之后,Borland干脆收購了Dbase,后來又購買了InterBase,將數據庫市場的領先優勢一直保持到Windows3.0出現。這時候,微軟在Windows1.0和2.0被人痛罵之后頑強地推出3.0,以及更穩定的3.1和Win32API,造就了個人電腦桌面操作系統的霸主地位,在Borland未警覺的情況下,購買了同樣具有類Dbase數據庫技術的Fox公司,并迅速將其易用化,形成了FoxBase,后來演變成FoxPRo,逐漸超過了Borland,成為個人電腦數據庫的大戶。微軟再接再勵,為簡單易用而低負荷要求的數據庫應用開發了access,贏得了廣大開發人員的心。當然,同期的Oracle、Sybase、Informix等商用數據庫憑專注于企業級數據庫技術成為高端的幾位領軍人物。微軟當然也想成為高端數據庫供給商之一,于是自行開發一套面向企業級應用的數據庫,不過很快項目夭折,微軟不甘心,購買了Sybase的底層TDS技術,包裝成了SQL Server,憑微軟的高度易用性的特點,也占領了不少市場。
當市場上出現眾多的數據庫產品之后,Borland和微軟都發現自己擁有的數據庫產品挺多,市場也不小,不同的產品給用戶帶來不同的配置任務,不利于所有產品的推廣,于是,兩者紛紛開始制定數據庫訪問的規范,微軟推出了ODBC,其面向開發人員的親和性,逐步獲得了認可,同時,Borland糾集了IBM和Novell也推出了IDAPI數據庫接口規范,也就是今天BDE的核心,不過后來Novell和IBM先后退出,只剩Borland獨力支撐。不過Borland是一個技術實力雄厚的公司,其技術一向領先于微軟,BDE的性能比初期的ODBC不知道要好多少倍,后來微軟偷師學藝,把連接池等技術加到ODBC中,在Delphi3.0及其BDE在市場上風光無限的時候,逐步趕了上來并有超過。直到今天,BDE仍是Borland的產品線上的數據庫訪問標準,而微軟假如不是將ODBC和多數數據庫的客戶端內嵌進Windows的話,估計BDE仍是市場的贏家。不過,微軟是玩弄市場的老手,通過對操作系統的壟斷,其數據庫產品和ODBC標準終究占據了多數開發市場。
Java開始涉及數據庫應用后,Sun就極力制定Java的數據庫規范,JDBC API就是類似ODBC一樣,對數據庫訪問的底層協議進行最基本的包裝,然后形成一套統一的數據訪問接口,數據庫連接、SQL語句句柄、結果集,都帶有ODBC的影子。以方便配置為目的,Sun極力推薦完全瘦客戶端的TYPE 4型JDBC驅動,這是一個不需要安裝數據庫客戶端的驅動規范,是現在使用最多的。當然,為了保持與舊的數據庫兼容,JDBC規范中包括了專用于連接ODBC的TYPE 1驅動和需要安裝數據庫客戶端的TYPE 2驅動,以及可以由廠商在數據庫服務端專門提供面向JDBC的服務的TYPE 3驅動。
新聞熱點
疑難解答