《深入理解OSGi:Equinox原理、应用与最佳实践》一导读

前  言

为什么写这本书

随着软件规模的日益增大,程序按模块拆分、按模块开发和按模块部署等需求变得越来越迫切,“模块化”成为了Java社区中最热门的话题之一。而OSGi技术—Java业界事实上的模块化标准,也被越来越多的中间件、第三方类库和各类应用程序所认可和采用。与此相对的是,有关OSGi技术的资料,尤其是中文的资料却显得异常的贫乏。
笔者自2007年接触OSGi以来,曾在数个大型系统中使用过OSGi作为软件的基础架构,这一方面使笔者深刻感受到了OSGi带来的诸多好处以及OSGi设计思想的魅力;另一方面也使笔者注意到OSGi的入门门槛相对较高,如果没有足够的指导材料,开发人员从零开始学习并探索出OSGi的最佳实践需要很高的成本。因此,笔者就萌生了写一本关于OSGi原理、应用与最佳实践的中文书籍的想法。
自从1999年OSGi联盟成立以来,OSGi技术随着Java一起飞速发展,现已经成为一种被广泛认可的软件架构技术和方法。OSGi联盟的成员数量也已经从最开始的几个增长到目前的100多个,许多世界著名的IT企业都加入到OSGi的阵营之中,如Adobe、IBM、Oracle、SAP、RedHat和Siemens等。这些软件厂商推出的许多产品都支持OSGi技术,甚至产品本身就使用了OSGi技术构建,例如IBM的WebSphere、Lotus和JAZZ,Oracle的GlassFish和Weblogic,RedHat的JBoss,Eclipse基金会的Eclipse IDE、Equinox及之下的众多子项目,Apache基金会的Karaf、Aries、Geronimo、Felix及之下的众多子项目等。这些业界巨头的踊跃参与,从侧面证明了OSGi技术有着非常广阔的市场前景。
OSGi能获得如此广泛的认可,一方面是它的诞生迎合了软件模块化的需求;另一方面是因为它足够全面和开放,OSGi所具有的动态性、伸缩性正好是许多生产系统所需的。基于OSGi的程序更新升级或者缺陷修复,能够像电脑更换USB接口的鼠标键盘或者插拔其他USB设备那样可以即插即用,无须重启,甚至无须停顿,这是许多基于Java的、需要7×24小时运转的生产系统长期以来迫切希望而又无法实现的需求。把软件开发中公用的、通用的功能抽象成标准件,令各个软件可以使用同样的模块来完成特定需求,把软件开发变为搭建模块,这更是软件工业化的最终理想,而OSGi为这个目标带来了实现的曙光。
目前,虽然OSGi背后有庞大的厂商支持,对实现框架、中间件和类库的支撑也足够完善,但是在国内基于OSGi架构的系统还不是很多。很多软件企业都跃跃欲试,尝试迈出使用OSGi的第一步,但往往被其复杂性阻挡于大门之外—如果要用OSGi开发一个入门程序,并不需要多高深的知识,但如果要把OSGi运用于生产系统,则要求该软件系统的架构师和至少一部分中高级开发人员必须对OSGi有比较深入的了解,业界对这一部分人才的需求也一直非常大。通过本书,读者可以通过一个相对轻松的方式学习到OSGi的运作原理,这对自身能力的提高有较大的帮助。

目  录

[第一部分 走近OSGi]()
[第1章 Java模块化之路 ]()
[1.1 什么是OSGi ]()
1.1.1 OSGi规范的演进
1.1.2 Java模块化规范之争
[1.2 为什么使用OSGi]()
1.2.1 OSGi能让软件开发变得更容易吗
1.2.2 OSGi能让系统变得更稳定吗
1.2.3 OSGi能让系统运行得更快吗
1.2.4 OSGi能支撑企业级开发吗
[1.3 本章小结 ]()

[第二部分 OSGi规范与原理]()
[第2章 模块层规范与原理]()
[2.1 OSGi规范概要]()
[2.2 Bundle ]()
[2.3 描述元数据]()
2.3.1 预定义标记
2.3.2 使用可视化工具
[2.4 Bundle的组织与依赖 ]()
2.4.1 导出和导入Package
2.4.2 约束规则与示例
2.4.3 校验Bundle有效性
[2.5 OSGi的类加载架构]()
2.5.1 父类加载器
2.5.2 Bundle类加载器
2.5.3 其他类加载器
2.5.4 类加载顺序
[2.6 定义执行环境]()
[2.7 本地化]()
[2.8 本章小结]()

[第3章 生命周期层规范与原理]()
[3.1 Bundle标识 ]()
[3.2 Bundle状态及转换 ]()
3.2.1 安装过程
3.2.2  解析过程
3.2.3 启动过程
3.2.4 更新过程
3.2.5 停止过程
3.2.6 卸载过程
[3.3 启动级别]()
3.3.1 设置启动级别
3.3.2 调整活动启动级别
[3.4 事件监听 ]()
3.4.1 事件类型
3.4.2 事件分派
[3.5 系统Bundle ]()
[3.6 Bundle上下文 ]()
[3.7 本章小结 ]()

时间: 2024-09-19 19:00:02

《深入理解OSGi:Equinox原理、应用与最佳实践》一导读的相关文章

《TCP/IP路由技术(第二卷)》一导读

前 言 TCP/IP路由技术(第二卷)自从出版了<TCP/IP路由技术(第一卷)>之后,虽然Cisco Press"CCIE职业发展系列"中增加了大量新书,而且CCIE计划本身也被扩展到多个专业领域,但IP路由协议仍然是所有准CCIE们的核心基础.因此,必须透彻地对其加以理解和掌握,否则基础不牢,大厦将倾. 我在<TCP/IP路由技术(第一卷)>的前言中曾经说过,"--随着互联网络规模和复杂性的不断增大,路由问题也随即变得庞大且错综复杂".由

