SOA的开源大势二:迁徙与合并
传统上开放源码项目给人的印象,就是由开发人员制造出来,给另一群开发人员使用的东西。这样的东西可能功能简易,使用接口阳春。但在SOA的世界中,情况可能完全逆转。此话怎讲呢?
开放源码项目向来有一种逐人气而居的倾向,也讲究品牌认同。Apache可说是开放源码平台的金字招牌,始终是其它项目心所向往的地方。
许多开放源码项目都是先由其它组织发掘,进一步发展之后,才乔迁到Apache。例如CodeHaus及ObjectWeb就像开放源码社群中的星探。就ESB相关领域来说,ServiceMix原本安居在Codehaus,后来搬到Apache;XFire和Celtix原本分别位于Codehaus及ObjectWeb,后来合并迁移到Apache。
ObjectWeb 是一套自我定位为发展分布式系统、中介软件项目的开放源码平台。由于发源地在法国,社群内的项目主要也是来自法国,并于2005年9月加入中国的四方软件,近来更是广招各地菁英加入,有愈见国际化之势。

开放源码SOA社群的不同项目,逐渐由竞争走向融合,彼此借力使用,互通有无。
笔者认为整体上而言,由ObjectWeb所发展的开放源码项目,具有技术领先的特质。例如当今正热的OSGi (Eclipse所采的plug-ins架构),数年前在ObjectWeb就有对应的Oscar项目。其它还有支持AOP(Aspect-oriented Programming)的JAC应用程序服务器,支持网格运算的ProActive项目。就连支持JBI的PEtALS,也是公认动态性及分布式运算能力最佳的ESB环境。
而着重于发展Java、高素质的组件化项目的CodeHaus,同样是开放源码平台,总体而言,令人有耳目一新、质量精良的感觉。比较著名的项目包括Boo .NET手稿语言、Groovy Java手稿语言、Mule ESB、XFire Web Services套件、Drools规则引擎,以及Jetty应用程序服务器等。
开放源码的联姻,公开标准来做媒
传统上开放源码项目给人的印象,就是由开发人员制造出来,给另一群开发人员使用的东西。这样的东西可能功能简易,使用接口阳春。但在SOA的世界中,情况可能完全逆转。此话怎讲呢?
首先,目前业界导入SOA最成功的方式,莫过于透过ESB把企业内的各级系统服务化,再加以整合。当初升阳为了防止过去EAI(Enterprise Application Integration,企业信息整合)解决方案遭厂商死锁,无法迁移平台的弊病,再度发生于ESB,于是遂在JCP内发起JBI(Java Business Integration,Java商业整合)规范,也就是JSR 208。
基本上,JBI规范了一组组件化的SPI(System Programming Interface),以实作出ESB容器架构。也就是说,只要遵守此规范的ESB容器,理论上各部组件,包括服务引擎及系结组件,都是可以拆解开、部署到别的ESB容器内。
这事对开放源码项目有何影响?有「识」之士 (如ServiceMix的创建者James Strachan)立即抓住这个契机,直接以JBI规范打造ESB容器的核心。有如ESB版的Eclipse,各种JBI组件均争相外挂(Plug In)到ServiceMix。

JBI规范一组组件化的SPI(System Programming Interface),只要遵守此规范的ESB容器,其各部组件,都可以拆解开、部署到别的ESB容器内。
- 本文关键词:

