跳轉至內容

XRX/XRX 的優勢

來自華夏公益教科書,為開放世界提供開放書籍
< XRX

XRX 架構的優勢

[編輯 | 編輯原始碼]

XRX 從其三個底層標準中的每一箇中獲益

  • XForms
    • 與 AJAX 等技術不同,XRX 假設了模型-檢視-控制器 架構
    • XForms 支援依賴圖,允許自動更新正確的檢視
    • 客戶端和伺服器之間所有互動都是透過模型透過提交元素髮送的
  • REST
    • XRX 利用了網路基礎設施,如多級快取和統稱為深度 REST 系統的技術。
  • XQuery
    • XQuery 是一種面向 XML 的功能查詢和轉換語言,可以執行許多系統的業務邏輯。除了其 XML 轉換能力之外,它還具有比 1970 年代和 1980 年代設計的 SQL 等舊查詢語言的優勢。XQuery 具有 SQL 的表達能力(聯接等),還可以操作遞迴層次結構資料。與 SQL 不同,XQuery 是一個 W3C 標準,在供應商之間具有非常強大的標準化,並擁有超過 14,000 個測試來確保跨供應商相容性。開發人員經常在低成本的開源資料庫上開發 XQuery 應用程式,並將它們移植到商業系統,而無需進行重大更改。

這三種標準共同使開發人員能夠在客戶端、中間層和資料庫伺服器上使用單一資料格式 (XML)。這意味著在層之間沒有資料格式的轉換。相比之下,許多其他現代系統使用 XML 進行通訊,在面向物件的層中處理業務邏輯,將資料儲存在關係資料庫中,並將 GUI 呈現為 HTML。

考慮典型的現代系統中的所有“粘合”程式碼,這些程式碼除了將一種表示形式轉換為另一種表示形式之外,沒有任何其他目的:物件關係對映、HTML 渲染程式碼、XML 匯入/匯出程式碼。這些 Web 應用程式架構採用 HTML 表單(使用扁平的鍵值對),將這些資料結構轉換為中間層物件(如 Java 或 .Net),然後將這些物件轉換為表格資料流,以便它們可以儲存在關係資料庫中。一旦進入關係資料庫,資料就必須透過執行 SELECT 語句重新序列化,轉換為物件,然後將這些物件轉換回 HTML 表單。這是一個四步轉換架構。

相比之下,XRX 使用零轉換架構。零轉換意味著 XML 儲存在 Web 客戶端中,以 XML 格式傳輸到中間層驗證規則引擎,然後以其全部形式儲存在 XML 資料庫中。通常,XML 也是從其他系統傳遞或流式傳輸資料的格式。作為 XML 的儲存也被稱為零粉碎過程,因為資料檔案不會被分離成第三正規化 (3NF) 資料結構。

這種關係 (3NF) 儲存通常沒有幫助。XML 資料將關係內建到資料中,而關係資料儲存在“啞”表中,並允許/要求應用程式指定關係。對於關係眾所周知(例如,使用者有一個部落格文章集合,這些文章有一個評論和回覆集合)的應用程式,XML 更好。當需要“資料倉庫”並且關係根據呼叫應用程式而廣泛變化時,關係儲存可能更好,因為 RDB 針對臨時聯接進行了最佳化,而 XML DB 通常沒有。(例如,一群使用者在一個社交網路中,並且存在各種必須快速查詢的臨時關係 - 使用 RDB)。XML 資料庫針對 XML 中內建的關係進行了最佳化,關係資料庫針對易於程式設計和在首選關係集上的效能進行了最佳化。

然而,最大的區別是零轉換與“到處轉換”。

使用這三種標準的組合,Web 開發人員的生產力提高了十倍。


返回:介紹 下一步:XRX 應用伺服器

參考資料

[編輯 | 編輯原始碼]

XRX:簡單、優雅、顛覆性

華夏公益教科書