美(měi)國(guó)華盛頓地(dì)區(qū×↑)的(de)獨立IT架構咨詢師(shī)JP Mor<©✔↕genthal稱,他(tā)試圖在《SOA世界雜(zá)志(zhì)》§≈★ 上(shàng)發表的(de)題為(wèi)“定義SOA≈∞的(de)分(fēn)類方案”一(yī)文(w≥ →én)中為(wèi)各種SOA實施分(f±₩£×ēn)類。他(tā)認為(wèi),他(tā)可(kě< )以通(tōng)過把SODA/應用(y♣→òng)程序開(kāi)發與自(zì)己的(de)子(zǐ)類混合&$在一(yī)起來(lái)隐藏他(tā)對(duì)缺乏SOA明(mín★ g)确概念的(de)不(bù)滿。但(dàn)是(sΩ≥₩hì),他(tā)錯(cuò)了(le)。當涉及到(dào)SOA服務β★"<時(shí),仍然有(yǒu)許多(duō)模糊不(←αbù)清的(de)概念。
你(nǐ)也(yě)許會(huì)問(wèn₽® ),如(rú)果我們把在計(jì)算(suàn)機(jī)上(sh§¥àng)運行(xíng)的(de)一(yī)切東(dōng)西(xī)都(<≥ ₩dōu)叫做(zuò)服務會(huì)有(yǒu)什(shénα')麽大(dà)的(de)影(yǐng)響嗎(ma)?這(zhè)個(gè)答★♠α(dá)案是(shì):并非所有(yǒu)的(€♥de)服務都(dōu)是(shì)平等地(dì)建立的(de)。"±≤當使用(yòng)一(yī)個(gè)詞彙↓λ&包含所有(yǒu)的(de)東(dōng)西(xī)的(de)時(β shí)候,沒有(yǒu)辦法确定這(zhè)些(xiē)服σ α↓務的(de)類型和(hé)範圍。
Morgenthal說(shuō),SOA≤ε&的(de)準确定義應該是(shì)這(zhè)樣的(β♠↔de):SOA是(shì)一(yī)種原始模型的(d✘αe)結構方式,重點是(shì)根據合同的(de)定義←<™&從(cóng)提供商和(hé)消費(fèi)者的(de)角度設計(jì)系↕₩統。基于SOA的(de)設計(jì)通(tōng)過實現(xiàβ±π£n)服務提供商的(de)互操作(zuò)性提供靈活性,$λ×不(bù)需要(yào)消費(fèi)者方面的(↓≈δde)流程改變。因此,SOA适用(yòng)于系統級,而不(bù)是(shìΩ¥€™)一(yī)個(gè)系統中的(de)一(yī)個(gè)單個(gè)的•" (de)組件(jiàn)。
Morgenthal稱,由于我把SOA定義為(wèi)一(∑Ω↔yī)種原始模型,你(nǐ)不(bù)能(n →éng)有(yǒu)一(yī)個(gè)直∏βΩ接的(de)SOA實例。你(nǐ)可(kě)™$以使用(yòng)SOA定義一(yī)個(gè)新的(de)架構。然後,使用₹®♣(yòng)這(zhè)個(gè)架構創建系統的(de)實"≠♣例。例如(rú),SOI(面向服務的(de)集成γ§)、Web 2.0和(hé)雲計(jì)算(s↔ uàn)都(dōu)是(shì)以SOA原始模型為(wèi)基₩≤礎的(de)。然而,在應用(yòng)環境中&>→,FedEx和(hé)UPS作(zuò)為(wèi "δ)業(yè)務也(yě)是(shì)SOA架構。不(bù)用(y∞→òng)說(shuō),如(rú)果按照(zhào)面"↔向對(duì)象的(de)法則,通(tōng)過一(y•±®↓ī)個(gè)對(duì)象的(de)最早的(↓←★±de)祖先來(lái)辨認這(zhè)個(gè)♠對(duì)象不(bù)是(shì)不(bù)× 合法的(de),但(dàn)是(shì),這(z ♦Ω∞hè)樣做(zuò)你(nǐ)就(jiù)會(huì)失去(qù)這(zh← è)個(gè)對(duì)象的(de)本質。在φ<γ一(yī)個(gè)集合中把東(dōngφ♠♥')西(xī)混合在一(yī)起是(shì)一(yī)個(gè)偉大(dà×Ωφ)的(de)技(jì)術(shù)。但(dàn)是(sh↔ >ì),如(rú)果你(nǐ)要(yào)實現(xiàn)這(zh<±→è)個(gè)對(duì)象的(de)豐富性和∞δ'(hé)價值,這(zhè)個(gè)技(jì)術(₽∞∏shù)還(hái)是(shì)很(hěn)可( ®¥kě)怕的(de)。
在上(shàng)述基于SOA的(de)三個(gè)技₩£(jì)術(shù)架構中,SOI和(hé)Web 2.0之間(ji<¶ān)顯然有(yǒu)牢固的(de)軟件(jiàn)聯系。有(yǒu)人(ré♠<§βn)把擁有(yǒu)一(yī)個(gè)SOAP或者H₽↔TTP接口的(de)軟件(jiàn)組件(jiàn)叫&≥做(zuò)服務。就(jiù)像SOA是(sh ì)一(yī)個(gè)原始模型一(yī)樣,'∑φ服務也(yě)是(shì)一(yī)個(gè)原始模型。這(zhè€→)些(xiē)軟件(jiàn)組件(jià<∞₩λn)是(shì)服務是(shì)因為(wèi)它₽φ們來(lái)自(zì)于這(zhè)個(gè) π服務原始模型。
Morgenthal稱,為(wèi)了 ®✔ (le)更好(hǎo)地(dì)理(lǐ)解他(tā)的(de)觀ε♣∑δ點,我們需要(yào)先了(le)解一(yī)下(xi×∑à)這(zhè)個(gè)技(jì)術(s ≤↑hù)分(fēn)支。随著(zhe)TCP/IP成長(cháng)為±ε(wèi)一(yī)個(gè)廣泛應用(yònε÷>♥g)的(de)網絡協議(yì),客戶機(jī)™ε/服務器(qì)計(jì)算(suàn)的(de)概念也(yě)在發 δΩ 展。在客戶機(jī)/服務器(qì)計(jì)± ≠♥算(suàn)中,一(yī)個(gè)用(yòn§φ♦g)戶接口應用(yòng)程序使用(yòng)連接¥♣σ€到(dào)網絡的(de)軟件(jiàn)服務根據需要(yào)提★₩β供數(shù)據,而不(bù)是(shì)讓這(zhè)個(gè)應用(yòn≠ ₽g)程序作(zuò)為(wèi)一(yī)台單個(gè)的(de)計σ↑£$(jì)算(suàn)機(jī)中的(de)一(yī)個(∑ gè)獨立的(de)實體(tǐ)。客戶機(jī)/服務器(q ★§ ì)計(jì)算(suàn)實現(xiàn)了(le)網絡共享的(de)資源。₽λ
如(rú)果我們不(bù)在上(shà"₽λng)一(yī)段話(huà)中使用(yòσ♦βng)客戶機(jī)/服務器(qì)的(de)這(zhè)個(gè)詞彙∏$,目前90%的(de)技(jì)術(shù)人(♣¥₩rén)員(yuán)會(huì)說(shuō)我們在>≠☆談論SOA。因此,目前使用(yòng)Web服務開(kāi)發系統的(de)σφ人(rén)是(shì)在做(zuò)客戶機(j☆♦☆ī)/服務器(qì)計(jì)算(suàn)嗎(ma)?Morg∑♣<↔enthal認為(wèi)是(shì)如(rú)此。但(dàn)是(shì₩),那(nà)樣做(zuò)并不(bù)普遍。目前還(háΩ→∏♠i)沒有(yǒu)成百的(de)有(yǒu)空(kōng)缺的♥&(de)客戶機(jī)/服務器(qì)設計(jì)師(sΩ∑≠hī)崗位。
總之,在聲稱自(zì)己在做(zuò)SOA的(de)人(→→rén)中,沒有(yǒu)任何人(rén)會(huì)公開(σ ♥₹kāi)承認他(tā)們确實隻是(shì)在做(zuò)客戶機(♠↔≤jī)/服務器(qì)計(jì)算(suàn)。還γ&(hái)有(yǒu)一(yī)些(xiē)做(∑ zuò)SOA的(de)人(rén),他(tā)們實際上(shàng)是(×♣♥shì)把重點放(fàng)在建立業(yè)務模型方面,把這'♦(zhè)個(gè)模型作(zuò)為(wèi)一(yī)'↑≈套功能(néng)的(de)服務領域(這(zhè)些(xiē)人(rén)确實是(shì)在做(zuò↔↓ )SOA)。然後,使用(yòng)客戶機(jī)/服務器(qì)設計(jì)≠方式開(kāi)發軟件(jiàn)組件(ji™∑àn)的(de)許多(duō)人(rén)都(dō<&u)說(shuō)他(tā)們在做(zuò)SOA。
請(qǐng)問(wèn),你(nǐ)還(hái)認為(wèi)在這(zhφφè)個(gè)行(xíng)業(yè)不(bù)需要(yào)一($↓•yī)個(gè)通(tōng)用(yòng)的(de)SOA定ε±♠€義嗎(ma)?