与OSGi相比,java EE的语义能力差了一大截。java EE基本上只解决了数据的问题,即java EE假设的是企业只有数据的问题。所以说java EE的语义层次不够。
java EE是典型的程序员思维。
是一种典型的API模式。下面是厂商,上面是程序员,中间则是API。
这是向微软学习的恶果。
OSGi尝试解决的是程序的问题。这使得它站上了语义的高度。面向程序员导致语言级的框架,而面向程序导致了一个语义级的框架。语言级的实作性太强,所以容易把程序员卷进去。看不到外面的世界。
看不到程序与框架的关系。
所以OSGi是一个程序与框架的思维与模式。
而javaEE是程序员与程序员框架。这是一个工作模型,OSGi才是一个真正的程序模型。
换句话说,OSGi是架构师模型,而java EE是程序员模型。是个编码模型。OSGi才是真正的编“程”模型。
不懂OSGi,就做不了架构师。