Python开发WebService系列教程之REST,web.py,eurasia,Django


Posted in Python onJune 30, 2014

在Bioinformatics(生物信息学)领域,WebService是很重要的一种数据交换技术,未来必将更加重要。目前EBI所提供的WebService就分别有SOAP和REST两种方式的服务,不管是数据服务还是计算服务(计算任务提交)。

1 Python + SOAP/WSDL/UDDI

最普遍的做法(个人观点)是使用 python ZSI2.0   ,ZSI还依赖于 SOAPpy  和 pyXML  等LIB。

SOAP协议很多人都很熟悉,有很多现有的应用也都使用Java等语言来开发服务端,而客户端除了java,绝大多数的脚本语言也都可以胜任。

关于python ZSI的使用可以参考IBM DW上的这篇文章: 使用 python 开发 Web Service

2 Python + REST

REST一词目前确实很流行;那么使用Python做REST开发,如何做技术选型呢???

其实接触过python web的人应该都知道Django,典型的REST风格的WEB框架 !!!

那么在实际开发中,我们究竟如何选择?

(1 如果你不是架构师,并不过分追求REST的面向资源的理念和体验REST风格架构的具体实践的话,那么,还是根据自己的业务需求和规模等,选择适合的WEB框架或者python web server就好了;比如常见的Django,web.py,cherrypy,Zope,Twisted,Quixote,spyce,webware for python ... 当然国内的框架也不少。

(2 如果你确实想体验下REST风格架构以及面向资源的设计,也许你可以选择使用web.py来达到目的;

这里有一篇关于使用web.py实现RESTfull开发的博客文章: Getting RESTful with web.py   , 相信有很好的参考价值 。

这里还有一篇中文的博文:  用Python实现CRUD功能REST服务

(3 你可以选择eurasia !!!  地址:  http://code.google.com/p/eurasia/

eurasia是一个值得你了解的东西,它是一个server,也包含框架;而且主要特点是:

“ Eurasia is a low-level Python Web framework which follows the Tao

Eurasia3 被设计成用于解决百万级同时在线的长连接用户数量的 HTTP 服务器, 或者每秒种处理上万次 CGI 请求的常规 Web 应用服务器。

Eurasia3 向下兼容 AJAX (难道 AJAX 对服务器有要求吗?), 但是她不推荐您使用落后的 AJAX 模式来摧残用户和程序员, 她正在尝试使用诸如 Pushlet  (Comet 是 Pushlet 的炒作版本) 一类的有趣技术来改变 Web 的开发面貌。

这里的Eurasia3是相对于 Eurasia2说的,两者并不是一会事哦!

这里有它的文档,可以了解和学习下: http://eurasia.googlecode.com/files/Eurasia-3.0.0a6.2-snapshot.tar.bz2

(4 其他方案。

尾声:

在做技术选型时,有两个前提很重要:1 你充分地了解你的项目需求,而且你很清楚自己要把它做成什么样,做到什么规模; 2 你对项目实现相关的技术和理论比较了解,知识面要够广,同时对于主要流派的主要特色要清楚。

之后,你才可能做出不同的方案来比较选择!  对于IT项目开发,技术主要体现在实现阶段,但是它完全其影响到整个项目生命周期! 选择合适的理论和方法来解决问题,才有可能提高解决问题的效率和质量。

Python 相关文章推荐
Python中使用haystack实现django全文检索搜索引擎功能
Aug 26 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
10款最好的Python开发编辑器
Jul 03 Python
pandas中的series数据类型详解
Jul 06 Python
对Django项目中的ORM映射与模糊查询的使用详解
Jul 18 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
基于keras输出中间层结果的2种实现方式
Jan 24 Python
Python 面向对象部分知识点小结
Mar 09 Python
Python如何实现机器人聊天
Sep 10 Python
python用tkinter实现一个gui的翻译工具
Oct 26 Python
基于python爬取梨视频实现过程解析
Nov 09 Python
利用Python实现Picgo图床工具
Nov 23 Python
windows下wxPython开发环境安装与配置方法
Jun 28 #Python
Python使用稀疏矩阵节省内存实例
Jun 27 #Python
Python实现的百度站长自动URL提交小工具
Jun 27 #Python
python使用心得之获得github代码库列表
Jun 25 #Python
在Python中使用异步Socket编程性能测试
Jun 25 #Python
Python开发的单词频率统计工具wordsworth使用方法
Jun 25 #Python
python 字典(dict)遍历的四种方法性能测试报告
Jun 25 #Python
You might like
CI框架简单邮件发送类实例
2016/05/18 PHP
详解支持Angular 2的表格控件
2017/01/19 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
2020/03/04 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
Python json模块使用实例
2015/04/11 Python
python实现画一颗树和一片森林
2018/06/25 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
Python 用三行代码提取PDF表格数据
2019/10/13 Python
python 创建一维的0向量实例
2019/12/02 Python
python求绝对值的三种方法小结
2019/12/04 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
2021/01/27 Python
python实现图片转字符画的完整代码
2021/02/21 Python
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
CSS3 实现的缩略图悬停效果
2020/12/09 HTML / CSS
纯html5+css3下拉导航菜单实现代码
2013/03/18 HTML / CSS
实用求职信范文分享
2013/12/25 职场文书
少先队入队活动方案
2014/02/08 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
2015年艾滋病宣传活动总结
2015/03/27 职场文书
论文答辩开场白大全
2015/05/27 职场文书
高温慰问简报
2015/07/21 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
小学一年级语文教学反思
2016/03/03 职场文书
element多个表单校验的实现
2021/05/27 Javascript