由於客戶端的安全需求,我公司的web架構基本上已經有了額外的一層,這使開發應用程序的過程複雜化了一點。我想就最好的方式提供一些意見和建議。使用python提供應用服務
一,概述:
- 表示層 - 這主要是PHP,一些Flex應用程序也是如此。我們可能會很快添加HTML5/Javascript(jQuery)。該層無法看到我們的數據庫層,並且是外部世界可見的唯一層。
- 應用層 - 目前主要是PHP。它可以訪問數據庫
- db層 - 這隻能從非DMZ主機訪問。
現在,Flex應用程序和客戶端JavaScript需要調用應用程序層 - 這是相當數量的 - 通過在代理層上運行的PHP代理使其通過請求進入應用層。這些通常是AMF服務請求,但我們也可以用最少的努力代理RESTful請求。
我有機會,現在更換了不少這樣的棧,提供我能保持基本的安全特性。我想要的是能夠編寫JavaScript或Flex應用程序,這些應用程序可以在呈現層中可見的RESTful調用服務,透明地(或透明地)代理到實際工作完成的應用程序層。
事情是,我看到的每個教程(例如)Django或其他pythonic web/REST框架似乎都假設我的演示文稿和應用程序層提供的服務僅由一層提供。我需要關於如何使用Python編寫Web服務的建議。應用層必須認證客戶端並維護客戶端會話。 Web層代理不會這樣做,因爲它沒有數據庫訪問權限。例如,這種事情就是我在Django指出的,它的緩存會話跟蹤。但是,如實地說,我對任何能夠讓我遠離編寫PHP4的東西敞開心扉。