Даже «простая» CMS является довольно сложным приложением, когда вы начинаете делать такие вещи, как аутентификация пользователя, безопасность, масштабируемость и т. Д. Есть много вещей, которые вы можете ошибиться. Основные CMS там страдают от множества проблем с обслуживанием и ошибок безопасности, и над ними работает немало талантливых людей. Если вы думаете, что ваша CMS будет другой, я полагаю, что не будет. Вам нужно будет постоянно обновлять и поддерживать его. Если вы используете готовое решение, вы сможете извлечь выгоду из работы, которую выполняют другие разработчики. Если вы хотите написать свой собственный код, рассмотрите возможность настройки готовой CMS или добавления новых функций или исправлений ошибок.
Собственная CMS:
- Полный контроль над функциями
- Низкая стоимость
- Легко для вас, чтобы понять
- Только вы понимаете это и можете это исправить
- Нет исправлений от других разработчиков
Готовая CMS:
- Вы можете просто установить его, а затем сконцентрироваться на добавленной стоимости
- Более крутая кривая обучения
- Множество размещенных решений и онлайн-справка
- Многие люди могут администрировать его, если вас нет рядом
- Исправления ошибок и обновления безопасности выпускаются поставщиком
- Более ограничены с точки зрения настройки и т. Д.
- Кто-то должен следить за обновлениями и устанавливать их, иначе клиент может стать жертвой червя, такого как черви WordPress. С вашей собственной CMS менее вероятно, что кто-то создаст червя только для вас. (Но ваши клиенты все еще подвержены риску других проблем безопасности).
Рассмотрим типичные проблемы безопасности, с которыми сталкивается каждый веб-сайт: XSS, CSRF, SQL-инъекция, ошибки конфигурации, слабая безопасность, перехват сеанса, ошибки проверки параметров, условия гонки и т. Д. Вам необходимо обработать все эти случаи, кроме CMS поставщики уже делают это для вас.
Что касается вашего требования Java, веб-сервер Resin поставляется с интерпретатором PHP, который может позволить вам развернуть приложение PHP в Java, если вы выберете PHP CMS. Также через несколько часов должна быть возможность портировать движок PHP на другой контейнер сервлета (я думаю, что это GPL).