面向服务架构(SOA)
在面向服务的体系结构中,应用程序的各个组件根据规定的协议相互提供服务。每个组件之间都是松散耦合的,它们之间唯一的通信方式就是通过它们提供的服务。
在 PHP 中,Symfony 是实现 SOA 的最佳方式,因为它主要是一个以 HTTP 为中心的框架。Symfony 是最成熟、最久经考验的库集合,被 Zend Framework、Yii、Laravel 等其他 PHP 框架广泛使用。
让我们考虑这样一个场景:我们有一个网站和一个移动应用程序的后端和前端。通常情况下,在大多数应用程序中,后端和前端运行在同一个代码库和一个接入点上,并为移动应用程序构建了一个 API 或网络服务,以便与后端进行通信。这很好,但我们需要更棒的。因此,为了实现高性能和可扩展的应用程序,这些独立的组件应各自独立运行。如果需要相互通信,则通过网络服务进行。
网络服务是前台和后台以及后台和移动应用程序之间的核心通信点。后台是数据和任何其他业务逻辑的主要枢纽。它可以是独立的,使用任何编程语言(如 PHP)构建。前端可以使用普通 HTML/CSS、AngularJS、Node.js、jQuery 或任何其他前端技术。同样,移动应用程序可以是原生的,也可以基于跨平台技术构建。后台并不关心前台和移动应用程序是基于什么技术构建的。