1

我目前正在與一個公司項目開發團隊合作創建產品和定價信息的集中存儲庫。這將用於公司內部使用和外部客戶使用。對存儲產品和定價信息的基本功能外,我們還需要建立一個基礎設施,以適應:Web應用程序組件的配方和設計模式

  • REST API端點
  • 開發/分期/部署的工作流(特別是在對記錄進行更新現場環境)
  • 記錄
  • 分析
  • 報告
  • 安全(身份驗證和授權)。

查看完整列表後,它看起來像是一個非常常見的Web應用程序集,我懷疑我的公司正在打破任何形式的新領域。那麼,是否有任何特定資源(框架,技術堆棧,文章,書籍)可以幫助我理解其他Web應用程序如何解決這些問題?

團隊中的一些背景。該團隊已經開發了少量使用PHP,Mongo和MySQL作爲後端的中小型Web應用程序,以及前端基本的HTML,CSS和JQuery。該團隊熟悉設計模式(即四人組),但迄今爲止還沒有處理任何需要上面列出的所有元素的任何東西

回答

1

這可能是值得使用穩定的Web開發框架,如Zend,Yii甚至Ruby在Rails或Django上,它們不是PHP框架,但相當成熟,結構良好。即使您不打算使用該框架進行開發,您也會得到一些有關如何構建Web應用程序,如何實現日誌記錄和常見Web安全功能的好主意。

至於部署和工作流去,你可能想給Extreme Programming讀,如果你還沒有準備好。它描述了許多今天被認爲是典型的敏捷項目管理方法的開發人員,但它也進入了重要的實踐,如測試和持續集成,在我看來,這是開發工作流程中非常重要的組成部分。如果你從一個團隊的頭開始,你將從實施一個堅實的敏捷方法論中受益匪淺 - 或者至少從測試和持續集成的堅實基礎中受益匪淺。

有關REST樣式應用程序的示例,您可能想了解開放源代碼實現的工作原理。其中一些框架內置了REST結構,但有許多開源選項,其中一些討論了here

Analytics(分析),谷歌有相當多的文件here的。

就報告而言,我並不清楚您需要什麼,但如果您正在談論日誌解析器和錯誤或宕機記者,那裏有一些優秀的工具,包括持續集成自動化工具,如Atlassian's Bamboo這將提供一些報告援助。這些可以幫助您完成部分報告過程,但根據我的經驗,大型複雜的Web應用程序可以從定製報告元素中受益,這些元素從一開始就被視爲開發過程的一部分。以編程方式解析日誌並不難,我不認爲有一個適合所有實現的方法。

作爲一個側面說明,Atlassian的有一些excellent development tools,如果你願意爲他們支付,但開源的替代品應該不難找到,如無處不在的Trac票券追蹤,以及基本的項目管理與綜合維基。

我不能說我知道一個單一的,全面的位置,爲您提供所有需要的信息(at least not yet!),但希望你會從這個答案中收集一些有趣的東西。從一些全新的團隊開展一些嚴肅的網絡開發項目開始(如果我正確地解釋了您的情況)可能是一個非常令人愉快的挑戰。祝你好運!