非直连数据库,意味着:没有Hibernate、没有数据源、没有JPA;那么,只能通过HTTP通信,获取数据。
这种场合其实还是很多见:数据展示系统(一般由于数据安全考虑,不会直连数据库)、移动客户端应用(APP)。
那意味着:所有的数据的CRUD都需要通过HTTP通信。问题来了:总不能为每一个操作都设计一个接口吧?!
作者的思路分为2条线:
(1)通用部分做成代理(又分为控制层和服务层,主要包括:获取数据集、数据维护操作、新增、更新、删除),基本占据了80%的业务形态;
(2)特有业务,采用自定义的控制层和服务层
当无论哪条线,最后都通过调用数据服务平台提供的客户端API执行数据的操作:
(1)获取数据集(多条和单条);
(2)数据维护(新增、更新、删除);
其架构如下图所示: