首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >商务web应用平台结构

商务web应用平台结构
EN

Stack Overflow用户
提问于 2011-03-05 09:11:47
回答 4查看 360关注 0票数 1

我想在Java/Spring/Hibernate中开发一个web应用程序,作为我可以连接插件(即CRM插件、ware插件、销售插件)的业务平台。这些插件可以以树的方式依赖于其他插件。父项目将打包为war,具有所有的基本配置和外观(Spring、CSS、脚本)、准备就绪的用户和组管理、安全设置等。

总之,我希望它的行为和外观有点像Joomla,但使用不同的工具为不同的目的而构建。关于这个项目,我有几个问题:

  1. 您知道有任何开放源码项目提供这样一个平台吗?
  2. 如果不是,Maven是否适用于管理这些插件?
  3. 打包和部署这些插件的最佳方法是什么?

最后但并非最不重要的是,这是正确的道路,还是一条死胡同?为这些业务需求创建一个单独的web应用程序会更好吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-05 19:06:57

有很多方法来构建插件模块。一些想法:

您可以将每个插件模块打包为jar,并在这个jar的类路径根中放置一个带有bean配置的spring配置文件,如果您使用的是特定的插件。您可以在web应用程序中“打开”此包的bean,只需将该文件添加到您的contextConfigLocation参数中:

代码语言:javascript
代码运行次数:0
运行
复制
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:module1.xml
        classpath:module2.xml
        classpath:module3.xml
        classpath:module4.xml
    </param-value>
</context-param>

因此,您可以在您的web应用程序中使用这些bean。另一种方法是使用更多的注释驱动方法。或者你可以混合这些方法。

不久前,通过检测类路径中特定抽象类(契约)的所有实现,我构建了一种自动热检测方法(在执行时,无需重新启动应用程序),从而在桌面应用程序中检测插件。所以,为了构建一个新的插件,我所要做的就是实现这个“契约”。我用了一些“类加载器”来做这件事。

在谈论“模块”时,您可能会想看到一些关于OSGi的东西

好吧..。这些都是一些想法。我希望它在任何方面都有帮助。;-)

票数 1
EN

Stack Overflow用户

发布于 2011-03-05 15:22:17

我认为这是一个很好的方式来设计一个web应用程序,视需要而定。我使用插件是因为我有几个客户端使用相同的代码基和不同的需求。如果您正在开发一个安装,我想说,不要浪费您的时间。

现在是如何做的。“插件”是一个非常模糊的概念。我用过插件

  • 拦截方法调用
  • 运行后台进程
  • 在我的web应用程序中添加其他视图

现在的问题是,这是如何运作的。方法拦截器使用org.aopalliance.intercept.MethodInterceptor工作。后台处理器使用TimerTask。web应用程序中的附加视图使用Spring路由。

我的插件被打包为JAR,并在应用程序启动时被发现为Spring应用程序上下文。

这都是非常笼统的,但可能会给你一些想法去摆脱。

票数 0
EN

Stack Overflow用户

发布于 2011-03-07 06:57:21

您知道有任何开放源码项目提供这样一个平台吗?

看看春Roo

如果不是,maven是否适用于管理这些插件?

是的,是这样的。看看AppFuse是如何使用它的。

打包和部署这些插件的最佳方法是什么?同样,检查Spring或AppFuse是如何做到这一点的。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5202814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档