顶级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中该使用Blueprint还是声明式服务?

在OSGi中,服务是实现bundle间交互和应用灵活性的基石。Blueprint与声明式服务简化了开发人员的服务注册工作,不过这两种方式的实现原理与适用场景均有所不同,最近来自Redhat的首席软件工程师Ioannis Canellos撰文对此进行了分析。


敏捷与结构性模块化(一)

敏捷开发方法论日益流行,然而大多数“敏捷”专家和分析师都在孤立地讨论敏捷,也就是说忽视了系统“结构”(Kirk Knoernschild是一个例外,他编写了一本名为《Java Application Architecture》的图书阐述这一理念)。考虑到“敏捷”是基础实体的一个重要特性或属性,那么,这种疏忽令人感到很惊讶。一个实体要具有“敏捷”的特性,它必须具有高度的结构性模块化(structural modularity)特征(参见Scott Page的《Diversity & Complexity》)。


OSGi中的服务模式与扩展者模式

  在OSGi中,服务模型和扩展者模型是实现bundle间交互和扩展性的常用手段,最近在Stackoverflow上出现了关于这两种方式利弊和适用场景的讨论,OSGi的资深专家 Peter Kriens和Neil Bartlett对此进行细致的阐述。


敏捷与结构性模块化(二)

在上一篇文章中,介绍了结构性模块化与敏捷之间的关系,在这个系列的第二篇文章中,我们将会研讨OSGi™,在实现JavaTM的结构性模块化方面,OSGi扮演了核心的角色;OSGi与流行的敏捷方法论之间存在着自然的联系。软件行业花费了很长的时间才理解结构性模块化的重要性。特别是,结构性模块化可以提高程序的可维护性和灵活性,控制和减少环境带来的复杂性。


敏捷与结构性模块化(三)

这第三篇文章基于标题为“现实世界的挑战:基于OSGi/Bndtools的开发、,发布和版本控制的工作流程”(Workflow for Development, Release and Versioning with OSGi / Bndtools: Real World Challenges,http://www.osgi.org/CommunityEvent2012/Schedule)的演讲。在这篇演讲中西门子团队展示了这些由业务驱动的解决方案。这些方案实现了基于OSGi的高度敏捷的持续集成环境中的高敏捷。


OSGi 和 C++

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


Osgi Bundle Convert插件原理

Osgi环境的开发相对比较麻烦些,对于Bundle的转换更加复杂,业界有提供这样的maven插件maven-bundle-plugin来做这个事情,maven-bundle-plugin也是使用bnd插件完成,但是普通的jar转换为osgi Bundle有很多情况无法处理,需要我们自己来处理。在一个独立项目中使用maven-bundle-plugin插件,可能不会存在什么大问题,但是做分布式组件,共享组件仓库,设计的仓库这个插件就不一定能帮上忙了


基于OSGi的Virgo环境搭建(一)——环境篇

最近要将web项目模块化以支持热插拔、动态扩展等功能,因此我们开始研究如何将OSGi引入web项目。关于OSGi,大家可以参考OSGi研究与总结。现在主流的j2EE框架都离不开Spring,因此,将OSGi与Spring进行无缝整合就成为了引入OSGi的关键。


基于OSGi的Virgo环境搭建(二)——集成Snaps

上一篇我们介绍了用java开发模块化web所需最基本环境(STS+Virgo),本节将介绍如何集成Snaps到Virgo中并演示几个官方的小Demo。


最受欢迎的文章

最新评论