50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

OSGi 为业务所带来的好处

  • 2010-12-13
  • 本文字数:1061 字

    阅读完需:约 3 分钟

近日, Paremus 发表博文谈到了 OSGi 为业务所带来的好处,博文就模块化将成为大型代码基管理与维护的未来方向这一观点进行了讨论。报告还就如何迁移到 OSGi 上给出了建议:首先通过自动化构建生成 OSGi 元数据,然后将应用分别迁移到 OSGi 框架上。

很多人认为迁移到 OSGi 上的代价非常大,但通常这里面包含了模块化本身的代价。无论使用的是 OSGi、Jigsaw 还是其他的模块化架构,要想对大型、复杂、纵横交错的库进行模块化都要付出代价,而这种模块化对于维护者来说并没有立竿见影的好处。然而如果不这么做,系统就会随着时间的推移变得更加复杂、更加的纵横交错,维护代价也会增加。这就好像我们要经常对车进行保养来保持良好的车况一样;如果长年不保养,那么发动机大修的费用就会比所有的保养费还要高,甚至会缩短车的使用寿命。

Paremus 给出了如下的迁移计划:

  1. 清除
  2. 成立由模块化专家所构成的小团队,确保得到管理层的支持
  3. 分析现有项目之间的依赖关系,去除不必要或不合适的依赖
  4. 工具与元数据
  5. 评估并使用支持 OSGi 元数据的工具与仓库
  6. 为所有项目生成 OSGi 元数据,以此作为构建过程的一部分(即便没有转向 OSGi)
  7. 运行时
  8. 根据敏捷与重用性为迁移选择候选者
  9. 使用现有库(以此作为粒度级别)创建工作运行时 Bundle
  10. 在 OSGi 与非 OSGi 运行时下进行并发测试
  11. 迭代
  12. 一旦迁移到 OSGi,那么可能还有更多的候选者来对现有库进行模块化
  13. 就共享模块进行报告
  14. 单独迁移随后的应用

成功案例

虽然有博文报道说 MuleSoft 没有成功迁移到 OSGi ,但几个评论家已经证明了 OSGi 无论对应用服务器还是中间件都是很棒的选择。

就像其他很多框架一样,使用 OSGi 并不意味着一定就会成功,它还经常需要在使用上与代码上进行一些变化以便进行迁移。事实上, OSGi 并非万灵丹——但我们不能仅仅因为它不适合于一个项目就说它也不适合于其他项目。人们可能不会使用 OSGi 实现解析 CSV 并将其加载到数据库中这样的单一用途应用,但他也不可能使用 Spring 或其他框架完成这件事(有些人可能会说这种情况下最好使用 Python 或 Perl 而不是 Java)。

OSGi 还是模块化领域中的一个工具,可用于模块化并在模块之间强制施加边界。随着项目规模的不断扩大,强有力的模块化系统所带来的价值已经超越了实现模块化的代价。

查看英文原文: Business Benefits of OSGi

2010-12-13 11:153830
用户头像

发布了 88 篇内容, 共 272.6 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

开源治理的基本实践与指导原则

SEAL安全

开源 开源安全 软件供应链安全 开源安全与治理

易观分析&Pangle联合发布《全球新兴市场移动应用报告》

易观分析

新兴市场

TDengine3.0计算查询引擎的优化与升级

TDengine

数据库 tdengine 时序数据库 企业号九月金秋榜

小程序可以在智能设备上运行?

Speedoooo

小程序 物联网 IoT 智能设备 小程序容器

不信谣不传谣,亲自动手验证ModelBox推理是否真的“高性能”

华为云开发者联盟

人工智能 企业号九月金秋榜

最新版!955、不加班、双休的公司名单

千锋IT教育

软件测试 | 测试开发 | 一文搞定 uiautomator2 自动化测试工具使用

测吧(北京)科技有限公司

自动化测试

【译】YouTube 架构

Rae

数据库 架构 youtube 后端技术

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【一】

Rae

架构 分布式 日志 原理

TiDB v6.2 发版

PingCAP

#TiDB

《穿越时空的git》之创建版本库和常用命令操作

霍格沃兹测试开发学社

新书上市 | 十分易上手的图解教程,全系列累计销量20万册!

图灵教育

程序员 计算机 图论

软件测试 | 测试开发 | 测试人员必须掌握的测试用例

测吧(北京)科技有限公司

测试

新书上市 | 十分易上手的图解教程,全系列累计销量20万册!

图灵社区

程序员 计算机 图论

软件测试 | 测试开发 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

测吧(北京)科技有限公司

测试

精彩演讲实录|在确定性和不确定性中探索AIOps的适用性

TRaaS

技术文章

我们做了一个云原生成本优化产品

TRaaS

内核实战教程第四期 _ 带你走进数据库 SQL 引擎

OceanBase 数据库

为什么资源隔离对HTAP至关重要?

OceanBase 数据库

iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

霍格沃兹测试开发学社

一文带你了解K8S 容器编排(上)

霍格沃兹测试开发学社

软件测试 | 测试开发 | 如何使用代理配置快速定位接口测试脚本问题?

测吧(北京)科技有限公司

测试

hive on spark 还是 spark on hive?

林家小壳壳

大数据 hive spark SQL 大数据仓库

Python代码用在这些地方,其实1行就够了

华为云开发者联盟

Python 开发 企业号九月金秋榜

开学季 | Y 省教育厅这张卷,融云答出了100分!

融云 RongCloud

通讯协议

软件测试 | 测试开发 | 常见接口协议解析

测吧(北京)科技有限公司

TCP

iOS自动化真机测试验证环境过程中常见问题解析

霍格沃兹测试开发学社

RPC接口测试技术-Tcp 协议的接口测试

霍格沃兹测试开发学社

宏杉科技加入阿里云PolarDB开源数据库社区

阿里云数据库开源

阿里云 polarDB 阿里云数据库 PolarDB-PG PolarDB for PostgreSQL

TiFlash 源码解读(七)TiFlash Proxy 模块

PingCAP

TiDB TiDB 源码解读

fastposter v2.9.2 最简海报生成器

物有本末

海报生成器 电商海报 图片生成

OSGi为业务所带来的好处_Java_Alex Blewitt_InfoQ精选文章