python REST討論(收藏)

來源:互聯網
上載者:User

對於今天的WebService開發,我們至少有兩種選擇:SOAP/WSDL/UDDI系列的; REST風格架構系列的 !!!

在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 (REST),Zope,Twisted(REST),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項目開發,技術主要體現在實現階段,但是它完全其影響到整個專案生命週期! 選擇合適的理論和方法來解決問題,才有可能提高解決問題的效率和品質。

from:http://onlypython.group.iteye.com/group/blog/377814

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.