python开发webservice服务_Python开发WebService系列教程之REST,web.py,eurasia,Djan
在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开发webservice服务_Python开发WebService系列教程之REST,web.py,eurasia,Djan相关推荐
- python写webservice接口_Python开发WebService系列教程之REST,web.py,eurasia,Django
在Bioinformatics(生物信息学)领域,WebService是很重要的一种数据交换技术,未来必将更加重要.目前EBI所提供的WebService就分别有SOAP和REST两种方式的服务,不管 ...
- 使用KBEngine开发UE4服务端——开发详解
使用KBEngine开发UE4服务端--开发详解 1. 简述 开始正式进入开发,网络上关于开发和修改文件的文章较少,这里会记录自己开发过程中需要更改的地方和一些流程. 2. 前期的配置说明 根据前文配 ...
- 乐鑫代理-启明云端分享ESP32系列教程之二:Linux搭建esp-idf环境
提示:此教程依据乐鑫官方的ESP32入门教程总结而来,仅供个人参考学学习,如有错误,欢迎批评指正.乐鑫官方参考: 乐鑫官方文档地址 1.搭建esp-idf环境 1.1安装虚拟机与Ubuntu 未安装请 ...
- 10 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之10]
10 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之10] 该系列主仓库地址:https://gitee.com/langcai1943/8051-from-boot-to-app ...
- java jdbc 教程_java JDBC系列教程之JDBC类的简析与JDBC的基础操作
什么是JDBC? 概念:JAVA Database Connectivity Javas数据库连接,Java语言操作数据库接口,然后由各个数据库厂商去实现这个接口,提供数据库驱动java包,我们可以使 ...
- 一步一步实现STM32-FOTA系列教程之FLASH静态区读写
一步一步实现STM32-FOTA系列教程之FLASH静态区读写 文章系列链接 <一步一步实现STM32-FOTA系列教程之bin文件生成> <一步一步实现STM32-FOTA系列教程 ...
- 一步一步实现STM32-FOTA系列教程之Bootloader编写
一步一步实现STM32-FOTA系列教程之Bootloader编写 文章系列链接 <一步一步实现STM32-FOTA系列教程之bin文件生成> <一步一步实现STM32-FOTA系列 ...
- MSP430FR6989系列教程之LCD
MSP430FR6989系列教程之LCD 由于MSP430以追求低功耗的特性,所以在MSP430FR6989上搭载的LCD并不是我们通常意义上的LCD显示屏(TFT LCD),而是段式 LCD MSP ...
- python编辑器是什么_python开发用什么编辑器
如果你想做得好,你必须首先提高工具.据估计,大部分pythoners开始python从python IDE.有许多python IDE工具,但这是一个艰巨的任务选择一个IDE使用.您可以使用最基本的文 ...
最新文章
- 王高利:Kvm虚拟化(1)__基础搭建
- DropDownlist的Item显示多列数据
- JZOJ__Day 7:【普及模拟】蚂蚁
- opacity用法:
- 设计模式学习——代理模式(Proxy Pattern)
- Linux网络 - 数据包的接收过程
- Linux合上笔记本不进入休眠模式
- CF719E. Sasha and Array [线段树维护矩阵]
- 实战react技术栈+express前后端博客项目(3)-- 后端路由、代理以及静态资源托管等配置说明...
- 大学物理光学思维导图_思维导图真的需要学吗?(附资料)
- python加载dll后如何查看函数_Python调用DLL带指针函数读写IC卡
- linu修改open files无效_安卓容器app如何使用 容器app修改机型方法【详解】
- 如何把大写金额变为小写数字_如何将小写金额转换为大写金额?这几个公式你至少要学会一个……...
- python forward函数_Python——函数
- 模型编辑之BIM轻量化
- 硬盘安装ovf镜像版Linux,linux-OVF模板部署问题
- 18个无版权(免费可商用)图片网站
- Java求两点的中点坐标_计算两点坐标距离与中点坐标
- oracle改字体大小_集成开发环境PL/SQL Developer教程:设置行号和修改字体大小
- 看完 2022 雷军年度演讲,我总结了我的故事