写点什么

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

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

关注

评论

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

【kafka原理】 消费者偏移量__consumer_offsets_相关解析

石臻臻的杂货铺

kafka 10月月更

前端JavaScript小技巧【建议收藏】

江拥羡橙

JavaScript ES6 10月月更

分布式事务-CAP理论

zarmnosaj

10月月更

eeui安卓开发--如此简单

江拥羡橙

android Weex 安卓 10月月更

一起学习 Go 语言设计模式之建造者模式

宇宙之一粟

设计模式 建造者模式 Go 语言 10月月更

node+express操作cookie

木偶

前端 Node Express 10月月更

ios苹果打包——超详细的教程分享

江拥羡橙

ios CocoaPods 苹果 Weex 10月月更

程”风破浪的开发者|个人信息管理

CODA

学习方法 信息管理 10月月更 “程”风破浪的开发者

ERP到底是自研还是外采好????

CTO技术共享

10月月更

Spring事务传播机制

急需上岸的小谢

10月月更

Databend 存储架构总览

Databend

【kubernetes技术专题】Kubernetes架构分析介绍篇(入门篇)

洛神灬殇

Kubernetes k8s Kubernetes Serverless 10月月更

Spring Boot「10」Propety 验证

Samson

Java spring 学习笔记 spring-boot 10月月更

如何进行企业数字化转型?传统企业数字化转型的3大底层逻辑

优秀

企业数字化转型

【kafka原理】kafka Log存储解析以及索引机制

石臻臻的杂货铺

kafka 10月月更

Linux学习-权限的理解

可口也可樂

后端 Linux Kenel linux 文件权限控制 10月月更

不可错过!14位安全大拿齐聚!AMD、Arm及Intel等技术专家解读系统安全 | 2022云栖大会

OpenAnolis小助手

开源社区 系统安全 云栖大会 龙蜥安全专场 操作系统峰会

担时代任务 与国家同频 | 九科信息创始人万正勇:自主可控是中国超级自动化技术发展的必要条件

九科Ninetech

RPA 信创

docker学习笔记

正向代理与反向代理

急需上岸的小谢

10月月更

Linux学习-常用指令

可口也可樂

后端 Linux Kenel 10月月更

Linux学习-开发工具yum/vim/gcc/g++/gdb

可口也可樂

开发工具 Linux Kenel 10月月更

驾考宝典携手HMS Core统一扫码服务,构建复杂场景中的流畅扫码体验

HarmonyOS SDK

扫码

前端懒加载和预加载

hellocoder2029

JavaScript

秒杀活动!!!! 如何撑住10W QPS

CTO技术共享

10月月更

生产环境P0级事故,整个项目组被罚

CTO技术共享

spring用到的设计模式

急需上岸的小谢

10月月更

促双碳|AIRIOT智慧能源管理解决方案

AIRIOT

物联网 智慧能源

企业如何添加内嵌式的帮助文档

Baklib

帮助文档

leetcode 450. Delete Node in a BST 删除二叉搜索树中的节点 (中等)

okokabcd

LeetCode 数据结构与算法

“程”风破浪的开发者|国产之光,鸿蒙系统

急需上岸的小谢

OpenHarmony “程”风破浪的开发者

企业中的OSGi_Java_Alex Blewitt_InfoQ精选文章