西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁業(yè)內(nèi)動(dòng)態(tài) 業(yè)內(nèi)資訊 → 面向服務(wù)的架構(gòu)SOA十誡

面向服務(wù)的架構(gòu)SOA十誡

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時(shí)間:2010/7/30 17:10:04字體大。A-A+

作者:佚名點(diǎn)擊:131次評論:0次標(biāo)簽: SOA

  • 類型:編程輔助大。19.3M語言:中文 評分:1.2
  • 標(biāo)簽:
立即下載

面向服務(wù)的架構(gòu)(SOA)是一種組織信息處理的方法。各系統(tǒng)為協(xié)同工作在各方面達(dá)成了協(xié)議,SOA通過減少這些協(xié)議的數(shù)量,能夠降低信息系統(tǒng)互操作性的成本。如果SOA能得到大范圍的應(yīng)用,系統(tǒng)將呈現(xiàn)與現(xiàn)在截然不同的前景,這就好比當(dāng)今貨運(yùn)行業(yè)有別于集裝箱出現(xiàn)前的貨運(yùn)業(yè)時(shí)代一般。然而,目前的應(yīng)用方式卻導(dǎo)致了額外的開支卻并未體現(xiàn)出這些互操作性的優(yōu)勢。將適用于數(shù)據(jù)庫時(shí)代的范式應(yīng)用于SOA中,會(huì)招致反效果,往往是愚蠢的,有時(shí)甚至是十分危險(xiǎn)的設(shè)計(jì)。這些模式必須由新的思想和行為方式所替代,以確保SOA朝著接口更簡單、IT方案更優(yōu)化以及項(xiàng)目更可控的方向發(fā)展。這一點(diǎn)可以通過遵守以下十大戒條來實(shí)現(xiàn)。

 

引言
SOA的潛在影響
面向服務(wù)的架構(gòu)(SOA)是一種組織信息處理的方法。這種方法以服務(wù)的形式描述所有交互活動(dòng),服務(wù)請求者請求代理完成某些處理,代理確保處理得以完成并將處理結(jié)果反饋給服務(wù)請求者。這種思維方式可以應(yīng)用于業(yè)務(wù)級別,以描述各組織機(jī)構(gòu)之間的交互;應(yīng)用于功能級別,以描述組成業(yè)務(wù)流程的活動(dòng)的交互方式;應(yīng)用到信息系統(tǒng)級別,以描述系統(tǒng)及系統(tǒng)各部分的交互方式。每個(gè)級別的準(zhǔn)則都是相同的:代理完成所需工作的方式與請求者無關(guān),乃至與是否完全自動(dòng)、完全人工亦或兩者兼具都無關(guān)系。哪怕代理將部分或者甚至全部工作外包給其他代理完成也與請求者無關(guān)。所有請求者所需關(guān)注的是與代理就以下方面達(dá)成一致:請求及響應(yīng)應(yīng)該如何制定,以及服務(wù)的效果如何。

SOA被大肆宣揚(yáng)為一種具有巨大潛力的范式,能夠降低系統(tǒng)發(fā)展、測試及維護(hù)的成本。特別需要指出的是,SOA承諾可以通過大幅度減少達(dá)成協(xié)議的因素的數(shù)量,從而降低信息系統(tǒng)各模塊協(xié)同工作的成本。采用SOA,諸如像計(jì)算平臺(tái)和數(shù)據(jù)格式之間的差別造成的系統(tǒng)間通信屏障會(huì)較采用早期的范式要少得多。這使得更大范圍上的協(xié)作變得可能,因?yàn)樗鼫p少了障礙,使系統(tǒng)設(shè)計(jì)師們不必被強(qiáng)行要求相互達(dá)成一致,就此而言,也使得系統(tǒng)配置員之間不必被強(qiáng)行要求達(dá)成一致。如果這種承諾可以實(shí)現(xiàn),其結(jié)果將會(huì)是革命性的。就像汽車改變了城市區(qū)域形態(tài),集裝箱運(yùn)輸革新了貨運(yùn)行業(yè),以及交易費(fèi)用的降低發(fā)展了現(xiàn)代自由市場經(jīng)濟(jì),SOA將開啟新的合作模式。當(dāng)SOA主導(dǎo)我們應(yīng)用IT的方式,系統(tǒng)前景將與今日迥然不同,好比圍繞汽車來設(shè)計(jì)規(guī)劃的城市和圍繞火車來設(shè)計(jì)規(guī)劃的城市截然不同一般。對我們之中那些思維受限于目前技術(shù)的人來說,SOA可以產(chǎn)生多大的不同是難以想象的。然而SOA所提供的靈活性優(yōu)勢就好比汽車勝過火車一樣:即便火車可以被制造跑得和汽車一樣快,火車還是絕不可能像汽車那樣提供門到門的運(yùn)輸服務(wù)。把火車站安置在每個(gè)車道的盡頭,亦或甚至把鐵軌鋪設(shè)在每條道路上都是根本不現(xiàn)實(shí)的。

