上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.2 接口的分类
根据系统调用方式可以将接口分为以下两类。
1.系统之间的接口
系统之间的接口如图2-2-1所示。我们用得最多的是第三方接口,比如要做一个系统来展示每天的天气,那天气数据是怎么得到的呢?不可能自己去预测天气,有免费的第三方接口可使用,只需按照接口协议调用想要的天气数据。当然,这是调用系统外部的数据。在系统内部也存在这种调用关系,道理类似。
图2-2-1 接口分类1
2.服务之间的接口
目前主流的系统架构如图2-2-2所示,即应用层、服务层和数据层。
图2-2-2 接口分类2
· 应用层:负责展示数据和发起数据请求。比如,12306购票网站上显示的票数、购买操作等。
· 服务层:为应用层提供数据处理。
· 数据层:用来存储数据,有关系型数据库等。
各层之间的调用过程是怎样的呢?例如,在12306网站上买票,首先用户需要选择票,然后通过单击“确定”按钮下单。用户下单就是调用了应用层的接口,假设叫“购买接口”,购买接口会去数据层的数据库中进行查询、新增购买记录等操作。成功完成后,会返回一个成功标志和其他信息。最后,应用层接收到这个接口返回的数据,将买票结果展现给用户。
在这个过程中,各层之间的交互就是通过接口。应用层和服务层之间是通过HTTP接口,服务层和数据层主要通过DAO(Data Access Object)访问数据。在第5章讲到用Python操作MySQL数据库时,使用的PyMySQL就是起这个作用的。