微软《SOA in the Real World》笔记02——第一章

 

微软《SOA in the Real World》笔记02——第一章

 
 
第一章:面向服务架构(SOA)
 
“SOA和雪花一样——没有两片是相同的。”
- David Linthicum 顾问
Consultant
 
读者的收获
本章的读者可以了解到一些通常与面向服务架构(SOA)相关的通用概念。本章提供了一些用于理解面向服务概念的类比以及一些设计服务的高层建议。本章还提供了一个抽象模型用于描述SOA,同时介绍了一组架构功能,在本书的后续章节中将进一步研究这些功能。
 
致谢
本书的绝大部分包含的内容来自于范围很广的人们。这些内容有些是新的,而有些则可能已经以其他形式出现过。本书的每一章都会以“致谢”部分开始,以感谢那些作者,他们提供的内容构成了本书的每一章。
 
第一章中的许多概念是建立在早期的出版成就上的。我们希望感谢接下来的每个人,感谢他们在这个领域内的工作: Don Box(四个原则)、John deVadoss (重新思考架构功能)和 Kris Horrocks(暴露/组合/消费)。
 
SOA介绍
SOA大象
SOA已经变成一个为人熟知但又相当有争议的缩写词。如果让两个人给SOA下定义,很可能会得到两个非常不同的,甚至可能是相互冲突的的答案。一些人把SOA描述成驱动业务的IT基础设施,而另一些则认为SOA是用来提升IT的效率的。John Godfrey Saxe的诗中讲述了盲人和大象的故事,在很多方面,SOA都有点类似于诗中的情形。从Indostan来的六个盲人遇到了一头大象——因为他们受自己个人经验的影响,每个人对这头大象的描述都有所不同:
 
摸到象鼻的人相信它是一条蛇
摸到象牙的人相信它是一把长矛
摸到耳朵的人相信它是一把扇子
摸到象的一边身体的人相信它是一堵墙
摸到尾巴的人相信它是一条绳子
摸到象腿的人相信它是树。
 
盲人们接下来就开始了一系列的辩论,争辩他们所坚信的东西:
 
 “因此这些Indostan人长久地和高声地争论者,
每个人都坚持自己的观点,
非常固执和强硬。
虽然每个人都部分正确,
但合在一起却是错的!”
 
从很多方面来说, Saxe先生的诗都成为了SOA的预言。产业分析家、学者、博客和记者都卷入了一场不断发展着的,永无休止的关于什么是和什么不是SOA的争论之中。就像Saxe先生诗中的盲人,人们已经正确地识别出了SOA的很多功能,但是在把SOA作为整个概念进行沟通时大都失败了。定义SOA的挑战已经变得如此重要,所以不同的产业组织和标准组织都已经开始了尝试和解答这个问题的努力——什么是SOA?
 
SOA的简单定义
 
按照本书的意图,我们给SOA定义如下:
 
设计用来满足组织业务需求的松耦合架构。
 
乍一看这个定义似乎过于简单——SOAP、web服务、WSDL、WS-*和其他相关标准去了哪里?SOA并不一定需要web服务——对大多数组织来说,web服务是实现松耦合架构的最简单的方法。在过去,松耦合架构依赖于其他技术,比如CORBA 和 DCOM,或者是以文档为基础的方法,如用于B2B集成的EDI。这些技术中很多还在大量使用,还在通过web服务进行增强、替换或者是扩展。对我们来说,我们的SOA定义工作不是因为我们的重点不在于SOA技术上,而是在于满足组织的需求上。简而言之,组织的SOA看起来除了一堆web服务(或其他技术)之外,什么也不是。除了可能都拥有一些通用的诸如日志和验证等基础设施之外,用于一个组织的SOA的大部分会与另一个组织使用的SOA明显不同。
 
许多分析家和产业学者混淆了面向服务架构和面向服务实现的概念。这只会增加SOA及其相关概念的迷惑程度。这可能会导致灾难性的后果。
 
Winchester Mystery House是一个引人入胜的旅游地点,位于美国CA的San Jose附近。Winchester Mystery House是Winchester财产(通过Winchester步枪的销售而聚集起来的)的女继承人的家。传说中的说法是,她去拜访一个灵媒,获知她受到了诅咒,她会受到每个死在Winchester步枪下的灵魂的骚扰。避开这个诅咒的唯一方法是建造一座大厦——只要她不停地建造,鬼魂就不会来打搅她。她迅速地请了147个建筑工人(和0个建筑师),他们同时开始建造这座大厦。直到38年后这位女继承人过世,这些建筑工人一直在建造它。他们工作的结果最终成了一个缺少架构的经典案例:
 
  • 大厦有160个房间,40个卧室,6个厨房,2个地下室和950扇门
  • 在950扇门中,65个是开向墙的,13个楼梯造好后又废弃了,24个天窗开在不同的楼层上
  • 这个大厦没有制作过建筑蓝图
 
混淆了实现与架构会产生混乱和无法预料的结果——就像Winchester Mystery House一样。陷入构造Web服务来解释SOA的那些文章是在提供编码指南,而不是架构。这是如今SOA被这样误解的其中一个原因——促进松耦合架构的仓促努力却只见树木,不见森林。
 
与SOA有关的架构概念并不是新的——许多概念是从CORBA、 DCOM、DCE和其他技术的思想中演化而来的。与以前的这些技术相比,SOA的关键承诺是允许通过开放的、基于标准的互操作性使得业务流程变得敏捷。虽然这些标准至关重要,但我们还是要记住,标准不是架构,架构也不是实现。不管怎么说,基于设计良好架构的实现,而不是架构本身,能够创造商业价值。
 
SOA是一个从自治服务中构建系统的架构方法。通过SOA,集成是预先考虑的而不是在事后——最终的解决方案是由服务组成的,这些服务是用不同的编程语言开发的,部署在不同的平台上,有着不同的安全模型和业务流程。虽然这个概念听起来及其复杂,但实际上并不新——有些人会说SOA是从设计和开发基于以前技术的分布式系统的经验中演化而来的。与SOA有关的很多概念,例如服务、发现和后绑定等,与CORBA和DCOM有关。同样,许多服务设计原则也与早期的OOA/OOD技术基本相同,都有着相同的基础,包括封装、抽象和明确定义的接口。
 
这些围绕着 SOA和服务的嗡嗡争论意味着在过去IT不是面向服务的吗?不是的——IT(不管是否外包)的存在只是为了推动业务。没有IT,在执行和竞争力方面,业务都会变得特别困难。但是,如果IT不能足够快地响应业务需求和业务机会,IT就会变成业务的阻碍而不是推动力。
 
虽然 SOA承诺帮助It以更及时得多的方式来响应市场情形,但是它只是一种架构哲学,而不是一种实现概念。许多分析员和商业杂志混淆了架构与实现——这导致了人们相信实现实际上就是架构,而这会引发灾难性的后果。
 
由于业务需求和业务目标的极大不同,不同的组织对 SOA有着不同的需求和期望。描述SOA是一个巨大的挑战,这一简单的事实正是其中原因之一。SOA,和其他的行动一样,必须为组织提供某种水平的价值——否则不管怎样看待,它都毫无用处。确保SOA投资能够为组织带来回报的最好方法是把SOA和组织的业务驱动核心结合起来。尽管这是个明显的事实,但是仍然存在着许多与SOA有关的混乱。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值