為何此影響尚未實(shí)現(xiàn)
為獲取新范式帶來的好處,我們必須好好利用其所能提供的各種新的可能性。遺憾的是,目前圍繞SOA的言過其實(shí)的宣傳對這些可能性的提及是言之甚少。大部分討論似乎都關(guān)注于如何利用SOA幫助單獨(dú)信息系統(tǒng)更快速地開發(fā)。然而,這并非SOA所能創(chuàng)造的最大價(jià)值之處。事實(shí)上,SOA是否真正能夠改進(jìn)以往的方法,即各個(gè)功能點(diǎn)通過某一共同的數(shù)據(jù)池(通常是以數(shù)據(jù)庫的方式實(shí)現(xiàn))來實(shí)現(xiàn)交互,還存在爭議。使用SOA來構(gòu)建單獨(dú)、孤立的信息系統(tǒng)就像使用集裝箱在加工廠附近搬運(yùn)貨物一樣:當(dāng)然,它限定了內(nèi)部物流的順序和組織,但是集裝箱更多的是擋了道路而非提供幫助。SOA使信息系統(tǒng)間達(dá)到更好的互操作性,就像集裝箱促使了運(yùn)輸商之間的互操作性一樣。那是一種重要優(yōu)勢,因?yàn)閺男枨蟠_定到信息系統(tǒng)可操作之間的時(shí)間周期通常很大程度上是由互操作性決定的。要使某一信息系統(tǒng)能夠與其操作環(huán)境中的其他系統(tǒng)一起工作,那將會(huì)花費(fèi)比重新構(gòu)建這樣一個(gè)系統(tǒng)更多的時(shí)間和精力。

關(guān)注于SOA在信息系統(tǒng)內(nèi)部而非各系統(tǒng)之間的使用是情況更加惡化的征兆:因?yàn)榭雌饋鞸OA是一種全新的處理我們一直以來所做的事情的方式,我們無法直接獲取它所帶來的收益。SOA概念和技術(shù)正為目前的系統(tǒng)開發(fā)范式所利用。這些范式還是數(shù)據(jù)庫時(shí)代的開發(fā)產(chǎn)物,同時(shí)也帶有數(shù)據(jù)庫技術(shù)的一些限制。在這些限制下應(yīng)用SOA將會(huì)導(dǎo)致額外的開支,而不能獲得額外的收益。然而,這些“數(shù)據(jù)庫化”的范式是如此普遍和有害以至于我們常常忽略了它們對我們的思維影響有多大。它們是如此根深蒂固,以至于我們會(huì)不自覺將其視作常理。遺憾的是,這樣通常招致相反效果,常常是愚蠢的,有時(shí)甚至是相當(dāng)危險(xiǎn)的。它們導(dǎo)致了一種不好的方案,這種方案集合了數(shù)據(jù)庫時(shí)代的缺點(diǎn)以及SOA不好的一面,而又不能體現(xiàn)SOA必定提供的優(yōu)點(diǎn)。

