Newton - OSGi 框架


未知
跨平台
Java

软件简介

Newton项目的目的是建立一个分布式组件模型。要成为一个真正意义上可用的分布式组件框架,要从根本上解决本地计算和分布式计算的不同。

Newton基于以上考虑开发,并将提供分布式计算功能。

关键技术

这个世界是一个高度动态的分布式组件模型,并会随时面对无法预料的失败和不确定的网络状态。分布式系统的管理,如部署或整理系统环境是一项繁重
的工作。它阻碍了我们开发和建立一个可以自治的分布式系统。Newton使用OSGi和Jini来解决这些问题。OSGi是Newton整个构件模型的中
心,而Jini则是其远程基础设施的基石。同时,Newton使用SCA来描述构件装配模型。

OSGI

Osgi为单个JVM提供了一个高度动态和设计良好的服务模型。OSGI的部署单元Bundle,
使用了平级的类加载模型,而不是出传统的层次的类加载模型,这种类加载模型确保了OSGI的运行环境具有高度一致性的类视图,而不会因为层次的类加载模型
而导致类加载错误在不同层级的类加载器之间传递。 Bundle具有一个从安装到卸载的定义良好的生命周期。
此外,OSGI对传统的jar形式封装进行了一些改进,可以将API暴露给用户,而将其余的类作为私有的,确保不被用户访问。Bundle在物理上是具有
一些附加元数据的jar文件,Bundle在运行时靠这些元数据被运行环境解析。OSGI提供了一个内部的服务注册表,不同Bundle中的服务在创建时
可以通过服务注册表查找到其他服务。