2012-05-31 46 views
0

我公司是创建将在功能有些重叠多个​​Web应用程序。我想将通用函数开发为一个单独的项目,并且由于它将包含网页和托管bean,因此我会假设该项目需要位于其自己的.war文件中。然后,我想大概会在.ear文件中部署两个(或更多)Web应用程序。在网上进行一些初步研究让我不确定Web应用程序能够如何协同工作。我能够在托管的bean之间共享数据,并将用户从一个Web应用程序中的页面导向另一个Web应用程序?是否让我的应用程序可维护或者是否有更好的方式来分解项目?在一个Web应用程序使用多个的.war

+0

我想所有的演示文稿的希望在一个单一的战争发生,但使用框架可以呈现在你的主war文件的另一场战争的内容。诀窍是使用持久化业务对象,通过某种服务总线在两个应用程序之间传递数据。 –

+0

Web是面向常用函数,还是可以在jar中开发并用作依赖项,然后在不同的webapps之间共享这种方式。 – aglassman

+0

@aglassman常用功能包括面向网络,捕获和显示跨应用程序的用户数据。我想我会使用facelets模板来将常用内容包含在应用程序特定的内容中。 – SomeFatMan

回答

1

这是一种矫枉过正,但:
可以拆分您的应用程序到数据库,业务逻辑和表示/ WEB /层的功能; “重叠”功能可以转到业务层和数据库层。
Web前端必须通过corba,REST/LESS,soap或其他替代方案与业务层交谈,具体取决于您在第2层/ business /中具有的连接器;

看到this diagram
或谷歌3层架构的更多信息


我公司在几年前有同样的问题,他们结束了部署多个应用/业务逻辑的重复是不可避免/

现在我们通过创建一个通用的,开放的,业务层,服务层,它可以通过web服务调用,并且是部门内的任何地方的其他应用程序/脚本访问改造车轮;

+0

我使用这种方法的唯一问题是,我想跨应用程序重用Web层代码。将会有常见的ManagedBeans和EJB – SomeFatMan

+0

的常见数据录入/演示屏幕,您可以使用Vaadin来实现常见的“Web层”代码。这样它会在服务器上/在您的业务层/呈现给客户端。 或者只是将通用功能移到新的webapp,如果需要,您可以稍后通过webservices等公开它:-) –

0

包装所有你的战争中EAR文件中的文件。将库文件放在EAR中,以便所有的WAR文件都可以共享。

相关问题