用于Web的模块化OSGiJava框架?

用于Web的模块化OSGiJava框架?,java,model-view-controller,web,osgi,Java,Model View Controller,Web,Osgi,我正在寻找一个功能强大的最新Java OSGI WEB框架, 这将允许 模块化体系结构(OSGI) 灵活的视图(JavaScript、HTML、模板…) 字符串MVC分离 可能是预实现的CMS模块 是积极开发的开源软件 我发现的是 ZEND for PHP。Java世界提供了类似的东西吗 弹簧拼接可能是解决方案 EclipseRAP可以支持OSGI,但不能提供足够灵活的视图 我非常喜欢,它与OSGi配合得很好,而且非常活跃。 这是一个基于谷歌GWT的UI工具包 请注意,您仍然需要做出一些

我正在寻找一个功能强大的最新Java OSGI WEB框架, 这将允许

  • 模块化体系结构(OSGI)
  • 灵活的视图(JavaScript、HTML、模板…)
  • 字符串MVC分离
  • 可能是预实现的CMS模块
  • 是积极开发的开源软件
我发现的是

  • ZEND for PHP。Java世界提供了类似的东西吗
  • 弹簧拼接可能是解决方案
  • EclipseRAP可以支持OSGI,但不能提供足够灵活的视图
    • 我非常喜欢,它与OSGi配合得很好,而且非常活跃。 这是一个基于谷歌GWT的UI工具包


      请注意,您仍然需要做出一些决定:您可以“直接”使用OSGi框架,如Felix或Equinox,但也许您最好使用应用服务器,如ApacheKaraf或EclipseVirgo。

      您应该看看Apache(Felix)Sling或其商业版CQ5(以前的Day软件)。它完全基于OSGi。

      采用您选择的任何标准框架,并将其部署在Karaf之上(如果您不想麻烦构建自己的OSGi运行时环境),或者如果您想从头开始构建一切,请考虑Pax Web,它还支持Servlet 3.0和OSGi

      我每天都在开发基于OSGi的web应用程序。我们有一个稍微可行的替代方法,效果非常好:

      • 使用OSGi服务实现的RESTful web服务
      • 基于AngularJS的模块化用户界面,打包在OSGi捆绑包中
      尽管AngularJS显然不是Java web框架,但它非常适合现代web开发。如果您熟悉Java MVC web框架,也很容易理解

      主要问题是如何模块化代码。在后端,我们将一切都实现为OSGi服务。RESTful Web服务是使用Amdatu(Amdatu.org)通过JAX-RS实现的。有了Amdatu,您可以以适合OSGi的方式使用JAX-RS。每个RESTful资源和较低级别的服务也打包在单独的包中,因此后端是完全模块化的


      为了模块化UI本身,我们将应用程序的不同功能部分分离为不同的角度应用程序。每个Angle应用程序也使用Amdatu资源提供程序打包在单独的包中

      您可以测试Konekti,它是一个开源OSGi业务平台,由Thingtrack开发的Eclipse Virgo OSGi容器提供支持

      • 瓦丁
      • 春天
      • 贾斯佩雷波特
      • 石英
      • JBoss JBmp,流口水
      • apachecamel,ActiveMQ
      • 还有更多

      由于目前ApacheFelix和EclipseEquinox是可用的最新OSGi框架,我个人使用的是Felix,它工作得最好。就我个人而言,我在实际使用OSGi时遇到了很大困难。这是一场噩梦,我花了大量的时间来解决版本依赖关系,而从一开始就不应该存在冲突。@PradeepSimha然而,这些只是osgi容器。它没有解决应该使用哪些应用服务器、哪些框架的问题。