架構(gòu)的演化過程
SOA是從面向?qū)ο蟆?gòu)件架構(gòu)等逐步發(fā)展完善,且相互依托、相互補(bǔ)充、又各自適應(yīng)不同范圍,因此在討論SOA理論時(shí),要了解它是如何演化過程來,繼承了哪些理論體系,其適應(yīng)度如何。
結(jié)構(gòu)編程方法
40年前國際上發(fā)生了“軟件危機(jī)”,如IBM公司開發(fā)一個(gè)操作系統(tǒng),或美國的航空公司開發(fā)飛機(jī)訂票系統(tǒng),都花費(fèi)了上千人數(shù)年的工作量。它開發(fā)周期長、而開發(fā)出來的產(chǎn)品卻是錯(cuò)誤很多,難以維護(hù)和適應(yīng)修改。
正在此時(shí),一位荷蘭的物理家E.W.Dijkstra提出了一種“結(jié)構(gòu)程序設(shè)計(jì)方法”,他認(rèn)為:人的智力是有限的,采用數(shù)學(xué)或物理學(xué)的思維方法,用枚舉、抽象、歸納、類比等思維方式簡化問題。
由于我也是數(shù)學(xué)系畢業(yè)的,我拜讀了他的所有論文,就編寫一本著作《編程方法學(xué)》。用此方法擴(kuò)展到軟件設(shè)計(jì)中時(shí),稱為“結(jié)構(gòu)化分析和結(jié)構(gòu)化設(shè)計(jì)(SASD)”。
所謂“結(jié)構(gòu)程序設(shè)計(jì)方法”,就是基于面向?qū)ο笤O(shè)計(jì)方法的早期藍(lán)本,側(cè)重於解決程序正確性的編程的方法,以此為基礎(chǔ)建立了軟件工程這門學(xué)科,建立了編程的基礎(chǔ)理論體系,也是第一個(gè)技術(shù)與基礎(chǔ)理論體系。
“面向?qū)ο?rdquo;的可重用理論
我們都知道由面向?qū)ο蟀l(fā)展到面向構(gòu)件,由面向構(gòu)件再發(fā)展到面向服務(wù),因此它們的認(rèn)知觀和基礎(chǔ)理論都是息息相關(guān)的。
解決大型軟件的開發(fā)效率和質(zhì)量除了要解決編程的正確性外,還必需解決開發(fā)周期長、復(fù)用性差、成本高、文檔多以及難以適應(yīng)系統(tǒng)演化等問題,這些問題十多年來仍舊困惑著這門學(xué)科,“軟件危機(jī)”仍未解決。
人們的知識是從一個(gè)定理、一個(gè)原理逐步積累起來的,社會(huì)是依靠知識的不斷積累發(fā)展的。然而編制軟件每次卻都是從零開始,這是造成“軟件危機(jī)”的根本原因。由此提出了編程工作是否也可以重用以前成功的經(jīng)驗(yàn)和程序呢?整整經(jīng)過十多年的探索,到七十年代才獲得成功。
我曾經(jīng)用此方法設(shè)計(jì)了一個(gè)大型操作系統(tǒng),這套方法和理論在產(chǎn)品開發(fā)和科研領(lǐng)域方面用得很多,因此我稱它為第二個(gè)技術(shù)與基礎(chǔ)理論體系。
面向構(gòu)件和架構(gòu)
鑒于面向?qū)ο蟮娜毕荩幻嫦驅(qū)ο蟮牡旎寺?lián)合起來,創(chuàng)建了UML統(tǒng)一建模語言。UML為軟件開發(fā)和SOA的產(chǎn)生起到奠基和里程碑的作用。
UML主要理論成果是:統(tǒng)一面向?qū)ο蟮幕靖拍睿⒁M(jìn)了許多新的概念,認(rèn)為軟件開發(fā)的過程實(shí)質(zhì)上是從抽象的模型逐步細(xì)化,過渡到具體的實(shí)現(xiàn),其中間的每個(gè)階段都是實(shí)現(xiàn)了某一抽象模型,UML為此提供了建立模型的工具。
用直覺的圖形來建立模型,從此軟件專家就有了自己的工具,正如音樂家有了五線譜工具那樣。為適應(yīng)軟件的多變性,提供了演化的概念。
實(shí)際上此建模理論是第三個(gè)技術(shù)與基礎(chǔ)理論體系,它為演化到構(gòu)件和架構(gòu)概念奠定基礎(chǔ)理論模型。
由于工程上的實(shí)施缺乏開發(fā)規(guī)范,在技術(shù)上要求開發(fā)人員的素質(zhì)較高,很少見到真正運(yùn)用UML的方法于實(shí)際的工程開發(fā)應(yīng)用軟件中,最大的問題是被開發(fā)出來的軟件難以演化,而軟件要能適應(yīng)變化是客觀存在的。
為此發(fā)展出單純重用的“構(gòu)件和架構(gòu)”技術(shù)及其理論體系。在1998年日本京都召開的“基于構(gòu)件的軟件開發(fā)(CBSD)”國際專題學(xué)術(shù)會(huì)議上,一致認(rèn)為軟件開發(fā)技術(shù)離不開構(gòu)件和體系結(jié)構(gòu)。軟件體系結(jié)構(gòu)現(xiàn)簡稱“架構(gòu)”。
在此之前的軟件架構(gòu)都采用層次結(jié)構(gòu)的架構(gòu),直到分布式系統(tǒng)提出了用戶端/服務(wù)器模式后,才產(chǎn)生對架構(gòu)的研究,出現(xiàn)了構(gòu)件和架構(gòu),也就是第四個(gè)技術(shù)與基礎(chǔ)理論體系。
卡內(nèi)基·梅隆大學(xué)為軟件的架構(gòu)和框架建立了扎實(shí)的基礎(chǔ)理論,軟件體系結(jié)構(gòu)是軟件系統(tǒng)的高級抽象,體現(xiàn)了軟件設(shè)計(jì)思想。反映了系統(tǒng)開發(fā)中最早的決策,明確了系統(tǒng)有哪幾部分組成,它們之間是如何交互的;進(jìn)一步影響到資源的配置、團(tuán)隊(duì)的組織以及產(chǎn)品的質(zhì)量。系統(tǒng)的成敗也在于體系結(jié)構(gòu)。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://m.hanmeixuan.com/
本文標(biāo)題:解析SOA架構(gòu)的十大技術(shù)理論
本文網(wǎng)址:http://m.hanmeixuan.com/html/support/1112158233.html