妨礙SOA項(xiàng)目的兩個(gè)最常見(jiàn)絆腳石
51CTO 發(fā)表于:13年06月24日 12:00 [轉(zhuǎn)載] CIO時(shí)代
在設(shè)計(jì)面向服務(wù)架構(gòu)(SOA)時(shí),應(yīng)用架構(gòu)師最常犯的兩個(gè)錯(cuò)誤是什么?據(jù)Arnon(Manning上的《SOA模式》一書(shū)的作者)說(shuō),低水平的粒度和高水平的理解,在面向服務(wù)設(shè)計(jì)中是兩個(gè)最常見(jiàn)的弱勢(shì)。
“人們易于把服務(wù)粒度弄錯(cuò)。他們不是把它做的太大就是太小。”建立適當(dāng)?shù)拇至6,但又不是太大的SOA組件不應(yīng)該是遙不可及的,同理,Rotem-Gal-Oz認(rèn)為溫故可以知新。“對(duì)于SOA開(kāi)發(fā)你需要一種金發(fā)(Goldilocks)方法,這種方法使你創(chuàng)建的服務(wù)既不太大也不太小,”他說(shuō)。
Nanoservice反模式
《SOA模式》一書(shū)中,在談?wù)搉anoservice反模式時(shí),Arnon Rotem-Gal-Oz解決了更小的粒度問(wèn)題。“nanoservice是一種反模式,此模式中服務(wù)是細(xì)粒度的。Nanoservice是一種服務(wù),其開(kāi)銷(xiāo)、通信、維修等遠(yuǎn)大于其效用。創(chuàng)建Nanoservice,經(jīng)常伴隨著一些錯(cuò)誤的假設(shè):寬帶是無(wú)限的,數(shù)據(jù)分組運(yùn)輸成本是零,這會(huì)導(dǎo)致性能問(wèn)題、支離破碎的邏輯,以及創(chuàng)建出凌駕于使用性之上的,有修復(fù)性問(wèn)題的服務(wù)。”
另外還有些什么是可能無(wú)處不在的、一定需要軟件開(kāi)發(fā)團(tuán)隊(duì)處理的問(wèn)題?
顯然,這是對(duì)修飾SOA的基本原則和概念的根本性誤解。“甚至更嚴(yán)重的一個(gè)問(wèn)題是對(duì)什么是SOA的誤解,”Rotem-Gal-Oz說(shuō)。許多組織錯(cuò)誤地認(rèn)為,如果他們打算開(kāi)發(fā)web服務(wù),那么他們就必須服從于SOA,但事實(shí)遠(yuǎn)非如此。
探索SOA模式和反模式
使用Servlets、Struts或是平平無(wú)奇的老舊Java代碼創(chuàng)建緊密耦合應(yīng)用,就像創(chuàng)建緊密耦合服務(wù)一樣容易。開(kāi)發(fā)SOA方法的關(guān)鍵部分是,創(chuàng)建松散耦合組織,使之把服務(wù)邊結(jié)在一起成為可能,并在某種程度上創(chuàng)建出新的業(yè)務(wù)流程,Rotem-Gal-Oz說(shuō)。
在Rotem-Gal-Oz的《SOA模式》一書(shū)中,討論了三種額外的反模式服務(wù),以及先前提到的nanoservice反模式,即結(jié)反模式(knot antipattern)、事務(wù)集成反模式和相同的老方式反模式。
開(kāi)發(fā)面向服務(wù)架構(gòu)一直都富有挑戰(zhàn),即使是最有經(jīng)驗(yàn)的架構(gòu)師和開(kāi)發(fā)人員也如此。但是對(duì)于每一個(gè)有經(jīng)驗(yàn)的開(kāi)發(fā)人員來(lái)說(shuō),都有一位有抱負(fù)的設(shè)計(jì)師,給了他們?cè)诜植际接?jì)算世界里小試牛刀的機(jī)會(huì)。為了確保分布式系統(tǒng),組織要進(jìn)行架構(gòu)時(shí),盡可能避免問(wèn)題,Arnon Rotem-Gal-Oz的見(jiàn)解要銘記于心,隨著開(kāi)發(fā)人員正努力地學(xué)習(xí)SOA設(shè)計(jì)的基本原則,這包含要找出開(kāi)發(fā)組件的金發(fā)方法,它的大小要適當(dāng)。
公司簡(jiǎn)介 | 媒體優(yōu)勢(shì) | 廣告服務(wù) | 客戶(hù)寄語(yǔ) | DOIT歷程 | 誠(chéng)聘英才 | 聯(lián)系我們 | 會(huì)員注冊(cè) | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.