軟件體系結(jié)構(gòu)論文:一種面向方面軟件體系結(jié)構(gòu)模型_第1頁
軟件體系結(jié)構(gòu)論文:一種面向方面軟件體系結(jié)構(gòu)模型_第2頁
軟件體系結(jié)構(gòu)論文:一種面向方面軟件體系結(jié)構(gòu)模型_第3頁
軟件體系結(jié)構(gòu)論文:一種面向方面軟件體系結(jié)構(gòu)模型_第4頁
軟件體系結(jié)構(gòu)論文:一種面向方面軟件體系結(jié)構(gòu)模型_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

中匡]學(xué)術(shù)期刊翩中匡]學(xué)術(shù)期刊翩(WWW.)是國(guó)內(nèi)楓威的計(jì)算機(jī)期刊聯(lián)合征稿平臺(tái)□發(fā)表期刊推薦:《電腿知識(shí)與技術(shù)》瓦電腦編程技巧與維護(hù)》瓦中國(guó)信息界》《硅卻昭覘計(jì)算機(jī)應(yīng)用》《網(wǎng)絡(luò)財(cái)富》《信息與電腦》或計(jì)算機(jī)光盤軟件與應(yīng)用》《數(shù)字技術(shù)與應(yīng)用》等計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939軟件體系結(jié)構(gòu)論文:一種面向方面軟件體系結(jié)構(gòu)模型

摘要:為了分離軟件系統(tǒng)中的核心關(guān)注點(diǎn)和橫切關(guān)注點(diǎn),通過引入面向方面軟件開發(fā)的思想設(shè)計(jì)了一種面向方面軟件體系結(jié)構(gòu)模型,并詳細(xì)分析了該模型的三個(gè)基本構(gòu)成單元,即構(gòu)件、連接件和方面構(gòu)件。最后通過一個(gè)網(wǎng)上支付實(shí)例驗(yàn)證了該模型具有一定的理論意義和實(shí)用價(jià)值。關(guān)鍵詞:面向方面軟件體系結(jié)構(gòu);橫切關(guān)注點(diǎn);構(gòu)件;連接件;方面構(gòu)件20世紀(jì)60年代的軟件危機(jī)使得人們開始重視軟件工程的研究。起初,人們把軟件設(shè)計(jì)的重點(diǎn)放在數(shù)據(jù)結(jié)構(gòu)和算法的選擇上,然而隨著軟件系統(tǒng)規(guī)模越來越大,對(duì)總體的系統(tǒng)結(jié)構(gòu)設(shè)計(jì)和規(guī)格說明變得異常重要。隨著軟件危機(jī)程度的加劇,軟件體系結(jié)構(gòu)(softwarearchitecture)這一概念應(yīng)運(yùn)而生。軟件體系結(jié)構(gòu)著眼于軟件系統(tǒng)的全局組織形式,在較高層次上把握系統(tǒng)各部分之間的內(nèi)在聯(lián)系,將軟件開發(fā)的焦點(diǎn)從成百上千的代碼上轉(zhuǎn)移到粒度較大的體系結(jié)構(gòu)元素及其交互的設(shè)計(jì)上。與傳統(tǒng)軟件技術(shù)相比,軟件體系結(jié)構(gòu)理論的提出不僅有利于解決軟件系統(tǒng)日益增加的規(guī)模和復(fù)雜度的問題,有利于構(gòu)件的重用,也有利于軟件生產(chǎn)率的提高。面向方面軟件開發(fā)(AOSD)認(rèn)為系統(tǒng)是由核心關(guān)注點(diǎn)(cornconcern)和

