2009-09-25 86 views
1

我参与了设计Java EE Web应用程序的过程。它包括:安全的Java EE Web应用程序和Seam设计指南

  • 后端模块(EJB 3.0)
  • 3 Web模块(JSF)

,所以有些同事声称,它必须被分裂成两个或更多的我们的应用程序必须是安全的单独的服务器 - 一台服务器中的后端,另一台服务器中的webapps。在我们的案例中,性能不是问题,但是这种架构需要在EJB层中使用远程接口。

我们也计划将Seam集成到简化开发中,但有一个drawback。所以我们错过了Seam的一些非常酷的功能,例如 - extended persistence context in SFSB

对于每个J2EE EE Web应用程序层,使用具有两个或多个单独服务器/机器的体系结构在高安全性方面是否真的必须使用?我没有找到解释这种配置优缺点的资源。我应该考虑哪些其他项目配置选项/安全模式,以促进使用Seam?换句话说,我们应该坚持使用这种架构,并按照原样添加Seam或应用其他解决方案?

如果有帮助,我们可以使用Spring而不是EJB,但是EJB更可取。

回答

0

这是一个简单的答案,你是问题....更安全的是让你的数据跨越3个网络连接(Web-> Web服务器是1,Web服务器 - >远程EJB是2,远程EJB-> DB是3)还是2个网络连接? 2网络连接本质上更安全,因为线路上的敌意聆听较少。 如果你是攻击者能够读取Java用来从你的Web服务器上获取数据的内存,那么你就会遇到更大的问题,而单独的服务器根本无法提供帮助。

+0

我假设Web服务器在DMZ中。其他服务器是在专用网络中,因此不需要在网络服务器中进行攻击就很难在线路上进行敌意收听? – cetnar 2009-09-25 21:50:11