分享插件化平台规范——OSGi R4规范的中文翻译

我从本科开始一直专注于.NET,不过2007年毕业后却到一个外企先做Java开发,后来又做Flex + Java的开发。在工作之余,我一直在关注和学习.NET,并把在Java领域学习的优秀思想应用到.NET平台。第一次听说OSGi是2008年底,我们产品开始换更新换代时,一个美国工程师提出来的。他推荐了OSGi技术。我对它一无所知,于是就上网搜索了一下OSGi并初步学习一下。OSGi提倡的两大特性——模块化和动态化以及支持的三大功能——插件化、面向服务和插件扩展,让我兴奋不已。因为这与我想要实现的SaaS应用商店的理念完全一致。我决定将OSGi移植到.NET平台(这就是我们现在的OSGi.NET平台产品UIOSP)。在没有接触到OSGi之前,我翻译了CAB和SCSF的文档并查看了它们的源码,考虑将SCSF进行简化后作为底层框架,但一看到OSGi,我就毅然决然的将其抛弃了。

 

从2009年开始,我着手翻译了OSGi R4规范,这个分享的OSGi规范包括了OSGi最重要的模块层、声明周期层和服务层。OSGi体现了一种更为灵活的软件体系结构,我把它归纳为“横向切割 + 纵向分层”。一个应用系统由若干功能组成,而每一个功能是代码的纵向组织而成的。功能间的交互一般很少,而功能内部的实现则非常的耦合,OSGi非常吻合这种行为。基于OSGi,每一个应用系统按照功能被横向切割成不同模块,而每一个模块又根据不同的复杂度进行纵向分层架构,这种思想与软件工程的“高内聚、低耦合”非常的吻合。因此,我非常喜欢OSGi提倡的软件体系结构。 

 

不过,在Java总应用OSGi并没有基于.NET的由我们自己开发的尤埃开放服务平台(XAUI Open Service Platform,UIOSP)开发容易,UIOSP能够无缝兼容控制台、桌面、Web和移动设备等环境,并且提供了简单易用的项目模板、完善的帮助文档和安装包。UIOSP内核设计思想基本和OSGi R4规范一致,不过,我们做了一些简化并添加了一些辅助设计工具。附件就是我翻译的OSGi R4规范的模块层、生命周期层和服务层等章节。Enjoy youself!

 

要运行示例,你需要下载UIOSP安装包,尤埃开放服务平台试用版下载 

你可能感兴趣的:(osgi)