需要改變什么
SOA范式有其自身的常識(shí)守則,較之?dāng)?shù)據(jù)庫范式的守則截然不同;窘渎捎惺(xiàng)。前五項(xiàng)關(guān)于如何簡化事物,使其比數(shù)據(jù)庫化的范式要求更加簡化——從堅(jiān)持要點(diǎn)意義上更加簡化。如果我們以此種方式簡化事物,同一問題的不同解決方案相互間協(xié)作的可能性將大大提升。接下來的四項(xiàng)關(guān)于使IT解決方案優(yōu)于同等數(shù)據(jù)庫解決方案,這是通過阻止那些戴著有色眼鏡、慣于數(shù)據(jù)庫思維方式的人開發(fā)出無效解決方案來實(shí)現(xiàn)的。最后一項(xiàng)關(guān)于如何使IT更可控,尤其是組織系統(tǒng)開發(fā)以降低項(xiàng)目復(fù)雜度和風(fēng)險(xiǎn)。SOA使這些成為了可能——同樣也是必須的——因?yàn)樗尭嗟墓δ芙桓冻蔀榛A(chǔ)架構(gòu)。

簡化之理論
在高空雜技表演中,高效的合作的基礎(chǔ)是每個(gè)空中飛人演員完全默契地配合,對方會(huì)及時(shí)地在每個(gè)時(shí)點(diǎn)出現(xiàn)。一些空中飛人演員非常自信,他們經(jīng)常蒙著眼進(jìn)行表演。他們能夠接到彼此正因?yàn)樗麄兇_定在某個(gè)特定時(shí)刻對方只可能出現(xiàn)在一個(gè)可能位置。

成功應(yīng)用SOA以達(dá)到最大化的協(xié)作性與高空雜技表演非常相似;ゲ僮餍砸箨P(guān)于如何進(jìn)行交流的解決方案從數(shù)以百萬計(jì)減少到只有一個(gè),交互雙方都可以依賴該方案。這并不意味著其他方案有問題:這好比我們既可以靠左行駛也可以靠右行駛,但重要的是我們必須都靠同一邊行駛。

當(dāng)只有一方執(zhí)行服務(wù),一方接受服務(wù)時(shí),只要雙方協(xié)議好,具體使用哪種方案其實(shí)并沒有太大區(qū)別。雙方中任一方的特異性可以決定最終方案,無需做更多的溝通努力。畢竟,無論使用哪種方案,這些特異性總要被處理。但是如果是多方請求服務(wù)或者多方執(zhí)行服務(wù),那將呈現(xiàn)不一樣的情景。此時(shí)使通信方案精簡非常重要,如此,各方必須處理各自的特異性,無需面對另一方。

將信息通信與外科移植手術(shù)對比很能說明問題。成功的移植手術(shù),要將一個(gè)人身上的器官移植到另一個(gè)人身上,要求該移植器官必須在多方面與接收者匹配,而其中大部分匹配因素與該器官的生物功能無關(guān)。換句話說,被移植的器官必須和接受者本身有相同的特征。因此,我們的器官不能像拼搭樂高積木一樣隨便被移植。目前的信息通信恰恰如此。當(dāng)一個(gè)信息系統(tǒng)為另一個(gè)系統(tǒng)提供服務(wù)時(shí),它們必須在很多方面達(dá)成一致。它們必須使用相同的詞匯(元數(shù)據(jù))、相同的由一方調(diào)用而另一方執(zhí)行的功能集、對于每個(gè)功能請求應(yīng)答數(shù)據(jù)內(nèi)容的相同期望、相同的編碼系統(tǒng)、相同的技術(shù)通訊協(xié)議、相同的用于信息傳遞的尋址模式、兼容的可預(yù)期的響應(yīng)速率、兼容的確保消息不被丟失的技術(shù)、兼容的認(rèn)證機(jī)制以確保雙方安全通信而不是與冒名者通信、兼容的加密技術(shù)以及密鑰管理以確保消息不被竊聽或者篡改等等。為了促進(jìn)互操作性,必須確保參與各方從彼此獨(dú)立制定各自標(biāo)準(zhǔn)變?yōu)樾纬杉嫒莸臉?biāo)準(zhǔn)規(guī)范。只有當(dāng)一些非常嚴(yán)謹(jǐn)?shù)囊?guī)則得到遵守時(shí)這才有實(shí)現(xiàn)的可能,接口才能減至精要。如此一來特異性將無容身之地。

嚴(yán)謹(jǐn)?shù)囊?guī)則都關(guān)注于如何使得服務(wù)接口更為簡單。我們規(guī)定的越少,爭議的余地就越小。

