本节书摘来自华章社区《PHP精粹:编写高效PHP代码》一书中的第3章,第3.2节面向服务的架构,作者:(美) Davey Shafik,更多章节内容可以访问云栖社区“华章社区”公众号查看
3.2 面向服务的架构
SOA(Service-Oriented Architecture,面向服务的架构)是在各种PHP应用程序中日益得到普及的方法。它是基于一个服务层的系统,提供系统需要的所有功能,但这个服务提供的是应用层,并未链接到表现层。这样,多种系统就可以使用这个相同模块化、可重复使用的功能了。
例如,你可以写一个服务层,接着website和几个移动设备应用程序都来使用服务层,同时我们允许第三方对它集成。
这个系统架构可能最终看起来如图3.1所示。
SOA方法允许我们使用、测试,以及强化(harden)应用服务层的代码,并且轻松地在其他地方使用它。当代码被强化,即表明代码已经使用了一段时间,因此我们对它的性能和稳定性拥有足够的信心。既然有了整齐、模块化的健壮性服务层,我们便可将代码用于应用程序的基础,而且人们日益视之为最优方法。
你到底如何构造系统有待探讨,还有SOA方法的大量完美实现,同样值得探讨。通常,MVC方法应用于服务层,我们也看到本章的一些示例中使用了这种方式。顶层的项目将使用不同构建方式,这样工作使我们可以轻易在不同的平台上构建各种不同的独立元素。
也许SOA方法的最大优势在于它是模块化的方法,它非常适合我们正在构建的庞大而复杂的系统。以这种方式构建的系统易于缩放,你可以在系统的不同部分根据系统的负荷以不同的比率缩放它们。当我们发展应用平台到云操作系统时,SOA理所当然在今后的应用中帮助我们。
现在我们继续向前看看使用Web服务的一些技术细节。