什么是RESTful API、WSGI、pecan
RESTful API
REST的全称是Representational State Transfer(表征状态转移),
是Roy Fielding在他的博士论文Architectural Styles and the Design of Network-based Software Architecture中提出的一种软件架构风格,
而我们一般把满足这种设计风格的API称为RESTful API。
具体到使用Python来提供RESTful API时,又提出了一个WSGI的规范
WSGI
WSGI的全称是Web Server Gateway Interface(Web服务器网关接口),是python语言中所定义的Web服务器和Web应用程序或框架之间的通用接口标准,它对应于Java中的Servelet。
下面是一些学习资源:
Pecan
在OpenStack的项目中实现RESTful API的Web框架主要有两种方式:
- Paste + PasteDeploy + Routes + WebOb
- Pecan
在OpenStack早期的项目中(Nova, Nutron, Keystone)都是使用的Paste + PasteDeploy + Routes + WebOb,
这样的框架好处在于灵活性,但后来它的灵活性并没有抵消它的复杂性,于是在OpenStack后来的项目中也就不再使用这个框架了,
但对于理解这些早期项目仍很有必要好好学习这种框架,尤其是这些早期项目都是OpenStack中最重要的一些项目。
Pecan是一个轻量级的Python的Web框架,OpenStack中的新项目全面的使用了此框架(如magnum),
Pecan还可以和PasteDeploy一起使用,Ceilometer就是如此。