2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

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

关注

评论

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

毫秒级返回数据,58同城 DBA 团队选择 TDengine 解决传感器数据处理难题

TDengine

数据库 tdengine

Cocos creatorの摇杆操控运动

空城机

Cocos 5月月更

5月25日,阿里云开源 PolarDB-X 将迎来重磅升级发布

阿里云数据库开源

开源 开源数据库 国产数据库 PolarDB-X 数据库·

实现 LRU 缓存算法

Se7en

企评家,企业成长性评价为创业板企业投融资决策提供信息支持

企评家

Redis「7」实现分布式锁

Samson

redis 学习笔记 5月月更

在线HTML转CSV工具

入门小站

工具

微信业务架构&学生管理系统架构

intelamd

JAVA程序对应不同的部署环境针对配置文件如何管理

jiangxl

Java tomcat

吐血整理!42个人工智能机器学习数据集推荐!

澳鹏Appen

人工智能 机器学习 大数据 计算机视觉 数据集

数据库连接池 -Druid 源码学习(八)

wjchenge

Druid 数据库连接池

Tomcat安全优化

jiangxl

tomcat Java web

基于Redis6.2.6版本部署Redis Cluster集群

jiangxl

云钉一体:EventBridge 联合钉钉连接器打通云钉生态

阿里巴巴云原生

阿里云 云原生 事件总线 EventBridge

Seata x 2022 开源之夏 ,一起来做开源达人!

阿里巴巴云原生

阿里云 云原生 seata 开源之夏

Flutter 开源状态管理插件一览

岛上码农

flutter ios 安卓 移动端开发 5月月更

linux之grep使用技巧

入门小站

Linux

企评家 |江西长运股份有限公司成长性评价简介

企评家

“学生管理系统”毕设架构设计

Pengfei

架构设计原则

开启Tomcat管理注主页功能

jiangxl

tomcat

二分实现及工程使用—Kafka

工程师日月

算法 java 编程 5月月更

企评家 |上海家化联合股份有限公司成长性评价简介

企评家

在线文本列表差集计算工具

入门小站

工具

通过JConsoler监控Tomcat的JVM内存

jiangxl

【LeetCode】链表的中间结点Java题解

Albert

LeetCode 5月月更

Bootstrap 和 WordPress 的区别

海拥(haiyong.site)

bootstrap Wordpress 博客部署 WordPress 5月月更

Java 8 开始新增的 Optional 类 - Optional 对象中的返回

HoneyMoose

架构实战营 模块一作业

Gor

⭐万字长篇超详细的图解Tomcat中间件方方面面储备知识⭐

jiangxl

tomcat Java web

Linux环境下部署Jpress大型博客网站

jiangxl

Redis Cluster集群收缩主从节点详细教程

jiangxl

企业中的OSGi_Java_Alex Blewitt_InfoQ精选文章