天天看點

《PHP精粹:編寫高效PHP代碼》——3.2節面向服務的架構

本節書摘來自華章社群《php精粹:編寫高效php代碼》一書中的第3章,第3.2節面向服務的架構,作者:(美)  davey shafik,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

3.2 面向服務的架構

soa(service-oriented architecture,面向服務的架構)是在各種php應用程式中日益得到普及的方法。它是基于一個服務層的系統,提供系統需要的所有功能,但這個服務提供的是應用層,并未連結到表現層。這樣,多種系統就可以使用這個相同子產品化、可重複使用的功能了。

例如,你可以寫一個服務層,接着website和幾個移動裝置應用程式都來使用服務層,同時我們允許第三方對它內建。

這個系統架構可能最終看起來如圖3.1所示。

《PHP精粹:編寫高效PHP代碼》——3.2節面向服務的架構

soa方法允許我們使用、測試,以及強化(harden)應用服務層的代碼,并且輕松地在其他地方使用它。當代碼被強化,即表明代碼已經使用了一段時間,是以我們對它的性能和穩定性擁有足夠的信心。既然有了整齊、子產品化的健壯性服務層,我們便可将代碼用于應用程式的基礎,而且人們日益視之為最優方法。

你到底如何構造系統有待探讨,還有soa方法的大量完美實作,同樣值得探讨。通常,mvc方法應用于服務層,我們也看到本章的一些示例中使用了這種方式。頂層的項目将使用不同建構方式,這樣工作使我們可以輕易在不同的平台上建構各種不同的獨立元素。

也許soa方法的最大優勢在于它是子產品化的方法,它非常适合我們正在建構的龐大而複雜的系統。以這種方式建構的系統易于縮放,你可以在系統的不同部分根據系統的負荷以不同的比率縮放它們。當我們發展應用平台到雲作業系統時,soa理所當然在今後的應用中幫助我們。

現在我們繼續向前看看使用web服務的一些技術細節。