在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:153868
用户头像

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

关注

评论

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

【羊城晚报】WeOps智慧护航,传媒“领头羊”业务迈向新高度

嘉为蓝鲸

IT运维 传媒 传媒公司

【零售电商系列】走进亚马逊(一)

小诚信驿站

6 月 优质更文活动

直播倒计时1天 | 一体化智能可观测平台如何保障电商节大促

博睿数据

电商 智能运维 博睿数据 直播预告

2023上海国际嵌入式展 | 如何通过人工智能驱动的自动化测试工具提升嵌入式开发效率

龙智—DevSecOps解决方案

嵌入式 嵌入式软件 嵌入式设计 嵌入式开发

软件测试/测试开发丨Allure2报告中添加附件-图片

测试人

程序员 软件测试 测试开发 Allure

嘉为蓝鲸研运一体化解决方案入选“鑫智奖”

嘉为蓝鲸

智能硬件 蓝鲸 金融数据

迈向新时代的英特尔代工服务:走差异化路径,坚持客户至上

最新动态

有哪些内外网都能传输文件的工具-镭速

镭速

3DCAT亮相糖酒会,为元宇宙展会提供实时云渲染支持

3DCAT实时渲染

元宇宙 实时云渲染

墨天轮国产关系型分布式数据库榜单解读

墨天轮

数据库 GaussDB TiDB oceanbase polarDB

打卡有礼!快来 2023 开放原子全球开源峰会找龙蜥玩~

OpenAnolis小助手

开源 操作系统 龙蜥社区 开放原子全球开源峰会 龙蜥实验室

做开发5年,这8个高效开发好习惯我悟了🔥

引迈信息

程序员 前端 低代码 JNPF

TDengine 合作伙伴 +1,这次是「DaoCloud道客」

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine

模型服务文档自动生成,要素追溯关联、结构规范易读|ModelWhale 版本更新

ModelWhale

大模型 企业团队协同 数据开放和利用 学科交叉 人文社科

火山引擎DataLeap:从短视频APP实践来看,如何统一数据指标口径?

字节跳动数据平台

大数据 指标体系 数据研发 指标建设

揭秘新一代云数仓技术架构与最佳实践

字节跳动数据平台

大数据 数据仓库 云原生 OLAP 数据仓库服务

中企出海成大热趋势,海外用户如何高效触达

MobTech袤博科技

软件测试丨Allure2报告中添加用例支持tags标签、失败重试功能

测试人

程序员 软件测试 测试开发 测试用例 Allure

NFT全链游戏dapp系统开发合约定制

开发v-hkkf5566

一篇关于代码质量的实用攻略!

飞算JavaAI开发助手

代码质量 软件开发、

从数据开始,构建值得信赖的生成式AI应用

澳鹏Appen

人工智能 nlp 数据标注 ChatGPT 生成式AI

Milvus Lite 已交卷!轻量版 Milvus,主打就是一个轻便、无负担

Zilliz

Milvus 向量数据库 MILVUSLITE

国外云主机:为你的业务提供全球级托管!

一只扑棱蛾子

云主机

运维人员福音!自定义插件为运维提供更多可能

嘉为蓝鲸

#运维 Python运维 Linux 运维

提升效率:P4VFS让虚拟文件同步更迅速、更简单

龙智—DevSecOps解决方案

文件同步 虚拟文件同步 Virtual File Sync

怎样区分试验与仿真的关系?

思茂信息

仿真软件 仿真技术

备战金九银十:大厂面试官必问MySQL连环炮全梳理,你扛得住嘛?

程序员小毕

Java MySQL 数据库 程序员 面试

想让ChatGPT和低代码开发实现完美结合?看这篇文章就行!

加入高科技仿生人

低代码 数字化 ChatGPT

下载量破 15000!龙蜥社区登陆阿里云 ACR 制品中心 TOP5 榜单

OpenAnolis小助手

阿里云 操作系统 容器镜像 龙蜥社区 Dragonwell

几个小技巧,提高你的代码质量

飞算JavaAI开发助手

代码质量 程序员、 软件开发、

Vue.js 最佳实践:提高性能和减少耦合的方法

xfgg

JavaScript Vue 前端 6 月 优质更文活动

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