計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939橫切關(guān)注點(diǎn)(cross-cuttingconcern)有機(jī)地交織在一起而形成的。核心關(guān)注點(diǎn)是軟件要實(shí)現(xiàn)的主要功能和目標(biāo),橫切關(guān)注點(diǎn)是那些與核心關(guān)注點(diǎn)之間有橫切作用的關(guān)注點(diǎn),如系統(tǒng)日志、事務(wù)處理和權(quán)限驗(yàn)證等。AOSD通過分離系統(tǒng)的橫切關(guān)注點(diǎn)和核心關(guān)注點(diǎn),使得系統(tǒng)的設(shè)計(jì)和維護(hù)變得容易很多。Extremadura大學(xué)的Navasa等人[1]在2002年提出了將面向方面軟件開發(fā)技術(shù)引入到軟件體系結(jié)構(gòu)的設(shè)計(jì)中,稱之為面向方面軟件體系結(jié)構(gòu)(aspectorientedsoftwarearchitecture,AO-SA),這樣能夠結(jié)合兩者的優(yōu)點(diǎn),但是并沒有給出構(gòu)建面向方面軟件體系結(jié)構(gòu)的詳細(xì)方法。盡管目前對(duì)于面向方面軟件體系結(jié)構(gòu)這個(gè)概念尚未形成統(tǒng)一的認(rèn)識(shí),但是一般認(rèn)為面向方面軟件體系結(jié)構(gòu)在傳統(tǒng)軟件體系結(jié)構(gòu)基礎(chǔ)上增加了方面構(gòu)件(aspectcomponent)這一新的構(gòu)成單元,通過方面構(gòu)件來封裝系統(tǒng)的橫切關(guān)注點(diǎn)。目前國(guó)內(nèi)外對(duì)于面向方面軟件體系模型的研究還相對(duì)較少,對(duì)它的構(gòu)成單元模型的研究更少,通常只關(guān)注方面構(gòu)件這一構(gòu)成單元。方面構(gòu)件最早是由Lieberherr等人[2]提出的,它是在自適應(yīng)可插拔構(gòu)件(adaptiveplugandplaycomponent,APPC)基礎(chǔ)之上通過引入面向方面編程(AOP)思想擴(kuò)展一個(gè)可更改的接口而形成的,但它關(guān)于請(qǐng)求接口和服務(wù)接口的定義很模糊,未能給出一個(gè)清晰的方面構(gòu)件模型。Pawlak等人

計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939[3]提出了一個(gè)面向方面的框架,該框架主要包含了一個(gè)方面構(gòu)件模型Java方面構(gòu)件(Javaaspectcomponent,JAC),但該方面構(gòu)件模型僅包含了切點(diǎn)(pointcut),并把AOP中裝備(advice)集成到了切點(diǎn)的表達(dá)式中,它主要從實(shí)現(xiàn)的角度進(jìn)行了闡述,并沒有給出詳細(xì)的方面構(gòu)件模型。本文沒有只關(guān)注面向方面軟件體系結(jié)構(gòu)中方面構(gòu)件這一構(gòu)成單元模型,還詳細(xì)分析了它的另外兩個(gè)構(gòu)成單元,即構(gòu)件和連接件,因?yàn)槊嫦蚍矫孳浖w系結(jié)構(gòu)各部分之間是相互關(guān)聯(lián)的。1面向方面軟件體系結(jié)構(gòu)相關(guān)概念面向方面軟件體系結(jié)構(gòu)涉及諸多概念,以下將分別介紹。軟件體系結(jié)構(gòu)在軟件工程領(lǐng)域有著廣泛的影響,但當(dāng)前仍未形成一個(gè)統(tǒng)一的、標(biāo)準(zhǔn)的定義。目前國(guó)內(nèi)外普遍認(rèn)可的看法是軟件體系結(jié)構(gòu)包含構(gòu)件、連接件和約束[4]。其中約束描述了體系結(jié)構(gòu)配置和拓?fù)涞囊?確定了體系結(jié)構(gòu)的構(gòu)件與連接件的連接關(guān)系。這樣就可以把軟件體系結(jié)構(gòu)寫成軟件體系結(jié)構(gòu)(softwarearchitecture^構(gòu)件(components)*連接件(connectors)+約束(constraints)構(gòu)件是軟件體系結(jié)構(gòu)的基本元素之一。一般認(rèn)為,構(gòu)件是指具有一定功能、可明確辨識(shí)的軟件單位,并且具備語義完整、語法正確、有可重用價(jià)值的特點(diǎn),然而目前對(duì)于構(gòu)件的具體結(jié)構(gòu)及構(gòu)成并沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)[5],而且一些主

