【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

企业中的 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:503428
用户头像

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

关注

评论

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

揭开链表的真面目

Java旅途

Java 数据结构 链表

拖延症竟然是自己给自己的一种奖励?如何干掉它?

非著名程序员

个人成长 拖延症 番茄土豆工作法

话题讨论 | 当你敲代码累了时,一般喜欢吃点什么补充能量?

InfoQ写作社区官方

加班 写作平台 代码 话题讨论

挽救你的视频号:能够把PPT转换成视频,把备注转换成语音的开源项目

陈磊@Criss

java安全编码指南之:对象构建

程序那些事

Java 安全 安全编码指南 对象构建

面试必备知识点:悲观锁和乐观锁的那些事儿

鄙人薛某

面试 乐观锁 悲观锁 CAS 并发控制

C语言内存泄露很严重,如何应对?

华为云开发者联盟

c 内存泄露 内存 代码 函数

面试是一张窄窄的船票

escray

学习 面试

Keepass+Synology 打造私人密码管理器

zj坚果

week 12 作业

Geek_2e7dd7

DockerHub 镜像仓库的使用

哈喽沃德先生

Docker 容器 微服务 镜像

性能相关 磁盘I/O子系统

Linuxer

anyRTC Native 4.1.0.1与Web SDK 4.0.11上线

anyRTC开发者

学习 WebRTC 语音 直播 sdk

甲方日常4

句子

工作 随笔杂谈 日常

SpreadJS 纯前端表格控件应用案例:MHT-CP数据填报采集平台

葡萄城技术团队

SpreadJS 纯前端表格控件应用案例:雨诺订单管理系统(雨诺OMS)

葡萄城技术团队

week 12 学习总结

Geek_2e7dd7

oeasy教您玩转linux-010110内容回顾

o

SpreadJS 纯前端表格控件应用案例:表格数据管理平台

葡萄城技术团队

1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知

YourBatman

Hibernate-Validator Bean Validation 数据校验 JSR380

MAC系统初始化

焦振清

macos 重装系统

LeetCode题解:155. 最小栈,单个栈存储入栈元素与最小值之差,JavaScript,详细注释

Lee Chen

大前端 LeetCode

你也许还不懂静态方法和实例方法

架构师修行之路

Golang写算法

卒迹

算法 Go 语言

自己做的 PPT 总被批「缺少干货」?试试先回答这三个问题

Tony Wu

效率工具 方法论 PPT

Cassandra Gossip协议的二三事儿

华为云开发者联盟

源码 三次握手 开发者 Cassandra Gossip协议

云原生如何来进行HTTPS升级

soolaugust

架构 云原生 设计模式

MySQL复杂where条件分析

程序员历小冰

MySQL

产品经理的架构思维

吴世亮

架构 产品经理 电商

新时代背景下的Java语法特性

九叔(高翔龙)

Java java 14 java 14 新特性 Java 分布式

Jenkins持续集成「编译打包、代码检查、单元测试、环境部署、软件测试​」

清菡软件测试

jenkins

企业中的OSGi_Java_Alex Blewitt_InfoQ精选文章