- 浏览: 1149150 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
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 入门
点评 : 够简单和直接 , 有图有真相
点评 : 可以让你深入一点 . 程度自己掌握 .
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 潜规则
每种语言和框架都有自己的游戏规则,顺其者昌 , 逆其者思路一条 , 当前功力尚未修炼到这个级别 .
2.8 OSGI 的自动编译和持续集成
点评 : 持续集成 , 还得靠 ANT 还得靠命令行 . 这里就是一个工具包的使用 . 为项目管理添上翅膀 . 建议彻底废弃这个, BND这玩意机会没什么优点。文档支撑也不够。 持续集成无需用到这个, 这篇文章才是更好的方式
2.9 白皮书,红皮书,蓝皮书以及无皮书
[1] 《 OSGI in practice 》
[2] 《 OSGI 实战》
[3] 《 OSGI 进阶》
[4] 《 OSGI 原理与最佳实践》
[5] 《 OSGI Service Platform Core Specification 》 Release 4
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1567OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服 ... -
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 20334.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2492摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1423随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1411随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1634OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12491、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1058不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1227registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1363在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1307osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1165软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3539将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1330Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11551、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1421Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 13321、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1207一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1159当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1560OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
### OSGI学习手册及实践知识点总结 #### 1. OSGI简介与背景 - **OSGI**(Open Service Gateway Initiative)是一种用于构建模块化应用程序和服务的框架,旨在提高软件系统的灵活性、可扩展性和可维护性。它最初是...
Spring OSGi 是一个将 Spring 框架与 OSGi(Open Service Gateway Initiative)容器相结合的开源项目,旨在提供一种在 ...提供的压缩包文件可能包含了入门手册和示例代码,这些资源将有助于你快速上手 Spring OSGi。
通过学习本规范,开发者可以深入了解OSGi平台的设计理念和技术细节,从而更好地利用其模块化特性构建高效、可扩展的应用程序和服务。无论是对于初学者还是高级开发者而言,《OSGi R4规范》都是必读的经典之作。
在学习OSGI的过程中,阅读源码是非常重要的一步,因为源码能直观展示OSGI如何在实际项目中运作。结合"OSGI进阶.pdf",你可以更深入地了解OSGI的高级特性和实践技巧,例如bundle间的协作、服务的高级用法以及如何优化...
手册涵盖了从环境搭建到应用程序部署的全过程,是一份不可多得的学习资料。 ### 核心知识点 #### 1. **Virgo Web Server(VWS)概述** - **定义与特性**:Virgo Web Server(VWS)是基于OSGi规范构建的,旨在...
1. "Spring-Reference_zh_CN.chm":这是Spring框架的中文参考手册,Spring是Java领域最流行的框架之一,它与OSGi有很好的集成,可以在OSGi环境中运行Spring应用。 2. "Think In Java.chm":这是《Thinking in Java》...
标题中的"OSGI&spring;&hibernate;"表明我们将探讨三个关键的Java技术:OSGI(Open Services Gateway ...通过对这份手册的深入学习,开发者将能够掌握在OSGI环境下使用Spring和Hibernate进行高效、灵活的Java应用开发。
《OSGI实战教程》不仅是一份技术手册,更是一本启发思维、促进创新的指南,适合所有希望深入了解和掌握OSGI框架的开发者阅读。通过本教程的学习,读者将能够掌握OSGI的核心概念,了解其在不同领域和场景下的应用,...
整体而言,《Enterprise OSGi in Action》是一本结合理论与实践的手册,旨在指导Java EE开发者使用OSGi技术构建模块化、动态化、可扩展的企业级Java应用。无论读者是初学者还是有经验的开发者,这本书都能提供实用的...
第二本开发手册可能更深入地探讨了OSGI在实际项目中的应用,包括如何使用OSGI进行组件化开发,实现服务注册和发现,以及如何处理版本冲突。此外,手册可能还会涵盖OSGI与其他Java技术(如Spring框架)的集成,以及...
11. **扩展与插件**:了解GlassFish的插件生态系统,如何集成第三方模块,例如使用GlassFish的OSGi支持添加自定义功能。 这份手册不仅适合初学者入门,也对有经验的开发者和系统管理员提供了深入的技术指导,帮助...
在《Apache Karaf 2.3 用户手册(中文版)》中,你将学习到以下关键知识点: 1. **OSGi基础**:Karaf是建立在OSGi(Open Services Gateway Initiative)框架之上,因此了解OSGi的基本概念和模块化机制至关重要。...
Liferay 采用Maven作为构建工具,遵循OSGi标准,使得模块化开发和依赖管理变得简单。 工具方面,Liferay 提供了Liferay Developer Studio,这是一个基于Eclipse的集成开发环境,为开发者提供了便捷的portlet开发和...
通过学习这份【Eclipse与JDK完全手册】,初学者不仅可以掌握Java编程的基本技能,还能了解到Eclipse的强大功能和如何利用其进行软件开发。无论是个人项目还是商业应用,Eclipse都是一个值得信赖的开发伙伴,其插件化...
ODL 控制器采用 OSGI 框架,实现了一个优雅、完整和动态的组件模型,应用程序(Bundle)无需重新引导可以被远程安装、启动、升级和卸载,通过 OSGI 捆绑可以灵活地加载代码与功能,实现功能隔离,解决了功能模块可...
Struts2中文手册PDF为学习者提供了详细的指南,涵盖框架的基本概念、核心组件、配置、拦截器、结果类型、插件等各个方面。 一、基础概念 1. MVC模式:Struts2遵循MVC设计模式,将业务逻辑、数据和用户界面分离,...
- **插件概念**:Eclipse 插件是基于OSGi(Open Service Gateway Initiative)框架的,它们是可独立部署、可组合的软件模块,提供了Eclipse平台的功能扩展。 - **Plugin.xml**:每个插件的核心配置文件,定义了...
学习Spring DM,你需要了解OSGi的基本概念,理解模块化开发的优势,掌握Spring框架的核心特性,以及如何编写和解析Spring DM的元数据配置。此外,实践是提高技能的关键,通过分析提供的示例和自己动手创建项目,你会...