官术网_书友最值得收藏!

第1章 實現面向服務的架構

在查看和修改代碼之前,我們需要討論一下目標的整體架構。只有明確了最終的目標架構,我們才能夠在邁向這個最終目標的過程中,始終把握住正確的前進方向。

我們將實現一個面向服務的架構(Service-Oriented Architecture,SOA)。這種結構從一個比較高的層次上,描述了我們的軟件架構,解釋了大塊構件間的交互方式,從而避免了應用程序進入到一個緊耦合的狀態。這種方法貫穿全書,所以理解本章中的準則對項目的成功至關重要。

SOA是一種將應用程序設計為可擴展和可維護的方法。SOA設計準則于2005年由Thomas Erl規范化(http://soaprinciples.com/),并在近幾年成為一種主流。最初發布的準則設計用于一些大型系統。這些系統可以運行在任意的硬件之上,而這些硬件可以通過網絡接入。具體來說,這些服務可以存在于應用程序的內部或者外部,甚至能由開發團隊之外的人員來管理,因此“服務發現”和“組件描述”是Thomas Erl所描述的SOA架構中的重要組成部分。如果你準備設計外界可使用的服務,比如網站的API或是由其他開發人員使用的第三方庫,那么SOA是一個絕佳的參考樣例。

本書只用到了Erl杰出成果中的一部分。假設所有的服務都在應用程序內部,而且假設你了解所構建的服務,因此許多服務的接口定義在構建時也是為你所知的。換句話說,我們假設在構建代碼時你充分了解應用程序使用的所有服務。沒有必要為了動態適應不斷變化的外部服務而新建代碼。這個假設并不意味著我們構建的服務不能提供給外界。在這本書中,對于向外界宣揚所提供的服務以及向外界闡明服務提供的功能定義等諸如此類的問題,我們不想在其上浪費過多的精力。如果真的有需要去設計和構建一個外部可用服務,比如公共的API,只需適當使用Erl準則就可以輕松解決問題。

主站蜘蛛池模板: 新干县| 新田县| 政和县| 陈巴尔虎旗| 和硕县| 广宗县| 富锦市| 漯河市| 东源县| 济南市| 英德市| 安康市| 新竹县| 青海省| 吴桥县| 城市| 错那县| 汝城县| 开封县| 彭泽县| 隆林| 棋牌| 洛浦县| 勐海县| 陇川县| 石首市| 萍乡市| 长葛市| 阳泉市| 冷水江市| 东乌珠穆沁旗| 广灵县| 万安县| 板桥市| 嘉荫县| 浠水县| 乌鲁木齐县| 社旗县| 文山县| 阿巴嘎旗| 沂源县|