• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      對象持久化技術(shù)在企業(yè)級應(yīng)用中的技術(shù)架構(gòu)研究

      2012-04-29 00:44:03石少敏
      電腦知識與技術(shù) 2012年32期
      關(guān)鍵詞:企業(yè)應(yīng)用面向?qū)ο?/a>

      石少敏

      摘要:面向?qū)ο笞鳛楫?dāng)前企業(yè)級應(yīng)用系統(tǒng)開發(fā)技術(shù)的基本思想,由于對象的存儲機制,存在不可避免的缺陷,即程序?qū)ο笾荒艽嬖谟趦?nèi)存,業(yè)務(wù)數(shù)據(jù)和對象的生存周期狀態(tài)不能被永久保存。對象持久化技術(shù)即是該問題的針對性解決方案。對于企業(yè)應(yīng)用而言,可靠的對象持久化方案,是提高應(yīng)用系統(tǒng)健壯性和穩(wěn)定性的保障基礎(chǔ)。

      該文即從對象持久化技術(shù)的架構(gòu)進行研究分析,明確其包含的技術(shù)要點,并與面向?qū)ο髷?shù)據(jù)庫思想相結(jié)合,闡述其在系統(tǒng)應(yīng)用中的優(yōu)勢,為企業(yè)應(yīng)用開發(fā)提供強健的技術(shù)基礎(chǔ)。

      關(guān)鍵詞:對象持久化;面向?qū)ο?;企業(yè)應(yīng)用;Hibemate

      中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2012)32-7641-03

      1對象持久化

      對象持久化技術(shù)是提供對象持久化服務(wù)的中間件技術(shù),其本質(zhì)思想是把數(shù)據(jù)或程序同時存儲到存儲器或數(shù)據(jù)庫中。從整個系統(tǒng)的體系結(jié)構(gòu)中把對象持久化功能分離出來,可以降低系統(tǒng)緊耦合,從而提高系統(tǒng)功能模塊的復(fù)用程度。

      對象持久化是永久存儲對象的一種技術(shù)。持久化機制包括基于OS的文件存儲機制、面向?qū)ο髷?shù)據(jù)庫以及關(guān)系數(shù)據(jù)庫等。

      對象持久化的實現(xiàn),我們必須按照持久化機制所選擇的,來確定對象的持久化的方法。各種持久化方法有其各自的優(yōu)缺點,不同的企業(yè)應(yīng)用應(yīng)該根據(jù)自身的系統(tǒng)機構(gòu)模式,選取不同的持久化策略。

      2面向?qū)ο髷?shù)據(jù)庫

      對如聲音、圖像、圖形、影像等這些數(shù)據(jù)類型多樣、結(jié)構(gòu)復(fù)雜的數(shù)據(jù)進行存儲和處理,以及在此基礎(chǔ)之上的對數(shù)據(jù)庫的各種檢索、查詢、修改,傳統(tǒng)的數(shù)據(jù)庫都不能很好的支持。為了有效管理這些數(shù)據(jù),面向?qū)ο髷?shù)據(jù)庫系統(tǒng)應(yīng)運而生。

      面向?qū)ο髷?shù)據(jù)庫系統(tǒng)以面向?qū)ο笏枷氲幕咎卣鳛榛A(chǔ),支持對象數(shù)據(jù)模型。同時,作為一個數(shù)據(jù)庫管理系統(tǒng),也具備數(shù)據(jù)庫管理系統(tǒng)的各項基本功能:

      1)永久性,即對數(shù)據(jù)的永久保存;

      2)并發(fā)事務(wù)控制,即保證多個用戶同時操作時,數(shù)據(jù)能夠保持其完整和準(zhǔn)確;

      3)故障恢復(fù)功能,能夠?qū)?shù)據(jù)庫從某一錯誤或故障狀態(tài)恢復(fù)到正確狀態(tài)的功能;

      4)獨立于應(yīng)用的非過程化查詢功能。面向?qū)ο髷?shù)據(jù)庫當(dāng)前以支持典型的選擇、連接、投影等查詢功能的OQL語言為其標(biāo)準(zhǔn)查詢語言。

      此外,部分面向?qū)ο髷?shù)據(jù)庫系統(tǒng)還具有新的應(yīng)用領(lǐng)域所需要的特性,如版本分布式計算、長事務(wù)和嵌套事務(wù)、模式演化、版本管理等。由此可以看出,在對象模型基礎(chǔ)上的面向?qū)ο髷?shù)據(jù)庫,對對象數(shù)據(jù)的管理遵循面向?qū)ο蟮幕舅枷耄湄S富的功能,也逐漸使其成為對象持久化實施的優(yōu)勢技術(shù)。

      3對象持久化技術(shù)Hibernate

      3.1Hibernate框架介紹

      所有的系統(tǒng)其基本配置功能都基本類似,因此,關(guān)鍵問題是如何提高系統(tǒng)的效率。持久化對象,其本質(zhì)是通過不斷地優(yōu)化數(shù)據(jù)庫的訪問策略,更有效地提高系統(tǒng)應(yīng)用性能。由于系統(tǒng)數(shù)據(jù)庫負(fù)擔(dān)主要來自對數(shù)據(jù)庫的頻繁調(diào)用,從而也連帶影響系統(tǒng)的執(zhí)行效率;同時,當(dāng)數(shù)據(jù)庫的負(fù)載失衡嚴(yán)重時,也將直接導(dǎo)致應(yīng)用系統(tǒng)的癱瘓。因此,對數(shù)據(jù)庫訪問策略的優(yōu)化思路,其基本出發(fā)點即減少訪問數(shù)據(jù)庫的次數(shù),減少數(shù)據(jù)庫的負(fù)載。

      Hibernate作為現(xiàn)在最流行的輕量級持久化框架之一,是一個開源的ORM框架,同時它支持所有主流商業(yè)數(shù)據(jù)庫和開源數(shù)據(jù)庫,支持多種緩存機制,這些特點就為從框架級別提高系統(tǒng)數(shù)據(jù)操作效率提供了基礎(chǔ)。最重要的,Hibernate對JDBC對象的輕量級封裝,這在很大程度上為開發(fā)人員直接采用面向?qū)ο蟮姆椒ú僮鲾?shù)據(jù)庫提供了可行性。在Hibernate框架的支持下,開發(fā)人員對持久層的開發(fā)工作,完全可以直接應(yīng)用像關(guān)聯(lián)、繼承、多態(tài)、組合等這些Java中的基礎(chǔ)架構(gòu)功能。開發(fā)人員所要做的工作,不過是對新增加的一些配置文件進行準(zhǔn)確定義,通過這些配置文件,大大節(jié)省了以往開發(fā)人員用戶手工硬編碼JDBC和SQL的時間,也實現(xiàn)了以面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫。

      3.2Hibernate框架邏輯簡介

      Hibernate作為一個開源框架,其為應(yīng)用系統(tǒng)提供持久化服務(wù)的實現(xiàn)機制,可用如圖1所示的示例圖進行說明:

      Hibernate從技術(shù)上是使用反射機制和運行時字節(jié)碼來生成實現(xiàn)持久化的代碼。圖1清晰描述了其內(nèi)部邏輯,即通過定義XML文件實現(xiàn)javabean中的對象與數(shù)據(jù)庫中數(shù)據(jù)表數(shù)據(jù)項字段表的映射,以此實現(xiàn)對數(shù)據(jù)庫表的操作,從而為應(yīng)用程序提供持久化服務(wù)。

      3.3Hibernate框架的優(yōu)化策略

      3.3.1數(shù)據(jù)庫連接池技術(shù)

      數(shù)據(jù)庫連接池技術(shù),如今已是普遍系統(tǒng)開發(fā)所考慮的必備技術(shù)。對應(yīng)用連接池技術(shù)的應(yīng)用,因其應(yīng)用的普遍性,已可以將其視為應(yīng)用系統(tǒng)開發(fā)的基礎(chǔ)技術(shù)方案之一。

      數(shù)據(jù)庫連接池技術(shù),其核心思想是使程序中所有數(shù)據(jù)庫訪問請求能夠復(fù)用在應(yīng)用啟動時所建立的一定數(shù)量的數(shù)據(jù)庫連接,并將這些數(shù)據(jù)庫連接作為對象存儲在一個容器對象中。如此,省去程序每次訪問數(shù)據(jù)庫時需要建立連接的工作,不但改進了對系統(tǒng)資源的浪費,同時,也可觀地節(jié)省了程序的性能開銷。

      3.3.2緩存管理機制

      Hibernate框架結(jié)構(gòu),具備良好的緩存管理機制,以期優(yōu)化對象持久化的性能。

      緩存技術(shù)的應(yīng)用,是提升系統(tǒng)性能的關(guān)鍵技術(shù)之一,其基本思想即是通過減少直接讀寫數(shù)據(jù)庫的次數(shù),來提升數(shù)據(jù)讀寫速度。之所以能夠如此考慮,是基于緩存技術(shù)的數(shù)據(jù)存儲機制。通常數(shù)據(jù)庫以硬盤作為存儲介質(zhì),而緩存則是以內(nèi)存作為存儲介質(zhì),數(shù)據(jù)來源于數(shù)據(jù)庫中數(shù)據(jù)的拷貝,而從內(nèi)存讀取數(shù)據(jù)的速度遠(yuǎn)比從硬盤讀取數(shù)據(jù)要快,由此,應(yīng)用程序在讀數(shù)據(jù)的時候便可以直接讀取緩存中的數(shù)據(jù),從而節(jié)省了數(shù)據(jù)讀取所需的硬件開銷。也因此,緩存技術(shù)成為減少數(shù)據(jù)庫直接訪問的基礎(chǔ)策略。

      3.3.3優(yōu)化數(shù)據(jù)庫訪問代碼

      Hibernate作為一種系統(tǒng)應(yīng)用開發(fā)框架技術(shù),在優(yōu)化系統(tǒng)性能方面的方案,也包括了通過使用提供的Query接口中的方法來提高效率。

      iterate()方法在條件查詢應(yīng)用中有比較多的使用,而其本質(zhì)是在3.3.2節(jié)所述的緩存管理思想的基礎(chǔ)上來實現(xiàn)優(yōu)化。當(dāng)程序需要條件查詢時,先對緩存進行搜索,查找符合條件ID字段;若緩存中有符合條件的結(jié)果,就可以直接返回查詢結(jié)果集。另外,用iterate()方法代替list()方法,在某些情況下能夠減少select語句中的字段,降低了訪問數(shù)據(jù)庫時的數(shù)據(jù)量。

      Hibernate從類似如上的一些細(xì)節(jié)上,一點一點改進框架對系統(tǒng)性能的支持。

      3.4Hibernate實現(xiàn)

      作為企業(yè)應(yīng)用和關(guān)系數(shù)據(jù)庫之間的銜接件,使用Hibernate提供對象持久化服務(wù),具體是通過一個配置文件實現(xiàn)對Hibernate的配置和初始化。配置方式有多種,其中使用Hibernate.properties文件和Hibernate.cfg.xml,兩種配置是一樣的。

      配置文件除完成連接驅(qū)動類、用戶名、密碼、URL等的初始化外,Hibernate.cfg.xml文件還允許定義mappingresource,完成寫入持久化類的映射文件(類名.hbm.xml)。

      一種完全面向?qū)ο蟮姆椒ň褪菓?yīng)用對象持久層的開發(fā)方法,在此開發(fā)方法中,一方面,要從問題域中抽象出類與對象;另一方面,由于對象持久層實現(xiàn)了持久化對象與存儲介質(zhì)的交互,使用一些成熟的持久層框架技術(shù),可以大幅提高系統(tǒng)開發(fā)效率和應(yīng)用性能。也正是基于此,當(dāng)前持久層框架技術(shù)已被廣泛應(yīng)用于各類企業(yè)應(yīng)用系統(tǒng)開發(fā)中。

      Hibemate是很靈活和強大的,它自身提供了很多性能優(yōu)化策略,針對不同的數(shù)據(jù)庫和訪問量會有不同的優(yōu)化策略。

      4總結(jié)

      對象持久化雖然概念簡單,但是它的實現(xiàn)可能會很復(fù)雜。所以應(yīng)根據(jù)實際情況,考慮是使用較簡單的實現(xiàn)方法,還是采用復(fù)雜的實現(xiàn)方法使得系統(tǒng)易于維護和移植。應(yīng)用程序開發(fā)者也可以考慮使用第三方產(chǎn)品實現(xiàn)對象持久化,這樣做的費用看起來可能比直接開發(fā)的費用要高,但是它能確保持久化功能的完整實現(xiàn)。

      該文即從對象持久化技術(shù)的架構(gòu)進行探討,對其各項技術(shù)要點進行分析,闡述其在企業(yè)應(yīng)用系統(tǒng)開發(fā)中的優(yōu)勢,以期為企業(yè)應(yīng)用開發(fā)提供強健的技術(shù)基礎(chǔ)。

      參考文獻:

      [1]鄧牧.Java對象持久化技術(shù)與Hibemate[J].計算機與現(xiàn)代化,2008(8).

      [2]秦奕青.對象持久化常用方法研究[J].北京機械工業(yè)學(xué)院學(xué)報,2003,18(1).

      [3]薛鵬飛,陳國同.基于.NET平臺的對象持久化方法研究[J].泰州職業(yè)技術(shù)學(xué)院學(xué)報,2007(4).

      [4]王新輝,楊海明,葉瀟.基于Hibernate對象持久化技術(shù)的優(yōu)化策略分析與具體實現(xiàn)[J].電腦知識與技術(shù),2007(10).

      猜你喜歡
      企業(yè)應(yīng)用面向?qū)ο?/a>
      面向?qū)ο蟮挠嬎銠C網(wǎng)絡(luò)設(shè)計軟件系統(tǒng)的開發(fā)
      電子測試(2018年15期)2018-09-26 06:01:34
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
      論財務(wù)軟件在企業(yè)中存在的問題及對策
      淺析管理會計在企業(yè)應(yīng)用中的問題及對策
      微信營銷在企業(yè)應(yīng)用中的問題及對策研究
      電子測試(2015年18期)2016-01-14 01:23:05
      基于面向?qū)ο蟮腛ffice評測系統(tǒng)的分析
      峰叢洼地農(nóng)作物面向?qū)ο笮畔⑻崛∫?guī)則集
      遙感信息(2015年3期)2015-12-13 07:26:54
      中國SaaS企業(yè)應(yīng)用平臺行業(yè)研究——在互聯(lián)網(wǎng)風(fēng)潮中穩(wěn)步增長
      我國管理會計在企業(yè)中應(yīng)用存在的問題及建議
      面向?qū)ο蟮腟oS體系結(jié)構(gòu)建模方法及應(yīng)用
      衡东县| 湟中县| 于都县| 顺义区| 钟祥市| 济源市| 彰化县| 株洲县| 龙里县| 板桥市| 呈贡县| 洛川县| 城步| 页游| 大关县| 静乐县| 固始县| 双辽市| 浑源县| 丹棱县| 密山市| 湖南省| 巴南区| 共和县| 城步| 平顶山市| 教育| 石首市| 耿马| 渝北区| 乌兰察布市| 呼和浩特市| 兰坪| 诏安县| 巴马| 洪江市| 永济市| 饶河县| 田林县| 南投县| 安庆市|