系統前臺後臺是否應該分離(包括部署)

edison87915發表於2014-10-01
這個問題困惑我很久了,可能前臺/後臺這個用詞不準確,稍微解釋一下我的理解,
很多系統都分為前臺和後臺,其分別針對的使用者也是不同的
1. 前臺一般針對"消費"使用者(如讀者、網購使用者),資料查詢是重點
2. 後臺一般針對"管理"使用者(如編輯、網站管理員),增/改/刪 是重點(也需要查詢)
前後臺有很多不同點和矛盾點,如:
1. 許可權
- 後臺肯定有許可權要求,前臺很多功能無許可權要求(如閱讀文章)
2. 帳號體系
- 後臺主要用來管理,使用者數一般比較少,甚至登入入口都沒必要開放。前臺使用者數相對較多,一般用來記錄使用者在網站中的行為,為其提供服務。後臺使用者和前臺使用者的使用者資料可能相差很大,後臺使用者有時只需要帳號/口令就可以了,前臺使用者的資料一般比較豐富,並且使用者可以自己修改資料。
3. 前端(頁面、靜態資源)
- 後臺、前臺的UI一般不同,後臺可以土、醜,但前臺UI要對使用者負責一些。就說 前端開發 這塊,包括 UI設計、HTML、CSS、JS、架構、前端/服務端互動方式、前端/服務端資料傳輸介面 等等,前後臺可以完全不同
4. URL 分配矛盾
- 比如查詢編號為 10 的產品資訊,我首先會想到這個URL:http://XXXXhost/app/product?id=10 或 http://XXXXhost/app/product/10 ,但系統包含前後臺,我現在想到兩個思路:
a) 前後臺使用同一個 URL,根據許可權判斷,查詢不同的資料並返回相應的檢視進行渲染。
b) 像 wordpress 一樣,針對後臺的所有訪問,在系統根路徑上都加一個 "/admin",這樣後臺的訪問 URL 是:
http://XXXXhost/app/admin/product/10 ,使用這種處理方式的話,前後臺的 Controller 可以分離
...

這個貼支援分離
http://www.iteye.com/topic/1113741
也有提到安全問題的
http://stackoverflow.com/questions/9813174/best-practice-for-deploying-administration-area-in-java-web-application
有不支援分離的
http://programmers.stackexchange.com/questions/212938/shall-i-separate-the-admin-part-from-the-rest-of-the-war?answertab=votestab-top

結論:
自己的思路還沒有理清晰,問題描述比較粗糙,還需完善。我的理解是,木有銀蛋!?,是否分離要看專案複雜程度以及專案具體情況而定,這裡說的前臺、後臺比較容易理解,有很多複雜的系統可能不只是前臺後臺,比如還有針對供應商的平臺、針對合作伙伴的平臺。
希望有這方面經驗的大師可以分享一下自己的心得。


[該貼被edison87915於2014-10-01 14:24修改過]

相關文章