1

我目前正在与一个公司项目的开发人员团队合作,以创建产品和定价信息的集中存储库。这将为公司内部使用和外部客户使用而构建。除了存储产品和定价信息的基本功能之外,我们还需要建立一个基础设施来适应:

  • REST API 端点
  • 开发/暂存/部署工作流程(特别是在实时环境中对记录执行更新)
  • 日志记录
  • 分析
  • 报告
  • 安全性(身份验证和授权)。

浏览列表,它看起来像是 Web 应用程序的一组非常常见的要求,我怀疑我的公司正在开辟任何新的领域。那么,是否有任何特定资源(框架、技术堆栈、文章、书籍)可以帮助我了解其他 Web 应用程序如何解决这些问题?

关于团队的一些背景。该团队使用 PHP、Mongo 和 MySQL 作为后端,并在前端使用基本的 HTML、CSS、JQuery 开发了一些中小型 Web 应用程序。该团队熟悉设计模式(即四人组),但迄今为止尚未从事任何需要上述所有元素的工作

4

1 回答 1

1

可能值得尝试使用像 Zend、Yii 甚至 Ruby on Rails 或 Django 这样的可靠 Web 开发框架,它们不是 PHP 框架,但相当成熟且结构良好。即使您不打算使用该框架进行开发,您也会获得一些关于如何构建 Web 应用程序、如何实现日志记录和常见 Web 安全功能的好主意。

就部署和工作流程而言,如果您还没有阅读极限编程,您可能希望阅读一下。它描述了当今许多开发人员认为是相当经典的敏捷项目管理方法,但它也涉及重要的实践,例如测试和持续集成,在我看来,它们是开发工作流程中非常重要的组成部分。如果您作为一个团队从头开始,您将从实施可靠的敏捷方法中受益匪浅——或者至少从测试和持续集成的坚实基础中受益。

对于 REST 样式应用程序的示例,您可能希望了解流行的开源实现是如何工作的。其中一些框架将内置 REST 结构,但有许多开源选项,其中一些在此处讨论。

对于分析,谷歌在这里有相当多的文档。

就报告而言,我不清楚您需要什么,但如果您在谈论日志解析器和错误或停机报告器,那么有一些出色的工具,包括持续集成自动化工具,例如Atlassian 的 Bamboo,它将提供一些报告帮助。这些可以帮助您完成部分报告过程,但根据我的经验,大型、复杂的 Web 应用程序可以从自定义报告元素中受益,从一开始就将其视为开发过程的一部分。以编程方式解析日志并不难,我认为没有一刀切的实现。

附带说明一下,如果您愿意为它们付费,Atlassian 有一些出色的开发工具,但开源替代品应该不难找到,例如无处不在的用于工单跟踪的Trac,以及带有集成 wiki 的基本项目管理.

我不能说我知道一个单一的、全面的位置可以为您提供所需的所有信息(至少现在还没有!),但希望您能从这个答案中收集到一些有趣的东西。与一个新团队一起开始一些严肃的 Web 开发项目(如果我正确地解释了你的情况)可能是一个非常有趣的挑战。祝你好运!

于 2013-02-08T00:04:06.940 回答