写点什么

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

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

关注

评论

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

Python 基础教程:动态类型模型(1),阿里巴巴Python面试题答案

程序媛可鸥

Python 程序员 面试

【C语言】 扫雷游戏(保姆级的实现过程)

謓泽

3月月更

图文详解:阿里宠儿【小兔】RabbitMQ的养成攻略

浅羽技术

Java RabbitMQ 中间件 消息队列 RabbitMQ延时队列

即时通讯(IM)开源项目OpenIM每周迭代版本发布-音视频实时通话-v2.0.4

Geek_1ef48b

2022 ARTS|Week 11

MiracleWong

算法 写作 ARTS 打卡计划

k8s组件的梳理(1),Python篇

程序媛可鸥

Python 程序员 面试

百度希壤元宇宙平台上线首个汽车数字展厅,领克探索汽车营销新方式

百度大脑

Python 使用 PyQt5 开发的关机小工具分享,为什么阿里的程序员成长如此之快

程序媛可鸥

Python 程序员 面试

Python 深度集成的神器级 IDE,从此告别Excel!,成为阿里P7Python架构师到底有多难

程序媛可鸥

Python 程序员 面试

Python GUI编程:关于 tkinter 怎么才能写出更好看的界面

程序媛可鸥

Python 程序员 面试

Python 命令行参数详解,Pythonui基础

程序媛可鸥

Python 程序员 面试

Python 实现七大排序算法,Python中高级面试必知必会

程序媛可鸥

Python 程序员 面试

测试开发【Mock平台】02基础:Java Spring Boot框架知识

MegaQi

测试工具 测试发开 测试平台开发教程

k8s组件的梳理,Glide的缓存机制

程序媛可鸥

Python 程序员 面试

Kafka 常用命令总结,给Python程序员的一些面试建议

程序媛可鸥

Python 程序员 面试

C#调用C++动态库接口函数和回调函数

DS小龙哥

3月月更

一个配件、一块面料,制造企业流水线因为AI变了新模样

百度大脑

Kafka server,Python面试

程序媛可鸥

Python 程序员 面试

VuePress 博客之 SEO 优化(四) Open Graph protocol

冴羽

Vue 前端 vuepress SEO 博客搭建

python DataFrame数据格式化(设置小数位数,百分比,Python常用面试题

程序媛可鸥

Python 程序员 面试

一文读懂网关中间件-Nginx

Linux服务器开发

nginx 中间件 api 网关 Linux服务器开发 Linux后台开发

Python 三十个实践、建议和技巧,各种风格的Python面试题进来了解一下

程序媛可鸥

Python 程序员 面试

首届实时渲染3D动画创作大赛最佳人气奖?你说了算!

3DCAT实时渲染

3D 虚幻引擎 实时渲染 ue

Redis的数据类型实践

javaadu

Redis 核心技术与实战 Redis 数据结构

模块 6 作业 拆分电商系统为微服务

王大胖

你的 vscode 配置真的舒服么?

道道里

Flutter 封装文本输入框

岛上码农

flutter 跨平台 Android开发 3月月更

python pandas库统计分析基础必备知识汇总,2021Python网络编程总结篇

程序媛可鸥

Python 程序员 面试

Python 基础教程:动态类型模型,超通俗解析

程序媛可鸥

Python 程序员 面试

kudu参数优化设置,让集群飞起来~,2021年Python开发陷入饱和

程序媛可鸥

Python 程序员 面试

企业中的OSGi_Java_Alex Blewitt_InfoQ精选文章