Java 在单个代码库中合并三个不同区域的web应用程序

Java 在单个代码库中合并三个不同区域的web应用程序,java,web-services,web-applications,architecture,frameworks,Java,Web Services,Web Applications,Architecture,Frameworks,我们有一个针对三个不同地区的Web应用程序,我们有三个独立的代码库,三个DB,但代码库是彼此的副本,这是一样的。最初,每当一个新区域启动时,我们都会从一个区域复制代码,并进行一些特定于区域的更改,并添加新的数据库并启动。这样做是为了提供特定于区域的功能—如美国区域—页面将包含比英国区域更多的字段,等等 现在,我们希望合并所有内容,并使其成为一个单一的应用程序―具有单一的代码库。然后,应用程序将允许用户在登录时选择区域(使用下拉列表),内容将针对该区域打开 所以我需要帮助设计这个应用程序。请建议如

我们有一个针对三个不同地区的Web应用程序,我们有三个独立的代码库,三个DB,但代码库是彼此的副本,这是一样的。最初,每当一个新区域启动时,我们都会从一个区域复制代码,并进行一些特定于区域的更改,并添加新的数据库并启动。这样做是为了提供特定于区域的功能—如美国区域—页面将包含比英国区域更多的字段,等等

现在,我们希望合并所有内容,并使其成为一个单一的应用程序―具有单一的代码库。然后,应用程序将允许用户在登录时选择区域(使用下拉列表),内容将针对该区域打开

所以我需要帮助设计这个应用程序。请建议如何进行,设计模式或框架应该是什么,以及这种开发的正确方法。 应用程序的当前结构 它是一种客户机服务体系结构。在前端,我们使用JSF和SOAP客户端以及后端SOAP服务, 它就像
用户请求->JSF配置->SOAP客户端->SOAP服务->DAO
。 1.有一个WebEAR,我们正在使用JSF和JAX-WS(SOAP客户端) 2.ServiceEAR——我们正在使用SOAP服务(JAX-WS)。 3.我们使用的是JPA 架构u
ser请求->WeBEAR(JSFC配置->服务代理)->EserviceEAR(服务商务服务)

我想到了一个解决方案 登录时,我将获取位置并将其保存在会话中,对于从客户端(WebEAR)到服务(EserviceEAR)的每个请求,我将传递位置,并根据位置从DB获取数据,并显示特定于该区域的数据。
请为此提供一些标准框架/体系结构。

建议的解决方案是否满足安全要求?如果用户选择了不正确的区域(有意或无意),用户会看到超出允许范围的信息吗?@AndrewS正在处理的信息,这里我想知道如何设计应用程序,以便我不需要在每次服务调用中传递位置。