SOA

SOA

過去的系統整合方式,常以私有協定或是專屬技術達成,像是採用Remote Process Call(RPC)、 Java RMI、DCOM、CORBA等方式。這樣的設計架構若是遇到較複雜的系統範疇,整合的困難度及成本也就相對提高。

為了讓企業對內及對外都能以服務導向架構(Service-Oriented Architecture,SOA)隨需提供,採用標準化的技術是必然的趨勢。Web services 基於XML的基本架構,且符合開放標準,提供了整合及開放的系統特色,它提供了一套完全不同的方法,可以使執行於多種平臺和技術上的應用程式,實現異質系 統也能無縫連繫的大一統理想。


一氣呵成,大快朵頤

本書內容分成四個部份,為了讓新手能循序漸進地體會SOA的精華,第一部份便先介紹與SOA相關的技術內容,先從基本的XML技術談起,包括 XML組成元素:DTD、XSD、XSLT、XQuery、XPath、DOM、SAX等,其次介紹XML Web Services的基本觀念,包括SOAP、WSDL、UDDI,服務需求者(Service Requester), 服務仲介者(Service Intermediary), 服務提供者(Service Provider)等;最後提到新一代的Web Services技術(WS-*),包括與交易有關的WS-Coordination、WS-Transaction、與流程面有關的BPEL4WS、 WS-ReliableMessaging,跟系統安全有關的WS-Security、XACML,其他還有WS-Addressing、WS- Policy、WS-Attachments、SwA等。這部份的技術名詞繁多,但本書針對每個名詞及運作原理都有詳盡的介紹,除了搭配程式碼輔助說明之 外,更適時加入圖形化示意提高易讀性,以利加速讀者對相關技術的理解。

練完基本功之後,第二部份開始探討如何將三大技術內容(XML、Web Services、 Database),實作導入到您的應用程式中。針對每一項技術的特性及使用時機,作者都會提出數種應用及實作的策略供讀者參考。在這裡也提到以傳統資料 庫方式與XML技術之間不同的特性,在進行整合時所需要留意之處。同時,XML本身在設計時所需要考慮的重點(效能、安全性、擴充性、重用性、資料原 則),本書也列出一連串的檢核項目,提供讀者在過程中不斷檢視。

第三部份則是進一步討論在不同的應用系統之間,如何透過XML、Web Services和SOA的設計以進行整合。當面臨到整合的問題時,必然衝擊現有系統。所以在不同狀況下,針對不同程度上的整合方式(Data、 Application、Process、 Service-Oriented),搭配不同特性的技術架構(Data Access、Message-Oriented、 Transaction、Integration Broker等),在這樣具有任意複雜度的業務模型下,也會有相對應的建議策略及解決方案。這部份陳述的內容不僅僅是過往簡單的Client- Server模式,而是在異質性的應用平臺上的整合,與現實環境的複雜度不相上下。

最後便討論在企業應用的整合上,利用作者建議的設計策略及最佳實踐方案,回過頭來重新審視,如何在XML與Web Services上,能更務實地鞏固正確觀念,IT決策者亦可藉此,更加確實規劃企業願景及建構遠程資訊藍圖。在進行XML與Web Services導入企業的專案過程中,此部份的最佳實踐方案則具體說明,提供在規畫、設計、標準化和實作階段時值得採納的寶貴建議。

理論實務並重

在變化多端的現實環境規畫XML、Web Services和 SOA設計之前,透過本書的介紹,可預先了解可能遇到的問題及風險,協助設計出更穩健的系統架構。依本書的章節循序漸進閱讀,從基本觀念到實際應用的內容均能一覽無遺。

就算你對任何XML、Web Services與SOA等實作方式完全陌生,也可以透過本書對這些相關技術有全盤性的認識。本書的定位是實戰手冊,所以十分適合軟體架構師、系統分析設計師和系統開發人員閱讀。

另外,作者歸納整理出來的獨特技巧及策略規劃建議也是本書的重要特色之一,不只是單純觀念性的介紹,以策略及最佳實踐方案為導向,與一般單純只是技術介紹的理論書籍不同,作者的寶貴經驗才是價值所在。值得細細品味!

