NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

企业中的 OSGi

  • 2008-11-13
  • 本文字数:998 字

    阅读完需:约 3 分钟

随着最近 GlassFish 3.0 版“Prelude”,即 Sun 公司基于 OSGi 的 Java EE 6 服务器的发布,OSGi 在企业中的应用已经覆盖了几乎所有后端服务器。最近, OSGi 联盟的一份新闻稿列举了使用 OSGi 的厂商和技术:

Peter Kriens 指出,Jonas——第一个基于 OSGi 的 J2EE 服务器,因为不是 OSGi 成员,所以没有在名单中列出。他同时表示, SAP NetWeaver 将来也会迈向 OSGi。

正如 InfoQ 之前所报道的, 这些系统转向 OSGi 的主要原因是为了更好的模块化。这使得系统可以分解成更便于管理(和测试)的单元,同时提供更多可重用的组件库。目前,大公司( IBM、甲骨文)一直在应用内部使用 OSGi,没有直接暴露给应用的客户,但其他厂商( SpringSource )事实上则允许 OSGi 容器本身(而不仅仅是应用)对外开放其扩展性。

使用 Maven 构建的项目也同样是组件化的,这导致一些人想知道 OSGi 在模块化方面有什么特别之处。在 Maven 的模块化和 OSGi 的运行时之间两个最关键的区别是:

  1. Maven 的依赖关系基于特定文件,而 OSGi 可以通过运行时发现的任意文件导入 Java 包。
  2. Maven 的构建时特性意味着它并不支持运行时动态行为。

类似 SpringSource’s DM Server 的应用服务器利用 OSGi 的动态特性部署 Spring beans 到 OSGi 容器中,允许运行时停止和重启服务。Spring 动态模块框架在底层透明的处理关联和运行时。

开源项目也在转向 OSGi。在 Apache Felix OSGi 服务器的刺激下,其他 Apache 服务器在它们的产品中生成 OSGi 元数据或者完全迁移,就像 Apache Tuscany 最近迁移。对于那些不生成元数据的的开源项目,存在很多OSGi 束库( SpringSource 企业束库 OBR Eclipse Orbit Felix 束库等等),它们为带特定注释的开源 Jars 提供 OSGi 元数据。

随着 OSGi 的成长,基于 Web 的和后端系统都直接构建在 OSGi 上。 Linked In 对 OSGi 的使用已经在他们的工程博客上讨论过 ,你也可以看到科罗拉多2008 软件峰会的相关演讲稿。甚至可以在亚马逊EC2 iPhone 上运行 OSGi 服务。

不论是直接还是间接使用,OSGi 在企业中的应用机会正在逐步提高。随着 Spring 框架成为应用开发的事实标准和 Spring DM 服务器的优势,构建动态、模块化的应用成为企业追逐的目标。

查看英文原文: OSGi in the Enterprise

2008-11-13 01:503432
用户头像

发布了 501 篇内容, 共 248.4 次阅读, 收获喜欢 57 次。

关注

评论

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

架构训练营第四周 - 作业

无心水

极客大学架构师训练营

新手村:Redis基础补充知识

多选参数

数据库 redis 数据库设计 redis6.0.0

创业一定要学投资

Neco.W

创业 投资

极客大学架构师训练营 系统架构 第7课 听课总结

John(易筋)

极客时间 系统架构 高并发 极客大学 极客大学架构师训练营

Why Spring ???

猴哥一一 cium

Java spring 源码 Spring Boot 框架设计

2020年6月26日 查询性能优化

瑞克与莫迪

从0开始设计Flutter独立APP | 第一篇: 数据库与状态管理

渔子长

flutter 大前端 跨平台

ARTS week3

姜海天

基于阿里云服务网格(ASM)的GRPC服务部署实践

韩陆

Kubernetes gRPC Service Mesh

WPF中的Data Binding调试指南

大白技术控

.net 微软 WPF

近两年流行面试题:Spring循环依赖问题

Java小咖秀

spring 面试 ioc

架构师训练营第四周-总结

无心水

极客大学架构师训练营

区块链的应用为什么这么难?出路在哪?

CECBC

比特币 区块链技术 Token 联盟共识

二叉树深度优先遍历

封不羁

Java 算法 二叉树

Docker基础修炼2--Docker镜像原理及常用命令

黑马腾云

Docker Linux 容器 运维 镜像

区块链系列教程之:比特币中的挖矿

程序那些事

比特币 区块链 挖矿

[译]都0202年了,你还觉得go-scheduler很难理解吗?

卓丁

golang scheduler GPM goroutines Go 语言

面试官:我们来聊下锁吧

java金融

Java 乐观锁 悲观锁

过早优化是万恶之源

非著名程序员

程序员 程序人生 提升认知

架构师第4周

上山砍柴

极客大学架构师训练营

​外包公司干了不到3个月,我离职了...(防坑指南)

程序员生活志

程序员 外包 工作经历

【总结】企业级案例驱动 打造高可用、高并发、多IDC部署业务中台微服务架构

魔曦

极客大学架构师训练营

测试阶段发现缺陷多怎么办?

洪永潮

架构师训练营第三周命题作业

lwy

极客大学架构师训练营

抖音、腾讯、阿里、美团春招服务端开发岗位硬核面试(完结)

aoho

面试 后端 阿里

MySQL InnoDB 存储引擎 - 锁

Axe

Oracle SQL调优系列之看懂执行计划explain

Nicky.Ma

sql

极客大学架构师训练营 框架开发 模式与重构 JUnit、Spring、Hive核心源码解析 第6课

John(易筋)

spring 极客时间 极客大学 极客大学架构师训练营 JUnit

架构师训练营第三周学习总结

lwy

ARTS WEEK4

紫枫

ARTS 打卡计划

为什么哈希表可以管理亿级数据?

八两

php redis hash rehash

企业中的OSGi_Java_Alex Blewitt_InfoQ精选文章