關鍵字:XML、XQuery和XML SOA FastSOA 技術選擇
可以使用 Java 代碼和關系數據庫技術實現 FastSOA 體系結構。但是,在測試使用 Java 對象創建的服務綁定和使用關系數據庫持久 XML 時,我發現了重要的性能和可伸縮性問題。這些問題很突出,考慮使用 XQuery、XSLT 和本機 XML 數據庫技術很有必要。
我對 XQuery 感興趣,是因為它是作為應用程序開發的本機 XML 環境來實現的。與早期的 Java 技術非常相似,XQuery 社區充滿了擴張和證明 XQuery 是一種開發平臺的活力。實際上,多數 XQuery 實現都經過擴展超出了 XQuery 標準,以便 XQuery 能夠進行 SOAP 請求。比如,XQuery 可以查詢其他服務、J2EE 對象和通過 JDBC、SOAP、JMS 協議查詢數據源。此外,已經有 10 種或更多非?煽康纳虡I化和開放源碼 XQuery 實現。
最后,FastSOA 使用本機 XML 數據庫作為中間層緩沖,因為 SOA 數據通常采用 XML 編碼格式,而關系數據庫在持久存儲和索引 XML 這樣的層次性非結構化數據方面有很大不足。存儲 XML 數據的關系數據庫通常使用大型二進制對象(BLOB)字段類型存儲 XML。不僅效率低,而且很難建立索引以便快速搜索。對于流數據采用關系方法通常也不是最佳辦法。如果在基于 Web 服務的網絡中發送 XML 消息,最好用基于流的方法處理該消息,而關系數據庫對此無能為力。
FastSOA 的未來
除了本文所述的 SOAP 綁定性能改進之外,采用中間層服務緩沖還會為企業帶來很多好處。其他好處包括中間層模式轉換、服務版本化、策略選路和服務質量(QOS)處理。比如,FastSOA 提供了中間層 XML 消息模式轉換,以便保證需要不同和不兼容的消息類型的服務之間的兼容性。
結束語
本文考察了如何提升 SOA 的性能和可伸縮性,詳細介紹了在中間層使用 XQuery 支持結合 XML 持久的 SOA 設計所帶來的好處。FastSOA 設計結合使用了本機 XML 持久性和 XQuery,因此每次收到服務調用時,中間層都要決定是使用以前請求的緩沖值響應,還是傳遞請求。服務使用 XQuery 根據對服務請求元數據查詢的結果描述判定緩沖是否有效。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/