由于項(xiàng)目需要,今天看了一整天的SOA,有了一點(diǎn)點(diǎn)概念...說說
軟件開發(fā)范型至今一共經(jīng)歷了以下階段:命令式編程范型、面向?qū)ο蟮木幊谭缎汀⒒跇?gòu)件的編程范型以及面向服務(wù)的編程范型。之所以有這種發(fā)展,個人的理解是這樣的。
計(jì)算機(jī)剛誕生的時(shí)候,很清晰的一種結(jié)構(gòu)是三層結(jié)構(gòu),即內(nèi)存,CPU、I/O系統(tǒng)。因此,開始的編程范型也是基于這種結(jié)構(gòu)來的,一條條的命令執(zhí)行一步步地計(jì)算,簡單直接,但是,這種方式的編程只是對功能的抽象,而功能只能片面的反映問題空間事物的性質(zhì),因此這樣的程序不易理解與維護(hù)。
后來我們有了面向?qū)ο蟮木幊谭缎停@也是現(xiàn)在都很流行的一種編程范型。面向?qū)ο蟮囊馑?個人理解)即用程序語言中的對象來表示現(xiàn)實(shí)世界中的實(shí)體,現(xiàn)實(shí)世界中的實(shí)體有它的狀態(tài)和行為(即封裝),對象有它的屬性和操作。因此,很明顯,這是一種很容易理解的編程語言,現(xiàn)實(shí)世界有什么實(shí)體,我們的程序就有什么對象,繼承和多態(tài)是對這種模型進(jìn)一步的描述。這種編程范型很清晰,讓人感覺用編程來模擬實(shí)物是那么的easy。
接著有了基于構(gòu)件的編程范型。基于構(gòu)件,我的理解是,它是面向?qū)ο蟮囊环N擴(kuò)展。構(gòu)件即軟件系統(tǒng)組成部分,封裝了內(nèi)部的具體實(shí)現(xiàn)并對外提供了一組接口。這個概念很象小學(xué)物理的黑盒:一個你不知道配置的盒子,你給一種東西(輸入),它經(jīng)過處理,給你你所要的東西(輸出)。如果說對象是對一個實(shí)體的抽象,則構(gòu)件是對一組實(shí)體的抽象。構(gòu)件注重的不再僅僅是"我是什么東西",而更加偏重了"我能給你什么"。構(gòu)件還具有較強(qiáng)獨(dú)立性,以便能作為一個"零部件"能隨時(shí)被單獨(dú)使用。
到了現(xiàn)在吹得很神的面向服務(wù)的編程范型。正如現(xiàn)行世界無論是商場上還是政治上所奉行的標(biāo)準(zhǔn):我不管你是誰,我只看你能給我什么 一樣,網(wǎng)絡(luò)化的環(huán)境要求了面向服務(wù)的編程范型。但是,假如整個世界只有一種編程的結(jié)構(gòu)、語言、數(shù)據(jù)結(jié)構(gòu)等等,服務(wù)消費(fèi)者與服務(wù)生產(chǎn)者之間的交接還是可以進(jìn)行的,但現(xiàn)在不是......于是,需要一種標(biāo)準(zhǔn),一種結(jié)構(gòu)來幫助溝通,即SOA啦。
接下來看了SOA與應(yīng)用集成的關(guān)系。(以下全都是照抄拉)
應(yīng)用集成泛指連接、管理和組合各種企業(yè)內(nèi)和企業(yè)間應(yīng)用,使能以統(tǒng)一的方式互聯(lián)互操作以支持業(yè)務(wù)過程自動化的技術(shù)。應(yīng)用集成比較流行的有:
EAI,enterprise application integration,指集成企業(yè)內(nèi)部的應(yīng)用、數(shù)據(jù)庫和遺留系統(tǒng)以支持企業(yè)關(guān)鍵業(yè)務(wù)過程的技術(shù),有 點(diǎn)到點(diǎn)應(yīng)用集成,基于消息代理的集成 兩種方案。
B2Bi,business to business integration,指企業(yè)合作伙伴間整合彼此的數(shù)據(jù)、應(yīng)用系統(tǒng)和業(yè)務(wù)過程,使參與合作的伙伴都能及時(shí)獲得相關(guān)信息并使企業(yè)之間充分協(xié)作,達(dá)到企業(yè)擴(kuò)展的目的,使企業(yè)聯(lián)合體在整體上能夠獲利。由于企業(yè)間存在信任、自治、保密、長事務(wù)等原因,一般采用點(diǎn)到點(diǎn)企業(yè)間應(yīng)用集成。
面向服務(wù)的應(yīng)用集成:ESB,enterprise service bus......
網(wǎng)格計(jì)算:是在動態(tài)、地理分布的組織間協(xié)調(diào)和共享計(jì)算、應(yīng)用、數(shù)據(jù)、存儲、網(wǎng)格資源的分布式計(jì)算技術(shù)。
網(wǎng)格計(jì)算和面向服務(wù)的計(jì)算是一對互補(bǔ)技術(shù),面向服務(wù)的計(jì)算可以為網(wǎng)格環(huán)境提供一致且可以互操作的解決方案,而網(wǎng)格可以為面向服務(wù)的應(yīng)用提供一個高度可伸縮、高度安全的動態(tài)資源協(xié)同共享平臺...
語義網(wǎng):是對當(dāng)前Web的擴(kuò)展,其中信息被賦予良好定義的含義,它能更好地使計(jì)算機(jī)和人一起協(xié)同工作。
語義網(wǎng)可以為其提供語義基礎(chǔ)設(shè)施,從而提高面向服務(wù)的應(yīng)用的智能程度和互操作能力