面向服務架構十大技術與基礎理論

2022-09-03 18:03:10 字數 4030 閱讀 1989

字型大小:  小中大 

| 列印

發布: 2009-4-03 10:18   

實踐論認為:從實踐提公升到理論,再由理論指導實踐,由此向前發展。目前soa的發展的情況正是如此,通過不少實踐, soa的模型己經被公認為標準規範,目前是正需要進一步總結上公升到理論的時候了。

當前國內要發展soa主要有三方面工作:方法、工具和環境。方法是工程技術,由基礎理論來指導提出的。所以一門科學必需要包括:認知科學(哲理)、工程技術和方法、最後是理論。

soa是從物件導向、構件架構等逐步發展完善,且相互依託、相互補充、又各自適應不同範圍,因此在討論soa理論時,要了解它是如何演化過程來,繼承了那些理論體系,其適應度如何。

soa的第乙個技術與理論體系為結構程式設計方法

40年前國際上發生了「軟體危機」,如ibm公司開發乙個作業系統、或美國的航空公司開發飛機訂票系統,都花費了上千人年的工作量,開發周期長、而開發出來的產品卻是錯誤很多,難以維護和適應修改。正在此時,一位荷蘭的物理家e.w.dijkstra提出了一種「結構程式設計方法」,他認為:人的智力是有限的,採用數學或物理學的思維方法,用列舉、抽象、歸納、模擬等思維方式簡化問題。由於我也是數學系畢業的,我拜讀了他的所有**,就編寫一本著作「程式設計方法學」,此書曾三次獲得著作大獎,並在全國十多所名牌大學講過課。用此方法擴充套件到軟體設計中時,稱為「結構化分析和結構化設計(sasd)」。

所謂「結構程式設計方法」,就是基於物件導向設計方法的早期藍本,側重於解決程式正確性的程式設計的方法,以此為基礎建立了軟體工程這門學科,建立了程式設計的基礎理論體系。

解決軟體開發效率的第二個基礎理論體系是「物件導向」的可重用理論

我們都知道由物件導向發展到面向構件,由面向構件再發展到面向服務,因此它們的認知觀和基礎理論都是息息相關的,解決大型軟體的開發效率和質量除了要解決程式設計的正確性外,還必需解決開發周期長、復用性差、成本高、文件多、以及難以適應系統演化等問題,十多年來仍舊困惑著這門學科,「軟體危機」仍未解決。

人們的知識是從乙個定理、乙個原理逐步積累起來的,社會是依靠知識的不斷積累發展的。然而編制軟體每次卻都是從零開始,這是造成「軟體危機」的根本原因。由此提出了程式設計工作是否也可以重用以前成功的經驗和程式呢?。整整經過十多年的探索,到七十年代才獲得成功。

我用此方法設計了乙個大型作業系統,這套方法和理論在產品開發和科研領域方面用得很多,因此我稱它為第二個技術與基礎理論。

soa的第三個技術與理論體系是uml統一建模語言

鑑於物件導向的缺陷, 三位物件導向的奠基人聯合起來,建立了uml統一建模語言。uml為軟體開發和soa的產生起到奠基和里程碑的作用。

uml主要理論成果是:①統一物件導向的基本概念,並引進了許多新的概念,②認為軟體開發的過程實質上是從抽象的模型逐步細化,過渡到具體的實現,其中間的每個階段都是實現了某一抽象模型,uml為此提供了建立模型的工具,用直覺的圖形來建立模型,從此軟體專家就有了自己的工具,正如**家有了五線譜工具那樣;③為適應軟體的多變性,提供了演化的概念。

實際上此建模理論是第三個技術與基礎理論,它為演化到構件和架構概念奠定基礎理論模型。

第四個技術與基礎理論是構件架構

由於這種oo方法真正用於實際工程中開發的應用軟體卻很少見到,工程上的實施缺乏開發規範;在技術上要術開發人員的素質較高;最大的問題是被開發出來的軟體難以演化,而軟體要能適應變化是客觀存在的。

為此發展出單純重用的「構件和架構」技術及其理論體系。在2023年日本京都召開的「基於構件的軟體開發(cbsd)」國際專題學術會議上,一致認為軟體開發技術離不開構件和體系結構。軟體體系結構現簡稱「架構」。

在此之前的軟體架構都採用層次結構的架構,直到分布式系統提出了使用者端/伺服器模式後,才產生對架構的研究,出現了構件和架構。

卡內基。梅隆大學為軟體的架構和框架建立了紮實的基礎理論,軟體體系結構是軟體系統的高階抽象,體現了軟體設計思想,反映了系統開發中最早的決策,明確了系統有那幾部分組成,它們之間是如何互動的;進一步影響到資源的配置、團隊的組織以及產品的質量。系統的成敗在於體系結構。構件架構技術和理論創立了架構師,是目前最吃香的軟體工程師的職稱。

分布式系統的三層體系結構及其中介軟體是第五個技術與基礎理論

三層體系結構是由二層結構的胖終端中的應用構件獨立出來組成了應用層。為解決分布式系統中的各種潛在複雜性,提出了中介軟體技術及其理論。

我參與了國產網路版cis課題的開發,由於採用了這種結構,獲得了極大的成功,廣州地稅的資料大集中,銀行的通存通取、機票訂票、電子商場等都是在國內獲得成功的例項。

面向服務架構被廣泛接受絕非偶然

八年前我的最後一位博士生王文軍的學位**是「分布式系統的聯邦結構」,即面向服務的架構,但未被應用和發展,而二年前ibm公司提出soa後卻很快被廣泛接受,其原因可從客觀需求上和技術成熟度上二方面來敘述:

