OSGI学习手册
来源:互联网 发布:微信域名入口页 编辑:程序博客网 时间:2024/06/05 11:39
1 概述
本文是关于OSGI学习的一些资源介绍, 基本的脉络是按照自己的学习进程来的, 希望对进入OSGI学习的人有所启发。 本人具备的学习基础有:
1. Java RCP开发经验, 这个并不是必须, 实质上学习的顺序反而是先OSGI,后RCP
2. Eclipse 使用经历.
除此之外, 应该无需任何先决条件, 因此该教程适合零基础的人学习OSGI了.
2文章的组织结构
学习的思路大致是:
1. OSGI解决方案解决了什么问题
2. HelloWorld入门
3. HelloWorld进阶
4. 一个有意思的Demo
5. 产品发布
6. OSGI的大框架和核心组成
7. OSGI基本使用方式和开发原则
8. OSGI的自动编译和持续集成
9. 白皮书,红皮书,蓝皮书以及无皮书.
OK, 把他们作为目录吧! 下面就是推荐+点评
2.1 OSGI的基础
[1] OSGI解决了什么问题
点评: 来自stackOverflow的一个讨论,OSGI领域里面,得分最高, 实质上对受众更好的问题是:OSGI不能解决什么? 这个留待各位成为OSGI领域高手之后, 再回答不迟。
[2] 如何利用架构一个C/S 框架
点评: 本文来自stackoverflow的讨论, 似乎也没有讨论出个所以然, 但可以带来一点提示, 个人的偏好是将所有的架构设计成C/S架构. 因为移动的应用, 靠Web部署已经成为一个难题. 还不如都为终端开发一套应用程序吧! 我理解的终端, 只有命令的收发, 数据的展示, 一个非常瘦小的终端. 归结起来的模式是: OSGI-Cloud 结合Open API的方案
[3] OSGI与人们当初的期待相距甚远
点评: OSGI本来是想一统江湖的, 当年的期待是嵌入式客户端,难道是Eclipse IDE的盛行让大家真的以为这玩意可以无休止的实现跨平台?今天, 我们忘掉跨平台, 尤其是嵌入式领域. 如果有云端的支撑, 何必强求跨平台? 云端不用跨平台,那么我们将其功能做充足, 任何东西都交给云端处理,而嵌入式端呢, 我们简化,简化再简化, 因此变成了一个Open API的方式,事实是,这篇文章的思路跟本人有相通的地方。只是文中的“60%的Java虚拟机上部署OSGi的目标并不是遥不可及。”今天证明跨平台的虚拟机已死。
[4] 分布式OSGI
点评: 这篇文章我还没有看, 似乎很多人认为只有HTTP协议对分布式的支持才是比较优良的. 不如看看这里面提及到的两个链接.
2.2 HelloWorld 入门
[1] 第一个OSGI例子HelloWorld
点评: 够简单和直接, 有图有真相
[2] 你好,OSGi!OSGi入门必读系列
点评: 可以让你深入一点. 程度自己掌握.
2.3 HelloWorld进阶
[1] 利用 Eclipse 开发基于 OSGi 的 Bundle 应用
点评: 关键词, IBM, 教程, 其它的就无需解释, IBM的教程, 永远是教科书中的典范. 小提醒, 注意框架和Bundle的生命周期. 这个是整个OSGI的核心.
[2] Dictionary OSGi Service模板Custom端使用
点评: 使用模板创建OSGI工程的时候,可以创建一个字典, 不过那个是服务提供方的代码, 这里来一个客户端的代码, 这个值得研读。
[3] OSGi尝试
点评:某人的一些使用体会, 很不错的参考, 别人走过的路, 可以验证, 也可以越过, 也可以直接拿来, 好吧, 你还是验证一下.
[4] OSGi with Eclipse Equinox - Tutorial
点评: 这些例子很全, 但我试了一下午, 貌似Declare Service始终做不来, 这个教程提供了代码下载, 但采用的是链接的方式, 所以,我就一段一段的copy, 吐血若干杯之后,做完了, 发现不是需要的效果. 我还是相信自己的人品产生了问题. 诸位不妨试试里面的例子。
[5] OSGI Tutorial and Running Example
点评:这个比[4]要直观很多, 所以我决定写完这篇博客之后, 立马去跑一遍这里的所有例子, 因为源码的下载实在太方便了。
[6] OSGI资源汇集贴
点评: 似乎专业性不及本人, 但可以很好的和本篇提供的资源互补一下。亮点: Bundle Tool中文使用手册。进去需要好好研究这个。
2.4 自制的Demo
[1] 服务端架构技术——基于OSGI服务端的架构设计和实现
点评: 自己写的一个Demo, Server分发各类服务的例子, 代码都已经提供了, 欢迎试用.
2.5 产品发布
推荐看看我自己总结的文档[4]
[1] 几种OSGI bundle的打包方法及注意事项
点评: 没看到亮点, 甚至没看懂, 先留在这里.
[2] OSGI的发布
点评:本文总结了OSGI应用程序的发布方式. 还算通俗.
[3] 解决OSGI环境第三方包的NoClassDefFoundError
点评: 这个Error追踪了半天, 这里阐述了一个解决方案, 但原理性的解释, 还需要自己进一步探讨, 可以确定的是: 这个解决方案很凑效. 问题是这么解决的——1. 将第三方包作为Bundle 2. 在改bundle中的Manifest.MF文件中加入上文所说的.DynamicImport-Package
[4] OSGI项目发布总结
这个是本人做的总结, 有手动发布, 我脚本的方式发布, 自己看来还是比较全面的.
2.6 OSGI的大框架和核心组成
[1] OSGI大饼图
点评: 其实里面并没有图, 作为图的爱好者, 我一直青睐于有图的文档,工具书, 以及博文, 但这个确实被忽悠了,它里面没有一张图, 所以, 有必要的话, 可以按照作者的思路, 补全这些图, 等你心中有图,必然对OSGI了然于心。对了,四层的提法很重要.
2.7 OSGI潜规则
[1]osgi常见问题解决
每种语言和框架都有自己的游戏规则,顺其者昌, 逆其者思路一条, 当前功力尚未修炼到这个级别.
2.8 OSGI的自动编译和持续集成
[1] Bnd - Bundle Tool中文使用手册
点评: 持续集成, 还得靠ANT还得靠命令行. 这里就是一个工具包的使用. 为项目管理添上翅膀. 建议彻底废弃这个, BND这玩意机会没什么优点。文档支撑也不够。持续集成无需用到这个, 这篇文章才是更好的方式
2.9白皮书,红皮书,蓝皮书以及无皮书
[1]《OSGI in practice》
[2]《OSGI实战》
[3]《OSGI进阶》
[4]《OSGI原理与最佳实践》
[5]《OSGI Service Platform Core Specification》 Release 4
- OSGI学习手册
- OSGI学习
- OSGI学习
- OSGI学习
- osgi学习
- OSGI学习
- osgi 学习系列(四)osgi ds
- osgi 学习系列(九)osgi 日志
- OSGi专题学习之 01 OSGi是什么
- 1.OSGi学习之 OSGi是什么
- OSGI学习之路之OSGI是什么
- OSGI学习笔记之OSGI框架
- OSGI学习笔记
- OSGI学习笔记收藏
- OSGI学习笔记一
- osgi学习--overview
- OSGi---2Example学习
- osgi的学习地址
- ftrace 简介
- Windows下编译memcached-1.4.5(32bit和64bit)
- sicily题目之2001 2005
- 1190 Reduced ID Numbers 求更高效的方法
- sicily 1007
- OSGI学习手册
- QT 使用QProcess 调用外部程序并截取输出流
- 《小强与小明》——正在疯传的伟大的故事
- 移植u-boot-2011.03到S3C2440(utu2440)的方法与步骤###5.使用JLINK间接烧写u-boot至FLASH的方法与步骤
- LumiSoft.Net 读取hotmail指定的邮件
- 那些必须了解的地理信息专业基础概念
- 1813. M进制数问题
- 三十分钟掌握STL
- Reflector反编译工具