为什么使用OSGi

OSGi的介绍我不在这里详细。OSGi是 Open Service Gateway initiative的简写,中文可以翻译为开放服务技术平台。OSGi也可以理解为OSGi联盟,目前IBM,NOKIA,BMW等公司成员。
      现在一个比较好的BLOG关注的是 bluedvy,上面有OPENDOC做得非常好,强烈推荐。
 
     好,开始正题,为什么用OSGi呢?
    OSGi不是SUN,IBM或者BEA公司推出来的想统治JAVA市场的工具,现任主席也既创始人有自己的公司,专门用来培训客户使用OSGi和进行软件设计。也就是说,OSGi并没有很强的背景或者理论支持,而是基于现实软件和市场遇到的困难而产生的。

    现在问题有:
    1 便携设备的软件非常有限
  •            缺乏便携设备软件的原因:      由于这些设备数量和种类繁多,缺乏统一的运行平台,导致没有一个大的统一软件市场。一个软件如果只专注在特定的设备上,那么它的市场将非常小,这样就导致了软件的缺乏。
  •            硬件和平台的约束:设备CPU的花费和性能有非常大的不相同,也导致部署软件出现困难。有时候Linux是个好选择,但是对于只需要一两种软件的设备来说,装个大而全的系统无疑是对资源的浪费。
  •           OSGi平台的好处:  只要有JAVA VM ,OSGi平台在任何机器上的运行都将一致!

    2 异构软件系统日趋复杂
  •           现实: Space Shuttle(苹果播放器)  ~0.5百万行代码
  1.                       一辆宝马汽车有50个联网的智能设备
  2.                       Eclipse有2.5百万行代码
  3.                       一个普通的程序员每天写10++行代码(中国号称有“百万”程序员)
  •         面向对象OO:  OO是非常好的技术,但是当系统有一定复杂度很灵活度要求的时候,对象关联就同样复杂起来。因此我们需要使用插件体系 。
  •        面向服务SOA
  1.               接口和实现分离,可以允许修改实现而不用管其他地方;
  2.              通过接口,动态发现和绑定实现;
  3.             实现组件可以重用;
  •      OSGi注册服务提供JAVA VM层的模块
  1.             可以根据接口或者属性定义发现服务,可以通过程序控制,默认规则或者配置绑定一个或多个实现。
  2.            SOA通过网络绑定和发现服务,而OSGi在本地发现!  n

     3 设备上管理软件生命周期
  •            当软件离开网络后,不会自动停止;
  •           更新和安装应用复杂;
  •           连接网络设备协议多;

           OSGi联盟提供标准的API用于设备管理!
  •              能够管理众多设备;
  •              对特定的问题提供优化的解决方案;
  •              减少管理的成本;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值