⒈客觀上需要

隨著網路普及化,越來越迫切需要將現有多個應用系統整合,以能實現更強的資訊處理功能。如電子商務的**鏈、智慧型交通、電子政務、數字地球等已是本世紀發展的熱點。gartner group預計,到2023年基於件產品將占領70%的市場份額。idc**到 2023年,基於soa的支撐平台、應用軟體等相關市場將達到210億美。我預言今明二年將是國內ip行業的發展熱點。

⒉物件導向和構件架構的基礎理論和技術已趨向成熟,發展到統一建模語言,提供建模工具;中介軟體集群理論己趨向成熟,並提出了中介軟體inter bus技術;

⒊瀏覽器技術普及,己成為行業標準,奠定了soa的基礎理論和技術規範,由此巳是水到渠成,使soa拙壯成長。

soa實現中的組成部分

soa的體系結構仍舊是三層或n層結構,但對異構平台各層之間的聯絡,不是用corba、j2ee或。net的方式,而且用wbdl和soap來實現,概念簡單統一,目前都是採用嵌入esb企業服務匯流排的平台來實現,esb是乙個中介軟體群,確保系統實現了服務介面、各種中介軟體以及松耦合的三個方面功能,因此稱它為第六個技術與基礎理論體系。另外,普遍採用bpel(業務過程執行語言)來描述使用者需求,由bpm(業務過程管理平台)來解釋執行,就構成了第七個技術與基礎理論。

soa的主要優點

①利用現有的資產。方法是將這些現有的資產包裝成提供企業功能的服務。組織可以繼續從現有的資源中獲取價值,而不必重新從頭開始構建。

②更易於整合和管理複雜性。將基礎設施和實現發生的改變所帶來的影響降到最低限度。因為複雜性是隔離的。當更多的企業一起協作提供價值鏈時,這會變得更加重要。

③ 更快地整合和現實。通過利用現有的構件和服務,可以減少完成軟體開發生命週期所需的時間。這使得可以快速地開發新的業務服務,並允許組織迅速地對改變做出響應和縮短開發時間。

④ 減少成本和增加重用。通過以鬆散耦合的方式公開業務服務,企業可以根據業務要求更輕鬆地使用和組合服務。

⑤ soa 業務流程是由一系列業務服務組成的,可以更輕鬆地建立、修改和管理它來滿足不同時期的需要。

國外發展情況

ibm公開宣布僅三年不到,去年年底,bea公司、甲骨文公司、惠普等所有名牌公司都在中國召開了soa發布會。

由於soa模型統一,因此都是把本公司的中介軟體產品向soa靠,提供開發和執行soa系統的相應工具和環境,以爭取市場的份額。

國內發展情況

正邦高科資訊科技公司是國內最早採用soa技術之一,開發了上海證卷公司的管理系統。中和威公司開發了esb的soa執行平台的產品。但國內企事企單位大多還處於觀望階奴,具體應用還剛剛開始。

北京市市科委將支援soa提供研發資金,由軟體行業促進中心統一管理,促進北京市ip行業發展,其方案如下圖:

為soa應用需建立相應的軟體開發方法和規範

第三個構件構架理論體系的應用是適用於構件技術的創立的,當發展到面向服務的體系結構時,必需加以修改和擴充,現在稱為模型驅mdd動的需求工程建模理論,稱它為第八個技術與基礎理論體系。另乙個構件的領域工程將要擴充成soa的參考結構,第九個技術與基礎理論體系。soa的門戶將要反映soa所有功能的表現層介面,為此如何將最新的web2.0與soa給合,這是第十個技術與基礎理論體系。上述三方面是soa在實際應用時必需要建立的理論和技術。

後語隨著soa理論的發展,各種與soa有關的規範和標準將不斷出現,如soap、wsdl、esb、 bepl語言等,它們的出現象徵著soa將逐步走向成熟。我們更應注意著各家公司所開發的工具和環境產品,有助於soa的大力推廣應用。

上述十大理論體系應該認真掌握、靈活應用,更應該不斷刨新。總之:soa理念清晰、技術趨向成熟,實現不難、做好不容易,我們不要做重複工倀,經常交流,盡少重複,一定能達到國際一流水平,振興我國ip行業。

SOA的十大技術理論體系

實踐論認為 從實踐提公升到理論,再由理論指導實踐,由此向前發展。目前soa的發展的情況正是如此,通過不少實踐,soa的模型己經被公認為標準規範,目前是正需要進一步總結上公升到理論的時候了。當前國內要發展soa主要有三方面工作 方法 工具和環境。方法是工程技術,由基礎理論來指導提出的。所以一門科學必需...

伺服器領域十大技術趨勢

2020年,疫情的全球爆發對上半年伺服器市場的出貨量帶來了不小的影響。但是隨著下半年疫情逐漸得到控制以及數位化需求的激增,全球伺服器市場呈現出非常不錯的增長態勢。目前來看,伺服器依然是數位化轉型和雲計算 網際網路等技術發展基礎,伺服器的技術直接影響到各行業的發展速度。那麼在接下來的2021年,伺服器...

伺服器部署十大問題系列二 配置與公升級

本系列文章介紹資料中心伺服器部署前後整個過程需要考慮到的十個基礎問題。第一部分 伺服器部署十大問題系列一 軟體與硬體 中,我們介紹了新增伺服器對當前設施有哪些影響,以及軟硬體方面需要考慮的問題。本文為系列二,主要介紹在配置伺服器時應該注意的問題,因為即使是對最能幹和熟練的it專業人士來說,手動配置也...