1

我正在构建一个非常简单的网络托管服务,它将迎合 ma 和 pa 类型的小型企业。

现在我的困境是我应该从头开始构建它还是使用现有的 CMS。CMS 需要可定制,因为我希望构建自己的客户端。我只希望用户必须输入标题和内容。其他所有内容都将对最终用户隐藏。

稍后我希望能够将我自己定制的 Web 应用程序与给定的页面相关联,因此 CMS 需要能够满足这一点。

另一个要求是它需要基于 Java(Groovy 可接受)。

有任何想法吗?

4

6 回答 6

8

一旦您开始执行用户身份验证、安全性、可扩展性等操作,即使是“简单”的 CMS 也是一个相当复杂的应用程序。您可能会犯很多错误。那里的主要 CMS 存在许多维护问题和安全漏洞,并且有相当多的人才在从事这些工作。如果您认为您的 CMS 会有所不同,我建议不会。您将需要不断更新和维护它。如果您使用现成的解决方案,您应该能够从其他开发人员所做的工作中受益。如果您想编写自己的代码,请考虑定制现成的 CMS 或贡献新功能或错误修复。

自己的内容管理系统:

  • 完全控制功能
  • 低成本
  • 便于您理解
  • 只有你理解它并且可以修复它
  • 没有来自其他开发者的错误修复

现成的 CMS:

  • 您可以简单地安装它,然后专注于增加价值
  • 更陡峭的学习曲线
  • 大量托管解决方案和在线帮助
  • 如果您不在身边,很多人都可以管理它
  • 错误修复和安全更新由供应商发布
  • 在定制等方面受到更多限制
  • 有人需要掌握更新并安装它们,否则客户可能会成为 WordPress 蠕虫等蠕虫的受害者。使用您自己的 CMS,就不太可能有人专门为您创建蠕虫。(但您的客户仍然面临其他安全问题的风险)。

考虑每个网站面临的典型安全问题:XSS、CSRF、SQL 注入、配置错误、松散的安全性、会话劫持、参数验证错误、竞争条件等。您需要处理所有这些情况,但 CMS 供应商已经为你做那件事。

至于您的 Java 要求,Resin Web 服务器附带一个 PHP 解释器,如果您选择 PHP CMS,它可能允许您在 Java 中部署 PHP 应用程序。也应该可以在几个小时内将 PHP 引擎移植到另一个 servlet 容器(我认为它是 GPL)。

于 2010-02-01T13:33:31.943 回答
2

您绝对应该学习现有的 CMS。从头开始创建一个将满足您的需求。基于他人积累的经验,具有实时社区(例如 drupal 或 django)的现有 CMS 将出售基金会。

这样做将有助于跳过创建 CMS 的常见错误,并让您专注于功能和制作产品,而不是构建框架。

于 2010-02-01T13:21:57.220 回答
1

查看 Alfresco 社区版,它是基于 Java 的,它是第一个与 CMIS 1.0 兼容的版本。您可以在其上构建 Web 客户端/应用程序。它有ftp、webdav、cifs、http接口。

于 2010-02-01T13:29:52.447 回答
1

生命之光?您将在 5 分钟内启动并运行。

基于 Java,支持 Groovy

如果你想diy,看看CMIS。(算了,别DIY了)

于 2010-02-01T14:03:14.483 回答
0

我无法想象没有适合这些要求的现有 CMS。虽然不会为你做研究;-)

于 2010-02-01T13:13:59.280 回答
0

如果您想弄清楚一些 Java EE 技术方面或优点/缺点,最好编写自己的 CMS 来练习。

但在您这样做之前,请通过一些现有的 CMS 来创建优缺点列表。

所有现有的 CMS/框架/任何东西都不能很好地解决您自己的问题,但它们通常太大而无法涵盖尽可能多的情况。

还有一件事要考虑。您希望您的 CMS 在 Google App Engine 上运行良好吗?

于 2010-02-01T13:18:27.017 回答