1.不了解你不需要了解的
你不需要去了解的東西不會(huì)傷害到你
SOA范式的本質(zhì)在于使得合作各方或系統(tǒng)之間達(dá)成最少限度的協(xié)議卻可以實(shí)現(xiàn)最大程度的合作。這是一種巨大的優(yōu)勢,因?yàn)槿魏文悴恍枰私獾臇|西既不需要被測試也不需要被維護(hù)。你不需要去了解的東西不會(huì)傷害到你。假設(shè)40%的系統(tǒng)開發(fā)成本用于測試上,而高達(dá)80%的信息系統(tǒng)生命周期的成本被花費(fèi)到了系統(tǒng)維護(hù)階段,任何SOA范式讓你無需了解的東西都代表了你能節(jié)省的金錢。

元數(shù)據(jù)
你最不需要了解的就是結(jié)構(gòu)、含義以及容許值——這些元數(shù)據(jù)——不會(huì)被系統(tǒng)中篩選、排序或執(zhí)行計(jì)算的邏輯使用的數(shù)據(jù)。你并不需要去了解這些,因?yàn)镾OA技術(shù)使得數(shù)據(jù)和元數(shù)據(jù)同時(shí)出現(xiàn)。你的系統(tǒng)可以實(shí)時(shí)解讀元數(shù)據(jù),所以如果你要做的僅僅是獲取、呈現(xiàn)或傳送相應(yīng)的數(shù)據(jù),你完全不需要為系統(tǒng)構(gòu)建元數(shù)據(jù)知識(shí)。在有相當(dāng)精密的表示(presentation)功能的幫助下,它甚至可以為用戶實(shí)現(xiàn)各種各樣特定的篩選及計(jì)算,且只使用與已有數(shù)據(jù)同時(shí)提供的元數(shù)據(jù),而不是內(nèi)部構(gòu)建元數(shù)據(jù)。

通過解讀數(shù)據(jù)相應(yīng)的元數(shù)據(jù),而不是把元數(shù)據(jù)構(gòu)建到系統(tǒng)中,你的系統(tǒng)不需要隨元數(shù)據(jù)的改變而改變。需要改變的僅僅是源系統(tǒng)。想想如果遵守該守則,你能在開發(fā)、測試和維護(hù)上節(jié)省多少金錢!記住,在兩個(gè)系統(tǒng)上做更改,平均來說,其復(fù)雜度是在單個(gè)系統(tǒng)做更改的四倍,因?yàn)槠渲邪怂懈鞣降膮f(xié)作。

對于很多面對客戶的系統(tǒng)來說,表示以及特定篩選功能基本是其主要的功能。這些系統(tǒng)只針對最基本的客戶數(shù)據(jù)要求內(nèi)部構(gòu)建元數(shù)據(jù)。這并不包括當(dāng)前或過去的訂單、客戶通訊錄、照片、信函以及任何可用于展示的其他數(shù)據(jù),所有這些數(shù)據(jù)都可以用一種不需要這些數(shù)據(jù)本質(zhì)相關(guān)知識(shí)的方式進(jìn)行表示,內(nèi)建于系統(tǒng)中。

技術(shù)
許多你不需要了解的事情是與技術(shù)相關(guān)的。有了SOA,你不需要了解你正在接口的系統(tǒng)是否采用“軟件即服務(wù)”(Software-as-aservice),不需要了解實(shí)施該系統(tǒng)的計(jì)算機(jī)安放在何處,是哪種類型的計(jì)算機(jī)或者運(yùn)行于何種操作系統(tǒng),防火墻是如何配置,使用的是哪種數(shù)據(jù)庫管理系統(tǒng),亦或可以使用哪種交易管理系統(tǒng)。其他你不需要了解的事情是與你所通信的系統(tǒng)內(nèi)部相關(guān)的。尤其是,你不需要去了解任何用于內(nèi)部數(shù)據(jù)存儲(chǔ)的元數(shù)據(jù),因?yàn)槿魏纹渌到y(tǒng)需要同XSD一致的轉(zhuǎn)換都是其自身的問題,而不是你的。

