在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相关推荐

  1. python写webservice接口_Python开发WebService系列教程之REST,web.py,eurasia,Django

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

  2. 使用KBEngine开发UE4服务端——开发详解

    使用KBEngine开发UE4服务端--开发详解 1. 简述 开始正式进入开发,网络上关于开发和修改文件的文章较少,这里会记录自己开发过程中需要更改的地方和一些流程. 2. 前期的配置说明 根据前文配 ...

  3. 乐鑫代理-启明云端分享ESP32系列教程之二:Linux搭建esp-idf环境

    提示:此教程依据乐鑫官方的ESP32入门教程总结而来,仅供个人参考学学习,如有错误,欢迎批评指正.乐鑫官方参考: 乐鑫官方文档地址 1.搭建esp-idf环境 1.1安装虚拟机与Ubuntu 未安装请 ...

  4. 10 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之10]

    10 51单片机汇编:让定时器产生中断(使用Keil模拟器)[系列教程之10] 该系列主仓库地址:https://gitee.com/langcai1943/8051-from-boot-to-app ...

  5. java jdbc 教程_java JDBC系列教程之JDBC类的简析与JDBC的基础操作

    什么是JDBC? 概念:JAVA Database Connectivity Javas数据库连接,Java语言操作数据库接口,然后由各个数据库厂商去实现这个接口,提供数据库驱动java包,我们可以使 ...

  6. 一步一步实现STM32-FOTA系列教程之FLASH静态区读写

    一步一步实现STM32-FOTA系列教程之FLASH静态区读写 文章系列链接 <一步一步实现STM32-FOTA系列教程之bin文件生成> <一步一步实现STM32-FOTA系列教程 ...

  7. 一步一步实现STM32-FOTA系列教程之Bootloader编写

    一步一步实现STM32-FOTA系列教程之Bootloader编写 文章系列链接 <一步一步实现STM32-FOTA系列教程之bin文件生成> <一步一步实现STM32-FOTA系列 ...

  8. MSP430FR6989系列教程之LCD

    MSP430FR6989系列教程之LCD 由于MSP430以追求低功耗的特性,所以在MSP430FR6989上搭载的LCD并不是我们通常意义上的LCD显示屏(TFT LCD),而是段式 LCD MSP ...

  9. python编辑器是什么_python开发用什么编辑器

    如果你想做得好,你必须首先提高工具.据估计,大部分pythoners开始python从python IDE.有许多python IDE工具,但这是一个艰巨的任务选择一个IDE使用.您可以使用最基本的文 ...

最新文章

  1. 王高利:Kvm虚拟化(1)__基础搭建
  2. DropDownlist的Item显示多列数据
  3. JZOJ__Day 7:【普及模拟】蚂蚁
  4. opacity用法:
  5. 设计模式学习——代理模式(Proxy Pattern)
  6. Linux网络 - 数据包的接收过程
  7. Linux合上笔记本不进入休眠模式
  8. CF719E. Sasha and Array [线段树维护矩阵]
  9. 实战react技术栈+express前后端博客项目(3)-- 后端路由、代理以及静态资源托管等配置说明...
  10. 大学物理光学思维导图_思维导图真的需要学吗?(附资料)
  11. python加载dll后如何查看函数_Python调用DLL带指针函数读写IC卡
  12. linu修改open files无效_安卓容器app如何使用 容器app修改机型方法【详解】
  13. 如何把大写金额变为小写数字_如何将小写金额转换为大写金额?这几个公式你至少要学会一个……...
  14. python forward函数_Python——函数
  15. 模型编辑之BIM轻量化
  16. 硬盘安装ovf镜像版Linux,linux-OVF模板部署问题
  17. 18个无版权(免费可商用)图片网站
  18. Java求两点的中点坐标_计算两点坐标距离与中点坐标
  19. oracle改字体大小_集成开发环境PL/SQL Developer教程:设置行号和修改字体大小
  20. 看完 2022 雷军年度演讲,我总结了我的故事

热门文章

  1. 《金瓶梅》是何等小说
  2. 数据库原理实验报告【全集】
  3. golang快速入门--语言基础
  4. 启动vsftpd失败是什么原因_CentOS 7 Vsftpd无法启动详解
  5. 在Visual Studio中合并 Form1.cs, Form1.designers.cs 和 Form1.resx
  6. RJ11 端口浪涌防护
  7. php加入购物车怎样实现_PHP实现添加购物车功能
  8. 安卓毕业设计 记账app
  9. Android蓝牙耳机/扬声器音频切换
  10. 推出 Pr-VIPE:识别图像和视频中的姿态相似度