我的公司正在创建多个Web应用程序,这些应用程序在功能上会有一些重叠。我想将公共函数开发为一个单独的项目,因为它将包含网页和托管bean,我认为项目需要在自己的.war文件中。然后,我可能会在.ear文件中部署两个(或更多)Web应用程序。在线进行一些初步研究使我不确定Web应用程序将如何协同工作。我是否能够在托管bean之间共享数据并将用户从一个Web应用程序内的页面引导到另一个Web应用程序?是否可以使我的应用程序可维护或是否有更好的方法来分解项目?
答案 0 :(得分:1)
这是一种矫枉过正,但是:您可以将应用程序的功能分为数据库,业务逻辑和演示文稿/网络/层; “重叠”功能可以转到业务和数据库层。
网络前端必须通过corba,REST / LESS,soap或替代方案与业务层进行通信,具体取决于您在第2层/业务/中拥有的连接器;
见this diagram
或谷歌3层架构了解更多信息
我的公司几年前遇到了同样的问题,他们最终部署了多个应用程序/一些业务逻辑重复是不可避免的/
现在我们通过创建一个通用的,开放的业务层服务层来重新发明轮子,该服务层可以通过webservices调用,并且可以被部门内任何位置的其他应用程序/脚本访问;
答案 1 :(得分:0)
将所有WAR文件包装到EAR文件中。并将库文件放在EAR中,以便所有WAR文件都可以共享。