• 1. OSGI 及其WEB开发郭斌 guobin@baidu.com
  • 2. 一、OSGI是什么 二、OSGI为什么 三、OSGI有什么 四、OSGI怎么用 五、OSGI秀一个 六、OSGI去何方内容
  • 3. OSGI是什么 OSGI:Open Service Gateway Initiative OSGI:The Dynamic Module System for Java平台?容器?框架?架构?标准?
  • 4. OSGI是什么 成绩 Eclispe Application Server: WebSphere, Weblogic, Spring DM Server, GlassFish, Jboss Java规范: JSR277宣告放弃 BMW汽车的应用控制系统 实现 Equinox Apache Felix 其他: Oscar, Knopflerfish
  • 5. OSGI为什么 你痛苦吗? 因为需求的原因,我的项目已经需要广泛的使用ClassLoader并控制类的载入了 我的项目使用的两个包,都基于另一个包,但他们无法兼容 我能获得很多很有价值的包,但是他们都是按早自己的风格实现的,为了使用他们,我往往需要再编写一些代码封装他们,能拿过来就用吗? 我想让自己的项目支持插件,有现成的轮子吗?有经过了考研靠谱一点的轮子吗?
  • 6. OSGI有什么 OSGI特性 模块化 动态性 规范性 稳定性 OSGI概念 Bundle: 按特定要求提供了MANIFEST.MF的jar Service: Bundle中注册为外部提供服务的java类 输出包和引用包 Bundle的生命周期 OSGI其实是某种限制,遵循这种限制,获得额外的好处
  • 7. OSGI有什么 Demo1 时间服务 Demo2 用Equinox运行 Demo3 用Apache Felix运行
  • 8. OSGI怎么用 用的更好 Spring DM 结合OSGI框架和Spring框架 Demo4 用于所需 桌面应用, Web应用, 嵌入式BeanService in Bundle
  • 9. OSGI怎么用 OSGi Plugin for Struts2 Bundled with Struts from 2.1.7 on This plugin provides support for starting an instance of Apache Felix inside a web application, and scanning installed bundles for Struts configuration. An admin bundle is also provided. This plugin is only experimental and can change in the future. https://cwiki.apache.org/confluence/display/WW/OSGi%20Plugin
  • 10. OSGI怎么用 Web应用 方式一: Http Service as a Bundle Demo5 方式二: OSGI embedded in a web application Demo6
  • 11. OSGI秀一个 一个查询系统 可扩展 热插拔 动态性 Demo7动态化、模块化、扩展性、插拔性,这一切还需要靠自己,但OSGI让我们更有方向感
  • 12. OSGI去何方 更好的Web支持 RFC66 更好的分布式支持 RFC119 丰富的Bundle Repository
  • 13. Thanks!