OSGI与SOA

   我个人对soa的看法:soa是一个比面向对象,面向组件更高层次,更粗粒度的复用技术。
  
   当我们把算法,可固化的业务逻辑封装进对象和组件时,就不得不面对随需变化,不断修正的业务规则和流程。这些业务规则和流程不仅仅是纯粹技术性的东西,它遵循的不仅仅是物理逻辑和自然哲学,而更多的是综合性的逻辑,这种综合性逻辑涉及各方各面,所以每一方面的变化都可能我们需要去修正这些业务规则和流程。另一方面,业务规则和流程面对的不再是简单的机器,而是人和业务系统。它必须是“亲民”的,不能太复杂。

   在OSGI规范里,定义了OSGI service,但这个service和SOA的service并不能等同,理由同上所述,OSGI service大致属于面向组件层面的service,是偏向于技术层面的复用,是稍细粒度的复用,而SOA的service则是业务层面,更粗粒度的复用。

   我们可以用规则和流程将SOA的service串连起来,成为真正的企业级应用。而SOA的service则可以由OSGI service组合而成(这只是一种方式,不局限于此),所以,我觉得OSGI可看成是一个微观的SOA实现。

    我目前只看到servicemix(FUSE)似乎是采用类似观点来看待OSGI的ESB实现。其它的如JBOSS,虽然以OSGI来构建自身,但似乎没有将OSGI service无缝地与SOA融合。(也许是我个人知识的局限,请有识之士不吝赐教)。

猜你喜欢

转载自killko.iteye.com/blog/1779596
SOA
今日推荐