介紹
你聽說過這樣一個報道:還有另一種新技術承諾讓Java 2企業版(J2EE)開發者更便于進行J2EE的開發---一項能削減開發工作達百分之三十、四十甚至是五十的突破。一個新的軟件能使復雜的開發任務簡化。一 個新產品增強你現有的Java集成開發平臺和網絡應用程序服務器環境。
我們也聽說了同樣的報道。在同事間討論時,我們聽說IBM的新DB2 Information Integrator,能夠提供存在于不同平臺上的、使用不同格式保存的、能通過各種不同的應用編程接口(API)訪問的數據的單地址映射。我們想知道這種技術能為需要使用完全不同的數據構建網絡組件的J2EE程序員做點什么。
在本文中,我們將討論一系列的servlet,在我們的案例中,我們構建這些需要訪問跨多個數據源-- DB2、Oracle和Excel的數據的servlet。一類 servlet使用DB2 Information Integrator模擬這些數據源的單一地址映像,而另一類直接地訪問每個所需的數據源。
結果很讓我們吃驚,我們計劃把它們和你分享。
在這三部分的文章系列中,我們將帶你進入我們的工作,這樣你就可以自己比較不同的實現之間的差異,然后了解我們必需克服的挑戰。本文是這個系列的第一篇文章,描述了我們的工程并概括了我們的重要的發現。 第二篇文章將把注意力放在我們的開發工作中,用更加詳盡的細節讓你了解設計和編程問題。最后一篇文章將描述我們遇到的執行性能問題,以及介紹用于我們的聯合數據庫和本地數據訪問實現的一些性能數據。
但是如果你等不及把這些全部學完,那么我在這里告訴你:我們發現,當我們使用DB2 Information Integrator的聯合數據庫技術的時候,我們的開發工作實際上比我們直接訪問每個數據源要更簡單、更快捷。尤其是,我們減少代碼量達百分之四十,并且縮短了設計、開發和測試周期達百分之五十。這正是我們所期待的。
并且,也許同樣重要,我們發現雖然不同的查詢結果變化很大(一些聯合查詢比直接數據訪問快,而其它一些要慢一些),我們的基于聯合數據庫技術的servlet的性能也比直接訪問數據的servlet更有競爭力。當然,基于特定的查詢問題和servlet設計實現,結果可能有差異。但是你將得到一個機會,評論我們的工作,這樣你就能看到它可能正好反映你的機構中的日常工作中的問題。