InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

ESB是通向SOA的简单解决方案吗?

作者 Mark Little 译者 王锐 发布于 2008年7月14日

领域
企业架构
主题
SOA ,
ESB ,
SOA平台
标签
SOA实施

6月,Joe McKendrick发表了一篇关于ebizQ播客文章。在该播客中,IBM SOA专家Lief Davidson讨论了与ESB在SOA中定位有关的话题。根据Joe所说:

在物理学上,人们常说,一个问题最简单的解决方法往往就是正确的解决方法。将这条物理学上的规律应用到SOA,就会得到这样一个合情合理的结论:企业服务总线(ESB)是组织内通向SOA的最简单之路——在很多情况下,这可能也是组织的正确之路。
Lief同意这种说法,并且进一步指出,在目前恶劣的经济环境中,SOA和ESB是一对绝佳搭档。因为IT必须在更低的预算以及此预算下需求更多的情形下艰难求生……
事实上,为了更好地满足那些急迫的业务需求,以及可以更加灵活和敏捷地应付未来的变更,SOA目前正试图用IT资产和基础设施来加强业务和IT的一致性。SOA为达到灵活性和敏捷性而努力的关键点是企业服务总线,其位于IT体系架构的核心位置。

显然IBM认为他们的ESB是最佳选择,鉴于过去他们曾就ESB相关需求发表的负面评价,这的确件是非常有趣的事情。围绕着对SOA是否需要ESB的争论已经热闹了一阵子了。那些ESB的反对者经常举出复杂性和厂商壁垒问题作为主要依据。然而另外一些人说,自己动手完成移植所带来的复杂性已经远超使用ESB的移植方案的复杂性。不幸的是,一些厂商对后一种说法毫无兴趣,并且这个播客也没有用任何办法来消除围绕在IBM产品套件之上的复杂性议题,这是三个ESB解决方案?!WebSphere ESB,WebSphere Message Broker以及一个SOA工具, WebSphere DataPower。根据Lief的说法,WebSphere ESB(构建在WebSphere应用服务器之上)可能最接近大众对ESB术语的理解

……我们曾构建过一个ESB,它特别关注满足基于标准和服务间交互的集成和互联性需求。所以即便你所有准备连接的资产都是Web服务,都使用Web服务定义语言或WSDL定义,你仍然需要在这些服务中间进行仲裁,否则,这一切很快就会以一个静态复杂环境而告终,它无法给你提供SOA收益,这既不是你需要的,也不是你想要的。

这里说的“标准”大概是指WS-*和JEE,因为IBM不参与JBI 而且SCA还不能算是个标准。Lief继续讨论了WebSphere解决方案家族的其它部分,以及在一个好的SOA开发过程中它们应该如何使用。对客户来说幸运的是,所有3个ESB解决方案可以被同时购买和使用。然而,随着Joe最后的评论变得更加具有争议,这个播客并没有真正做到Joe最初关于简单性的断言:

对于那些未必具备资源或者行政策略的组织还要经过多远的路才能追上SOA,在工业界已经有了很多争论。随着预算的收缩,SOA变成了一个不可能的买卖——即便它最后的确能够节约成本并遏制支出。ESB可能提供了一个在任何商业环境下都能启动SOA的办法。

所以问题依然存在:ESB是通向SOA的简单之路吗?还是每个人都要自行其是?