計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939要的構(gòu)件技術(shù)也沒有使用相同的構(gòu)件類型。另外,當(dāng)前被廣泛接受的構(gòu)件定義并不包含具體的軟件構(gòu)件模型(softwarecomponentmodel)。例如,Szyperski等人[6]給出了軟件構(gòu)件一個(gè)很有名的定義:軟件構(gòu)件是一個(gè)僅帶特定契約接口和顯式語境依賴的結(jié)構(gòu)單位,它可以獨(dú)立部署,易于第三方整合。但是關(guān)于軟件構(gòu)件模型有一個(gè)被普遍接受的觀點(diǎn)是:軟件構(gòu)件是一個(gè)具有服務(wù)提供和服務(wù)請(qǐng)求功能的軟件單元[7]。連接件是軟件體系結(jié)構(gòu)另一個(gè)基本的構(gòu)成元素,是用來建立構(gòu)件間交互以及支配這些交互規(guī)則的構(gòu)造模塊。連接件最先是由Shaw[8]提出來的,她建議把連接件作為軟件體系結(jié)構(gòu)中第一類實(shí)體,用來表示普通構(gòu)件之間的交互關(guān)系。目前對(duì)于連接件尚未形成統(tǒng)一的認(rèn)識(shí),盡管在軟件體系結(jié)構(gòu)中強(qiáng)調(diào)了連接件存在的必要性,但是關(guān)于連接件模型的研究還很少,連接件的實(shí)際應(yīng)用還不成熟。面向方面軟件體系結(jié)構(gòu)在傳統(tǒng)軟件體系結(jié)構(gòu)的基礎(chǔ)上增加了方面構(gòu)件單元。通常認(rèn)為,方面構(gòu)件是封裝了系統(tǒng)橫切關(guān)注點(diǎn)的一類特殊的構(gòu)件。目前關(guān)于方面構(gòu)件模型的研究還處于起步階段。2面向方面軟件體系結(jié)構(gòu)模型由于傳統(tǒng)軟件體系結(jié)構(gòu)模型包含構(gòu)件、連接件和約束,而面向方面軟件體系結(jié)構(gòu)是在傳統(tǒng)軟件體系結(jié)構(gòu)的基礎(chǔ)之

計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939上擴(kuò)展了方面構(gòu)件,所以面向方面軟件體系模型結(jié)構(gòu)包含構(gòu)件、連接件、方面構(gòu)件和約束。其中約束描述了面向方面體系結(jié)構(gòu)配置和拓?fù)涞囊螅_定了體系結(jié)構(gòu)的構(gòu)件、連接件和方面構(gòu)件之間的連接關(guān)系,而構(gòu)件、連接件、方面構(gòu)件是它的三個(gè)基本的構(gòu)成單元。以下對(duì)這三個(gè)構(gòu)成單元的模型進(jìn)行詳細(xì)的設(shè)計(jì)。2.1構(gòu)件模型構(gòu)件模型由以下幾個(gè)要素構(gòu)成(圖1):(a)端口。構(gòu)件的服務(wù)請(qǐng)求和服務(wù)提供功能是通過端口來實(shí)現(xiàn)的。端口是構(gòu)件與外部環(huán)境進(jìn)行交互的惟一通道。一般的構(gòu)件模型通常采用兩種端口,即雙向端口和單向端口。在使用雙向端口的構(gòu)件模型中,服務(wù)請(qǐng)求和服務(wù)提供功能可以在同一個(gè)端口中實(shí)現(xiàn)。本文中的構(gòu)件模型使用單向端口,此種端口分為請(qǐng)求端口和服務(wù)端口兩種類型。服務(wù)端口。構(gòu)件通過服務(wù)端口向其他構(gòu)件提供服務(wù)。構(gòu)件通過服務(wù)端口向其他構(gòu)件的請(qǐng)求消息進(jìn)行應(yīng)答,返回響應(yīng)消息。每個(gè)服務(wù)端口對(duì)應(yīng)一個(gè)接口。請(qǐng)求端口。構(gòu)件通過請(qǐng)求端口向其他構(gòu)件請(qǐng)求服務(wù)。構(gòu)件為了實(shí)現(xiàn)自己的業(yè)務(wù)功能,需要通過請(qǐng)求端口向其他構(gòu)件發(fā)送請(qǐng)求消息。每個(gè)服務(wù)端口也對(duì)應(yīng)一個(gè)接口。