《TCP/IP路由技术(第二卷)》一1.4 配置EGP

1.4 配置EGP TCP/IP路由技术(第二卷) 通过以下4个基本步骤即可完成路由器上的EGP配置. 第1步:利用命令autonomous-system指定路由器的AS. 第2步:利用命令router egp启动EGP进程并指定邻居的AS. 第3步:利用命令neighbor指定EGP邻居. 第4步:指定由EGP宣告的网络. 下面的第一个案例研究将详细解释前3个配置步骤,同时也给出了步骤4的多种实现方法. 1.4.1 案例研究:EGP末梢网关 图1-10给出了一台位于AS 65502的EGP末梢

《TCP/IP路由技术(第二卷)》一1.9 配置练习题

1.9 配置练习题 TCP/IP路由技术(第二卷) 本书附录E中提供了以下配置练习题的答案. (1)图1-14中的自治系统65531是一个核心AS,请在RTA和RTB上配置EGP,要求如下: 不要将AS内的数据链路宣告给任何外部邻居. RTA将连接在其S1接口上的网络宣告给RTB:另外,要求RTA和RTB之间不能宣告其他AS间链路. RTA和RTB向其外部邻居(除了从其他自治系统学习到的网络)宣告默认路由,而且这两个网关都不得将默认路由宣告给其内部邻居. (2)例1-26给出了图1-15中RTC

《TCP/IP路由技术(第二卷)》一1.1 EGP的起源

1.1 EGP的起源 TCP/IP路由技术(第二卷)在20世纪80年代早期,构成ARPANET(现代互联网的前身)的路由器(网关)设备上都运行了一种距离向量路由协议--GGP(Gateway-to-Gateway Protocol,网关到网关协议).但是随着ARPANET的不断发展,与当今许多负责管理日益增长的互联网络的网管员一样,ARPANET的架构师们也预见到了相同的问题:现在运行的路由协议没有很好的扩展性. Eric Rosen在RFC 827中阐述了以下扩展性问题. 由于所有的网关都要知

《TCP/IP路由技术(第二卷)》一1.6 附 注

1.6 附 注 TCP/IP路由技术(第二卷)1Eric Rosen,"RFC 827:外部网关协议(EGP)". 2Linda J. Seamonson和Eric C. Rosen"RFC 888:'末梢'外部网关协议". 3D.L. Mills,"RFC 904:外部网关协议正式规范". 4J. Rekhter,"RFC 1092:EGP和新NSFNET骨干网的策略路由".

《TCP/IP路由技术(第二卷)》一1.5 检测与排除EGP故障

1.5 检测与排除EGP故障 TCP/IP路由技术(第二卷)在1.3节中已经解释了EGP为何无法应用于复杂的AS间拓扑结构,而强制性的简单拓扑结构带来了一个意外的好处,那就是EGP的故障检测和排除变得非常简单. 与其他路由协议一样,检测与排除EGP故障的第一步工作就是查看路由表.如果所请求的路由缺失或路由表中存在一条非期望路由,通过查看路由表就可以检测到问题的根源.由于EGP的度量值几乎没有任何意义,因而与其他路由协议相比,利用路由表进行EGP故障的检测和排除工作可以得到大大简化. 需要注意的是

《TCP/IP路由技术(第二卷)》一第1章 外部网关协议

第1章 外部网关协议 TCP/IP路由技术(第二卷)本章将主要讨论以下主题. • EGP的起源:本节将讨论在RFC 827(1982)中定义的外部网关协议的发展历史. • EGP的操作:本节将讨论EGP的基本操作机制,重点是EGP拓扑结构.EGP功能及EGP消息格式. • EGP的不足:本节将探讨为什么EGP不再是一种可行的外部网关协议解决方案. • 配置EGP:本节将通过4个独立的案例研究--EGP末梢网关.EGP核心网关.间接邻居和默认路由,来说明不同类型的EGP配置方法. • 检测和排除E

《TCP/IP路由技术(第二卷)》一1.7 展 望

1.7 展 望 TCP/IP路由技术(第二卷)本章不但说明了AS间路由协议的发明驱动力,也解释了EGP难以胜任该角色的原因.第2章将简要描述EGP的替代协议--边界网关协议及其操作.表1-10汇总了本章用到的所有命令.

《TCP/IP路由技术(第一卷)(第二版)》一导读

前 言 TCP/IP路由技术(第一卷)(第二版)路由技术即使在最小的数据通信网络中也是基本的要素.在某种程度上,路由技术和路由器的配置是相当简单的.但是,当网络的规模越来越大,并且越来越复杂的时候,路由选择问题就变得比较突出和难以控制了.或许,有点不恰当地说,作为一名网络系统顾问,我应该感谢当前出现的大规模路由技术难题,这些问题给了我谋生的手段.假设没有它们,"你何以为生?"这句习语可能就会不幸地成为我每天生活词汇的一部分了. Cisco认证互联网专家(CCIE)在大型网络的设计.故障

《TCP/IP路由技术(第一卷)(第二版)》一第1章 TCP/IP回顾1.1 TCP/IP协议层

第1章 TCP/IP回顾 TCP/IP路由技术(第一卷)(第二版)本章包括以下主题: TCP/IP协议层: IP包头(IP Packet Header): IPv4地址: 地址解析协议(ARP): Internet控制消息协议(ICMP): 主机到主机层. 考虑到这本书的书名是<TCP/IP路由技术>,有必要从回顾TCP/IP的基本知识开始讲起,然后再讲述如何进行TCP/IP路由选择.如果读者正在准备Cisco认证互连网专家(Cisco Certified Internetwork Exper