數(shù)據(jù)庫(kù)在未來(lái)j2ee開發(fā)中的角色已經(jīng)不在重要

          數(shù)據(jù)庫(kù)在未來(lái) j2ee 開發(fā)中的角色已經(jīng)不在重要

          以數(shù)據(jù)庫(kù)為核心的軟件時(shí)代已經(jīng)過(guò)去,數(shù)據(jù)庫(kù)時(shí)代早已結(jié)束 . 如果你重視數(shù)據(jù)庫(kù),你的 J2EE 系統(tǒng)就無(wú)法完全面向?qū)ο螅挥心愫鲆晹?shù)據(jù)庫(kù),你的系統(tǒng)才有可能完全邁向面向?qū)ο螅劣跀?shù)據(jù)庫(kù)性能調(diào)優(yōu)等特定功能都可交由 EJB 容器或 O/R Mapping 工具實(shí)現(xiàn).

          B/S 代表的多層架構(gòu)是當(dāng)今 j2ee 開發(fā)中的核心 . 多層架構(gòu)實(shí)際是將以前系統(tǒng)中的顯示功能、業(yè)務(wù)運(yùn)算功能和數(shù)據(jù)庫(kù)功能完全分開,杜絕彼此的耦合與影響,從而實(shí)現(xiàn)松耦合和良好的可維護(hù)性。

          一.??????????????????? 從設(shè)計(jì)上說(shuō):由于實(shí)現(xiàn)層次完全分離,業(yè)務(wù)運(yùn)算功能成為一種中間功能(中間層),它不依賴具體的表現(xiàn)層技術(shù) (Jsp/Html applet ) ,也不依賴具體數(shù)據(jù)庫(kù)技術(shù)( Oracle/SQL Server ),業(yè)務(wù)運(yùn)算功能運(yùn)行在 J2EE 應(yīng)用服務(wù)器中,當(dāng)我們的業(yè)務(wù)運(yùn)算功能不再依賴數(shù)據(jù)庫(kù),意味著數(shù)據(jù)庫(kù)不在是核心開發(fā)點(diǎn) .

          二.??????????????????? 當(dāng)然,多層結(jié)構(gòu)帶來(lái)了性能問(wèn)題:客戶端訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),通常需要經(jīng)過(guò)多個(gè)層次,非常耗費(fèi)性能, 如何盡量減少數(shù)據(jù)庫(kù)訪問(wèn)是 J2EE 應(yīng)用系統(tǒng)首要解決的問(wèn)題,使用存儲(chǔ)過(guò)程并沒有解決這個(gè)問(wèn)題,存儲(chǔ)過(guò)程的執(zhí)行還是屬于后端,并沒有縮短客戶端請(qǐng)求所要經(jīng)歷的坎坷路途。

          解決性能問(wèn)題的根本解決之道是使用對(duì)象緩存,現(xiàn)在, 64 CPU 提供的巨大內(nèi)存空間為單臺(tái)緩存計(jì)算提供了硬件基礎(chǔ),更重要的是,這種緩存計(jì)算是可伸縮的,通過(guò)集群的緩存機(jī)制(如 JBossCache ), 通過(guò)增加應(yīng)用服務(wù)器的數(shù)量,可以提高整個(gè)業(yè)務(wù)邏輯層的緩存計(jì)算能力,拋棄過(guò)去那種為內(nèi)存斤斤計(jì)較的老思維吧。

          . 在系統(tǒng)分析之初是否首先需要數(shù)據(jù)表設(shè)計(jì)呢?回答是否定的, UML 為代表面向?qū)ο蟮姆治鲈O(shè)計(jì)方法已經(jīng)成為強(qiáng)大工具,隨著面向模型驅(qū)動(dòng)分析設(shè)計(jì)( MDA )的普及, 面向數(shù)據(jù)庫(kù)分析方法正在逐步被拋棄,擁有深厚傳統(tǒng)數(shù)據(jù)庫(kù)分析習(xí)慣的程序員必須面對(duì)和接受這種挑戰(zhàn)。

          縱觀整個(gè) J2EE 系統(tǒng)開發(fā)過(guò)程,數(shù)據(jù)庫(kù)已經(jīng)從過(guò)去的中心位置降為一種純技術(shù)實(shí)現(xiàn),數(shù)據(jù)庫(kù)只是狀態(tài)持久化的一種手段(文件是另外一種實(shí)現(xiàn)手段);什么是持久化?這是相對(duì)于內(nèi)存緩存狀態(tài)而言,持久化就是當(dāng)內(nèi)存斷電情況下能永久保存狀態(tài)數(shù)據(jù),但是如果 J2EE 應(yīng)用服務(wù)器是 7X24 小時(shí)集群運(yùn)行;幾乎永不當(dāng)機(jī),是否有持久化的必要呢?

          很顯然,數(shù)據(jù)庫(kù)已經(jīng)淪為與操作系統(tǒng)中文件系統(tǒng)同樣的層面,以它為中心的時(shí)代真的結(jié)束了, IBM 早期將 DB2 數(shù)據(jù)庫(kù)開源已經(jīng)強(qiáng)烈向我們昭示這點(diǎn)。

          對(duì)于 J2EE 開發(fā)者來(lái)說(shuō),盡早拋棄過(guò)去的兩種影響:過(guò)程語(yǔ)言編程習(xí)慣和以數(shù)據(jù)庫(kù)為中心的設(shè)計(jì)習(xí)慣,從全新的面向?qū)ο蠼嵌?/span> (OOA OOD OOP AOP) 來(lái)設(shè)計(jì)開發(fā)你的 J2EE 系統(tǒng), J2EE 設(shè)計(jì)開發(fā)三件寶: Model Patterns Framework

          ?

          posted on 2007-01-22 19:17 77 閱讀(304) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(12)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          新聞檔案

          相冊(cè)

          API文檔

          java開發(fā)與研究

          にほん

          上海房產(chǎn)

          東京生活

          數(shù)據(jù)庫(kù)大全

          編程與開發(fā)

          美國(guó)開發(fā)生活

          走向管理

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 遂昌县| 临武县| 乐山市| 博兴县| 叙永县| 丹寨县| 竹溪县| 和林格尔县| 莱州市| 福贡县| 宣威市| 和平区| 兰坪| 绥芬河市| 义马市| 龙门县| 金寨县| 丹东市| 永嘉县| 武威市| 怀来县| 江津市| 威海市| 漳平市| 定结县| 桂林市| 汝阳县| 阜宁县| 汉源县| 桐城市| 郁南县| 元朗区| 江永县| 河北省| 莱西市| 化州市| 宁南县| 元阳县| 乐都县| 原平市| 乌兰浩特市|