接口。計(jì)算機(jī)論文寫'作發(fā)表快速通道:曬眄.QQ:767669939接口。它定義了一個(gè)到多個(gè)業(yè)務(wù)功能。這些業(yè)務(wù)功能由服務(wù)端口進(jìn)行提供,并由請(qǐng)求端口進(jìn)行使用。一個(gè)接口限定了一個(gè)特定端口可以進(jìn)行的交互功能,接口是構(gòu)件間交互的契約。通常的接口類型有:JavaInterface、WSDL1?1portTypes和WSDL2?0Interfaces等,也可以自定義接口類型。屬性。與類或?qū)ο笙嗨?,?gòu)件也具有屬性,屬性可以在構(gòu)件使用前進(jìn)行配置,它能夠反映構(gòu)件在交互過程中狀態(tài)的變化。2.2連接件模型連接件是用來建立構(gòu)件間交互以及支配這些交互規(guī)則的體系結(jié)構(gòu)構(gòu)造模塊。連接件為構(gòu)件間信息交互提供傳輸和路由服務(wù)。在最簡(jiǎn)單的情況下,構(gòu)件之間可以直接完成交互,這時(shí)體系結(jié)構(gòu)中的連接件就退化為直接連接。在更為復(fù)雜的情況下,構(gòu)件間交互的處理和維持都需要連接件來實(shí)現(xiàn)。對(duì)于構(gòu)件而言,連接件是構(gòu)件的粘合劑,是構(gòu)件交互的實(shí)現(xiàn),也可以看做是一種特殊的構(gòu)件[8]。與構(gòu)件相似,連接件也具有端口。連接件的端口可分為兩種類型,即源端口(sourceport)和目標(biāo)端口(targetport)。源端口用于接收構(gòu)件請(qǐng)求端口中的消息,目標(biāo)端口用于向構(gòu)件服務(wù)端口中輸入消息。連接件通常需要使用一種合適的綁定(binding)機(jī)制,構(gòu)件的請(qǐng)求中匡]學(xué)術(shù)期刊翩中匡]學(xué)術(shù)期刊翩()是國(guó)內(nèi)楓威的計(jì)算機(jī)期刊聯(lián)合征稿平臺(tái)□發(fā)表期刊推薦:《電腿知識(shí)與技術(shù)》瓦電腦編程技巧與維護(hù)》瓦中國(guó)信息界》《硅卻昭覘計(jì)算機(jī)應(yīng)用》《網(wǎng)絡(luò)財(cái)富》《信息與電腦》或計(jì)算機(jī)光盤軟件與應(yīng)用》《數(shù)字技術(shù)與應(yīng)用》等標(biāo)口

目端標(biāo)口

目端計(jì)蒔機(jī)論文寫'作發(fā)表快速通一這:QQ:767669939端口使用這種綁定機(jī)制來描述服務(wù)請(qǐng)求的方法,構(gòu)件的服務(wù)端口也使用這種機(jī)制來描述構(gòu)件進(jìn)行請(qǐng)求的方式。常用的綁定機(jī)制有:WebServiceBinding和JMSBinding等,也可以自定義綁定機(jī)制。與構(gòu)件一樣,連接件也具有屬性,來表示構(gòu)件間交互的狀態(tài)變化,如圖2所示。2.3復(fù)合構(gòu)件模型構(gòu)件可分為兩種,即原子構(gòu)件和復(fù)合構(gòu)件。前者是不可再分的構(gòu)件。后者是可再分構(gòu)件,它封裝了若干個(gè)子構(gòu)件。子構(gòu)件間通過連接件相互連接,且子構(gòu)件的端口也可以暴露成為復(fù)合構(gòu)件的端口,子構(gòu)件也可能是復(fù)合構(gòu)件。如圖3所示:復(fù)合構(gòu)件A包含兩個(gè)子構(gòu)件B和D,子構(gòu)件B和D通過連接件C進(jìn)行相連,構(gòu)件B的服務(wù)端口E暴露成為復(fù)合構(gòu)件A的服務(wù)端口F,其請(qǐng)求端口G暴露成為A的請(qǐng)求端口H。2.4方面構(gòu)件模型方面構(gòu)件是面向方面軟件體系結(jié)構(gòu)的一個(gè)核心的構(gòu)成單元,它封裝了橫切關(guān)注點(diǎn),這是與傳統(tǒng)軟件體系結(jié)構(gòu)最大的不同之處。圖4給出了方面構(gòu)件模型,與普通構(gòu)件一樣,方面構(gòu)件也有服務(wù)端口和請(qǐng)求端口以及屬性,但是它還有普中國(guó)學(xué)術(shù)期刊網(wǎng)(WWW.)是國(guó)內(nèi)楓威的計(jì)算機(jī)期刊聯(lián)合征稿平臺(tái)□發(fā)表期刊推薦:《電腦知識(shí)與技術(shù)》瓦電腦編程技巧與維護(hù)》瓦中國(guó)信息界》《硅谷》昭覘計(jì)算機(jī)應(yīng)用》《網(wǎng)絡(luò)財(cái)富》《信息與電腦》或計(jì)算機(jī)光盤軟件與應(yīng)用》《數(shù)字技術(shù)與應(yīng)用》等

