Board logo

标题: 为使用企业级 OSGi 做好准备了吗? [打印本页]

作者: look_w    时间: 2018-9-4 08:39     标题: 为使用企业级 OSGi 做好准备了吗?

IBM 和 OSGi 是 Java 语言的动态模块系统。IBM 是 OSGi 联盟的初始成员之一,该联盟旨在促进 OSGi 服务平台的广泛采用,确保通过网络交付和管理的应用程序和服务的互操作性。多年来,IBM 一直在 IBM Lotus® 和 WebSphere 产品中使用 OSGi 技术。事实上,从 IBM WebSphere Application Server 6.1 版本就开始使用 OSGi 了。用户看不到它,因为使用 OSGi 是为了实现底层应用程序服务器架构的模块化,从而使其易于开发和支持。WebSphere Foundation 一直在使用 OSGi 改进 IBM 产品, 现在  (以下简称为 OSGi 功能包)支持您使用 OSGi 改进自己的应用程序和服务。
引进企业级 OSGi 应用程序编程模型的关键因素之一是确保它是整个行业认可的标准。这是 OSGi 联盟的企业专家组 (EEG) 的焦点。该企业专家组的专家由来自 Oracle、SAP、VMWare、Redhat、Progress 和 IBM 等的代表组成。许多供应商都向该组提供专业经验,以确保任何标准都能够得到广泛支持。
为什么是企业级 OSGi?在介绍 OSGi 功能包的重要内容之前,值得花些时间概述一下它有助于解决的问题。
值得一提的是,组织使用 WebSphere Application Server 的功能部署和管理大量应用程序。这些应用程序通常包含公共库。在这种情况下,应用程序开发人员在其应用程序中包含相同的库就很正常。尽管这是每个应用程序获得预期库的一种安全方法,但是此策略可能会占用过量内存并使应用程序更新变得比较困难。软件供应商提供了解决此问题的解决方案,但他们是针对供应商的,并且会导致管理时间成本增加。
有时会在应用程序中使用供应商库,通常开发人员无法控制这些库的依赖关系。所以当一个应用程序使用的两个库具有不同且不兼容的内部依赖关系时,就会出现问题。例如,一个库可能需要 ASM 3.0,而同一应用程序使用的另一个库可能需要 ASM 2.0。要解决这种问题,通常需要更改代码。
总的说来,这两个问题在 Java EE 中通常都可以解决,那么为什么要忍受 OSGi 可以解决的问题呢?
OSGi 联盟的 EEG(企业专家组)成立于 2007 年,并且制定了 OSGi 功能包实现。EEG 的目的是查看最常用的 Java EE 技术(例如,JPA、JTA、JNDI 和 JMX 等),并构建使用部署到 OSGi 框架的应用程序绑定技术的标准方法。
开源和 OSGi去年启动了提供 OSGi 企业规范实现的两个开源项目。 孵化器项目在 2009 年 9 月启动,并具有由  社区开发的 Blueprint 实现。2009 年启动的企业模块项目(Enterprise Modules Project)由 Eclipse Foundation 主办,该项目与 Aries 项目的目标大致相同。
在很短的时间内,就建立了许多与 Apache Aries 相关的活跃团体。参与者包括来自 IBM、Progress、RedHat、Ericsson、SAP、Prosyst 和 LinkedIn 等的个人。由于 Blueprint 的最初贡献,JTA、 JPA、JNDI 和 JMX 的组件都已添加。演示如何使用这些技术(包括 Blog Sample 和 Aries Trader 应用程序)的示例是项目的重要部分。
Aries 积极开发的另一个领域是 “应用程序” 概念,这是将 bundle 分组为单个应用程序或 Enterprise Bundle Archive (EBA) 的一种方式。
OSGi 功能包OSGi 功能包提供了一个整合应用程序框架,有助于 Java EE 应用程序开发人员利用 OSGi 企业架构。该功能包整合了 Apache Aries 开发的组件和 WebSphere Application Server 运行时与管理。(JPA 2.0 支持也是功能包的一部分,但在本文中不会详细介绍它。)
具体来说,功能包交付 OSGi Blueprint Container 规范的开放社区和基于标准的实现,并且具有将应用程序组装、部署和管理为 OSGi bundle 版本集合的能力。常见 Web 应用程序的模块设计、简单的基于  的组件和高效数据访问需求,都可以使用 OSGi 应用程序和功能包的 JPA 2.0 组件解决。
功能包的一些主要功能如下所述。下面将详细介绍这些功能以及其他一些功能。
结束语寻找可靠和已验证的模块化技术的企业 Web 应用程序开发人员,已经有很多都转向了使用 OSGi。IBM WebSphere Application Server V7 Feature Pack for OSGi Applications and Java Persistence API (JPA) 2.0 提供了一种环境,该环境支持 Java EE 开发人员使用 OSGi 功能构建应用程序。
用户对 OSGi 功能包的反馈、对 Apache Aries 的兴趣,以及对现有 WebSphere Application Server 的兴趣表明,Java EE 开发人员乐于使用 OSGi 技术,并期待它提供的许多好处。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0