Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于Spring DM、OSGi和web应用程序的问题_Java_Plugins_Osgi_Enterprise - Fatal编程技术网

Java 关于Spring DM、OSGi和web应用程序的问题

Java 关于Spring DM、OSGi和web应用程序的问题,java,plugins,osgi,enterprise,Java,Plugins,Osgi,Enterprise,我开始研究osgi,主要目的是完成我面前的任务。基本上,我将能够分发一个基于web的应用程序,并分别构建整个web应用程序的特定功能,这样我就可以在a部署我的web应用程序的功能a、b、c,并在b部署功能a、c、d 有点像如何在joomla中安装插件。因此,例如,当我想添加web应用程序的另一个方面时,我将使用所有html和其管理部分构建一个小型war,并在主管理面板中提供此功能管理部分 第二个问题是关于SpringDM。很可能我会使用Spring,我看到了Spring DM提供的功能,这似乎是

我开始研究osgi,主要目的是完成我面前的任务。基本上,我将能够分发一个基于web的应用程序,并分别构建整个web应用程序的特定功能,这样我就可以在a部署我的web应用程序的功能a、b、c,并在b部署功能a、c、d

有点像如何在joomla中安装插件。因此,例如,当我想添加web应用程序的另一个方面时,我将使用所有html和
其管理部分构建一个小型war,并在主管理面板中提供此功能管理部分

第二个问题是关于SpringDM。很可能我会使用Spring,我看到了Spring DM提供的功能,这似乎是合乎逻辑的。下载Spring DM.1.2.1后,我发现它的lib文件夹中包含2.5.6.SEC01版本的Spring jar,但我计划使用3.1.2,所以我有点搞不清楚如何将所有功能完美地结合在一起


谢谢你的阅读

我刚刚做了这样一个练习,这样我就可以让你在没有弹簧的情况下了解如何做。我已经明确划分:所有应用程序代码都在浏览器中,所有数据处理都在服务器中。有了HTML5,浏览器已经发展成为一个令人印象深刻、可移植且功能强大的应用程序环境。一个具有多处理、消息传递、模块化和惊人的视觉效果。我在浏览器中使用angularjs作为框架

Angular使用一个中央路由表,将页面url的哈希部分映射到Javascript中的“模块”。这使得定义哪些模块是应用程序的一部分变得非常容易。服务器可以轻松地控制这一部分

在服务器端,我有一些包,其中包含Javascript代码、html片段和数据处理。我基于OSGiHTTP服务器模型,因为它更灵活。但是,我在bundle中添加了对静态资源的适当支持:缓存、流、范围等

在服务器中,我使用DS和bndtools开发捆绑包。这是一次令人印象深刻的开发体验,因为它的工作方式类似于Smalltalk。您的更改会立即反映在服务器中。添加捆绑包,删除捆绑包,服务器将继续运行。在开发过程中很少会重新启动服务器


遗憾的是,利用OSGi的组件很少。大多数组件(以Spring为典型示例)严重依赖于类加载技术从中心点连接应用程序。这根本不是模块化的。出于这个原因,我不得不开发许多高度内聚和不耦合的组件,这些组件利用OSGi服务模型。一旦我有时间,我将把它们捐赠给一个开源项目。

我刚刚做了这样一个练习,这样我就可以在不占用Spring开销的情况下为您展示如何做到这一点。我已经明确划分:所有应用程序代码都在浏览器中,所有数据处理都在服务器中。有了HTML5,浏览器已经发展成为一个令人印象深刻、可移植且功能强大的应用程序环境。一个具有多处理、消息传递、模块化和惊人的视觉效果。我在浏览器中使用angularjs作为框架

Angular使用一个中央路由表,将页面url的哈希部分映射到Javascript中的“模块”。这使得定义哪些模块是应用程序的一部分变得非常容易。服务器可以轻松地控制这一部分

在服务器端,我有一些包,其中包含Javascript代码、html片段和数据处理。我基于OSGiHTTP服务器模型,因为它更灵活。但是,我在bundle中添加了对静态资源的适当支持:缓存、流、范围等

在服务器中,我使用DS和bndtools开发捆绑包。这是一次令人印象深刻的开发体验,因为它的工作方式类似于Smalltalk。您的更改会立即反映在服务器中。添加捆绑包,删除捆绑包,服务器将继续运行。在开发过程中很少会重新启动服务器


遗憾的是,利用OSGi的组件很少。大多数组件(以Spring为典型示例)严重依赖于类加载技术从中心点连接应用程序。这根本不是模块化的。出于这个原因,我不得不开发许多高度内聚和不耦合的组件,这些组件利用OSGi服务模型。一旦我有时间,我将把它们捐赠给一个开源项目。

我不确定你是否需要考虑OSGi,至少不是直接考虑,以达到你所在州的要求。你说:

基本上,我将能够分发一个基于web的应用程序和 以这种方式分别构建整个web应用程序的特定功能 我可以在A部署我的web应用程序,功能有A、b、c和b 具有特征a、c、d

如果这些是您的需求,那么您实际上不需要直接关注OSGi,而是找到一个支持模块化扩展的web应用程序框架。这很可能意味着框架本身使用OSGi。我不熟悉Spring,但我知道Struts2(一个类似的web应用程序框架)有一个实现您的用例的方法


另一方面,如果您的想法是使用OSGi,那么我建议您选择较低级别的任务,例如编写web应用程序框架,而不是web应用程序本身

我不确定您是否需要考虑OSGi,至少不是直接考虑,以实现您所在州的要求。你说:

基本上,我将能够分发一个基于web的应用程序和 以这种方式分别构建整个web应用程序的特定功能 我可以在A部署我的web应用程序,功能有A、b、c和b 具有特征a、c、d

如果这些是您的需求,那么您实际上不需要直接关注OSGi,而是找到一个支持模块化扩展的web应用程序框架。这很可能意味着框架本身使用OSGi。