开放源码的SOA项目,虽然不像商用的解决方案一样被炒得沸沸扬扬,但其实是以鸭子划水之势,悄然进入应用阶段。
开放源码SOA项目百花竞放
SOA的概念约在2003年中开始受到关注,2004年是孕育期,2005年则进入成长期,到了2006年进入整合期。透过Google Trends,我们可以看出SOA及ESB(Enterprise Service Bus,企业服务总线)这几年来的成长状况。
图一中绿底黑色数字代表SOA相关开源项目的创立或发表时间 (当然这里只列举一些较受关注的)。我们隐约可以看出,在各个开放源码的SOA项目如火如荼推出之际,也正是SOA的热度向上攀升之时。
图一:透过Google Trends的分析,可以看出SOA及ESB这几年来的成长状况。
孕育期
2004年SOA的孕育阶段,主要有2个ESB的开放源码项目:
1.Mule ESB:这可能是开放源码界最早成立的ESB项目。它的强项是不用更改既有系统,直接透过组态设定,就可连接各服务端点。创立者Ross Mason的说法,他在2001年就开始构思,而于2003年将它转变成开源专案。
图二:Mule ESB的强项是不用更改既有系统,直接透过组态设定,就可连接各服务端点。
2.XFire:轻量级的SOAP开放源码框架,支持以POJO和Schema的方式开发Web Services。由于底层透过StAX处理SOAP信息,性能优越。除了能够与Spring整合外,还可透过JBI (Java Business Integration)组件,与JBI容器如ServiceMix、PEtALS整合。
成长期
2005年随着支持SOA实作的各项标准开始出现,开放源码也开始蓬勃发展,有多个项目在此时出现:
1. ServiceMix:创立于2005年6月。由于它在开发不久就正巧遇上JBI的规范审议,因此 ServiceMix团队便决定以JBI规范重新打造核心。在JBI发布1.0-M1版本时,ServiceMix宣称它是第一个以JBI为基础开发的开放源码ESB。
2.LogicBlaze FUSE:这是 ServiceMix 的加强版,提供商业化的支持。
3.Sun Open ESB:升阳在2005年JavaOne开发者大会结束后,成立的项目,提供JBI的参考实作。
4.IONA Celtix:座落于ObjectWeb开放源码组织的一套ESB项目,它运用JMS作为底层平台,包含了JAX-WS2.0的实作,可与JBI及SCA协同运作,并提供API扩充接口。
5.Apache Synapse:由Apache推出的应用程序整合,以中介Web Services为主。
6.Eclipse STP:SOA Tools Platform(STP),简而言之,就是一个可运用于Eclipse的SOA基础工具扩充套件。除了可供SOA开发人员直接使用外,它的基础开发框架支持SOA的软件设计、配置、组装、部署、监控,以及SOA相关的管理,可作为其它工具开发厂商的SOA开发环境实作参考。
7.JBoss JEMS:JBoss公司所推出的企业中介软件套件,几乎把所有JBoss的产品全放上去了。
8.PEtALS ESB:此项目由ObjectWeb发起,使用JBI容器作为核心组件,特色是支持动态的分布式ESB部署,且具有中央控管的能力。
9.Apache Tuscany:此专案尚在Apache孵育。实作由IBM、BEA等几家大厂所提议的SCA、SDO(Service Data Object)及DAS(Data Access Services)规范。值得一提的是,升阳也在2006年7月初加入SCA/SDO国际构件标准组织。
整合期
时序进入2006年,开放源码的项目开始相互整合,由于开放源码的SOA项目均遵循标准,整合性佳,而透过不同项目组件间的相互引用,可达到「蚂蚁雄兵」的效果,建构出完整的解决方案。在这一年出现的SOA项目有:
1. JBoss ESB:由JBoss公司推出的开放源码ESB套件。JBoss内部本有一个ESB项目,在2006年6月又收购Rosetta ESB,并开始两者的合并。
2.Apache CXF:结合XFire及Celtix两大项目,企图在效能与标准间取得最好的支持。透过JBI组件,Apache CXF可与JBI容器整合,作为ESB的传输层。
3.ChainBuilder ESB:遵从JBI技术规范,采用ServiceMix作为ESB核心组件。特色是包含一个图形化的服务流程汇编工具,可在Eclipse内使用。
4.NetBeans与NetBeans Enterprise Pack:Netbeans 自从 5.5 版后,即可透过 NetBeans Enterprise Pack 开发及部署以 JBI 为核心的 SOA 服务组件。
图三:NetBeans Enterprise Pack 可开发及部署以 JBI 为核心架构的 SOA 服务组件。
5. Fabric3:2007年刚刚创立的新项目,位于Codehaus社群,是继Apache Tuscany之后另一个SCA实作。这个项目强调SCA在分布式环境下自动化启用、Web Services的管理、易用性及部署的快捷性。它包含服务之间的动态系结及执行环境当机时的自动回复功能。目前发行版本只到 0.1。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
总线技术究竟该不该用?
曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。