系统架构

概念
JSR:Java Specification Request,Java 规范申请,https://www.jcp.org/en/home/index

MVC

传统架构
V视图层(前台):JSP
C控制层(前台):Servlet、JSF、Struts、Spring MVC
业务层(后台可选):EJB、Spring Framework
M模型层(后台):DAO、JPA、Hibernate、MyBatis
前后端分离架构
前端框架:前端MVC、MVVM(angular、react、vue)
C控制层(后端)
业务层(后端可选)
M模型层(后端)

Web 服务(服务化)

SOA:Service Oriented Architecture,面向服务的软件架构(服务化),即服务消费者调用或请求服务提供者的体系
Web Service:Web服务,即SOA架构里的服务提供者所提供的服务,服务即可以是方法,也可以是资源

Web Services(注意最后有s):WS是SOA架构系统一套技术方案,具体实现框架有 Apache CXF、Apache Axis2等
SOAP:Simple Object Access Protocol,简单对象访问协议。SOAP 是Web services 的通信协议,使用HTTP传递XML
JAX-WS:JSR 224: JavaTM API for XML-Based Web Services,JAVA的WS规范

RPC:Remote Procedure Call,远程过程调用,基于TCP,也可以基于HTTP;API描述的主体是方法
REST:Representational State Transfer,表述性状态转移,基于HTTP;API描述的主体是资源
GraphQL:Graph Query Language,Facebook提出的接口风格,统一endpoint,调用者可以定制所需的响应字段

辨析
通信方式:协议(TCP、HTTP、SOAP)、接口风格(RPC、REST、GraphQL)
Web Services可以简单理解为采用SOAP进行通信的SOA方案,可以代指SOAP
基于Web Services的RPC:Apache XML-RPC
基于TCP的RPC:socket 网络编程、Java RMI(Remote Method Invocation)
基于Web Services的REST:Apache Axis2
基于HTTP的REST:Spring MVC实现的REST风格接口
基于REST的GraphQL:Spring Boot 支持GraphQL映射到RestController

你可能感兴趣的:(系统架构)