32. Web开发模式与分层结构-开发模式演进
HTML CSS
JS JSP
Web Server
混和时代
Databases
Controller
Model
HTML CSS
JS JSP
View
后端MVC
Databases
Servlet
Java
Bean
Service Server
Service
RPC/Databases
Controller/JSON API
Model
HTML CSS
JS
Ajax
前端RIA/SPA
Service Service
Model
Infrastructure
RESTful API
Micro
Service
View Component
View
Model
WebApp/MVVM
Micro
Service
Template
1995 2000 2005 2015
Router
Node SSR/薄UI
Middle Layer
Micro
Service
Micro
Service
35. Web开发模式与分层结构-分层架构-流行
ViewModel Router
NodeJS SSR/Java ThinUI
Services/Adapters
前端
后端
View Component(HTML/CSS/JS)
View
Model
RPC/API
业务 模型
静态资源
request
Router
领域
SSR/薄UI Server
GraphQL API RESTful API
模块化/微服务
前后端分离 SOA
Services/Adapters
Domain LayerEntitiesServices Repository
Infrastructure LayerDatabases CacheMQ
RPCORM Persistence
36. Web开发模式与分层结构-分层架构-趋势
ViewModel Router
Node SSR/ThinUI
Events Dispatch
前台
中台
View Component(HTML/CSS/JS)
View
Model
BFF
静态资源
request
Router
事件分发
SSR/薄UI Server
Gate API Gate API
函数计算
前后端分离 Serverless
Lambda
Services
Databases
File
MQ
Micro Service
Base Service
BFF
Gate API
微服务
函数计算
基础服务
Gate API
Backend For Frontend
Function
Store
……Search Upload
Lambda Function
前端
云服务
Serveless
#36:目前主要是从之前单体应用变革为两种:1、基于SOA的模块化部署,即各模块高内聚低耦合,单独提供服务,提供统一的ESB总线(或按模块独立提供API)供上层应用调用整合,各模块会公用一些数据、组件、运维、基础服务。
2、微服务,也是一种面型服务的架构,只不过体积更小,去中心化,不再提供统一的ESB。把每个模块甚至里面的组件抽取出来,单独部署和提供服务,微服务之间采取独立隔离的方式,不再公用组件、数据。
API有:JSON API RESTful API GraphQL API 或者通过GateAPI进入到具体的服务。
1、三者本质都是JSON,RESTful逐渐取代了原来的JSON API,可以提供更加明确具体的API,参数更清晰
2、GraphQL API是传入JSON作为查询条件,其实就是使得参数更加复杂化,可以组合出各种想要的结果来
3、总之是趋向更加细粒度的、灵活的API调用方式