即便如此,使用SOA進(jìn)行通信的各方必須達(dá)成一致的技術(shù)相關(guān)的標(biāo)準(zhǔn)還有很多選擇。特別是有很多與Web服務(wù)相關(guān)的那些標(biāo)準(zhǔn),SOA從業(yè)者將其統(tǒng)稱為WS-*標(biāo)準(zhǔn)(*指可以使用很多可能的標(biāo)簽替換)。在一定程度上,這些標(biāo)準(zhǔn)提出得很恰當(dāng),因?yàn)镾OA社區(qū)并沒有滿足于不去了解它不需要了解的東西;本文這個(gè)白皮書給出了一些指導(dǎo)以期降低由這些標(biāo)準(zhǔn)引起的問題的影響。遵守這些指導(dǎo),SOA需要的先期協(xié)議將比其他方法要少得多。

設(shè)計(jì)穩(wěn)定的接口
如果想獲取SOA提供的種種好處,不去了解你不需要了解的東西會(huì)成為你的習(xí)慣。請銘記這點(diǎn)!比如說,當(dāng)設(shè)計(jì)一個(gè)訂貨服務(wù)時(shí),請記住服務(wù)請求者只需要知道,當(dāng)他需要貨物的時(shí)候該貨物是否會(huì)有貨,而不需要去了解當(dāng)前的庫存量。如果你的程序調(diào)用某一安全服務(wù)以判斷請求活動(dòng)是否被授權(quán),不要在系統(tǒng)內(nèi)構(gòu)建任何超過其所需服務(wù)工作的知識(shí)。例如,如果安全服務(wù)需要使用輸入到程序的安全證書,唯一必須做的就是傳遞該證書!對你來說,它們只是被封裝在輸入消息中的單個(gè)數(shù)據(jù)項(xiàng)。該證書是否是格式完整的XML也不要去驗(yàn)證。如果,由于某些只有那些負(fù)責(zé)安全的小鬼知道的原因,他們選擇了違背標(biāo)準(zhǔn)的SOA操作或?qū)ψC書進(jìn)行了加密,那么這是他們的問題,不是你的。如果他們改變了任何與證書相關(guān)的東西,你的程序不應(yīng)該為此做任何改變或調(diào)整。任何你不需要了解的東西不會(huì)傷害到你。當(dāng)然了,除非你硬要去了解它,在這種情況下如果你們不想在SOA上浪費(fèi)時(shí)間的話,其他人可能最好離遠(yuǎn)點(diǎn)兒。

不去了解那些你不需要了解的東西可能比你想象的要難。如果你開發(fā)專門用于與你通信的信息系統(tǒng)的信息檢索服務(wù),你的思路已經(jīng)不對了,因?yàn)槟阋呀?jīng)把其他系統(tǒng)的知識(shí)歸并到系統(tǒng)中了。需求中的任何更改將會(huì)迫使雙方系統(tǒng)都作出更改。通常來講,比較好的方式是采用數(shù)量有限的檢索服務(wù)暴露系統(tǒng)數(shù)據(jù),當(dāng)檢索服務(wù)結(jié)合在一起使用時(shí),它們涵蓋了所有相關(guān)服務(wù)的信息檢索需求。例如,某個(gè)產(chǎn)品數(shù)據(jù)庫可能通過好幾個(gè)服務(wù)分別暴露出去:一個(gè)簡單的僅包含編碼、描述、部門以及產(chǎn)品定價(jià)的服務(wù)、一個(gè)暴露出所有該產(chǎn)品財(cái)務(wù)方面信息的服務(wù),以及一個(gè)暴露出所有該產(chǎn)品物流方面信息的服務(wù)。許多系統(tǒng)僅需簡單服務(wù)即可得到滿足,大部分只需要部分?jǐn)?shù)據(jù)而非全部,或財(cái)務(wù)或物流的服務(wù),而有一些兩者都需要,但此外沒有任何一個(gè)需要特別接口的系統(tǒng)。這種工作方式被稱為麥當(dāng)勞方式:客戶從標(biāo)準(zhǔn)產(chǎn)品中搭配出自己需要的產(chǎn)品。支持這種方式并不困難,因?yàn)椴还茉鯓幽愣夹枰@些服務(wù)去支持面向客戶的程序。你甚至可以用這種方式來支持非常特別的信息需求,因?yàn)槟切┎恍枰臄?shù)據(jù)可以在消費(fèi)前就過濾掉。如果不想在巨無霸漢堡中放小黃瓜,扔掉它就可以了!這種方式的基本思路是提供過多的信息要比提供過少的信息遇到的問題少,因?yàn)榻邮辗较到y(tǒng)可以很容易通過程序過濾掉不需要的信息,但是如果缺少信息那就麻煩了。

