走在架構(gòu)師的大道上 Jack.Wang's home

          Java, C++, linux c, C#.net 技術(shù),軟件架構(gòu),領(lǐng)域建模,IT 項目管理 Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks
          網(wǎng)構(gòu)軟件,973項目提的一個概念。概念。
          作為一種新型軟件形態(tài),它應(yīng)該涵蓋哪些研究范疇?評價它成功的基本標(biāo)準(zhǔn)是什么?
          我們看待一件事物,首先都會從已知的認(rèn)知空間里尋找與之對應(yīng)者。那么,能與網(wǎng)構(gòu)相對應(yīng)的大概就是面向?qū)ο蟆?br /> 面向?qū)ο笫且环Nparadigm。作為一種paradigm,應(yīng)該有什么?
          歸根結(jié)底,paradigm需要將問題空間映射到計算機(jī)解空間。
          對于面向?qū)ο髞碚f,首先,面向?qū)ο蠓治?、設(shè)計和開發(fā)方法用以分析需求,設(shè)計軟件結(jié)構(gòu),以及建立軟件。其次,面向?qū)ο缶幊陶Z言服務(wù)于在計算機(jī)空間建立解。語言,需要一個編譯器,以及相應(yīng)的運(yùn)行平臺。
          若然如此對比,那么,對于網(wǎng)構(gòu)來說,重點(diǎn)是要建立一套開發(fā)方法以及一個編程語言?
          即使如此對比,網(wǎng)構(gòu)相對于對象的突破點(diǎn)在哪里,就如同面向?qū)ο笙鄬γ嫦蜻^程的突破點(diǎn)?
          若只是如此對比,世界上從無到有的理念又是如何來的?
          并且,計算機(jī)需要完全創(chuàng)新的理念嗎?
          當(dāng)然,創(chuàng)新理念隨時都需要的,比如突破Turing machine的限制。
          這問題應(yīng)該是:在turing machine模型下,計算機(jī)領(lǐng)域存在科學(xué)問題么?

          Internet作為不同于傳統(tǒng)計算機(jī)的硬件平臺,具有如下基本特征: 

          無統(tǒng)一控制的“真”分布性

          節(jié)點(diǎn)的高度自治性

          節(jié)點(diǎn)鏈接的開放性和動態(tài)性

          人、設(shè)備和軟件的多重異構(gòu)性

          實(shí)體行為的不可預(yù)測性

          運(yùn)行環(huán)境的潛在不安全性

          使用方式的個性化和靈活性

          網(wǎng)絡(luò)連接環(huán)境的多樣性

          由于軟件系統(tǒng)所基于的計算機(jī)硬件平臺正經(jīng)歷從集中封閉的計算平臺向開放的Internet平臺的轉(zhuǎn)變,軟件系統(tǒng)作為計算機(jī)系統(tǒng)的靈魂,隨著其運(yùn)行環(huán)境的演變也經(jīng)歷了一系列的變革。目前,面向網(wǎng)絡(luò)的計算環(huán)境正由Client/Server發(fā)展為Client/Cluster,并正朝著Client/Network和Client/Virtual Environment的方向發(fā)展。那么,未來的基于Internet平臺的軟件系統(tǒng)又將會呈現(xiàn)出一個什么形態(tài)呢?

          從技術(shù)的角度看,以軟件構(gòu)件等技術(shù)支持的軟件實(shí)體將以開放、自主的方式存在于Internet的各個節(jié)點(diǎn)之上,任何一個軟件實(shí)體可在開放的環(huán)境下通過某種方式加以發(fā)布,并以各種協(xié)同方式與其它軟件實(shí)體進(jìn)行跨網(wǎng)絡(luò)的互連、互通、協(xié)作和聯(lián)盟,從而形成一種與當(dāng)前的信息Web類似的Software Web。Software Web不再僅僅是信息的提供者,而是各種服務(wù)(功能)的提供者。由于網(wǎng)絡(luò)環(huán)境的開放與動態(tài)性,以及用戶使用方式的個性化要求,從而決定了這樣一種Software Web并不能夠像傳統(tǒng)軟件那樣一蹴而就,它應(yīng)能感知外部網(wǎng)絡(luò)環(huán)境的動態(tài)變化,并隨著這種變化按照功能指標(biāo)、性能指標(biāo)和可信性指標(biāo)等進(jìn)行靜態(tài)的調(diào)整和動態(tài)的演化,以使系統(tǒng)具有盡可能高的用戶滿意度。我們將這樣一種新的軟件形態(tài)稱為網(wǎng)構(gòu)軟件(Internetware)。

          網(wǎng)構(gòu)軟件區(qū)別于傳統(tǒng)軟件形態(tài)的獨(dú)有特征

          網(wǎng)構(gòu)軟件是在Internet開放、動態(tài)和多變環(huán)境下軟件系統(tǒng)基本形態(tài)的一種抽象,它既是傳統(tǒng)軟件結(jié)構(gòu)的自然延伸,又具有區(qū)別于在集中封閉環(huán)境下發(fā)展起來的傳統(tǒng)軟件形態(tài)的獨(dú)有的基本特征:

          自主性

          指網(wǎng)構(gòu)軟件系統(tǒng)中的軟件實(shí)體具有相對獨(dú)立性、主動性和自適應(yīng)性。自主性使其區(qū)別于傳統(tǒng)軟件系統(tǒng)中軟件實(shí)體的依賴性和被動性。

          協(xié)同性

          指網(wǎng)構(gòu)軟件系統(tǒng)中軟件實(shí)體與軟件實(shí)體之間可按多種靜態(tài)連接和動態(tài)合作方式在開放的網(wǎng)絡(luò)環(huán)境下加以互連、互通、協(xié)作和聯(lián)盟。協(xié)同性使其區(qū)別于傳統(tǒng)軟件系統(tǒng)在封閉集中環(huán)境下單一靜態(tài)的連接模式。

          反應(yīng)性

          指網(wǎng)構(gòu)軟件具有感知外部運(yùn)行和使用環(huán)境并對系統(tǒng)演化提供有用信息的能力;反應(yīng)性使網(wǎng)構(gòu)軟件系統(tǒng)具備了適應(yīng)Internet開放、動態(tài)和多變環(huán)境的感知能力。

          演化性

          指網(wǎng)構(gòu)軟件結(jié)構(gòu)可根據(jù)應(yīng)用需求和網(wǎng)絡(luò)環(huán)境變化而發(fā)生動態(tài)演化,主要表現(xiàn)在其實(shí)體元素數(shù)目的可變性,結(jié)構(gòu)關(guān)系的可調(diào)節(jié)性和結(jié)構(gòu)形態(tài)的動態(tài)可配置性;演化性使網(wǎng)構(gòu)軟件系統(tǒng)具備了適應(yīng)Internet開放、動態(tài)和多變環(huán)境的應(yīng)變能力。

          多態(tài)性

          指網(wǎng)構(gòu)軟件系統(tǒng)的效果體現(xiàn)出相容的多目標(biāo)性。它可根據(jù)某些基本協(xié)同原則,在動態(tài)變化的網(wǎng)絡(luò)環(huán)境下,滿足多種相容的目標(biāo)形態(tài)。多態(tài)性使網(wǎng)構(gòu)軟件系統(tǒng)在網(wǎng)絡(luò)環(huán)境下具備了一定的柔性和滿足個性化需求的能力。

          可以說,網(wǎng)構(gòu)軟件的概念是普適而廣泛的。實(shí)際上,從單機(jī)結(jié)構(gòu)上的軟件系統(tǒng)、到主/從結(jié)構(gòu)的軟件系統(tǒng)、到客戶機(jī)/服務(wù)器模式的軟件系統(tǒng)、一直到現(xiàn)有的瀏覽/服務(wù)器結(jié)構(gòu)的軟件系統(tǒng),從本質(zhì)上來說,都是網(wǎng)構(gòu)軟件系統(tǒng)的一種特例(具有網(wǎng)構(gòu)軟件的某些特性)。例如,當(dāng)今有代表性的Browser/Server結(jié)構(gòu)在Server端具有相對獨(dú)立性,而眾多Browser與Server端的連接則具有開放環(huán)境下跨網(wǎng)絡(luò)的初級協(xié)同性;而Browser搜索引擎搜索結(jié)果的多重性則體現(xiàn)了其隨網(wǎng)絡(luò)環(huán)境變化而產(chǎn)生的多態(tài)性;JINI技術(shù)中所倡導(dǎo)的軟件實(shí)體的動態(tài)聯(lián)盟和Applets技術(shù)等則在某種意義下體現(xiàn)了演化性的需求;而Active Software 和Autonomous Software 則反映了在網(wǎng)絡(luò)環(huán)境下對軟件實(shí)體自主性的需求。因此,有理由相信,網(wǎng)構(gòu)軟件概念基本概括了在Internet開放、動態(tài)和多變環(huán)境下軟件技術(shù)的發(fā)展趨勢,它將在未來5-10年成為軟件的一種主流形態(tài)。

          傳統(tǒng)軟件形態(tài)的局限性

          從網(wǎng)構(gòu)軟件的角度來考察當(dāng)今主流軟件技術(shù),可以發(fā)現(xiàn)現(xiàn)有軟件技術(shù)體系由于其本質(zhì)上是一種靜態(tài)和封閉的框架體系,難以適應(yīng)Internet開放、動態(tài)和多變的特點(diǎn)。從技術(shù)框架看,軟件方法學(xué)的核心是程序設(shè)計方法學(xué),而程序設(shè)計方法學(xué)考慮的重點(diǎn)是軟件結(jié)構(gòu)。軟件結(jié)構(gòu)主要包括程序?qū)嶓w和協(xié)同方式兩部分。目前在軟件領(lǐng)域占主導(dǎo)地位的軟件方法是面向?qū)ο蠓椒?。從網(wǎng)構(gòu)軟件的角度來看面向?qū)ο筌浖Y(jié)構(gòu),可以發(fā)現(xiàn)以下三方面的問題:

          系統(tǒng)目標(biāo)和結(jié)構(gòu)確定性的限制

          一般說來,在構(gòu)建系統(tǒng)的過程中,系統(tǒng)的基本功能和基本結(jié)構(gòu)是按照系統(tǒng)所要解決的問題和問題領(lǐng)域的特性通過系統(tǒng)分析與設(shè)計逐步確定的,未能兼顧Internet開放、多變和動態(tài)的特性。因此,它難以適應(yīng)網(wǎng)構(gòu)軟件系統(tǒng)的動態(tài)協(xié)同、逐步適應(yīng)和不斷演化的需求。

          實(shí)體單元自主性的欠缺
           
          面向?qū)ο蠓椒ㄖ械膶ο蟾拍钔ǔJ庆o止和被動的,它難以在Internet開放、動態(tài)和多變環(huán)境下調(diào)整自己的目標(biāo)和行為,以適應(yīng)網(wǎng)絡(luò)環(huán)境的變化和用戶的個性化要求。

          【出處不明】





          本博客為學(xué)習(xí)交流用,凡未注明引用的均為本人作品,轉(zhuǎn)載請注明出處,如有版權(quán)問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學(xué)習(xí)進(jìn)步。
          posted on 2008-10-26 00:00 Jack.Wang 閱讀(2564) 評論(0)  編輯  收藏 所屬分類: 架構(gòu)師篇
          主站蜘蛛池模板: 缙云县| 皮山县| 乌拉特前旗| 惠州市| 增城市| 赤壁市| 云林县| 尉犁县| 上饶市| 疏附县| 紫阳县| 玛沁县| 瓮安县| 双流县| 溆浦县| 驻马店市| 南丹县| 湘乡市| 西林县| 尚志市| 旌德县| 焉耆| 长兴县| 清苑县| 云浮市| 龙海市| 西宁市| 青州市| 洞口县| 无极县| 仁寿县| 岢岚县| 监利县| 六枝特区| 和平区| 安图县| 壶关县| 太原市| 海伦市| 曲周县| 伊吾县|