我们正在开发一些位于单个“门户”应用(所有JEE 6)背后的网络应用。所有应用程序(当前)都位于同一个glassfish服务器上并使用glassfish的SSO功能,因此用户可以通过门户登录,然后可以使用他们有权访问的任何应用程序。
我目前正在尝试找出封装应用内容相同或非常相似的内容的方法,并将其保存在一个位置。像页眉,页脚,菜单,对话框,一些常见的js / jquery工具等等。注意,大多数这不是静态内容(它需要从服务器端获取一些数据)。我们使用JSF 2.1 facelets和一些自定义组件等等。
理想情况下,我希望每个子应用只使用<ui:composition>
从门户网站应用中显示各种<ui:include>
xhtml文件,或者使用门户网站应用提供的通用模板。但是,这似乎不可能跨域。我也许可以使用<iframe>
,但这看起来很笨重,特别是当内容依赖于ajax和/或javascript文件等时。
很抱歉,如果这个问题有点广泛,但有人有任何建议吗?为了在多个应用中嵌入常见内容,我应该考虑哪些技术?这是一种常见的模式,还是我们通过这样的方式将事情分开来做出糟糕的建筑选择?我们应该写一个巨大的UberApp吗?