写点什么

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

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

关注

评论

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

网站开发进阶(十九)计划任务功能——信息自动弹出

No Silver Bullet

5月月更 自动弹窗

《深入理解计算机系统》读书笔记——第二章(一)

如浴春风

5月月更

Python 操作 Excel,从 xlwings 模块开始

梦想橡皮擦

5月月更

Java培训 判空的新写法

@零度

java8 JAVA开发 判空写法

Jeff Dean:深度学习的黄金十年

OneFlow

人工智能 深度学习 软件 硬件

EasyRecovery2022最新版电脑数据恢复工具

茶色酒

数据恢复软件

Redis 内存优化在 vivo 的探索与实践

vivo互联网技术

数据库 redis 性能优化 内存优化

从研发效能的视角谈“故障复盘”

博文视点Broadview

thinkphp5的消息队列详细教程

CRMEB

2022 之Python操作 Excel,xlrd 与 xlwt 模块一文掌握

梦想橡皮擦

5月月更

Nginx解决跨域问题

乌龟哥哥

5月月更

大数据培训Flink怎样保证数据是一致性的

@零度

大数据 flink

[Day35-02]-[二叉树]-求根节点到叶节点数字之和

方勇(gopher)

LeetCode 二叉树 数据结构算法

web前端培训Vite的原理源码解析

@零度

前端开发 vite

面试突击44:volatile 有什么用?

王磊

Java Java面试题 java常见面试题

架构实战营模块四作业

哈啰–J

《对线面试官》Java简历怎么写?

Java3y

Java 程序员 Java web 5月月更

ONES 收购 SegmentFault 思否,共建高质量开发者社区

万事ONES

项目管理 程序员 研发管理 ONES

DevOps系列之 —— 持续规划与设计(一)敏捷项目管理理念与方法实践

若尘

DevOps 5月月更

数字化时代,国内SaaS行业的发展态势

小炮

SaaS

多平台快速开发的UI框架

源字节1号

OpenHarmony 3.1 Beta版本关键特性解析——ArkUI开发框架容器类API的介绍与使用

OpenHarmony开发者

OpenHarmony ArKUI 3.0 OpenHarmony 3.1 Release

网络安全日常学习之渗透测试思路总结

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

springsecurity从当前请求对象中获取用户信息

急需上岸的小谢

5月月更

《手写 Mybatis》第7步:SQL执行器的定义和实现

小傅哥

小傅哥 mybatis 面试经验 源码学习 手写Mybatis

【C语言】计算器

謓泽

5月月更

Pipy for Next Web:静态内容服务与缓存加速

Flomesh

CDN加速 Pipy Headless CMS

《敏捷软件测试》的作者将“Agile Testing”改为“Holistic Testing”

BY林子

软件测试 敏捷测试 持续测试

springboot线程池的使用和扩展

程序员欣宸

Java 线程池 5月月更

MongoDB 入门教程系列之一:开发环境搭建以及 Node.js 和 Java 的读写访问

汪子熙

数据库 mongodb 分布式 分布式数据库mongodb 5月月更

WebAssembly技术_加载ffmpeg在Web端调用解码

DS小龙哥

5月月更

企业中的OSGi_Java_Alex Blewitt_InfoQ精选文章