冊(cè)算機(jī)論文寫'作發(fā)表快速通5?qikarLQQ:767669939通構(gòu)件所沒有的方面端口。當(dāng)一個(gè)構(gòu)件具有一個(gè)方面端口時(shí),即可認(rèn)為此構(gòu)件就是方面構(gòu)件。一個(gè)方面端口中包含若干個(gè)方面,這與一般面向方面編程(AOP)技術(shù)中方面概念有所不同。面向方面編程具有以下四個(gè)基本概念:方面(aspect)、連接點(diǎn)(joinpoint)、通知(advice)和切點(diǎn)(pointcut)。連接點(diǎn)是應(yīng)用程序執(zhí)行過程一個(gè)定義明確的位置,如方法調(diào)用是一種典型的連接點(diǎn)。切點(diǎn)是一系列連接點(diǎn)的集合,是方面的作用點(diǎn)。通知表述了在切點(diǎn)所選定的連接點(diǎn)處要執(zhí)行的動(dòng)作,常見通知類型有before、around和after等,分表代表在連接點(diǎn)之前、連接點(diǎn)附近和連接點(diǎn)之后執(zhí)行相應(yīng)的通知代碼。方面是用來描述和實(shí)現(xiàn)橫切關(guān)注點(diǎn)的基本單位,由切點(diǎn)和通知構(gòu)成。方面端口中的方面橫切關(guān)注的是構(gòu)件,這與一般AOP(如AspectJ)橫切關(guān)注的對(duì)象(object)不同,由于構(gòu)件能夠表達(dá)對(duì)象所不能表達(dá)的請(qǐng)求服務(wù)的能力[9],這使得方面端口中方面所采用的連接點(diǎn)模型和切點(diǎn)語言具有很大的不同。Ln鹿性nKKF—0請(qǐng)求進(jìn)Ln鹿性nKKF—0請(qǐng)求進(jìn)口—C方面枸件HS3復(fù)臺(tái)構(gòu)件模型2.4.1連接點(diǎn)模型

