監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產(chǎn)品資料
X 關(guān)閉

基于中間件的軟件開發(fā)方法

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件 與傳統(tǒng)的軟件開發(fā)方式相比,基于中間件的軟件開發(fā)方法有什么突破呢?

一、體系結(jié)構(gòu)

軟件體系結(jié)構(gòu)代表了系統(tǒng)公共的高層次的抽象,它是系統(tǒng)設(shè)計成敗的關(guān)鍵。其設(shè)計的核心是能否使用重復(fù)的體系模式。傳統(tǒng)的應(yīng)用系統(tǒng)體系結(jié)構(gòu)從基于主機的集中式框架,到在網(wǎng)絡(luò)的客戶端上通過網(wǎng)絡(luò)訪問服務(wù)器的框架,都不能適應(yīng)目前企業(yè)所處的商業(yè)環(huán)境,原因是:

  • 企業(yè)過分地依賴于某個供應(yīng)商的軟件和硬件產(chǎn)品。這種單一供應(yīng)商使得企業(yè)難以利用計算供應(yīng)商的免費市場,將計算基礎(chǔ)設(shè)施的重要決定交給第三方處理,這顯然不利于企業(yè)在合作伙伴之間共享信息。

  • 不能適應(yīng)遠(yuǎn)程訪問的分布式、多層次異構(gòu)系統(tǒng)。

  • 封裝的應(yīng)用系統(tǒng)在出現(xiàn)某種組織需要時,難以用定制來維護(hù)系統(tǒng),從而難以滿足多變的需求。

  • 不能實現(xiàn)分析、設(shè)計核心功能重用,最多只能實現(xiàn)代碼重用。

    如今,應(yīng)用系統(tǒng)已經(jīng)發(fā)展成為在Intranet和Internet上的各種客戶端可遠(yuǎn)程訪問的分布式、多層次異構(gòu)系統(tǒng)。CBSD為開發(fā)這樣的應(yīng)用系統(tǒng)提供了新的系統(tǒng)體系結(jié)構(gòu)。它是標(biāo)準(zhǔn)定義的、分布式、模塊化結(jié)構(gòu),使應(yīng)用系統(tǒng)可分成幾個獨立部分開發(fā),可用增量方式開發(fā)。

    這樣的體系結(jié)構(gòu)實現(xiàn)了CBSD的以下幾點目標(biāo):

  • 能夠通過內(nèi)部開發(fā)的、第三方提供的或市場上購買的現(xiàn)有中間件,來集成和定制應(yīng)用軟件系統(tǒng)。

  • 鼓勵在各種應(yīng)用系統(tǒng)中重用核心功能,努力實現(xiàn)分析、設(shè)計的重用。

  • 系統(tǒng)都應(yīng)具有靈活方便的升級和系統(tǒng)模塊的更新維護(hù)能力。

  • 封裝最好的實踐案例,并使其在商業(yè)條件改變的情況下,還能夠被采用,并能保留已有資源。

    由此看出,CDSD從系統(tǒng)高層次的抽象上解決了復(fù)用性與異構(gòu)互操作性,這正是分布式網(wǎng)絡(luò)系統(tǒng)所希望解決的難題。

    二、開發(fā)過程

    傳統(tǒng)的軟件開發(fā)過程在重用元素、開發(fā)方法上都與CBSD有很大的不同。雖然面向?qū)ο蠹夹g(shù)促進(jìn)了軟件重用,但是,只實現(xiàn)了類和類繼承的重用。在整個系統(tǒng)和類之間還存在很大的缺口。為填補這個缺口,人們曾想了許多方法,如系統(tǒng)體系結(jié)構(gòu)、框架、設(shè)計模式等。

    自從中間件出現(xiàn)以來,軟件的重用才得到了根本改變。CBSD實現(xiàn)了分析、設(shè)計、類等多層次上的重用。圖1顯示了它的重用元素分層實現(xiàn)。在分析抽象層上,重用元素有子系統(tǒng)、類;在設(shè)計層上重用元素有系統(tǒng)體系結(jié)構(gòu)、子系統(tǒng)體系結(jié)構(gòu)、設(shè)計模式、框架、容器、中間件、類庫、模板、抽象類等。

    在軟件開發(fā)方法上,CBSD引導(dǎo)軟件開發(fā)從應(yīng)用系統(tǒng)開發(fā)轉(zhuǎn)變?yōu)閼?yīng)用系統(tǒng)集成。建立一個應(yīng)用系統(tǒng)需要重用很多已有的中間件模塊,這些中間件模塊可能是在不同的時間、由不同的人員開發(fā)的,并有各種不同的用途。在這種情況下,應(yīng)用系統(tǒng)的開發(fā)過程就變成對中間件接口、中間件上下文以及框架環(huán)境一致性的逐漸探索過程。例如,在J2EE平臺上,用EJB框架開發(fā)應(yīng)用系統(tǒng),主要工作是將應(yīng)用邏輯,按session Bean、entity Bean設(shè)計開發(fā),并利用JTS事務(wù)處理的服務(wù)實現(xiàn)應(yīng)用系統(tǒng)。其主要難點是事務(wù)劃分、中間件的部署與開發(fā)環(huán)境配置。概括地說,傳統(tǒng)的軟件開發(fā)過程是串行瀑布式、流水線的過程;而CBSD是并發(fā)進(jìn)化式,不斷升級完善的過程。圖2顯示了它們的不同。

    三、軟件方法學(xué)

    軟件方法學(xué)是從各種不同角度、不同思路去認(rèn)識軟件的本質(zhì)。傳統(tǒng)的軟件方法學(xué)是從面向機器、面向數(shù)據(jù)、面向過程、面向功能、面向數(shù)據(jù)流、面向?qū)ο蟮炔粩鄤?chuàng)新的觀點反映問題的本質(zhì)。整個軟件的發(fā)展歷程使人們越來越認(rèn)識到應(yīng)按客觀世界規(guī)律去解決軟件方法學(xué)問題。直到面向?qū)ο蠓椒ǖ某霈F(xiàn),才使軟件方法學(xué)邁進(jìn)了一大步。但是,高層次上的重用、分布式異構(gòu)互操作的難點還沒有解決。CBSD發(fā)展到今天,才在軟件方法學(xué)上為解決這個難題提供了機會。它把應(yīng)用業(yè)務(wù)和實現(xiàn)分離,即邏輯與數(shù)據(jù)的分離,提供標(biāo)準(zhǔn)接口和框架,使軟件開發(fā)方法變成中間件的組合。因此,軟件方法學(xué)是以接口為中心,面向行為的設(shè)計。圖3是其開發(fā)過程。

    歸納起來,CBSD的軟件開發(fā)方法學(xué)應(yīng)包括下面幾方面:

  • 對中間件有明確的定義。

  • 基于中間件的概念需要有中間件的描述技術(shù)和規(guī)范,如UML、JavaBean、EJB、Servlet規(guī)范等。

  • 開發(fā)應(yīng)用系統(tǒng)必須按中間件裁剪劃分組織,包括分配不同的角色。

  • 有支持檢驗中間件特性和生成文檔的工具,確保中間件規(guī)范的實現(xiàn)和質(zhì)量測試。

    總之,傳統(tǒng)的軟件方法學(xué)從草稿自頂向下進(jìn)行,對重用沒有提供更多的輔助。CBSD的軟件方法學(xué)要豐富得多,它是即插即用,基于體系結(jié)構(gòu),以接口為中心,將中間件有機組合,它把自頂向下和自底向上方法結(jié)合起來進(jìn)行開發(fā)。

    四、開發(fā)組織機構(gòu)

    傳統(tǒng)軟件的開發(fā)組織一般由分析員、設(shè)計員、程序員和測試員組成。對一個小的應(yīng)用系統(tǒng)來說,一個熟練的開發(fā)人員,可能兼顧以上多個角色。但對CBSD來說,因為中間件開發(fā)與應(yīng)用系統(tǒng)集成往往是分開進(jìn)行的,因此整個開發(fā)過程由六個角色來完成,他們是:

  • 中間件開發(fā)者 也是中間件供貨商,這些大多數(shù)是中間件中間件提供者。

  • 應(yīng)用中間件集成者 針對某應(yīng)用領(lǐng)域?qū)⒁延兄虚g件組合成更大的中間件模塊或容器, 作為系統(tǒng)部署的基本單元。

  • 應(yīng)用系統(tǒng)部署者 將系統(tǒng)部署基本單元放入選定的平臺環(huán)境或基本框架中,完成軟件定制的要求。

  • 開發(fā)平臺服務(wù)器供應(yīng)商 提供服務(wù)器、操作系統(tǒng)和數(shù)據(jù)庫等基本軟件。

  • 應(yīng)用系統(tǒng)開發(fā)工具供應(yīng)商 提供中間件公共設(shè)施服務(wù)。

  • 系統(tǒng)管理員 配置硬件、網(wǎng)絡(luò)和操作系統(tǒng),監(jiān)督和維護(hù)應(yīng)用系統(tǒng)者。

    這六個角色的工作專業(yè)性很強,要兼顧成為多面手很不容易。目前已形成中間件開放市場,而且還很火紅。這也是當(dāng)今軟件人才大戰(zhàn)所遇的一個困惑。因此,在CBSD中,如何組織好開發(fā)隊伍尤為重要,必須按本企業(yè)所具備人才來組織。特別重要的是:開發(fā)初期必須選好標(biāo)準(zhǔn)框架,以及統(tǒng)一的開發(fā)指導(dǎo)方針,保證在整個開發(fā)過程中,各角色能隨時互相溝通。一般來說,CBSD的人員素質(zhì)決定了中間件的重用率。

    五、構(gòu)造方法

    傳統(tǒng)應(yīng)用軟件的構(gòu)造是用白盒子方法,應(yīng)用系統(tǒng)的實現(xiàn)全在代碼中,應(yīng)用邏輯和數(shù)據(jù)粘結(jié)在一起。而CBSD 的構(gòu)造是用白盒子和黑盒子相結(jié)合的方法?;谥虚g件的框架是用兩個概念來支持演變:第一個概念是中間件有很強的性能接口,使中間件邏輯功能和中間件模型的實現(xiàn)都隱藏起來。這樣,只要接口相同,中間件就可以被替換。

    第二個概念是隱式調(diào)用,即在基于中間件的框架中,從來不直接給中間件的接口分配地址,只在識別中間件用戶后才分配地址。因此,中間件用戶只要了解接口要求和為中間件接口提供的引用后的返回信息 (該引用可能是一個中間件,也可能是一個中間件代理。對中間件用戶來說,中間件代理就是中間件,不用區(qū)分) 。中間件接口的信息并不存入中間件內(nèi),而是存入中間件倉庫或注冊處。這樣才能保證中間件替換靈活,并很容易利用隱式調(diào)用去重新部署中間件。由于中間件的實現(xiàn)對用戶透明,因此也使中間件能適應(yīng)各種不同的個性化要求。為此,中間件提供自檢和規(guī)范化兩個機制。自檢保證在不了解中間件的具體實現(xiàn)時,就能獲得中間件接口信息。例如, JavaBean提供的自檢機制是Reflection和BeanInfo, 通過Reflection 可直接獲得Bean中間件的全部方法,通過BeanInfo可直接獲得中間件的許多復(fù)雜信息。

    規(guī)范化允許不訪問中間件就可以修改它,如JavaBean提供的規(guī)范化是property sheet和customizer(定制器)。 通過property sheet提供一組簡單參數(shù),修改Bean的屬性。復(fù)雜的修改由用戶通過定制器設(shè)置參數(shù)完成。(cnw-ccw)

  • 發(fā)布:2007-04-22 09:59    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
    相關(guān)文章:
    南昌OA系統(tǒng)
    聯(lián)系方式

    成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

    重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

    咨詢:400-8352-114

    加微信,免費獲取試用系統(tǒng)

    QQ在線咨詢

    泛普南昌OA信息化其他應(yīng)用

    南昌OA軟件 南昌OA新聞動態(tài) 南昌OA信息化 南昌OA快博 南昌OA行業(yè)資訊 南昌軟件開發(fā)公司 南昌門禁系統(tǒng) 南昌物業(yè)管理軟件 南昌倉庫管理軟件 南昌餐飲管理軟件 南昌網(wǎng)站建設(shè)公司