Я участвую в процессе разработки веб-приложения Java EE. Он состоит из:Рекомендации по разработке безопасных веб-приложений Java SeE и Seam
- модуля серверной (EJB 3.0)
- 3 веб-модулей (JSF)
Наше приложение должно быть безопасным, поэтому некоторые его коллеги утверждают, что он должен быть разделен на два или более отдельные серверы - сервер на одном сервере, webapps в других (и). В нашем случае производительность не является проблемой, но эта архитектура требует использования удаленных интерфейсов в слое EJB.
Мы также планируем включить шов для упрощения разработки, но есть один drawback. Таким образом, мы пропускаем некоторые действительно интересные функции Seam, например. - extended persistence context in SFSB
Действительно ли использование архитектуры с двумя или несколькими отдельными серверами/машинами для каждого уровня веб-приложения Java EE действительно необходимо в аспектах высокой безопасности? Я не нашел ресурсов, объясняющих плюсы и минусы этой конфигурации. Каковы другие параметры конфигурации проекта/шаблоны безопасности, которые я должен учитывать, которые облегчают использование Seam? В других словах мы должны придерживаться этой архитектуры и добавлять Seam как есть или применять другое решение?
Если это помогает, мы можем использовать Spring вместо EJB, но EJB является более предпочтительным.
Я предполагаю, что веб-сервер находится в DMZ. Другие серверы находятся в частной сети, поэтому, не впадая в веб-сервер, трудно враждебно слушать провод? – cetnar