「単純な」CMSでさえ、ユーザー認証、セキュリティ、スケーラビリティなどを実行し始めると、かなり複雑なアプリケーションになります。間違える可能性のあることはたくさんあります。そこにある主要なCMSは、多くのメンテナンスの問題とセキュリティのバグに悩まされており、かなりの数の才能のある人々がそれらに取り組んでいます。CMSが異なると思われる場合は、そうではないことをお勧めします。常に更新して維持する必要があります。既成のソリューションを使用する場合は、他の開発者が行っている作業から利益を得ることができるはずです。独自のコードを作成する場合は、既成のCMSをカスタマイズするか、新機能やバグ修正を提供することを検討してください。
独自のCMS:
- 機能の完全な制御
- 低価格
- わかりやすい
- あなただけがそれを理解し、それを修正することができます
- 他の開発者によるバグ修正はありません
既製のCMS:
- インストールするだけで、付加価値に集中できます
- 急な学習曲線
- たくさんのホストされたソリューションとオンラインヘルプ
- あなたがいない場合、多くの人がそれを管理することができます
- バグ修正とセキュリティアップデートはベンダーによってリリースされています
- カスタマイズなどの点でより制限されています
- 誰かがアップデートを把握してインストールする必要があります。そうしないと、顧客はWordPressワームなどのワームの犠牲になる可能性があります。独自のCMSを使用すると、誰かがあなたのためだけにワームを作成する可能性は低くなります。(ただし、顧客は依然として他のセキュリティ問題のリスクにさらされています)。
XSS、CSRF、SQLインジェクション、構成エラー、セキュリティの緩み、セッションハイジャック、パラメーター検証エラー、レース条件など、すべてのWebサイトが直面する一般的なセキュリティの問題を検討してください。これらすべてのケースを処理する必要がありますが、CMSベンダーはすでにあなたのためにそれをします。
Java要件に関しては、Resin WebサーバーにはPHPインタープリターが付属しており、PHPCMSを選択した場合にJavaでPHPアプリをデプロイできる可能性があります。PHPエンジンを別のサーブレットコンテナに数時間で移植することも可能になるはずです(GPLだと思います)。