我正在构建一个非常简单的网络托管服务,以满足ma和pa类型的小型企业。
现在我的困境在于我是应该从头开始构建它还是使用现有的CMS。 CMS需要可自定义,因为我希望构建自己的客户端。我只希望用户必须放置标题和内容。其他所有内容都将隐藏在最终用户之外。
稍后我希望能够将自己定制的Web应用程序与给定页面相关联,因此CMS需要能够满足这一要求。
另一个要求是它需要基于Java(Groovy可接受)。
有什么想法吗?
答案 0 :(得分:8)
一旦开始执行用户身份验证,安全性,可伸缩性等操作,即使是“简单”的CMS也是一个相当复杂的应用程序。有很多事情你可能会出错。主要的CMS在那里遭受了大量的维护问题和安全漏洞,并且有相当数量的人才在他们身上工作。如果您认为您的CMS会有所不同,我建议它不会。您需要不断更新和维护它。如果您使用现成的解决方案,您应该能够从其他开发人员正在进行的工作中受益。如果您想编写自己的代码,请考虑自定义现成的CMS或提供新功能或修复错误。
拥有CMS:
现成的CMS:
考虑每个网站面临的典型安全问题:XSS,CSRF,SQL注入,配置错误,安全性松散,会话劫持,参数验证错误,竞争条件等。您需要处理所有这些情况,但CMS供应商已经为您做到了这一点。
对于您的Java要求,Resin Web服务器附带了一个PHP解释器,如果您选择PHP CMS,则可能允许您使用Java部署PHP应用程序。也应该可以在几个小时内将PHP引擎移植到另一个servlet容器(我认为它是GPL)。
答案 1 :(得分:2)
您一定要学习现有的CMS。从头开始创建一个就可以满足您的需求。具有现场社区的现有CMS(例如drupal或django)将根据其他人的累积经验销售基金会。
这样做有助于避免创建CMS的常见错误,并且可以让您专注于功能和制作产品,而不是构建框架。
答案 2 :(得分:1)
查看Alfresco Community Edition,它是基于java的,它是第一个符合CMIS 1.0的版本。您可以在其上构建Web客户端/应用程序。它有ftp,webdav,cifs,http接口。
答案 3 :(得分:1)
答案 4 :(得分:0)
我无法想象现有的CMS不符合这些要求。不过不会为你做研究; - )
答案 5 :(得分:0)
如果您想了解一些Java EE技术方面或优点/缺点,最好只为实践编写自己的CMS。
但在此之前,请先了解一些现有的CMS,以创建优缺点列表。
所有现有的CMS /框架/任何不适合您自己的问题,但它们通常太大而无法覆盖尽可能多的案例。
还有一件事需要考虑。您希望CMS在Google App Engine中运行良好吗?