软件的模块越来越插件化发展了,连硬件都处处热插拔,软件更当如此。记原来有个 JPF(Java Plugin Framework),也能实现动态插件化,但要是有个业界标准的东西一般来说会更好的。于是轮到 OSGI(Open Service Gateway Initiative) 登台,OSGI 出来也有好几个年头了,应用也轰轰烈烈的,比如 Eclipse 3 开始不再使用原来的插件体系,完全用 OSGI 搭建。WebSphere 6.1 也全面改用 OSGI;JBoss、WebLogic、Spring DM,甚至是 BMW 车的控制系统中都得到了很好的应用。
前面讲到可以用 OSGI 作为你的微内核,微内核的好处可以打个这样的比方:一台 Linux 服务器出故障了,应用程序坏了、某些服务不能访问等,但只要它还来连入网络,SSH 还是活的,我们就有办法进去修复它,想安装、卸载什么都行。 阅读全文 >>