Part1. OSGi的优势和可能遇到的问题

OSGi 是由OSGi联盟发起的以java为技术平台的动态模块化规范。


OSGI的优势:

1、模块化。模块化并不仅仅是把系统拆分为不同的块而已——这是JAR包就能够做的事情,真正的模块化必须考虑到模块中类的导出、隐藏、依赖、版本管理、生命周期变化和模块间交互等一系列的问题。

2、OSGi可以弥补java中资源精细化分的缺陷,加强架构的自约束能力。

      如果有开发人员在web层使用DAO直接操作数据库,或者在DAL层直接从HttpSession对象中取上下文信息,这样的代码也许能逃过测试人员的黑盒测试,但是显然是不符合软件开发基本理论的。OSGi可以清晰的分清各层的依赖关系,可以让Web层只依赖Service层的JAR包,程序员就无法访问到DAO;可以使DAL层没有依赖Servlet API的JAR包。程序员也就不能访问HttpSession对象了。

3、动态化。OSGi可以做到动态修复缺陷,不停机地增加或禁止某块功能、更新某个模块等。


使用OSGi可能遇到的问题

1、OSGi的入门门槛比较高,学习曲线比较曲折。OSGi规范由数十个子规范组成,包含了上千个不同用途的API接口

(OSGi规范显得这么庞杂的主要原因是实现模块化本身需要解决的问题就非常多)

2、增加系统不稳定的风险。最典型的ClassNotFoundException异常、OutOfMemoryError、类加载死锁等常见的问题


OSGi中文社区:http://osgi.com.cn/user/1334158

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值