【发布时间】:2015-11-13 16:21:46
【问题描述】:
我是 OSGi 的新手,正在使用 Equinox“Virgo Tomcat 服务器”(VTS) 和 eclipse 蓝图,并在有限的时间内完成了一项重大任务 已有应用程序以 J2EE 风格开发 通过使用 JSP->Struts2->Spring->MySQL 和 SOAP Web 服务。 -现有架构中有不同的层
简单的请求流程如下所述
从 UI 层 -> 它进入 strus2 配置 -> 它进入 Spring 配置 -> 从 Spring 配置 xml(即模块明智的应用程序上下文 xml)调用 Struts Action 类 - 从 Struts Action 类层 -> 它进入到任务层->处理层->服务层->适配器或DAO层->在某些情况下从服务层调用的DB也转到WebService层并与后端遗留系统通信
我的查询如下 Q1] 从 UI/JSP 到 strtus2 动作层代码,每个模块都应该合并到一个单独的 .war 文件中,比如“onlinebank.war”,从 struts2 动作 onwords 开始,每一层的模块明智代码都应该进入模块明智的 OSGi 捆绑包 例如如果有 10 个模块,则应该有 10 个 osgi 包 并且每个模块明智的包应该包含来自动作层之后每一层的模块特定代码,并且应该在一个战争“onlinebank.war”和10个osgi包之间进行通信
Q2]让 Q1 更上一层楼 如果有 10 个模块,而不是在一个 OSGi 包中处理特定于模块的代码, 我必须为每个模块创建 3 个包(XXXAPI、XXXMain、XXXConfig) 例如测试模块 I] TestModuleAPI(将只包含接口和抽象类) II] TestModuleMain(将包含接口和抽象类的实现,并将提供一些默认功能) III]TestModuleConfig(将通过 API Bundle 访问 Main Bundle 的默认功能,并提供一些自定义/新功能)
因此,如果每个模块(API、Main、Config)有 10 个模块和 3 个 OSGi 捆绑包,那么对于 10 个捆绑包,应该有 3*10=30 个捆绑包,并且 -single war "onlinebank.war 之间应该有适当的通信" 和 30 包 此外,它自身的 30 个捆绑包之间应该有适当的通信,以解决依赖关系并正确/同步地协同工作
任何帮助将不胜感激
问候, 悟空
【问题讨论】: