• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Java 項目中應用Subversion配置與管理

    發布: 2008-5-29 10:20 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 143次 | 進入軟件測試論壇討論

    領測軟件測試網

    譯者:陳海青(http://www.chq.name)

        企業最重要的資產應該是數據信息,但現在的企業應用除了需要存儲數據外,還經常要求跟蹤數據變化整個過程,并會擴展到一系列相關的要求,如數據變化的原因、變化的時間等,而且在許多情況下是對以文檔形式存儲的數據進行跟蹤。使用SubVersion可以滿足這些貌似普通但實際上很復雜的要求

    版權聲明:任何獲得Matrix授權的網站,轉載時請務必保留以下作者信息和鏈接
    作者:陳海青(http://www.chq.name);michaelzyy
    原文:http://www.matrix.org.cn/resource/article/2007-02-05/Subversion_ba84f1b9-b4b0-11db-b1a9-1f2330fc56f8.html
    關鍵字:Java;Subversion

    來自數據的挑戰

        企業應用存儲了關鍵數據,而且應用程序并不僅限于對數據進行插入、讀取、更新和刪除操作(即CRUD),應用程序還期望能夠存儲數據更改的歷史記錄。此外,企業按照一系列的業務或者規定的要求,不但要求存儲數據資產更改結果的歷史,而且要求存儲是誰,在什么時候,因為什么原因,如何改變了數據等等諸如此類的跟蹤信息。

        應用數據的形式和尺寸也有很多變數,既有簡單數據,如字符串和數字型,也有復雜的類型,如使用Blob或Cblob類型來存儲文檔。典型的應用程序要處理大量的上傳給程序處理的以文檔形式存儲的數據,如果用傳統的歷史表等方式來跟蹤諸如復雜類型的文檔的變化,簡直就是做一場惡夢。

    使用歷史表進行跟蹤

        關系數據庫是存儲數據的首選,可以高效地組織、存儲、檢索數據信息,由于應用程序將數據存放在關系數據庫中,當然就順理成章的嘗試用它來存放歷史跟蹤數據,一般是使用帶有時間戳的數據表來存放所有的重要數據表。在更新主表的時候會把舊數據推入歷史表中,這個過程一般是通過觸發器或由應用程序自己來完成。

    使用歷史表存儲歷史信息,會存在以下問題:
    +關系型數據庫和關系模型會提高數據存儲和檢索的效率,但是歷史表顯然不適合使用關系型數據庫。
    +數據庫不支持版本控制。應用程序不得不使用觸發器或其它定制的技術來仔細的存放數據(,以便實現版本控制功能)。
    +必須由應用程序親自檢測版本之間的變化,從歷史表中檢索歷史數據進行互相比較。

        關系數據庫依舊是存儲和檢索業務數據的倉庫,它們擅長于管理數據。以上列舉的缺點僅限于用關系數據模型存儲多個不同的版本的數據并進行歷史數據跟蹤的情況下。

    Subversion 和 JavaSVN

        Subversion是一個可以代替CVS(一個傳統的版本控制系統)的版本控制系統。Subversion使用稱作倉庫的樹狀結構來存儲文件和目錄。Subversion會跟蹤對倉庫中信息的所有改變,它具有一個中央倉庫,允許進行并發更新,允許通過http或https使用WebDAV協議來訪問倉庫,可以避免使用過程中的防火墻的干擾。Subversion的理念就是“拷貝-編輯-合并”,這就意味著在修改時不需要鎖定被修改的對象。

        (譯者注:關于WebDAV,是Web-based Distributed Authoring and Versioning的縮寫,是一個標準HTTP協議的擴展,通過web技術把目錄和文件作為可讀些的對象進行共享讀寫,把web變成一個可讀寫的媒體。RFCs2518和3253描述了WebDAV/DeltaV 對于HTTP的擴展,網址http://www.webdav.org/。)

        JavaSVN是一個純Java的Subversion客戶端類庫,提供與Subversion交互的基于Java程序的應用程序接口(API), JavaSVN既提供了進行直接讀取Subversion倉庫的底層接口,也提供了從Subversion倉庫檢出工作拷貝的高層接口。

        現在,應用程序可以使用結合了關系型數據庫和Subversion的方式來滿足數據存儲和變化跟蹤的需求了,對數據庫的更新同時會將變化情況提交到Subversion中,Subversion將是記錄變化的主要數據源,關系數據庫則用于除此以外所有的其他存儲。這樣做還有一個優勢,由于Subversion使用“拷貝-編輯-合并”模式,這樣每次從關系數據庫中檢索數據時不再要求鎖定目標表了。

    實例學習

        現在讓我們來確定一下要解決的問題和解決方案,并使用實例來說明如何使用Subversion 和JavaSVN。我們使用JavaSVN將一個簡單的領域對象存儲到Subversion 中,檢索以前的版本,并顯示兩個版本的差異。我們示例的領域對象是以下所示的貸款數據。在本文結尾的“資源”部分有完整的源代碼鏈接。

    public class LoanData extends BaseTrackingObject {
            private String loanId;
            private double loanAmount;
            private float  loanRate;
            private int    loanTerm;
            ......
            ......
    }



        在這里,使用抽象的BaseTrackingObject類來定義通用的跟蹤數據,如修改用戶、修改日期、修改原因等。其中定義了設置和取得objectId抽象方法,把它用作主鍵來訪問領域對象;定義了一個命名為getXmlRepresentation的工具方法,用于把對象轉換成XML格式,進而用于在Subversion中存儲和檢索數據。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: java JAVA Java Subversion 管理 項目 應用

    41/41234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>