OSGi带来的规范的模块化

规范的模块化开发是需要OSGi的重要理由之一,模块化的开发方式一直就是现在的主流开发方式,但业界却一直缺乏这样的标准,当然,如果java本身具备这样的标准自然就更好了,那么大家就会很自然的以同样的方式去设计、开发和部署模块,但目前java暂时还没有这样的标准,虽然之前的JSR 277(Java Module System)的目标是制定这样的标准,但由于该标准制定完后并没有得到业界和各大厂商的认可,所以基本上没起到什么作用,而现在JSR 291的认可则更是触动了它,目前的情况看下去,OSGi成为下一个版本的Java Module System JSR只是时间的问题而已,整个业界能够采取统一的方式进行模块的设计、开发是非常重要和有意义的事,这也是OSGi得到IBM等大公司支持的重要原因之一,说了这么多背景性质的话后开始来看看OSGi是如何规范化模块的开发的:
1、模块的定义
      在OSGi中模块以Bundle的形式进行定义,而对于模块中的重要概念如模块的依赖、模块的版本、模块对外提供的功能等都通过规范的Bundle的元数据信息来表达,这就使得模块的定义得以规范。
      而同样的OSGi对于模块的规范化的定义也是平时我们在进行模块化的定义时值得参考的。
2、模块的设计
      在模块的设计上首先遵循OSGi Bundle的方式无疑为我们的模块设计提供了类似Best Practice的指导,这个对于构建整个系统而言具备非常强的指导意义,我们知道在进行业务架构设计时最重要的就是模块的划分和依赖的设计,而这从OSGi上都给予了非常好的指导。
      而对于模块本身的实现方面的设计而言,OSGi更是提供了Service-Oriented Component Model做为设计的指引和参考,这从本身上来讲已经提升了目前的很多的模块的设计方法。
      可见,从设计这个层面上来说,OSGi不仅提供了规范化的方法,一定程度上来说更是提供了模块化设计的Best Practice。
3、模块的部署
      在OSGi中模块统一以Bundle的方式部署到系统中。
在以前的很多的插件式的系统中也能找到上面三个部分的影子,但最关键的是那些都不足以形成业界统一的规范,规范性才是模块化中最为重要的一点,当然,OSGi在动态性方面的优势使得它在这一领域占据了优势,也使得OSGi在模块的管理上具备很强的优势,象模块的生命周期的动态管理、模块的版本化管理以及模块行为的动态改变等。

posted on 2006-09-14 15:32 BlueDavy 阅读(2376) 评论(8)  编辑  收藏 所属分类: OSGi、SOA、SCA

评论

# re: OSGi带来的规范的模块化 2006-09-14 15:50 差沙

感谢你对OSGi的推广所做的贡献、、、  回复  更多评论   

# re: OSGi带来的规范的模块化 2006-09-14 16:35 BlueDavy

@差沙
...希望能有越来越多的人使用OSGi..  回复  更多评论   

# re: OSGi带来的规范的模块化 2006-09-14 18:38 JRobot

能不能介绍些入门的相关知识哇,好像这方面的还很少  回复  更多评论   

# re: OSGi带来的规范的模块化 2006-09-14 23:35 飞飞



是啊,我对OSGI还不太明白呢!  回复  更多评论   

# re: OSGi带来的规范的模块化 2006-09-15 11:16 BlueDavy

@JRobot
...请参见我写的OSGi Opendoc。  回复  更多评论   

# re: OSGi带来的规范的模块化 2006-11-08 17:16 生与夏花

对于一个系统的分析,一套好的系统模型时非常重要的,他不仅可以规范设计,还可以避免我们犯错,OSGI规范正是提供了这一套好的系统模型。在这个基础之上我们可以设计出于我们业务相关的业务模型出来。
对于模块的部署,是不是可以借鉴一点Maven的repositer概念,这样在开发的时候我们可以共用一个remote的bundler库进行开发,在本地有一个local开发库,对于公共的bundle,比如说框架部分的bundler,一些通用的服务性质的bundler库,如LogService,JOTM(分布式事务管理器),JPA service都可以发布到远程的bundle库中,统一进行更新和维护。
这样我们就可以把continous integration 机制加入进来,通过Mevan(个人觉得如果使用osgi作为Maven的核心架构的话,会对Mavne的功能有很大的提升)的mojo来扩展自己的插件,这样就把OSGI的开发和管理都集成为一个统一整体.  回复  更多评论   

# re: OSGi带来的规范的模块化 2006-11-08 17:26 BlueDavy

@生与夏花
OBR就是借鉴了Maven的repositer概念..  回复  更多评论   

# re: OSGi带来的规范的模块化 2006-11-08 17:32 生与夏花

@BlueDavy
刚刚才看到,我还想一直在想如何实现呢  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

公告

 









feedsky
抓虾
google reader
鲜果

导航

<2006年9月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

统计

随笔分类

随笔档案

文章档案

Blogger's

搜索

最新评论

阅读排行榜

评论排行榜