查看英文原文The Simple Solution to SOA is ESBs?
re 发表人 Zhou Qin 发表于
SOA的东方之道 寇卫东纵论SOA 发表人 l w 发表于
  1. 返回顶部

    re

    发表人 Zhou Qin

    ESB本身是技术导向的,而SOA是business导向.从这个角度看,面向ESB的架构,是有缺陷的

  2. 返回顶部

    SOA的东方之道 寇卫东纵论SOA

    发表人 l w

    企业业务的快速变化和需求增加带动了企业管理上的变革。信息化在变革中的作用也越来越重要。但是,因为企业的不同的IT应用项目是逐年建设实施的,由于事前没有IT的统一整合规划,导致了信息的不共享,逐渐形成了企业的“信息孤岛”。解决“信息孤岛”已经成为企业管理变革的重中之重。改变并解决企业的“信息孤岛”需要一套完整的架构思想。SOA正是为企业解决“信息孤岛”、整合企业IT应用的问题而兴起的IT架构设计思想。如何让SOA成功地为用户服务已经成为重要的问题之一,什么是SOA?SOA的定义是什么?什么样的产品才是基于SOA开发的?实施SOA又有什么方法等等一系列问题摆在用户面前。带着这些问题,记者日前走访了业界权威的SOA专家、IBM软件集团两岸三地大中华区总工程师(总架构师)、美国马里兰大学兼职教授 寇卫东 教授。他为我们讲述了SOA的东方之道,从思想、方法论、设计、和工具等方面,透视了SOA内涵,分享了IBM的SOA经验。

      专家对于SOA的理解

      支点网记者:SOA近几年非常热,国内关于SOA的定义也非常多,寇教授请您结合您自己的理解谈谈SOA的概念是什么?您是如何来理解SOA的?

      寇教授:什么是SOA?比较简单。SOA最早是由国外引入的,它比较绕口。但实际上SOA本身是比较容易理解,SOA就是面向服务架构,(Service-Oriented Architecture),SOA中主要的是服务。什么是服务?服务就是一个单独的任务。如开会就得订房间,订房间就是一个任务,约时间也是一个任务。每个都是任务,都是一种服务,把每个服务串起来,就是面向服务;面向服务架构是什么?它是一个IT的设计的风格,这种风格设计出来的系统灵活,这是最简单的SOA的概念。什么是SOA的参考架构?我们认为,参考架构的中枢是提供连接性服务的服务总线,其它的流程服务,信息服务,业务服务等都可以插入到服务总线上。当然,还要有基础管理、开发、应用管理优化、安全、标准等。
      SOA可以有不同的说法,有不同人的理解。同一件事情可能从不同的角度理解。SOA不管千变万化,根本的、必须的方面那就是面向服务。SOA不是一个空泛的概念,它有丰富的内容。

      脱离IT范畴的SOA

      支点网记者:脱离IT的范畴来看,SOA又是一个什么样子的?从哲学的角度和文化角度来看看SOA又是一个什么样子的?

      寇教授:脱离IT的范畴来看SOA,应从从哲学层面和传统文化两个方面来看。SOA反映的是什么理念?什么思想?从这点上来看,就得从东方人和西方人看世界是从不同角度出发说起,东方人和西方人的哲学观念是不一样的。一般西方人从具体的数据出发,以理性的知识看待世界。他们从数据中归纳出理论,从众多现象中总结出一般性的理论。东方人不是这样认识世界的。东方人更注重的是个人的生命体验,通过自己的亲身体验来感悟世界的。客观的世界是通过主观的感知反映出来的,主观事情又在客观里。正如庄子所说:“物物而不物与物。天地与我并生,万物与我为一。”

      把SOA从IT层面升华到哲学层面,升华到文化层面,万变不离其宗,再变也离不开,“联通复用和快速的适应变化”的根本的思想。所以,某个具体的个人可能有不同的理解,特别是在IT层面有不同的理解,去解读SOA。但是如果我们把它升华到哲学层面和文化层面,它的根本是一样的。




      IBM软件集团大中华区总工程师(总架构师) 寇卫东 教授

      从“太极拳”理解SOA,到SOA的东方之道

      从哲学角度看,怎么具体显示西方和东方的不一样?作为一个例子, 我们从中国“太极拳”来看SOA。练好“太极拳”有以下几个要点:

      第一,心志要到。练“太极拳”时要没有杂念,专心致志。同样, 做SOA也是一样。SOA项目的成功也需要专心致志,不是为了跟风,不是为了随大流。

      第二、招式要对。在“太极拳”中有不同招式,把这些招式连起来,就是一个套路。不同的招式组合,就形成了不同的太极拳套路,例如,陈式太极拳,杨式太极拳,24式简化太极拳等等。如果把“太极拳”中“招式要对”对应到SOA,每一个招式对应一个服务,把这些服务连起来以后,它就是企业的业务流程。“招式要对”的思想就是这样。在同一太极拳套路中,某个招式可能重复多次,例如“白鹤亮翅”这个招式,在一个套路中就多次出现。SOA的服务也可以一样的重复。重用是SOA最根本一个思想。 重用有什么作用?可以减少投资,可以很快的把原来做的系统利用起来,并加快资源重复的利用,充分利用原来的投入和IT资产,避免或者减少重复投资。

      第三,气血要通。“太极拳”最重要的是气血通,气血通很重要,对人的生命至关重要。“气血通”对SOA也是一样重要。IT系统也是有生命的,它的生命是什么?它的生命是信息的流动,不同系统之间的信息的流动,信息在系统之间流动才有意义,不流动的信息是死的。SOA关键是系统之间的互联互通。

      第四,快速适应变化。“太极拳”中蕴藏了中国道家哲学的根本思想,即:宇宙万物皆在变;重要的是快速适应变化。“太极拳”者随对手动而动,当对手失去平衡时,“太极拳”者重心顺势,四两拨千斤便能克敌制胜。SOA的根本是架构灵活,能快速适应变化,这和“太极拳”的思想如出一辙。

      第五,整合。融会贯通的整合是太极拳所推崇的思想,这个思想和SOA的思想是一样的,整合所有信息资源(内部的、外部的、新的、旧的,等等),整合客户的流程,整合内部的流程。整合是SOA的根本思想之一。

      通过上面的分析,不难发现:当我们把SOA的IT内容脱离之后,留下的根本思想和我们的东方文化是一致的。

      SOA的内含就是一种思想,它是看不见的,同时也是一种风格,就如“太极拳”一样。 为什么SOA和其它的IT技术不一样?因为它在里面蕴含了很多东方人的根本思想。老子说:“大道至简”。 SOA的思想把IT设计简化了。从东方的哲学和文化看SOA,认识SOA,融会贯通SOA,就是SOA的东方之道。



    连通性——SOA产品关健

      支点网记者:在SOA产品这方面, 请问寇教授,什么样的产品才能算是基于SOA开发的?
      寇教授:在产品方面,要有能提供连通性的产品。例如,怎么样才能够或者使业务的流程,互联互通,或者说是“气血要通”。 怎么能实现连通性这是很重要的。IBM从不同方面有不同的产品实现了连通性。 第一,J2EE系统。IBM有一个ESB 服务器产品,就是企业服务总线服务器(Websphere ESB Server),用来提供J2EE的系统的互联互通。第二,异构系统的连接性。IBM提供了一个基于解决异构的连接性产品(Websphere Message Broker);不管什么样的异构系统,通过WMB就能很快的整合起来,解决异构系统的连通性。第三,软件硬件化,加快互联互通。为了解决各种系统整合带来的瓶颈效应,保证互联互通的及时性,IBM提供了一个硬件产品(Websphere DataPower),加快互联互通。这个产品带来的好处是大大加速了XML文档的处理,使得系统之间的信息交换变得容易快速,它比软件处理快了10到50倍。除此之外,这个产品还加强了安全保证,以及提供了不同数据格式和传输协议的转换。

      支点网记者:现在很多产品都叫基于SOA开发的,说法太多了用户也不明白,那么什么样的产品才能称之为成熟的SOA产品?产品怎么做?

      寇教授:这就是我们刚才讲的文化和哲学层面,如连通性,招式要对,灵活性。还得从最根本上去看。比如说连通性,连通性产品做的好的产品就是成熟的。做不好的,就不是好产品。根据用户的需要,如两个应用,它们之间要整合,能不能通过ESB或者其他产品能使得它们互联互通。做不到或者做得为难,就是不成熟的。又比如说灵活性,你有没有产品能帮助客户实现业务流程的快速变化。 此外还有方法论的问题。没有设计的方法、设计的工具, 那么怎么做?SOA怎么落地? 怎么实施?

      “形、意、神”——SOA落地根本

      支点网记者:概念说明了, 请问寇教授SOA又是如何落地?

      寇教授:SOA本身是一种思想,但是思想本身需要实际产品来支撑,要不然就成空谈了,所以SOA要有一套产品来支撑,还有方法论、设计工具等来支撑SOA。

      SOA的落地方法可以借用中国画创作的三个字来概括,这三个字是:“形,意,神”。

      第一,“形”。 什么叫“形”, 例如画画,首先要把轮廓画出来。做SOA也是一样,把架子搭起来,架子就是“形”。什么是架子?“太极拳”思想的根本一条是气血要通,即连通性。任何的企业都要有应用,应用之间应该去整合,还有在流程,这是最基本的。不管是什么样的企业都会遇到这样的问题:架构要怎么建?怎么把连通性建起来?流程整合起来?怎么把应用整合起来?这是最基本的。SOA的“形”包含了连通性、流程整合、应用整合三个方面。这三方面的产品就构成了SOA的“形”。

      第二,是“意”。要做什么?画画要画什么?把风景画出来,把人物画出来。你画的是春天的山花烂漫,还是秋天的果实累累。你画的人物是年轻姑娘,还是白发老人。这就是它的“意”。对于SOA来讲,它的“意”就是回答你要做什么。是整合人员?还是整合流程?还是整合应用?还是整合信息?做SOA必须一个切入点,SOA有五个不同的切入点:人员、流程、信息、重用性、连通性。就这是 SOA的“意”。

      第三, 是“神”,这个比较难。画家能不能把画的神态表达出来的?要把它个性化,能够把特征表现出来。这是大画家和一般画家的根本区别。徐悲鸿画的马笔墨酣畅、奔放传神。李苦禅的山水画厚而且沉,凝重有力。齐白石的画风格鲜活、诙谐幽默,简括大气。这些特征就是画家的神。“神”也是SOA的最高境界。SOA的“神”就是对于SOA的优化,即流程优化、灵活应变。IBM推出了智能SOA,它从一个部门开始到跨部门的,到整个公司,到合作伙伴的整合,包括上级到下级的整合。业务流程优化,灵活适应变化就是SOA的“神”。要做到SOA的“神”,需要有一套方法论。还要有一套工具。画画总得要有笔和纸,实施SOA同样也需要工具。 例如流程需要建模的工具,对流程做建模设计。流程运行的怎么样?哪儿跑得快?哪儿是瓶颈效应?这需要监控的工具。还要有设计的工具,开发的工具, 管理的工具。IBM有一套这样工具,可以帮助企业更好的实现SOA。

      支点网记者:SOA是一种思想, 那么当用户实施SOA时,如果不用SOA的产品,是否就脱离了SOA?

      寇教授:不用SOA产品用什么?原则上讲,只要把SOA的思想实现出来那就行。可是如果产品实现了SOA思想,就它就变成支撑SOA的产品了。准确的说,这些产品支撑SOA的设计理念方法。所以没有说某种产品就是SOA产品,只是这些产品来帮助实现整个SOA思想或者设计风格,这样才保证出设计的来的基于SOA的系统或应用能做得出来。有了SOA思想怎么能实现?需要一套方法论、一套工具、一套运行的软件才能实现。首先,思想是最上面的层面,在思想的下面需要不同的设计方法、不同的工具、软件、最后是硬件平台,这才能构成整个SOA。只有SOA概念,没有方法、工具、软件是没有用的。SOA是一种了不起的思想,需要相应的落地的方法论、工具、和落地的产品来实现。

      “三部曲”——SOA实施策略

      支点网记者:请问寇教授,SOA具体的实施策略又是什么?

      寇教授:SOA实施的策略很多。

      第一,能不能把架子搭起来?做什么?能不能优化?搭架子、做业务、搞优化,这是SOA的“三部曲”,也是最基本的。

      第二,管理的工具,SOA的服务怎么来发现?怎么存储?怎么管理这些服务?服务也需要服务的管理系统,SOA也有一套管理系统。

      第三,按行业来划分。企业的业务整合,最基本的就是服务总线再加应用服务器(例如WESB+WAS),这是简单的整合。再进一步,就是流程整合,需要流程服务器(例如,IBM的Websphere Process Server)。再高一层,就是服务的行业化。它已经不仅仅是流程整合,而且包括了对行业的各种服务进行整合。不同行业有它的个性化,还有行业的设计考虑。IBM有这方面的支持平台,Websphere Business Service Fabric。

      SOA从业务的架构、技术的架构要有一套方法论。像“交响乐团”一样,把它组织起来,企业要有各种各样的“乐器”,这是一方面。所有的设计好像 “谱曲”一样,架构师就像作曲家。“指挥”像项目经理,每一位“乐手”像工程师,这是组成“乐队”的根本。SOA 也是一样的,架构师设计出IT架构后,需要项目经理怎么来策划、实现,还要用工程师用不同的软件做出来。从业务模块的建模到IT模块的建模,到最后的实现,都是有一套方法论。比如业务的建模,它从销售的管理,客户的管理,产品的管理等总结提炼出一个个服务,然后再把这些服务变为技术的实现。这就需要设计,从业务变成最根本的服务,需要很多的技术和设计方法。这些方法论,是能够实现SOA的思想根本保证。IBM有部件业务建模(CBM,Component Business Modeling)。基于对业务的正确理解,提炼出业务服务。再用面向服务的建模与架构(SOMA,Service-Oriented Modeling and Architecture)方法,把这些服务用IT的语言设计出来、实现出来。企业实施SOA 几个层面。第一,懂得SOA,从大的框架上懂得SOA能帮做什么;第二, 就是“形、意、神”,第三,一套齐全的工具和落地软件。

      支点网记者:在您看来什么样的企业适合SOA?或者是什么样的行业适合SOA?SOA实施应备哪些条件?实施SOA要有很多的系统吗?

      寇教授:SOA对于企业的要求并没有那么严格,不能说是什么样的企业就不能实现SOA,但SOA不是万能的。实施SOA要根据企业的业务需求和企业的实力来做。当然,SOA有一个好处就是可以滚动式发展。刚开始做一个简单的,如把架子搭起来后,运行一个应用。有资金了,再一步一步整合。在一些中小型企业里,可以看到这样的例子。 通过SOA把新旧应用连接起来、整合起来。

      在做SOA时,可以循序渐进,先把架子搭起来,然后做一两个应用,感觉不错,再接着做。另外,中国的环境也适应循序渐进。所以,要选好合作伙伴,选好软件,如果它不能整合,项目就费掉了。

      实施SOA不一定需要很多系统,有的企业可能什么都没有。但它可以把架子搭建先起来,然后放置一个应用。但是,SOA最拿手的、最能体现其价值的是多个应用、多个系统的整合。

      SOA趋势分析

      支点网记者:在您看来,国内外对于SOA的理解和趋势是什么?

      寇教授: SOA最早是从国外引进的,在北美、欧洲一些国家先用起来。因为这些国家的IT建设投入比我们先,又做了很多年,所以基础比较好,而且它们已经有了大的需求。SOA在同样在中国发展也是很快的,特别是最近两年,发展非常快。 各行各业都有SOA的案例。IBM在中国的政府、金融、电信、工业、流通、中小企业都有SOA的成功案例。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。