網站數據層處于三層邏輯體系架構中的最底層,它用于實行信息系統對數據庫的操作,包括增加、刪除、修改、査找記錄等,是網站中相對穩定持續的部分,它向網站邏輯層提供數據,原則上不涉及網站邏輯層的設計。網站數據層通常由一個或多個數據庫系統組成,如SQL Server2014,Oracle,DB2等。
1)網站數據層的功能
當網站的邏輯層獲取從表示層得到的數據請求之后,完成對業務邏輯的編譯,將這種信號以SQL語句的形式傳輸給網站的數據層。網站數據層主要是對原始數據的操作層,而不 是指原始數據,也就是說,是對數據的操作,而不是數據庫,具體為網站邏輯層或表示層提供數據服務。數據層從SQL語句中獲取相應的參數,該參數是以對象的方式傳遞的,即在用戶界面層獲得一系列數據,把這些數據以對象屬性的方式進行封裝,然后僅將對象傳遞給網站 邏輯層即可,網站邏輯層將對象的屬性進行相應的處理操作,最后將對象傳遞給網站數據層。數據層將對象的各個屬性作為SQL參數參與執行,該層將執行結果返回給網站邏輯層,執行結果是以某條或多條數據記錄或者一個或多個數據表的形式呈現的。
2)網站數據層的工作理念
在網站系統中用戶操作相關界面完成對應的業務流程的操作,但無論是什么業務流程最終反映到軟件系統中則是對數據庫中相關數據表單的數據進行操作,所在網站框架中可以將數據訪問進行深入抽象,將其分為數據庫的查詢運算、插入運算、修改運算及刪除運算。
這樣對應的每個業務流程只需指定相關的數據表或視圖,就可根據表中的數據項自動生成相關數據操作。
3)網站數據層的設計原則
網站數據層的設計原則應時刻與網站的總體思想相一致,所設計的各個環節或板塊應做到為整個系統更好地提供服務,在網站的三層邏輯體系架構中,各個層次之間相互協作。在數據庫中包含有不同同的層次以及不同的功能模塊,各部分的主要職責不同。盡量降低系統各部分之間的耦合度,提高模塊內部的聚合程度是網站數據層設計的重要原則。將各個層面的數據進行明確分工,有助于減少因數據的混亂所造成的損失。總之,網站數據層設計的核心思想是要做到“高內聚,低耦合”。
將網站應用系統在邏輯上劃分為不同的層次,有利于各個層次之間的相互獨立。在每層發生改變時而不影響其他層的正常運行。這種網站的三層邏輯體系結構劉分的優點有:
①開發人員可以只將其中的某一層作為操作對象,在不影響其他各層的情況下完成對整個網站系統的完善和優化。網站的項目結構會更加清晰,分工明確,有益于后期的維護和升級。
②將各個層次進行劃分,使得它們之間相互獨立,可以很容易的用新的實現替換原有層次的實現而不用考慮對另外兩個層次的影響。
③將整個網站的架構劃分為3個層次,每一層有各自的主要使命和作用,相互之間的功能耦合性減少,便于系統的維護和操作,降低了各層之間的相互依賴性。
④擴展性強。不同層負責不同的層面,具有不同的用途。在一個層的內部進行擴展,不會對其他層造成影響,且因為每層的作用相同,在此基礎上進行相關內容的添加是非常便捷的。
⑤安全性高。要想從用戶端的表示層獲取來自數據層的數據信息,必須通過網站邏輯層的傳輸。避免用戶與數據庫的直接接觸,減少了入口點,把很多危險的系統功能都屏蔽了
從開發角度和應用角度來看,網站的三層邏輯體系架構適合群體開發,每人可以有不同的分工,協同工作使效率倍增。開發雙層或單層應用時,每個開發人員都應對系統有較深的理解,能力要求很高,開發三層應用時,則可以結合多方面的人才,只需少數人對系統全面了解,從一定程度上降低了開發的難度
當然,網站的三層邏輯體系架構的劃分不可避免地具有一些不足:
(1)與單層或雙層架構的劃分相比,該模式不可避免地降低了網站的運行性能。如果跳過中間層的網站邏輯層,用戶可直接對數據庫進行訪問,可大大減少獲取相應數據的時間。實現更好的用戶體驗,提升用戶的滿意程度。
(2)三層邏輯體系架構的設定,有時網站建設可能會導致級聯的修改。例如,表現層如果想更改或增加每一項功能,就必須對網站邏輯層和數據層的代碼進行相應的修改或增加。三層體系架構表面看是分離的,但其內部有不可忽視的關聯性。
(3)網站層次的增加必然會導致代碼的增加,加大了系統的運行負擔,增加了工作量,從而增強了網站內部的復雜程度。