我正在为 WEB 寻找一个强大的最新 Java OSGI 框架,它允许
- 模块化架构 (OSGI)
- 灵活的视图(JavaScript、HTML、模板...)
- 字符串 MVC 分离
- 也许是预先实现的 CMS 模块?
- 积极开发并开源
我发现的是
- 用于 PHP 的 ZEND。Java 世界是否提供了类似的东西?
- 弹簧拼接可能是解决方案
- Eclipse RAP,可以 OSGI 但不提供足够灵活的视图
- ... ?
我正在为 WEB 寻找一个强大的最新 Java OSGI 框架,它允许
我发现的是
采取任何标准。您选择的框架并将其部署在 Karaf 之上(如果您不想麻烦构建自己的 OSGi 运行时环境),或者如果您想从头开始构建所有内容,还要考虑 Pax-Web 它还支持 Servlet 3.0 和 OSGi 看看Pax-Web 的主页。
您应该查看 Apache (Felix) Sling 或其商业版本 CQ5(以前称为 Day Software)。它完全基于 OSGi。
我非常喜欢Vaadin,它与 OSGi 配合得很好,而且非常活跃。它是一个基于 Google GWT 的 UI 工具包。
请注意,您仍然需要做出一些决定:您可以“直接”使用 OSGi 框架,例如 Felix 或 Equinox,但也许您最好使用应用程序服务器,例如 Apache Karaf 或 Eclipse Virgo。
我每天都在开发基于 OSGi 的 Web 应用程序。我们有一个稍微替代的方法,效果很好:
虽然 AngularJS 显然不是 Java Web 框架,但它非常适合现代 Web 开发。如果您熟悉 Java MVC Web 框架,也很容易理解 Angular。
主要问题是如何模块化你的代码。在后端,我们将所有内容都实现为 OSGi 服务。RESTful Web 服务是通过 JAX-RS 使用 Amdatu (amdatu.org) 实现的。使用 Amdatu,您可以以非常适合 OSGi 的方式使用 JAX-RS。每个 RESTful 资源和较低级别的服务也打包在单独的包中,因此后端是完全模块化的。
为了模块化 UI 本身,我们将应用程序的不同功能部分分离为不同的 Angular 应用程序。每个 Angular 应用程序也使用 Amdatu 资源提供程序打包在单独的包中。
您可以测试 Konekti 一个开源 OSGi 业务平台,该平台由 Thingtrack 开发的 Eclipse Virgo OSGi Container 提供支持。