第二届<mark>OSGi</mark>云研讨会

去年三月,2012EclipseCon / OSGi的开发者大会举行期间,第二届OSGi的云研讨会顺利举行。一些很好的演讲和伟大的讨论使这个早晨变得非常有趣。 我们了解到,人们已经在云计算环境中广泛使用OSGi,并且愿意在早上花时间讨论OSGi可以做些什么,从而使它更适合在云中使用。所以,在OSGi联盟,你可以看到很多思绪活跃的人提出一些相关话题。


深入理解OSGi:前言

随着软件规模的日益增大,程序按模块拆分、按模块开发和按模块部署等需求变得越来越迫切,“模块化”成为了Java社区中最热门的话题之一。而OSGi技术—Java业界事实上的模块化标准,也被越来越多的中间件、第三方类库和各类应用程序所认可和采用。


深入理解OSGI:第一章 Java模块化之路

Java可能是近20年来最成功的开发技术,因其具备通用性、高效性、平台移植性和安全性而成为不同硬件平台理想的开发工具。从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java技术无处不在。


深入理解<mark>OSGI</mark>:第二章 模块层规范与原理(1)

在OSGi系统中,同一个名称的Package可能存在多个不同版本。假设Bundle C开发时引入了Spring 2.0版的Package,并且使用了某些只在这个版本私有的特征,而Bundle D开发时使用的是Spring 3.0版的Package,那么从这个系统中导出Spring的Bundle就必须明确指明Spring的版本号,以便导入时区分。


深入理解OSGI:第三章 生命周期层规范与原理(1)

OSGi规范把模块化“静态”的一面,比如如何描述元数据、如何加载模块中的类和资源等内容定义于模块层规范之中;而把模块化“动态”的一面,比如模块从安装到解析、启动、停止、更新、卸载的过程,以及在这些过程中的事件监听和上下文支持环境等定义于生命周期层(Life Cycle Layer)之中。在第2章介绍了模块层相关知识后,这里再从OSGi运行时的角度去看一下模块化“动态”的相关知识。


深入理解OSGI:第三章 生命周期层规范与原理(2)

开发人员可以使用代码来启动、停止某些Bundle,用户也可以在Equinox控制台中完成这项工作。但是从OSGi系统整体来看,各个模块的启动和停止顺序不应当由代码或人工完成,尤其是在Bundle数量很多时,OSGi框架提供一种全局的控制Bundle启动、停止的方案就显得更有必要了。


深入理解OSGI:第二章 模块层规范与原理(2)

OSGi的类加载架构并未遵循Java所推荐的双亲委派模型(Parents Delegation Model),它的类加载器通过严谨定义的规则从Bundle的一个子集中加载类。除了Fragment Bundle外,每一个被正确解析的Bundle都有一个独立的类加载器支持,这些类加载器之间互相协作形成了一个类加载的代理网络架构,


写书评,赢79元好书

OSGi中文社区携手华章图书给粉丝们送福利来啦!OSGi旅游居家必备好书《深入理解OSGi》大派送啦~ 只要你: 关注“OSGi中文社区”(http://e.weibo.com/osgicn )和“华章图书”的微博(http://e.weibo.com/huazhangbook ); 试读《深入理解OSGi》前三章,并且在此页面留言写下书评或者读后感。 就有机会获得价值79元的《深入理解OSGi》一本。一共会送出5本噢。


OSGi深度培训意向调查

OSGi深度培训在2013全球软件开发大会上海站的报名异常火热,详情请查阅: <a href="http://www.qconshanghai.com/tutorials">http://www.qconshanghai.com/tutorials</a>。为了照顾北京的OSGi开发人员,<strong>北京大学软件工程国家工程研究中心</strong>联合全球公认的OSGi专家 <strong>Tim Ward</strong> 与OSGi China Forum现任主席 <strong> Jeff Liu(同时将作为中文翻译)</strong> 来北京大学增设2天OSGi深度培训,现征求您的培训意向调查。


顶级OSGi专家Tim Ward JavaOne 2013 演讲

JavaOne 是每年一次的Java盛会,今年的JavaOne大会于9月22日~26日在旧金山举行 在大会上,Tim Ward先生做了关于Java模块化开发、OSGI技术的演讲。 Tim ward先生把演讲PPT交给了OSGi中文社区,希望能够让更多中国的OSGi粉丝能够看到他的演讲内容。 Ward先生还将于近期前往北京大学增设2天的 <a href="http://osgi.com.cn/article/7289473">OSGI深度培训</a>。


《OSGi与Equinox》第三章

要想了解OSGi和Equinox的功用,最好是构建一个真实的系统。本书的这部分内容将指导你构建这样的系统。我们从零开始,先为OSGi开发设置Eclipse环境,然后创建一个功能合理完备的车辆管理系统Toast,然后运行并给予调试与优化。下图截屏展示了将构建的Toast系统中车辆内客户端示例。


《OSGi与Equinox》第四章

任何一个项目在建立初期都充满了诱惑。我们会设计一整套复杂的bundle,以此证明在编写代码之前我们的应用如何做到功能全面。但是这种做法不利于一个敏捷项目的演进。当项目结束时再来审视当初所写的代码,往往会发现那些代码早已面目全非。 所以我们并不会在一开始就讨论架构设计,而是仔细分析一种远程信息管理领域的简单场景。实际上,构建Toast应用的第一步甚至和OSGi没有一点儿关系。本章结论部分将设计bundle构建Toast。在后续章节中,我们将会为Toast增加OSGi以及远程信息管理领域的相关功能。


《OSGi与Equinox》第二章

OSGi联盟①(http://osgi.org)是一个独立组织,其使命是:“致力于创建统一的中间件市场。”这表明它本身就包括一系列规范、参考实现以及测试工具,且都围绕Java中的动态模块化展开。模块化系统形成“服务平台”的基础,继而支持创建并执行松耦合、动态的模块系统。OSGi起源于嵌入式技术领域,延续了其精简的结构,仅仅27个Java类型便构成了OSGi的核心规范。


《OSGi与Equinox》第一章

本书第一部分介绍OSGi和Equinox,以及OSGi标准的Eclipse实现。第1章概述了OSGi的历史和背景,其有用性和适用性将通过OSGi和Equinox实战的真实例子进行说明。第2章综述了OSGi的概念、术语和架构,以确保读者达成共识。 本书第1章聚焦于OSGi和Equinox,我们将介绍些技术的历史背景、使用方法、优势以及它们能为你做什么。


OSGi 和 C++

2011年 9月我参加了OSGi社区在达姆施塔特的会议,并且有机会与其他与会者探讨本机c++实现的OSGi规范的现状。在这一事件之前我也一直想写一篇博客,来描述关于当前实现OSGi规范的现状和努力——类似于C / c++实现的OSGI框架。最后,这篇文章会给出OSGi本机实现的概述。


《OSGi与Equinox》序

在企业级Java领域,传统的部署单元是将一个企业级应用构建为一个Web应用归档(WAR,Web Application Archive)文件。我将讨论一些企业级开发团队面临的共同话题。