計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939該連接點(diǎn)模型包含兩種不同類型的連接點(diǎn),即構(gòu)件服務(wù)端口中的服務(wù)提供操作和請(qǐng)求端口的服務(wù)請(qǐng)求操作。由于構(gòu)件的內(nèi)部結(jié)構(gòu)通常被視為黑盒,因此連接點(diǎn)模型應(yīng)該僅考慮構(gòu)件的外部可見元素,如構(gòu)件請(qǐng)求端口和服務(wù)端口中的服務(wù)操作。如果連接點(diǎn)模型包含構(gòu)件的屬性,那么它將會(huì)破壞構(gòu)件的分裝性。2.4.2切點(diǎn)語言用來選用連接點(diǎn)的切點(diǎn)語言基于切點(diǎn)表達(dá)式,表1給出了切點(diǎn)的五個(gè)組成部分,即component、jp_type、port、interface和service,然后分別對(duì)其進(jìn)行了說明。其中,jp_type代表選用的連接點(diǎn)類型,可以是請(qǐng)求端口中的服務(wù)、服務(wù)端口中的服務(wù)或所有端口中的服務(wù),詳細(xì)如表1。表2給出了切點(diǎn)語言的一些例子,其中正則表達(dá)式基于java.util.regexp包。中國(guó)學(xué)術(shù)期刊翩中國(guó)學(xué)術(shù)期刊翩(WWW.)是國(guó)內(nèi)楓威的計(jì)篦機(jī)期刊聯(lián)合征稿平臺(tái)□發(fā)表期刊推薦:《電脳知識(shí)與技術(shù)》瓦電腦編程技巧與維護(hù)》瓦中國(guó)信息界》《硅谷》昭協(xié)計(jì)算機(jī)應(yīng)用》《網(wǎng)絡(luò)財(cái)富》《信息與電腦》或計(jì)算機(jī)光盤軟件與應(yīng)用》《數(shù)字技術(shù)與應(yīng)用》等表I切點(diǎn)語肯語法城說明pr-dr<ni]poin-1it;jp_iypp;p<jrt;inierHicr^;百昶ivir^R4"4Jll]pi>lhllI構(gòu)件名的正則農(nóng)達(dá)式j(luò)p沖pnwidrd1requiini11k:>llipoll端11名的正則應(yīng)達(dá)式i11I1-rljjrif接11名的正則農(nóng)達(dá)式sfrvirp服務(wù)宕的正別裘達(dá)式表2切點(diǎn)語吉實(shí)例切點(diǎn)農(nóng)達(dá)式捕掘的朮秦S;??;IWTOIIIII?:¥<iiJ任竜構(gòu)件的便用任童接1丨的枉盤期丨1中匕account開頭且返回直離空的服務(wù)丸:ipq11iifrl;構(gòu)件A的請(qǐng)求端11兒恢用Je接11Jjiviiiiilirlarr;?w飛hiill屮的以"疔"川1站昆的服野B;pi'ovidirl;*;*構(gòu)件E的愎用枉盤接丨1的服務(wù)端11屮的任盤服務(wù)汁紆機(jī)論文寫作發(fā)表快速通這:砂QQ汁紆機(jī)論文寫作發(fā)表快速通這:砂QQ:7676699392.5面向方面軟件體系結(jié)構(gòu)模型面向方面軟件體系結(jié)構(gòu)由構(gòu)件、連接件、方面構(gòu)件組成詳細(xì)請(qǐng)參見圖6。祈I洱2二右詛*祈I洱2二右詛*A蒂口趣■顯電血畑irufTr?.**1『.1片0方iii.書匸1+1:罰*1—「1|.>____1111."—13基于面向方面軟件體系結(jié)構(gòu)模型的網(wǎng)上支付實(shí)例近年來,網(wǎng)上購物發(fā)展迅速,網(wǎng)上支付是消費(fèi)者主要的計(jì)算機(jī)論文寫作發(fā)表快速通一道:QQ:767669939支付手段之一,圖7給出了基于面向方面軟件體系結(jié)構(gòu)的網(wǎng)上支付模型,它由四個(gè)原子構(gòu)件,即一個(gè)復(fù)合構(gòu)件、兩個(gè)方面構(gòu)件和三個(gè)連接件組成。其中WebClientComponent代表客戶端構(gòu)件,它可以向網(wǎng)上銀行構(gòu)件WebBankComponent請(qǐng)求AccountService()服務(wù),該服務(wù)有三個(gè)參數(shù),即username、password、cost,分別對(duì)應(yīng)于用戶的網(wǎng)上銀行賬戶名、密碼及購買商品的消費(fèi)金額。〈componentname="WebClientComponent"〉〈required.portname="WebClientRequest"〉〈java.interfaceinterface="AccountServiceInterface"〉〈servicename="AccountService()"〉〈paramname="username"type="string"/〉〈paramname="password"type="string"/〉〈paramname="cost"type="float"/〉〈/service〉〈/java.interface〉〈/required.port〉計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939〈/component〉連接件AccountServiceConnector用于連接客戶端構(gòu)件和網(wǎng)上銀行構(gòu)件,它采用WebServiceBinding綁定機(jī)制?!碿onnectorname="AccountServiceConnector"binding="WebServi-ceBinding"/〉〈sourcename="S"/〉〈targetname="T"〉〈/connector〉〈connect.sourcefrom="WebClientComponent.WebClientRequest"to="S"/〉〈connect.targetfrom="T"to="WebBankComponent.Bank-Re-sponse"/〉網(wǎng)上銀行構(gòu)件是一個(gè)復(fù)合構(gòu)件,由賬戶服務(wù)構(gòu)件Account-ServiceComponent、賬戶數(shù)據(jù)庫連接件AccountDBConnector和賬戶數(shù)據(jù)庫構(gòu)件AccountDBComponent組裝而成。其中該復(fù)合構(gòu)件的服務(wù)端口也使用接口AccountServicelnterface,這是為了兼容客戶端構(gòu)件請(qǐng)求端口使用的接口。身份驗(yàn)證構(gòu)件AuthenticationComponent用于驗(yàn)證用戶的身份信息,它通過UserInfoConnector連接件訪問用戶信息數(shù)據(jù)庫構(gòu)件UserInfoDBComponent。中匡]學(xué)術(shù)期刊翩()是國(guó)內(nèi)楓威的計(jì)算機(jī)期刊聯(lián)合征稿平臺(tái)□發(fā)表期刊推薦:惟軀知識(shí)與技術(shù)》瓦電腦編程技巧與維護(hù)》昭中國(guó)信息界》《硅卻昭覘計(jì)算機(jī)應(yīng)用》《網(wǎng)絡(luò)財(cái)富》《信息與電腦》或計(jì)算機(jī)光盤軟件與應(yīng)用》《數(shù)字技術(shù)與應(yīng)用》等

