自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

認(rèn)識(shí)基于中間件的軟件開發(fā)方法

開發(fā) 后端
與傳統(tǒng)的軟件開發(fā)方式相比,中間件的軟件開發(fā)方法有什么不同呢?或者說,有什么優(yōu)勢(shì)?本文從五方面分析了具體原因,希望通過本文能給你帶來幫助。

中間件是位于平臺(tái)(硬件和操作系統(tǒng))和應(yīng)用之間的通用服務(wù)。

為什么要使用中間件呢?具體地說,中間件屏蔽了底層操作系統(tǒng)的復(fù)雜性,使程序開發(fā)人員面對(duì)一個(gè)簡(jiǎn)單而統(tǒng)一的開發(fā)環(huán)境,減少程序設(shè)計(jì)的復(fù)雜性,將注意力集中在自己的業(yè)務(wù)上,不必再為程序在不同系統(tǒng)軟件上的移植而重復(fù)工作,從而大大減少了技術(shù)上的負(fù)擔(dān)。中間件帶給應(yīng)用系統(tǒng)的,不只是開發(fā)的簡(jiǎn)便、開發(fā)周期的縮短,也減少了系統(tǒng)的維護(hù)、運(yùn)行和管理的工作量,還減少了計(jì)算機(jī)總體費(fèi)用的投入。

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

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

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

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

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

不能實(shí)現(xiàn)分析、設(shè)計(jì)核心功能重用,最多只能實(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)可分成幾個(gè)獨(dú)立部分開發(fā),可用增量方式開發(fā)。

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

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

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

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

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

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

二、開發(fā)過程

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

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

 

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

 

三、軟件方法學(xué)

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

 

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

對(duì)中間件有明確的定義。

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

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

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

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

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

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

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

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

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

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

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

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

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

五、構(gòu)造方法

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

第二個(gè)概念是隱式調(diào)用,即在基于中間件的框架中,從來不直接給中間件的接口分配地址,只在識(shí)別中間件用戶后才分配地址。因此,中間件用戶只要了解接口要求和為中間件接口提供的引用后的返回信息 (該引用可能是一個(gè)中間件,也可能是一個(gè)中間件代理。對(duì)中間件用戶來說,中間件代理就是中間件,不用區(qū)分) 。

中間件接口的信息并不存入中間件內(nèi),而是存入中間件倉(cāng)庫(kù)或注冊(cè)處。這樣才能保證中間件替換靈活,并很容易利用隱式調(diào)用去重新部署中間件。由于中間件的實(shí)現(xiàn)對(duì)用戶透明,因此也使中間件能適應(yīng)各種不同的個(gè)性化要求。為此,中間件提供自檢和規(guī)范化兩個(gè)機(jī)制。自檢保證在不了解中間件的具體實(shí)現(xiàn)時(shí),就能獲得中間件接口信息。

例如,JavaBean提供的自檢機(jī)制是Reflection和BeanInfo, 通過Reflection 可直接獲得Bean中間件的全部方法,通過BeanInfo可直接獲得中間件的許多復(fù)雜信息。

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

【編輯推薦】

  1. JSP動(dòng)態(tài)網(wǎng)站環(huán)境搭建應(yīng)用中的詳細(xì)步驟
  2. JavaBean中使用JDBC方式進(jìn)行事務(wù)處理
  3. 軟件開發(fā)前期設(shè)計(jì)時(shí)的注意事項(xiàng)
  4. 軟件開發(fā)項(xiàng)目中如何使用范圍變化管理
  5. 2.4.3 面向方面的軟件開發(fā)
責(zé)任編輯:于鐵 來源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2021-02-11 08:21:02

中間件開發(fā)CRUD

2016-11-11 21:00:46

中間件

2011-05-24 15:10:48

2018-07-29 12:27:30

云中間件云計(jì)算API

2018-02-01 10:19:22

中間件服務(wù)器系統(tǒng)

2010-10-27 11:12:39

2013-03-13 10:37:22

中間件Windows

2018-05-02 16:23:24

中間件RPC容器

2015-02-07 21:52:45

PaaS中間件

2010-12-01 07:33:59

中創(chuàng)軟件中間件云計(jì)算

2021-06-15 10:01:02

應(yīng)用系統(tǒng)軟件

2023-06-29 10:10:06

Rocket MQ消息中間件

2023-10-24 07:50:18

消息中間件MQ

2009-06-16 15:55:06

JBoss企業(yè)中間件

2012-11-30 10:21:46

移動(dòng)中間件

2022-11-18 07:54:02

Go中間件項(xiàng)目

2011-07-04 17:09:54

2010-05-18 14:54:35

東方通中間件

2015-09-18 09:20:31

中間件移動(dòng)APP未來

2015-09-18 09:53:21

中間件移動(dòng)開發(fā)APP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)