InfoQ

新闻

SOA重在技术还是业务?

作者 Arnon Rotem-Gal-Oz译者 郭晓刚 发布于 2007年9月7日 下午12时23分

社区
Architecture,
SOA
主题
商业
标签
业务/IT整合

Nick Gall发帖说脱离技术去讨论SOA是有问题的。他是看了Andrew McAfee的一篇批评“无关技术论”(It's not about the technology,INATT)的贴子之后有感而发。

Andrew认为有两种类型的INATT。一种是表达得不够充分,另一种则是完全错误而且误导人的。Andrew说第一种说的其实是“不仅仅跟技术有关”,第二种则是“讨论问题的时候可以忽略技术细节”。

Nick把Andew的定义用到SOA身上,他说:

跟Andrew一样,每当我听到这种说法都要颤一颤——尤其是在SOA的讨论中,更尤其是在Yahoo新闻组Service-Orientated-Architecture上面的SOA讨论中。在这些讨论里头,实现SOA的各种技术上的选择是被当作不相干的事情而不加考虑的,讨论的人只是在夸夸其谈中自得其乐。

Burton的Anne Thomas Manes承认她也说INATT,不过她相信自己用的是这句话的另一层意思,目的是强调在设计中技术是次要的:

更具体地说,技术是实现上的决策。当项目启动的时候,项目团队应该首先确定和分析项目需求,然后才选择适当的技术来满足项目需求。

Anne说,技术只是工具,你要为工作选择正确的工具——但首要的事情应该是确定要做的是什么工作。

但毕竟SOA是一种架构风格,跟任何架构性工作一样,你必须首先想清楚你的架构性目标。不过在作出技术上的选择之后,还是应该回头去重新检查你在架构上的决策。(见下图)。因为技术、平台之类总有它们自身的一套架构、功能和局限。

Architecture Inputs

(引用自“An Architectural look at SOA”)

在最近一篇名为《以ESB为导向的架构:错误的SOA采纳路径》中,IBM的Bobby Woolf(著名的《Enterprise Integration Patterns》的作者)提醒我们:

“客户常常希望单纯构建ESB,因为这样可以避开难搞的业务需求,专心解决技术上的挑战。单纯构建ESB是IT人员的梦想,这样他们可以先建立ESB,然后指望以后会有SOA跟上来利用它。这种以ESB为导向的架构丢掉了SOA的优势。它没有产生业务价值。实际上,花费了成本却没有收获直接的利益。而且它不能让IT与业务保持齐头并进。比ESB为导向的架构更好的是以SOA为导向的架构。不要单纯构建ESB;把它作为SOA的一部分来构建,最好是能适合IBM所推荐的SOA Foundation架构。”

总而言之,技术是重要的,因而我们在设计SOA或者任何项目的时候,都不可能忽视技术。然而技术应该放在第二位,业务才是第一位的——是这样吗?你怎么想?

查看英文原文:Is SOA about the technology?

1 条回复

回复

工具就应该是为目标而服务的 发表人 霍 泰稳 发表于 2007年9月8日 上午9时3分
  1. 返回顶部

    工具就应该是为目标而服务的

    2007年9月8日 上午9时3分 发表人 霍 泰稳

    一把剑就是再锋利无比,如果目标只是用来切白菜,就失去了这把剑的意义。SOA也是一样,它是为了构建灵活的企业IT环境而产生的,可以使用各种技术来实现,但如果一味地强调技术就有点本末倒置了。

独家内容

专访开源项目Amoeba架构师陈思儒

DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。

使用JSF、Ajax和Seam开发Portlets(2/3)

作为三期系列文章的第二部分,本文延续了上一期内容,介绍了RichFaces,包括如何把RichFaces集成到之前提到的示例应用中、如何部署RichFaces porlet和RichFaces的多种特性和功能。

Jeff Barr谈论Amazon Web服务

Amazon Web Services(AWS)的传道者Jeff Barr讨论了SimpleDB、S3、EC2、SQS、云计算、Amazon的不同服务如何与应用交互、AWS的起源、SimpleDB和微软SQL Server Data Services、AWS cloud的全球化、三月份的AWS停机。

用Erlang实现领域特定语言

Erlang的并发模型很有名,它的健壮性也很有名。但其他方面呢?在这篇文章里,Dennis Byrne演示了如何用Erlang建立内部DSL。

基于Rails的企业级应用剖析

本视频主要以FreeWheel为例,对一个基于Rails的企业级应用进行了剖析。其中包括:FreeWheel的架构、部署、数据库的问题、REST API、敏捷开发过程、如何去写测试以及持续集成等等。

JavaFX技术预览

JavaFX显示了Sun的Java系列产品市场方向的一个重大转变。随着1.0版的即将发布,InfoQ以JavaFX预览版为参考,与Sun高级工程师Joshua Marinacci探讨了即将发布的1.0正式版。

剖析短迭代

敏捷教练Dave Nicolette提出:我们应该如何设定迭代长度?是要根据发布周期的时间么?使用短迭代又有哪些好处?

应用JSF、Ajax和Seam开发Portlets(1/3)

本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。