不去了解你不需要了解的東西也會(huì)使得為支持業(yè)務(wù)流程所需的信息交互大大簡化。在SOA的范式中,當(dāng)你請求另一個(gè)代理為你做一些事,那就是你所需要做的全部。你不需要為代理提供可能有助于完成任務(wù)的或者是其必需的額外信息。在點(diǎn)菜時(shí),確保有用于這道菜的原料是廚師的職責(zé)。你說出想要的東西,然后就可以靜候佳音了。反過來,代理會(huì)使用信息檢索服務(wù)來向你咨詢所有信息,但是檢索什么、何時(shí)檢索以及從何檢索,這些問題都應(yīng)該由他來決定,你無須去了解,更不用將該知識(shí)歸并至你的系統(tǒng)中。這樣,在他那一端的更改幾乎不需要你這邊作出更改。比如說,如果他決定停止維護(hù)對你數(shù)據(jù)的拷貝,你什么更改都不需要做。

當(dāng)然,不去了解你不需要了解的事情確實(shí)會(huì)導(dǎo)致效率低下。原本只需要一次交換即可實(shí)現(xiàn)的操作現(xiàn)在將需要多個(gè)步驟。麥當(dāng)勞方式常常會(huì)導(dǎo)致原本一個(gè)服務(wù)即可滿足卻提供了多個(gè)服務(wù)的情況,另一邊卻還在檢索信息,而這些信息又常常是冗余而非十分必要?倳(huì)出現(xiàn)一些情形,可以通過好的商業(yè)意識(shí)來優(yōu)化這些通信模式。也會(huì)有很多場合你會(huì)想要優(yōu)化用戶接口,那也只是因?yàn)楫?dāng)前的表示設(shè)備并不擅長提供給用戶吸引人的界面。但是在你優(yōu)化之前,請考慮你會(huì)失去什么樣的靈活性。另外絕不要想去優(yōu)化那些尚未穩(wěn)定的功能需求。

2.不要了解你還不能了解的事情
為時(shí)過早的規(guī)范凍結(jié)
數(shù)據(jù)庫范式中,一個(gè)真正的難題在于:它要求在你還未足夠了解并有能力去確定數(shù)據(jù)的具體結(jié)構(gòu)前,就去做這件事。因?yàn)樗鼈兒鲆暳艘粋(gè)生活中簡單的事實(shí):只有當(dāng)用戶看到他們不想看到的東西時(shí),他們才知道其真正想要的是什么。

其工作原理是這樣:一旦完成了數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì),任何后續(xù)修改都會(huì)引起雜亂的數(shù)據(jù)庫轉(zhuǎn)換,除此之外每個(gè)訪問該數(shù)據(jù)庫的系統(tǒng)也會(huì)改變。所有這些改變必須都協(xié)調(diào)好,當(dāng)所有對數(shù)據(jù)庫的操作都限制在單個(gè)系統(tǒng)時(shí)候,這種協(xié)調(diào)是很困難的,但如果有多個(gè)系統(tǒng)都在操作,那就更難了,尤其是:如果其中有些系統(tǒng)被不受你控制的參與方管理的時(shí)候。事實(shí)上,在系統(tǒng)開發(fā)階段做這些更改就已經(jīng)很成問題了。其后果是,數(shù)據(jù)庫設(shè)計(jì)早在系統(tǒng)開發(fā)階段就被凍結(jié),然后數(shù)據(jù)分析師們再去竭力修正這些設(shè)計(jì)。

現(xiàn)在的問題是數(shù)據(jù)分析師們面臨著不可能完成的工作。他們必須在用戶理解這個(gè)設(shè)計(jì)(且不說贊賞這個(gè)設(shè)計(jì)實(shí)際應(yīng)用如何)前就確定該設(shè)計(jì)。只有在過了很久之后——系統(tǒng)已經(jīng)構(gòu)建好之后——用戶才能對該系統(tǒng)有所體會(huì)并對其是否滿足自己的需求作出評估。如果此時(shí)發(fā)現(xiàn)數(shù)據(jù)結(jié)構(gòu)上有任何大問題,要想修復(fù)就太晚了。