gpt4 book ai didi

java - 关于Spring DM、OSGi和web应用的问题

转载 作者:行者123 更新时间:2023-11-29 03:43:21 28 4
gpt4 key购买 nike

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

有点像如何在 joomla 中安装插件。因此,例如,当我想添加 Web 应用程序的不同方面时,我会与所有 html 和 its admin 部分建立一个小 war ,并在主管理面板中提供此功能管理部分。

第二个问题是关于Spring DM。我很可能会使用 Spring 并且我看到 Spring DM 必须提供什么似乎合乎逻辑。下载 Spring DM .1.2.1 后我发现它的 lib 文件夹包含版本 2.5.6.SEC01 的 spring jars 但我计划使用3.1.2 所以我有点困惑,因为一切如何一起玩得很好。

感谢阅读

最佳答案

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

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

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

在服务器中,我使用 DS 和 bndtools 来开发 bundle 。这是一次令人印象深刻的开发体验,因为它像 Smalltalk 一样工作。您进行更改,它会立即反射(reflect)在服务器中。添加 bundle ,删除 bundle ,服务器继续运行。服务器重启在开发过程中很少见。

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

关于java - 关于Spring DM、OSGi和web应用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161605/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com