計(jì)算機(jī)論文寫'作發(fā)表快速通道:曬眄.QQ:767669939pointcut="WebBankComponent;BankResponse;AccountServiceInterface;AccountService()"是該方面構(gòu)件的方面端口中使用切點(diǎn)的表達(dá)式。為了保證數(shù)據(jù)庫構(gòu)件UserInfoDBComponent和AccountDB-Component的安全性,方面構(gòu)件SecurityComponent使用方面端口Security監(jiān)視這兩個(gè)構(gòu)件的服務(wù)端口,使得在這兩個(gè)構(gòu)件服務(wù)調(diào)用之前增加日志和事務(wù)功能,而日志和事務(wù)功能在系統(tǒng)中通常表現(xiàn)為橫切關(guān)注點(diǎn),面向方面軟件體系結(jié)構(gòu)能夠?qū)λM(jìn)行很好的封裝,便于設(shè)計(jì)和維護(hù)?!碼spect.componentname="SecurityComponent"〉〈aspect.portname="Security"〉〈aspect〉〈pointcut="UserInfoDBComponent;UserInfoResponse;*;*|Ac-countDBComponent;AccountDBResponse;*;*"/〉〈advice.role="before"action="Log()"/〉〈advice.role="before"action="Transaction()"/〉〈/aspect〉〈/aspect.port〉〈required.portname="UserInfoRequest"/〉〈/aspect.component〉4結(jié)束語本文給出了一種面向方面軟件體系結(jié)構(gòu)模型,詳細(xì)設(shè)計(jì)了它的三個(gè)基本構(gòu)成單元模型,即構(gòu)件、連接件和方面構(gòu)件;中匡]學(xué)術(shù)期刊翩()是國(guó)內(nèi)楓威的計(jì)算機(jī)期刊聯(lián)合征稿平臺(tái)□發(fā)表期刊推薦:惟軀知識(shí)與技術(shù)》瓦電腦編程技巧與維護(hù)》昭中國(guó)信息關(guān)《硅卻昭覘計(jì)算機(jī)應(yīng)用》《網(wǎng)絡(luò)財(cái)富》《信息與電腦》或計(jì)算機(jī)光盤軟件與應(yīng)用》《數(shù)字技術(shù)與應(yīng)用》等

計(jì)算機(jī)論文寫'作發(fā)表快速通道:QQ:767669939最后通過一個(gè)網(wǎng)上支付實(shí)例驗(yàn)證了該模型有效性和實(shí)用性,為面向方面軟件體系結(jié)構(gòu)的實(shí)際應(yīng)用奠定了一定的基礎(chǔ)。筆者將繼續(xù)完善該模型的相關(guān)理論,研究面向方面軟件體系結(jié)構(gòu)的工程化應(yīng)用方法。參考文獻(xiàn):[1]FABRESSEL,DONYC,HUCHARDM.Foundationsofasimpleandunifiedcomponent-orientedlanguage[J].JournalofComputerLanguages,Systems&Structures,2008,34(2-3):130-149.[2]LIEBERHERRK,LORENZD,MEZINIM.Programmingwithas-pectualcomponents,TRNU-CSS-99-01[R].[S.l.]:NoutheastamUniversity,1999.[3]PAWLAKR,SERNTURIERL,DUCHIENLD,etal.JAC:a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論