频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

服务器端OSGI简介及安装

来源:CSDN 作者:佚名 出处:巧巧读书 2008-07-22 进入讨论组
上一页 1 2 3 4 5 6 下一页 

OSGi工作组件:环境和程序包
  OSGi环境提供了必要的黑盒来利用如前所述的许多特性。我此时选择使用黑盒这个词是因为环境的创建完全由OSGi供应商/提供者负责,Java EE容器也由供应商以大体上相同的方式负责。

开发人员或架构师唯一要关心的就是理解OSGi内部的部署和编程模型,它们同样能够跨您所选择的任何OSGi环境使用,这一点与Java EE具有惊人的相似之处。

  对于已经从Java EE容器迁移到Spring等轻量级框架的用户,也不要因为Java EE容器和OSGi之间最新的比较关系而气馁。事实上,一些相关的工作正在进行之中,以便集成OSGi与Spring的功能。随着本文的深入,您会发现您的Spring项目也会从OSGi中受益。在OSGi中,环境、实现、运行时、容器和框架这些术语经常交替使用,这是经过考虑的。当这些专门词汇经常用来指由OSGi供应商/提供者分发的软件的同一部分时,请保持开放的心态。

  开始探索OSGi环境之后,您可能会惊讶地发现同样的环境不仅能够适用于智能电话等小型设备,也能够在桌面应用程序管理和服务器端项目中应用。其原因是OSGi部署和编程模型同样可以应用于所有这些不同的情况中,这就引入了OSGi最具体的部分:程序包。领会程序包的概念是理解OSGi的关键,因为作为开发人员或架构师,您将时常要直接处理它。这里有个实际的例子,可用来简要说明程序包的概念。

  程序包是OSGi使用的封装格式,也常称作模块,它包含了Java类和资源以及其他OSGi底层环境使用的处理指令——封装的结构与JAR文件的结构非常相似。这就产生了一个问题:“如果OSGi程序包的封装方式与JAR文件一样,那它为何如此特殊呢?”或者还可以这样问:“到底为什么要遵照OSGi程序包的JAR格式重新封装现有的所有应用程序的JAR文件呢?”

  服务器端OSGI简介及安装

 图1. OSGi通过许多程序包中的各种类构造出的类装载器图

      当它推出时,通过传统的Java类路径还不能获得OSGi程序包的JAR文件——或者简单地说,是OSGi模块(Java类和其他应用程序资源)——的内容。它们被委托给OSGi环境,后者会创建一种针对在自身部署的每一个OSGi程序包JAR文件所含全部底层类和资源之间的依赖关系解析的类装载器图。

      类装载器图的这个概念的特殊性有几个原因。其一,它限制了应用程序执行时在任一单个点装载的Java类和资源的数量。另外,依靠图模型,OSGi环境中运行的任何应用程序都能够根据需要自动创建、合并或销毁分支以满足类的依赖关系,给在开始所提到的动态安装、启动、中止、更新和卸载的功能让路。同样重要的是,因为OSGi程序包由普通的Java类和资源组成,所以OSGi环境对于底层应用程序逻辑是不可知的,因此您可能遇到的OSGi程序包范围很广,从Eclipse IDE插件、XML语法分析器、基于控制台的应用程序、servlet到其他一些变量。

      了解了这一背景之后,我们来看一下实际的OSGi程序包。由于本文是OSGi程序包的介绍,这里给出的例子将尽可能的精简。但通过这些例子,可以试着外推这些相同的原则如何应用于企业空间中更完善的程序包,比如Logging包、Servlet或其他变量。

更多文章 更多内容请看FTP服务器双核服务器技术网站服务器的选型专题,或进入讨论组讨论。
上一页 1 2 3 4 5 6 下一页 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章