Effective XML

Effective XML

自從XML的技術問世後,因為其簡單易用的特性,圍繞著它衍生出來的應用及相關技術便如雨後春筍般地出現。

當這樣的技術被廣泛採用後,接下來的問題便是:要如何設計才能將XML的運作效能發揮得淋漓盡致?XML要如何跟其他技術做到更完美的搭配?就因為它很簡單,所以只要在很短的時間就可以學會,但要設計得好,想充份發揮XML的特色,就得花時間好好研究。

《Effective XML》的定位在於讀者已經了解XML技術的基本觀念,想對XML的設計有更進階的認識。作者將本書分四個部份,明確地定義出五十個實用方法,分別探討在進行XML設計時需要考慮到的重點,避開可能遭遇到的設計陷阱,讓程式能因而運行穩當且有效率。


本書內容由淺至深,鞭辟入裡

首先,免不了要先將XML相關的技術來個概括式的介紹,不過作者採用的是重點比較說明的方式,提及XML技術中的可能會被混淆的觀念,像是Element與Tag的差異,XML文件與XML檔案之間的比較等等。

讓已經具有XML使用經驗的讀者可以利用本章再次地回覆思考,建立更為牢固的理論基礎。

第一部份著重在XML語法(Syntax)的設計原則,這是XML最底層的技術,探討XML規格中支援的語法。作者在此建議的方法,可以提高程式的易讀性、可維護性,以及系統未來的可擴充性。像是XML的Tag的命名方式,利用參數化及模組化的方式設計DTD的內容等等。

了解語法之後,接下來便是如何將現實世界的問題以XML的結構(Structure)表示。設計XML結構如同在進行需求分析一樣,必須要將問題領域的相 關實體逐一分解,對映到XML的每個元件中。本書的第二部份便著重在如何設計Namespaces及Schema來進行這些資料對映的工作,以及可能遭遇 的問題與建議的解法。

就因為XML的語法十分簡單,要用什麼格式、內容該如何呈現,才能將資訊充分正確地表達出來,讓處理的對象能夠完全掌握且有效解讀?這都是單純技術層面所無法克服的問題。此時需要重視的便是語義(Semantics)。

本書的第三部份則討論語義在XML設計時所需要考慮的細節,透過多種API工具及程式語言來處理XML內容,在這裡可以學到依不同的專案性質,挑 選合適的軟體工具來因應。就理論上而言,每個XML工具都可以處理各式各樣的XML內容,但實務上每個XML工具及API,都有適合於某些特定目的處理需 求,而非一魚多吃。例如DOM與SAX就有不同的使用時機,能善用其特性才能發揮最佳效能。

理論與實作並重,讀者容易掌握重點

XML在實際應用上,很少獨立自成一個系統,通常是存在大型系統中的一個環節。例如它會被別的軟體元件所存取,或是跨越網路以不同格式的傳輸協定 進行資料交換,不然就是當成系統組態,以檔案或資料庫的方式儲存。本書第四部份討論實作階段時應用注意的原則,包括資料正確性及一致性 (Integrity)、資料量過大時,是否需要進行壓縮處理(Compression)、對於敏感性資料進行驗證(Authentication)及編 密處理、利用資料暫存及快取機制(Caching)來提高處理效率,以及內容管理等議題。

本書的五十個問題,點出在設計XML的過程中需要留意之處,作者亦提供了全面且完整的解答及實作技巧,在閱讀完畢之後,對於XML的設計理念應該會有革新性的想法。

作者Elliotte Rusty Harold本身在XML專業領域已具備豐富的實務經驗,亦著有多本暢銷書籍,像是《The XML Bible》及《XML in a Nutshell》等。本書融入他多年在XML領域累積的實務經驗以及專業知識,讓讀者能以最快速度掌握XML設計的要領。不管你是Java幫或是. NET派,應該都跟XML脫離不了關係,本書可以給您不少有價值的想法!

Follow

Get every new post delivered to your Inbox.