首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在远程软件配置系统中的目标端使用OSGi有哪些优势?

在远程软件配置系统中的目标端使用OSGi有哪些优势?
EN

Stack Overflow用户
提问于 2012-05-23 12:47:25
回答 3查看 623关注 0票数 2

我正在开发一个远程软件供应系统,应该能够处理所有部署,安装,卸载和升级的软件组件。软件可以是任何语言(java、.net、c/c++等),目标端可以是PC、嵌入式系统和智能手机。

我发现Apache ACE是开发这个系统的很好的候选者。

我想知道在目标端使用OSGi是否有任何好处/必要性,因为Apache ACE也可以对非OSGi目标进行软件配置。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-26 01:25:15

我在你问的另一个问题中举了一些例子:

What are the non-osgi targets with which Apache ACE can work

您可以编写自己的管理代理,与ACE服务器通信并安装工件。实际上,您可以在几个地方挂接您自己的代码和协议。你有没有考虑使用一种具体的语言/环境,或者你现在只是在探索可能性?

票数 1
EN

Stack Overflow用户

发布于 2012-05-25 17:59:52

在客户端拥有像OSGi这样的模块化框架在进行远程管理时是一个巨大的优势,因为它可以让你深入了解内部发生的事情-安装的捆绑包,依赖项,捆绑包的状态,可用的服务等。当你必须远程解决问题时,这会有很大帮助。另一个优点是,OSGi基本上迫使程序员开发适当的模块化和动态系统,这使得(远程)更新变得容易得多。

因此,如果您现在必须决定在客户端使用哪种语言和框架,我强烈建议将OSGi用于嵌入式和移动客户端。对于PC(我猜您指的是台式PC?)这可能不是最好的选择--这在很大程度上取决于你想要在那里实现什么。如果你想远程安装微软办公软件,OSGi不会带你前去;)

但是,如果您在客户端已经有现有的程序,并且正在讨论是否将它们转换为OSGi,我建议您先调查一段时间,看看是否可以轻松地转换它们。一些软件包可能会给你转换到OSGi带来很多麻烦,不是因为OSGi很复杂,而是因为程序本身不是模块化的,并且对环境的静态性质有很多假设(例如,没有任何东西会消失,系统的某些部分永远不会更新等等)。具有讽刺意味的是,无论您选择的是哪种远程供应系统,这些正是稍后会给您带来最大麻烦的程序。

如果您在某些目标上安装了OSGi,请确保使用远程供应系统,该系统允许您访问完整的OSGi功能,而不仅仅是最基本、最简单的安装和更新功能。我还没有使用过Apache ACE,但我有使用另一个配置系统-- mPower Remote Manager的经验。这里有一些snapshots from the documentation,它们可以让你感觉到使用OSGi作为基础是可能的-无论它对你的情况是否有用,你都可以得出自己的结论。

票数 2
EN

Stack Overflow用户

发布于 2012-05-23 17:30:50

好的,OSGi的优势并没有改变,所以我可以向您推荐the standard page

为了更有建设性,我将这个问题理解为“我是否应该费心将我的应用程序转换为OSGi,因为它不是ACE所必需的?”

我想这取决于你想要什么样的更新机制。如果您有一个单一的应用程序(至少从配置的角度来看),而您仅将其作为一个整体进行部署和更新(就像一个iOS应用程序),那么使用OSGi进行配置不会获得太多好处。

对于其余部分,我可以像告诉其他任何人一样告诉您:将应用程序转换为OSGi并不困难,但模块化代码可能是一场噩梦,但在某种程度上,无论是不是OSGi,您都需要面对一些问题。如果你的代码已经模块化了,使用OSGi应该是小菜一碟。

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

https://stackoverflow.com/questions/10713583

复制
相关文章

相似问题

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