今天同学问起来OSGI的问题,我之前没接触过,所以搜索了一下,觉得有必要写下来,不为别的,就为了加深印象,学习之,防止忘记。
第一步,了解OSGI,上网查了下概念(ctrl+v):
OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构。OSGi容器已有多家开源实现,比如Knoflerfish、Equinox和Apache的Felix。您可以通过这些容器,把您的应用程序劈分为多个模块单元,这样,您就可以更容易地管理这些模块单元之间的交叉依赖关系。OSGi规范和Servlet规范及EJB规范类似,该规范定义了两种对象,一是容器对外提供的服务对象,另一个是容器和您的应用程序之间必须遵守的契约,其中,服务对象是容器要实现的。您如果想要在OSGi平台上进行开发,首先,您必须要使用OSGi API来创建您的应用,然后将之部署到OSGi容器中。从开发者的角度看,OSGi具有以下优点:
a) 您可以在不重启容器的情况下,动态地安装、卸载、启动和停止您的应用程序中的不同模块;
b) 对于您应用程序中的某一特定模块,容器可以同时运行该模块的多个版本;
c) OSGi为开发嵌入式应用、移动应用、富互联网应用(RIA)提供了非常优秀的基础架构
如果说您使用Servlet容器开发您的网络应用,使用EJB容器开发交易式应用,您可能会问,为什么我们还需要另外的容器呢?对这个问题的简短回答是,OSIG容器是专门为开发复杂的Java应用准备的,在这些应用的开发过程中,您非常需要将这些应用分割为一个个的模块。
http://developer.51cto.com/art/201001/181503.htm
http://developer.51cto.com/art/200909/154863.htm
分享到:
相关推荐
在OSGi入门篇:模块层这篇文章中,作者静默虚空深入探讨了OSGi框架中模块层的基础知识以及设计模块层时OSGi联盟所做的考虑。OSGi模块层是框架中最基础的部分,它实现了Java的模块化特性,但又与Java现有的模块化特性...
OSGi(Open Services Gateway Initiative)是一个基于Java语言的服务平台,提供了一种动态化、模块化的应用程序架构。在OSGi架构中,整个生命周期管理是十分重要的组成部分,它保证了应用能够动态地进行安装、启动、...
OSGi(Open Service Gateway Initiative)是一个Java社区定义的模块化服务平台,它允许在同一个运行环境中部署多个版本的同一个组件,而不会相互冲突,从而提供了一个动态的、模块化的运行时环境。OSGi规范定义了...
**入门篇** 1. **模块系统**:OSGi的核心是模块化,每个模块称为一个Bundle,它包含类、资源和元数据。Bundle之间通过导出和导入包来实现依赖关系。 2. **生命周期管理**:OSGi Bundle有启动、停止、安装、更新和...
**标题:“OSGi入门”** **描述:** 这篇博客文章主要介绍了OSGi(Open Services Gateway Initiative)的基础知识,包括它的起源、概念以及在Java开发中的应用。作者通过一个实际的例子来帮助读者理解如何使用OSGi...
**三、Spring OSGi入门** 1. **环境搭建**:首先需要安装一个支持OSGi的运行时环境,如Apache Felix或Equinox,然后配置Spring OSGi容器,如Spring DM(现在已改名为SpringSource dm Server)。 2. **编写bundle**:...
文章《OSGi开发环境建立和Hello World》详细介绍了如何搭建OSGi开发环境,并通过Hello World程序的开发实践来巩固前面入门篇的内容。 首先,需要了解Equinox是OSGi核心标准的一个完整实现,并且添加了一些额外的...
首先,"Getting Started with OSGi 1 Your First Bundle.pdf"是入门篇,讲解了如何创建你的第一个OSGi捆绑包(Bundle)。捆绑包是OSGi的基本模块单位,包含了可执行的Java代码和其他资源。开发者需要了解如何定义...
在标题“Getting Started with OSGi Part1”中,指明了这是一个关于OSGi入门的系列文章中的第一部分。描述部分虽然为“NULL”,但可以从给定的内容中提取出文章的重点信息。标签“源码工具”可能意味着在文章的系列...
这篇博客文章链接()可能提供了关于OSGi入门的指导,但由于描述为空,我们将基于OSGi的基本概念和实践来展开讨论。 1. **OSGi基本概念**: - **Bundle**:OSGi的核心组件,类似于Java的JAR文件,但包含元数据描述...
压缩包内的文件名称“亲历基本 OSGI 实例,进入另番思维领域 - 隔叶黄莺 The Blog of Unmi - BlogJava.mht”和"osgi-first.rar"可能分别包含了原始博文的网页存档和一个OSGi入门项目的源码包。".mht"文件是网页的...
这篇博文“equinox快速入门”将引导我们了解如何开始使用Equinox来构建模块化的Java应用。由于描述中没有提供具体细节,我将根据Equinox的一般特性和常见用法进行解释。 首先,我们需要理解OSGi是什么。OSGi是一种...
首先,我们从标题和描述中了解到,这是一篇关于使用Eclipse Luna进行OSGi插件开发的教程,适合初学者入门。 一、配置Eclipse Luna for OSGi 1. 下载Eclipse Luna for J2EE版:首先,我们需要从官方网站...
本篇将介绍 JBoss AS 7 的入门使用,重点讲解两种管理模式——Standalone 和 Domain,以及如何启动、配置和管理 JBoss AS 7。 首先,JBoss AS 7 提供了两种运行模式: 1. Standalone(独立)模式:这是默认模式,...
1. **入门篇**:介绍dm Server的基础知识,包括安装、配置和基本操作。 2. **进阶篇**:深入探讨dm Server的核心特性和高级功能,如模块化部署、服务管理等。 3. **实战篇**:通过实际项目案例,展示如何利用dm ...
本篇将详细介绍SWT和JFace的基本概念、使用场景以及如何入门。 首先,SWT是Eclipse项目提供的一种用于构建图形用户界面(GUI)的开源库,它提供了丰富的组件和控件,如按钮、文本框、列表、树等,与Java Swing相比...
同时,这一篇可能还会涉及 SWT(Standard Widget Toolkit)和JFace,这两个库提供了与用户界面交互的API。 在《Eclipse插件开发 学习笔记 第3篇 高级进阶》中,开发者将会学习到更多高级主题,比如命令框架...