從生物學的角度對中介軟體和構件的思考

2021-06-20 21:51:53 字數 2130 閱讀 3816

軟體發展現狀

軟體的不斷發展和演化,逐步的將中介軟體和構件分離出來,用於處理諸如:資料資源互操作的資料訪問中介軟體、遠端過程條用中介軟體、面向訊息中介軟體、分布異構環境下的事務處理中介軟體,以及分布、異構的網路環境下的將各種物件有機結合的物件中介軟體。

booch於2023年曾經說過:「管理變化性與複雜性是基於構建軟體開發的動力」。在日趨複雜的網路環境中,如何將軟體分布於不同的節點上。在現有的軟體體系結構中,如何協調構件與構件的關係,如何突出軟體復用這一思路。近十年來物件導向技術逐步成為主流的軟體開發技術,為軟體復用提供了基本的技術支援。軟體復用被視為解決軟體危機,提高軟體生產質量和效率的現實可行途徑。

那麼如何更好的實現軟體復用,我們不妨可以從我們自身這個最精密的、有智慧型的「機器」來借鑑一下。

生命的基本單位——構件

細胞——生命體的基本構成單位。在某種角度來看,它就是構件,有機構成了形形色色的各種生命體,各自執行著自己在自然界獨特的功能。計算機作為人類進化的乙個觸角和延伸,似乎還沒傳承生命體特有的有機和嚴謹,貌似一堆相對鬆散的機械和電子行為。

人類發明工具的過程看起來是使人類逐漸的從勞動不斷解脫出來的過程,而終極目標則是讓工具自主代替人本身進行勞動,這就要求機器要具有某種形式的思維,而軟體則是人類的思維的拓展,恰恰給了機器這種初級的思維形式。而這種機器的初級的思維形式還處在混沌狀態,在於軟體的開發思想和方式還未達到極致,如何達到這種極致,看來從解析生命界中最高等的動物,人類自身似乎能得到一些啟示。

生命起源和物種進化及軟體復用

生命從最初的乙個小小有機體,進化到現在豐富多樣,層次不同的物種,經歷若干年的磨礪和不斷修正,結構變得越來越複雜,組織形式越來越有效,分工也越來也細緻,從單細胞生物,到具有思維形式的人類,其實就是那些無機元素和有機元素相互組合而構成乙個構件產品,因為他們都有相同基本的組成單位。這種復用的思想在生命體中體現的淋漓盡致,它是如何的精確和協調啊!

在設計電腦程式的這條路上,人們可謂是歷盡了千辛萬苦。最開始,開發了乙個又乙個的程式,而每個程式只能執行於特定的執行環境,離開了這個環境,軟體就變成了廢品。由此,人們進行了大量的重複性勞動。而隨著軟體越來越龐大,越來越複雜,有一種不可調和的矛盾伴隨著產生,軟體的生產效率如何能得到有效的提高,以前的軟體設計如何能得到最大限度的重用,並且來降低重複性勞動所帶來的成本。現在似乎出現了曙光,物件導向思想的出現給軟體復用帶來最原初的萌芽。但是光知道這一思想是遠遠不夠的,還要知道如何使他們變成行之有效的構件,用恰當的方式來組織他們,使之變**類所需要的應用軟體。從不斷探索生命的組織形式過程中,應該可以從中借鑑到很多最有效的方式。

訊號傳導和訊息傳遞

生命體作為乙個能動的反映個體,在於能夠感知外界的資訊,通過一系列的手段,方法將所接觸到的外界訊息,翻譯成生命內部能夠流通的訊號,傳遞到生命體的各個部分,各個部分協同工作後,再將資訊反饋回來,從而和外界進行互動和響應。生命體內部的細胞表面有很多接受資訊的觸點,根據訊號的不同,這種訊號的不同主要是由其不同的化學結構來區分的,這和我們物件導向方法中的過載多麼類似,可以通過不同的引數型別,呼叫不同的方法來處理。那麼這些大量的訊號是如何在生命體中傳遞,協同作用,以及事務處理機制和容錯的呢?掌握了這些也許對我們的軟體過程中處理大量相關的訊息對映和傳遞機制的改善有莫大的幫助。

自我修復和災難恢復

生命體在受到一定限度的外界傷害後,會有自我修復和保護機制,它利用基因中的原始遺傳資訊重新表達,再造細胞和組織。這其中在於它自身利用基因,乙個體積很小但是全息的單位,來重新構造、複製、組織受傷害的部分。如果我們的應用系統受到了類似的傷害,是不是也應該學習一下這種生命體自我修復的機制,有一套類似的「基因系統」,系統受到傷害時觸發,從而對構件進行自我修復。

生命執行環境和構件執行環境

構件的建立和執行離不開構件執行環境,通過這個執行環境將構件有效有機的組織在一起。生命執行環境似乎更複雜,因為對於生命體而言,這似乎是人類抽象出來的乙個概念,因為它包括了太多的東西。生命體是如何有效的和外界環境進行互動的,弄明白了這種互動機制,對於我們的構件執行環境也會有莫大的好處。

基因表達和特定的應用系統建造

生命孕育的過程是由最初的精卵細胞融合,不斷吸取外界的分子和物質,通過基因模板資訊精確的指導,不斷的複製自身,然後分化成不同的組織,去執行不同的功能,從乙個小小的人類肉眼看不到的細胞,構造出各種功能組合體的生命個體,這是乙個何等精妙的過程。從而對我們進行應用系統的構造是不是也會有些啟示呢?我們只用一套很小的應用系統構件全息的模板,通過調控這種模板的表達,來構造出我們所需要的特定的應用系統呢?

系統生物和生物學中的數理知識

生物還原論 生物單個細胞組分的資訊生成 化學成分和它們的生物功能。生物整體論 乙個系統的性質不簡單地等於組成部分性質的疊加。遺傳和細胞間的功能是分層的,並且涉及到很多的層次。給定dna序列,我們能用開方讀碼框 orf 在mrna上,沿5 至3 方向,從起始密碼子到終止密碼子之間的一段核苷酸序列,稱為...

對術語 middleware 中介軟體 的粗略理解

摘自 node.js高階程式設計 一書中文版 p197 在構建http應用伺服器時,通常需要它執行一些常規任務,諸如解析 cookies 頭部,解析請求url上的查詢字串 維護與關聯會話 持久化會話資料 提交靜態檔案 解析請求主體 記錄請求與響應以及其他等等。當對應用程式的核心邏輯進行編碼時,不必顯...

中介軟體技術的概念和分類

一 為什麼要中介軟體 計算機技術迅速發展。從硬體技術看,cpu速度越來越高,處理能力越來越強 從軟體技術看,應用程式的規模不斷擴大,特別是internet及www的出現,使計算機的應用範圍更為廣闊,許多應用程式需在網路環境的異構平台上執行。這一切都對新一代的軟體開發提出了新的需求。在這種分布異構環境...