999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于構(gòu)件和總線集成的業(yè)務(wù)基礎(chǔ)平臺框架研究

2009-01-01 00:00:00楊鶴標(biāo)喬亦民
計算機(jī)應(yīng)用研究 2009年4期

(江蘇大學(xué) 計算機(jī)科學(xué)與通信工程學(xué)院,江蘇 鎮(zhèn)江212013)

摘 要:

為了提高軟件復(fù)用的靈活性和軟件的開發(fā)效率,提出了一個基于構(gòu)件和總線集成的業(yè)務(wù)基礎(chǔ)平臺框架(CBBF),以結(jié)構(gòu)級的構(gòu)件定制和復(fù)用生成業(yè)務(wù)過程,以體系結(jié)構(gòu)支撐和集成軟件系統(tǒng)。闡述了基于業(yè)務(wù)基礎(chǔ)平臺的開發(fā)模式;設(shè)計了CBBF的體系結(jié)構(gòu);分析了CBBF實現(xiàn)的關(guān)鍵設(shè)計,包括XML總線集成的內(nèi)核引擎、構(gòu)件分類、構(gòu)件模型的形式化描述和構(gòu)件組裝;給出了CBBF的實現(xiàn)細(xì)節(jié)。實踐表明CBBF可以簡化軟件開發(fā)過程,大幅提高軟件開發(fā)效率。

關(guān)鍵詞:業(yè)務(wù)基礎(chǔ)平臺; 構(gòu)件; 框架; 軟件總線

中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A

文章編號:1001-3695(2009)04-1366-04

Study of business platform framework based on component and bus integration

YANG He-biao, QIAO Yi-min, DUAN Li

(School of Computer Science Telecommunications Engineering, Jiangsu University, Zhenjiang Jiangsu 212013, China)

Abstract:In order to improve the flexibility of software reuse and the efficiency of software development, this paper put forward component oriented and bus integrated software framework for business platform (CBBF). This framework could be used to develop business process in structure-level component customization and reuse, moreover to support and integrate software system with software architecture. Specified the software development model based on business platform. Then, illustrated the architecture and the key issues of CBBF, such as XML bus based kernel engine design, classification of business component, formalization of component model and component Integration. Finally, gave the implementation details. Practice has proved that CBBF can simplify the software development process, substantially increases the efficiency of software development.

Key words:business platform; component; framework; software bus



如何適應(yīng)業(yè)務(wù)的快速變化是開發(fā)和實施軟件系統(tǒng)面臨的最重大的挑戰(zhàn)。傳統(tǒng)的以數(shù)據(jù)為中心的開發(fā)方式由于其業(yè)務(wù)固化性和實施復(fù)雜性,無法滿足應(yīng)用軟件系統(tǒng)開發(fā)的速度要求、靈活性要求和集成性要求,導(dǎo)致復(fù)雜軟件系統(tǒng)開發(fā)困難,更為其業(yè)務(wù)拓展和維護(hù)戴上了沉重的桎梏。如何抽象出一種簡潔、快捷、直接描述業(yè)務(wù)和管理的體系是解決這一問題的根本所在。業(yè)務(wù)基礎(chǔ)平臺基于業(yè)務(wù)與實現(xiàn)無關(guān)的理念,提出了一種快速開發(fā)軟件系統(tǒng)的方法,被證明是解決上述問題的有效途徑,一經(jīng)提出便帶來了軟件業(yè)發(fā)展史上的革命。

近年來,隨著軟件復(fù)用研究的深入,關(guān)于構(gòu)件框架的研究也越來越受到人們的重視。其中主要包括框架建模[1]、框架擴(kuò)展[2]、構(gòu)件集成[3]和領(lǐng)域應(yīng)用[4]等方面的研究。但是這些研究大多局限在建模和高層描述上[3];而且沒有提供大粒度的結(jié)構(gòu)級的構(gòu)件定制和復(fù)用機(jī)制,新的業(yè)務(wù)需要重新開發(fā)構(gòu)件;領(lǐng)域應(yīng)用方面也往往由于引入了重量級的架構(gòu)方案,導(dǎo)致擴(kuò)展困難和開發(fā)難度巨大。本文提出和實現(xiàn)的基于構(gòu)件和總線集成的業(yè)務(wù)基礎(chǔ)平臺框架(CBBF)嘗試通過體系結(jié)構(gòu)和邏輯結(jié)構(gòu)級的構(gòu)件復(fù)用簡化軟件系統(tǒng)開發(fā),以構(gòu)件和模型組裝業(yè)務(wù)過程,以體系結(jié)構(gòu)和業(yè)務(wù)過程集成軟件系統(tǒng),實現(xiàn)從高層描述到具體實現(xiàn)的映射,使得系統(tǒng)架構(gòu)穩(wěn)定清晰、易于理解,努力克服當(dāng)前軟件架構(gòu)和開發(fā)中的種種問題,提高軟件的生產(chǎn)效率。

1 基于業(yè)務(wù)基礎(chǔ)平臺的開發(fā)模式

傳統(tǒng)的軟件開發(fā)模式是以概要設(shè)計和編碼驅(qū)動的,直接在低層的基礎(chǔ)技術(shù)平臺上采用面向技術(shù)、業(yè)務(wù)無關(guān)的原始的編程工具來開發(fā)。依照這種模式開發(fā)的系統(tǒng),大多缺乏統(tǒng)一的業(yè)務(wù)基礎(chǔ)架構(gòu),而且開發(fā)效率低、實施周期長、系統(tǒng)柔性差,無法適應(yīng)需求的變化[5~7]。其弊端主要表現(xiàn)在三個方面:a)需求變更不靈活;b)軟件復(fù)用性差;c)易陷于基于數(shù)據(jù)的開發(fā)模式。

針對這種開發(fā)模式的弊端,新的軟件開發(fā)模式必須能夠快速適應(yīng)業(yè)務(wù)需求的變化、支持大規(guī)模的復(fù)用、方便擴(kuò)展和利于快速開發(fā)。為此,提出了基于業(yè)務(wù)基礎(chǔ)平臺的開發(fā)模式。業(yè)務(wù)基礎(chǔ)平臺是一種業(yè)務(wù)導(dǎo)向和驅(qū)動的可快速構(gòu)建應(yīng)用軟件的軟件體系。從技術(shù)角度分析,業(yè)務(wù)基礎(chǔ)軟件平臺為復(fù)雜應(yīng)用軟件系統(tǒng)的開發(fā)提供了一個基本框架,并有與之相應(yīng)的擴(kuò)展與維護(hù)管理工具,這個框架給出了復(fù)雜軟件系統(tǒng)的基本組成部分和實現(xiàn)方法,并預(yù)置了很多可復(fù)用的模型構(gòu)件。在這樣的框架上開發(fā)軟件可以降低復(fù)雜度,省去基礎(chǔ)性的研發(fā)工作,大大縮短研發(fā)周期,提高研發(fā)效率。圖1描述了基于業(yè)務(wù)基礎(chǔ)平臺的軟件開發(fā)模式。

下面先給出與此模式相關(guān)的概念:

定義1 用戶。用戶指業(yè)務(wù)基礎(chǔ)平臺的使用者,用戶共分兩類,即企業(yè)業(yè)務(wù)人員和傳統(tǒng)的程序開發(fā)人員。由于業(yè)務(wù)基礎(chǔ)平臺的面向業(yè)務(wù)和技術(shù)無關(guān)性,業(yè)務(wù)人員可作為開發(fā)者參與軟件開發(fā)。用戶用BU來表示。

定義2 業(yè)務(wù)對象。它是業(yè)務(wù)活動中業(yè)務(wù)實體和信息實體的抽象,每個實體具有與其相關(guān)的屬性,如員工姓名、性別等。業(yè)務(wù)對象用一個二元組表示,記為bo=(ID,A)。其中:ID為該業(yè)務(wù)對象的惟一標(biāo)志;A為該業(yè)務(wù)對象的屬性集合。

定義3 業(yè)務(wù)邏輯。它是一個特定的角色作用于業(yè)務(wù)對象及其屬性上的相關(guān)操作。將業(yè)務(wù)邏輯從業(yè)務(wù)對象中抽離出來,提高了系統(tǒng)的可復(fù)用性。業(yè)務(wù)邏輯用一個四元組表示,記為bl=( r, bo, A, op)。其中:r為操作業(yè)務(wù)對象使其屬性發(fā)生改變的特定角色;

bo、A為被動操作的業(yè)務(wù)對象及其屬性;

op為執(zhí)行的相關(guān)操作。

定義4 業(yè)務(wù)過程。指相關(guān)業(yè)務(wù)的參與者,按照業(yè)務(wù)順序關(guān)系,通過一系列業(yè)務(wù)邏輯,作用于單個或多個業(yè)務(wù)對象使其屬性發(fā)生改變的一組完整的業(yè)務(wù)活動。業(yè)務(wù)過程用一個五元組表示,記為bp=( R, BO, A, BL, s)。其中:R為該業(yè)務(wù)過程的參與者的集合;

BO、A為被動操作的業(yè)務(wù)對象及其屬性的集合;

BL為執(zhí)行的業(yè)務(wù)邏輯的集合;

s為業(yè)務(wù)邏輯執(zhí)行的相關(guān)順序關(guān)系。

定義5 業(yè)務(wù)模型。它是業(yè)務(wù)過程在業(yè)務(wù)基礎(chǔ)平臺中的軟件表示,業(yè)務(wù)模型與業(yè)務(wù)過程是一一對應(yīng)的關(guān)系。業(yè)務(wù)模型用一個三元組表示,記為bm=(ID,C,D)。其中:

ID為該業(yè)務(wù)模型的惟一標(biāo)志;

C是構(gòu)件的集合,包括三類構(gòu)件,C=(IC,LC,SC),分別表示界面構(gòu)件、邏輯構(gòu)件和服務(wù)構(gòu)件(界面構(gòu)件負(fù)責(zé)業(yè)務(wù)過程對用戶(最終軟件的使用者)的展現(xiàn),邏輯構(gòu)件用于處理業(yè)務(wù)邏輯(bl),服務(wù)構(gòu)件提供業(yè)務(wù)構(gòu)件與數(shù)據(jù)交互的映射服務(wù),三者最終組裝成業(yè)務(wù)過程(bp));

D是業(yè)務(wù)模型處理的數(shù)據(jù)。

定義6 業(yè)務(wù)集成結(jié)構(gòu)。它是為了構(gòu)造可用的軟件系統(tǒng)由業(yè)務(wù)模型集成的相互協(xié)作的整體。業(yè)務(wù)集成結(jié)構(gòu)用一個二元組表示,記為bi=(BM,constraint)。其中:BM是業(yè)務(wù)模型的集合;

constraint是業(yè)務(wù)模型之間的約束關(guān)系。

在新的開發(fā)模式下,將軟件系統(tǒng)抽象為業(yè)務(wù)相關(guān)人員在特定的管理思想和方法(bl)的指導(dǎo)與控制下對業(yè)務(wù)對象(bo)進(jìn)行合理的使用與調(diào)度,并且使一系列的業(yè)務(wù)過程(bp)在業(yè)務(wù)規(guī)則(constraint)的約束下統(tǒng)一運(yùn)作的整體。在此模式下軟件系統(tǒng)的開發(fā)過程為:首先由業(yè)務(wù)基礎(chǔ)平臺用戶(BU)根據(jù)業(yè)務(wù)需求抽象出業(yè)務(wù)活動中的業(yè)務(wù)對象(bo)、業(yè)務(wù)邏輯(bl)和業(yè)務(wù)過程(bp);然后利用平臺提供的建模工具進(jìn)行業(yè)務(wù)建模,利用界面構(gòu)件(IC)、邏輯構(gòu)件(LC)和服務(wù)構(gòu)件(SC),把業(yè)務(wù)過程組裝成業(yè)務(wù)模型(bm);進(jìn)而由集成工具把生成的業(yè)務(wù)模型(bm)集成于平臺體系中,生成業(yè)務(wù)集成結(jié)構(gòu);最后由部署工具進(jìn)行系統(tǒng)部署,最終生成用戶需要的軟件系統(tǒng)。通過對實際應(yīng)用的大量研究,總結(jié)出若干種處理業(yè)務(wù)過程的典型的用戶界面和大量的邏輯過程,將其抽象為界面構(gòu)件和邏輯構(gòu)件,并且可由平臺自動生成,基本能夠覆蓋企業(yè)應(yīng)用的大部分需求。在這個開發(fā)過程中,無論是系統(tǒng)的測試和需求的變更都是基于大粒度的業(yè)務(wù)模型進(jìn)行,大大提高了開發(fā)的靈活性和效率。

2 CBBF體系結(jié)構(gòu)

體系結(jié)構(gòu)被認(rèn)為是軟件系統(tǒng)能獲得最大化復(fù)用的方式,D.E.Perry把軟件體系結(jié)構(gòu)視為軟件開發(fā)中第一類重要的設(shè)計對象[8]。體系結(jié)構(gòu)作為系統(tǒng)設(shè)計的抽象,為實現(xiàn)框架和構(gòu)件的共享與復(fù)用、基于體系結(jié)構(gòu)的軟件開發(fā)提供了有力的支持[9]。由于層次化體系結(jié)構(gòu)具有良好的靈活性、可擴(kuò)展性和可復(fù)用性,與業(yè)務(wù)基礎(chǔ)平臺的理念具有概念上的一致性。因此,CBBF的整體和內(nèi)部結(jié)構(gòu)均采用層次化體系結(jié)構(gòu)風(fēng)格。

2.1 CBBF的總體結(jié)構(gòu)

CBBF的體系結(jié)構(gòu)如圖2所示。從圖2中可以看出,框架中,環(huán)境層、構(gòu)件層、擴(kuò)展層、集成層、應(yīng)用層、軟件系統(tǒng)層具有明顯的層次結(jié)構(gòu),上層調(diào)用下層提供的服務(wù)而無須了解下層的實現(xiàn)細(xì)節(jié)。框架在環(huán)境層的基礎(chǔ)上,通過對構(gòu)件層的擴(kuò)展產(chǎn)生滿足用戶需求的業(yè)務(wù)應(yīng)用,如果僅僅通過對構(gòu)件層的擴(kuò)展無法滿足用戶需求,則可以進(jìn)一步通過擴(kuò)展層提供的基層開發(fā)接口進(jìn)行再開發(fā),這些業(yè)務(wù)應(yīng)用相互協(xié)作構(gòu)成系統(tǒng)的應(yīng)用層,所有的框架構(gòu)件和產(chǎn)生的應(yīng)用層構(gòu)件在框架集成層提供的集成機(jī)制下協(xié)同工作,生成滿足用戶特殊需要的軟件系統(tǒng)。下文將對框架的各層進(jìn)行詳細(xì)介紹。

1)環(huán)境層該層將不同軟件系統(tǒng)對平臺的不同需求封裝起來,為上層構(gòu)件提供統(tǒng)一規(guī)范的接口,使得上層構(gòu)件的開發(fā)者不必考慮底層環(huán)境的實現(xiàn)機(jī)制,而將注意力集中在與業(yè)務(wù)相關(guān)的部分。

2)構(gòu)件層該層是應(yīng)用層的基礎(chǔ),是產(chǎn)生用戶業(yè)務(wù)需求的來源,分為框架構(gòu)件和業(yè)務(wù)構(gòu)件兩種。框架構(gòu)件是平臺框架的基礎(chǔ)性構(gòu)件,框架構(gòu)件在集成機(jī)制的協(xié)作下構(gòu)成了平臺框架的基本功能和體系結(jié)構(gòu),并為業(yè)務(wù)構(gòu)件提供運(yùn)行時的環(huán)境。業(yè)務(wù)構(gòu)件是框架中最為關(guān)鍵的一層,是最能體現(xiàn)框架擴(kuò)展性的地方。由于基于業(yè)務(wù)基礎(chǔ)平臺的軟件開發(fā)是在平臺的基礎(chǔ)上,對提供的業(yè)務(wù)模型及業(yè)務(wù)邏輯的集成、定制與再開發(fā),因此框架提供的業(yè)務(wù)構(gòu)件越豐富就越能構(gòu)造出功能復(fù)雜的軟件系統(tǒng)。

3)擴(kuò)展層如果不能提供代碼級的開發(fā)接口,就不能算是真正意義上的業(yè)務(wù)基礎(chǔ)平臺。因此,為了更精確的實現(xiàn)用戶要求的業(yè)務(wù)需求,有時會需要對基于構(gòu)件層開發(fā)的大粒度的業(yè)務(wù)應(yīng)用進(jìn)行更底層的代碼級的開發(fā),為此必須為用戶提供二次開發(fā)的接口。擴(kuò)展層提供基于各種語言的開發(fā)接口,用戶可以采用自己熟知的開發(fā)語言重新開發(fā)新的業(yè)務(wù)或者對已實現(xiàn)的業(yè)務(wù)應(yīng)用進(jìn)一步定制,盡可能地做到語言無關(guān)。

4)集成層約束和連接是框架的集成機(jī)制,構(gòu)成了框架的集成層??蚣軜?gòu)件和業(yè)務(wù)構(gòu)件只提供了單一的功能,而沒有將這些孤立的功能組合成為具有邏輯意義的業(yè)務(wù)過程,連接使得用戶和開發(fā)者可以組合或關(guān)聯(lián)相應(yīng)的構(gòu)件生成所需的業(yè)務(wù)過程,進(jìn)而生成應(yīng)用層的各個應(yīng)用模塊。約束包括業(yè)務(wù)規(guī)則和控制流程,過程引擎根據(jù)框架定義的業(yè)務(wù)規(guī)則和控制流程調(diào)用相應(yīng)的構(gòu)件。

5)應(yīng)用層基于業(yè)務(wù)基礎(chǔ)平臺框架的軟件開發(fā)是在領(lǐng)域分析的基礎(chǔ)上,集成框架的業(yè)務(wù)構(gòu)件生成滿足用戶需求的業(yè)務(wù)模塊,進(jìn)而生成軟件系統(tǒng)的過程。應(yīng)用層包括開發(fā)者生成的業(yè)務(wù)模塊和框架固有的公共模塊。

6)軟件系統(tǒng)層該層是平臺框架的最高層次,也是用戶開發(fā)的最終實現(xiàn)層次。用戶和開發(fā)者在平臺框架的基礎(chǔ)上,經(jīng)過業(yè)務(wù)分析、業(yè)務(wù)建模、業(yè)務(wù)集成、應(yīng)用部署等一系列的開發(fā)步驟,對框架提供的豐富的可復(fù)用構(gòu)件進(jìn)行修改、擴(kuò)充,最終形成滿足用戶需求的各式應(yīng)用系統(tǒng)。

2.2 應(yīng)用層模塊的內(nèi)部結(jié)構(gòu)

對于一個企業(yè)應(yīng)用而言,從業(yè)務(wù)表現(xiàn)的角度是由不同的功能(或應(yīng)用模塊)組合而成;從系統(tǒng)結(jié)構(gòu)的角度,為了使系統(tǒng)具有更好的可靠性、可擴(kuò)展性和可定制化,每個功能又分為展現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)層等不同的層次;從技術(shù)實現(xiàn)的角度,這些層次最終能夠運(yùn)轉(zhuǎn)起來滿足功能的要求又依賴于代碼、數(shù)據(jù)和運(yùn)行環(huán)境等軟件基本要素。實際上,一個企業(yè)應(yīng)用系統(tǒng)的應(yīng)用架構(gòu)就是通過功能、層次、軟件要素這三個相互影響的維度有機(jī)結(jié)合形成的。筆者將平臺框架應(yīng)用層的每一個功能模塊稱為一個應(yīng)用模塊,單個應(yīng)用模塊的內(nèi)部結(jié)構(gòu)如圖3所示。

CBBF為應(yīng)用模塊提供一套體系完整的架構(gòu),從展現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)服務(wù)層到底層的數(shù)據(jù)庫,按照MVC的思想嚴(yán)密組織。同時,構(gòu)件層的業(yè)務(wù)構(gòu)件按要求劃分為模型類構(gòu)件、API類構(gòu)件、數(shù)據(jù)服務(wù)類構(gòu)件,分別為應(yīng)用模塊的不同層次提供相應(yīng)的服務(wù)。

3 原型系統(tǒng)的關(guān)鍵技術(shù)與實現(xiàn)

作為一種平臺框架,必須在滿足穩(wěn)定性的基礎(chǔ)上保證其可擴(kuò)展性,同時框架要實現(xiàn)靈活的構(gòu)件的集成和添加。為此,借鑒操作系統(tǒng)設(shè)計中提出的微內(nèi)核的思想[10],抽取一組最基本的只與框架相關(guān)而與應(yīng)用無關(guān)的核心功能(如集成層)設(shè)計為內(nèi)核引擎,而其他與應(yīng)用相關(guān)的部分(如構(gòu)件層、應(yīng)用層)作為構(gòu)件形式實現(xiàn);環(huán)境層和擴(kuò)展層所需的底層支持文件以內(nèi)核引擎可以識別的通用文件包格式提供,如環(huán)境層的各種數(shù)據(jù)庫驅(qū)動,以驅(qū)動文件包的格式集成于框架,并由內(nèi)核調(diào)用完成各種功能。

3.1 基于XML總線集成的內(nèi)核引擎

內(nèi)核引擎作為框架固定不變的部分,解決了構(gòu)件集成以及運(yùn)行時構(gòu)件的協(xié)作和通信問題。平臺框架內(nèi)核引擎的實現(xiàn)采用XML總線結(jié)構(gòu)。XML總線是一種類似計算機(jī)硬件總線的技術(shù),只要符合總線標(biāo)準(zhǔn)的軟件構(gòu)件都可以插接到XML總線上,以實現(xiàn)構(gòu)件的即插即用。基于總線和接口的體系結(jié)構(gòu)和系統(tǒng)具有良好的擴(kuò)展性和適應(yīng)性?;赬ML總線的內(nèi)核引擎工作模型如圖4所示。

XML總線由管理器和控制器兩個重要的部分構(gòu)成??偩€的管理器采用XML文件的方式管理集成與框架中的構(gòu)件,主要完成構(gòu)件的添加和撤除;控制器用來控制和調(diào)度總線上的各個構(gòu)件及其模塊,主要完成構(gòu)件的裝載、卸載、啟動、掛起和停止以及接收和分發(fā)各個構(gòu)件間的通信消息。通過XML總線,內(nèi)核引擎開放標(biāo)準(zhǔn)的接口給各個構(gòu)件發(fā)送消息,各個構(gòu)件只要遵循總線規(guī)定的消息定義標(biāo)準(zhǔn)就可以通過總線發(fā)送消息到相應(yīng)的構(gòu)件;新增構(gòu)件時只要遵循標(biāo)準(zhǔn)接口規(guī)范,在總線上進(jìn)行注冊,就可以集成新的構(gòu)件到系統(tǒng)中,而不會導(dǎo)致內(nèi)核的改變。

3.2 構(gòu)件分類及構(gòu)件模型設(shè)計

按照分布計算體系結(jié)構(gòu)的思想,任何一個應(yīng)用軟件的構(gòu)架均可劃分為三種構(gòu)造邏輯[11,12]:a)界面表示邏輯,用于覆蓋與用戶交互的前端展現(xiàn);b)事物處理邏輯,體現(xiàn)軟件的核心處理能力;c)數(shù)據(jù)管理邏輯,用于解決用戶事務(wù)的數(shù)據(jù)交換和后端服務(wù)問題。按照這種劃分邏輯,筆者將平臺框架中的業(yè)務(wù)構(gòu)件分為模型構(gòu)件、API構(gòu)件和數(shù)據(jù)服務(wù)構(gòu)件,分別用來處理上述的三種邏輯。這種劃分方法,本質(zhì)上仍然是三層架構(gòu)的思想,有利于保證用戶、應(yīng)用程序和數(shù)據(jù)三者之間的相互獨立性,以提高軟件的整體執(zhí)行效率和架構(gòu)重組性能,同時也保證了應(yīng)用層模塊的順利實施。

應(yīng)用層模塊以構(gòu)件的形式插接于框架的內(nèi)核引擎之上,并有一系列的構(gòu)件層原子構(gòu)件提供功能上的支持,因此,一個應(yīng)用模塊是一組原子構(gòu)件的集合,稱之為復(fù)合構(gòu)件。為此,框架中的構(gòu)件在結(jié)構(gòu)上又分為原子構(gòu)件和復(fù)合構(gòu)件。

為了使構(gòu)件方便的集成于框架的內(nèi)核引擎并被框架所調(diào)用,針對內(nèi)核引擎的要求,設(shè)計以下適合與本框架的構(gòu)件模型:

〈component〉 ::= (〈component description〉,〈component specification〉,〈component implementation〉)

〈component description〉 ::= (〈component id〉,〈component filelink〉,〈component class〉, 〈service collection〉)

〈service〉 ::= 〈function collection provide for others〉,〈function collection request for others〉

〈component specification〉::= (〈component interface〉,〈component structure〉)

〈component interface〉::=〈service collection〉

〈component structure〉::=〈atom component〉|〈compound component〉

〈atom component〉::=〈reference of atom component implementation〉

〈compound component〉::=〈referenced atom components declaration〉,〈member component connection〉,〈interface mapping〉

〈interface mapping〉::=〈compound component interface-〉atom component interface〉

3.3 構(gòu)件的組裝機(jī)制

構(gòu)件的組裝是基于構(gòu)件的框架研究的關(guān)鍵,而且一直以來也是難點所在。構(gòu)件組裝的本質(zhì)是建立構(gòu)件之間的關(guān)聯(lián),根據(jù)這種關(guān)聯(lián)協(xié)調(diào)構(gòu)件的行為,將構(gòu)件組織成一個有機(jī)的整體。構(gòu)件的組裝策略有兩種,即自頂向下的組裝方法和自底向上的組裝方法。前者始于系統(tǒng)的集中模型,通過逐步求精將細(xì)節(jié)引入框架;后者對各個子系統(tǒng)單獨建模,通過協(xié)調(diào)機(jī)制建立之間的關(guān)聯(lián)。目前常用的做法是采用自底向上的方法,用面向?qū)ο蠹夹g(shù)開發(fā)構(gòu)件,通過方法調(diào)用來連接構(gòu)件。但是研究發(fā)現(xiàn),構(gòu)件之間通過觸發(fā)方法來交互和通信,容易造成對象之間的隱式依賴[13]。

為了消除構(gòu)件之間的依賴,使得單個構(gòu)件的修改不會影響到其他構(gòu)件功能,CBBF采用構(gòu)件+腳本的方法來協(xié)調(diào)構(gòu)件及其組織關(guān)系。構(gòu)件之間彼此獨立,直到需要組合生成復(fù)雜構(gòu)件或者集成系統(tǒng)時才產(chǎn)生交互,保證了構(gòu)件之間的獨立性。為此,CBBF提供了基于XML的構(gòu)件集成描述語言(component integrated description language, CIDL)用于描述復(fù)雜構(gòu)件的組裝和業(yè)務(wù)過程的集成。CIDL采用XML Schema進(jìn)行定義,元素包括應(yīng)用名、描述、版本、調(diào)用構(gòu)件集、應(yīng)用屬性集、應(yīng)用過程集等,Schema的定義如下:

〈schema targetNamespace=\"http://www.ujs.edu.cn/biz\"

xmlns=\"http://www.w3.org/2001/XMLSchema\"〉

〈annotation〉

〈documentation xml:lang=\"zh\"〉

CIDL schema for CBBF

〈/documentation〉

〈/annotation〉

〈element name=\"appName\" type=\"string\"/〉

〈element name=\"description\" type=\"string\"/〉

〈element name=\"appVersion\" type=\"string\"/〉

〈complexType name=\"calledComponent\"〉

〈sequence〉

〈element name=\"elemName\" type=\"elemType\"/〉

〈element name=\"funName\"type=\"comRef\"/〉

〈/sequence〉

〈/complexType〉

〈/schema〉

通過引入CIDL,實現(xiàn)對構(gòu)件的組裝,使得業(yè)務(wù)應(yīng)用與構(gòu)件實現(xiàn)相分離,提高了靈活性,同時也方便了業(yè)務(wù)應(yīng)用的定制。

3.4 原型系統(tǒng)的實現(xiàn)和應(yīng)用測試

基于構(gòu)件技術(shù)的業(yè)務(wù)基礎(chǔ)平臺框架原型系統(tǒng)在Eclipse平臺下采用Java技術(shù)實現(xiàn)。在內(nèi)核引擎的實現(xiàn)中采用ClassLoader和Package機(jī)制來裝載構(gòu)件,同時利用Java的反射機(jī)制動態(tài)調(diào)用構(gòu)件類的方法。這樣保證了核心類庫不被破壞。系統(tǒng)提供XML總線的定義和解析機(jī)制,構(gòu)件的插接和構(gòu)件的描述采用XML文件定義;同時開發(fā)大量可用于復(fù)用的構(gòu)件供應(yīng)用開發(fā)時使用。通過對大量實際應(yīng)用的研究,開發(fā)出若干種典型的界面模型,以及功能豐富的輔助工具,包括數(shù)據(jù)配置工具、模型配置工具、開發(fā)擴(kuò)展工具等。在主界面中,采用上左右結(jié)構(gòu),上邊提供功能豐富的菜單和工具欄接口,左側(cè)采用樹型結(jié)構(gòu)集成用戶開發(fā)的業(yè)務(wù)應(yīng)用;右側(cè)是開發(fā)主界面,開發(fā)者在此界面中實現(xiàn)對應(yīng)用的定制和開發(fā),只需要選擇合適的模型構(gòu)件,并為模型構(gòu)件配置滿足需求的業(yè)務(wù)處理構(gòu)件和數(shù)據(jù)服務(wù)構(gòu)件來進(jìn)行應(yīng)用的開發(fā)。

在某市勞動局的OA項目中采用基于CBBF框架的開發(fā),將每一個業(yè)務(wù)過程抽象為復(fù)合構(gòu)件,通過XML總線集成到框架中。開發(fā)中,項目的大部分交互界面和業(yè)務(wù)邏輯均可通過框架中內(nèi)置的界面構(gòu)件和基礎(chǔ)構(gòu)件實現(xiàn),只有少部分的特殊應(yīng)用需二次編碼。實踐表明,基于CBBF的開發(fā),可以大大減少代碼開發(fā)的工作量,極大提高開發(fā)效率,開發(fā)流程清晰有序,軟件的可控性和可操作性大大增加,對于需求變更也可極快地適應(yīng)。

4 結(jié)束語

業(yè)務(wù)基礎(chǔ)平臺作為一種全新的開發(fā)理念,可以實現(xiàn)大規(guī)模的基于復(fù)用的開發(fā),從根本上提高軟件開發(fā)的效率,被認(rèn)為是解決軟件危機(jī)的一種有效途徑,越來越受到科研以及商業(yè)運(yùn)用的青睞。但是,目前關(guān)于這一領(lǐng)域的研究卻處在起步階段。本文提出和實現(xiàn)的基于構(gòu)件和總線集成的業(yè)務(wù)基礎(chǔ)平臺框架,對業(yè)務(wù)基礎(chǔ)平臺的研究具有一定的探索意義。本文的研究中,提出了基于業(yè)務(wù)基礎(chǔ)平臺的開發(fā)模式,構(gòu)造出了基于構(gòu)件技術(shù)的業(yè)務(wù)基礎(chǔ)平臺框架元模型,設(shè)計了框架的體系結(jié)構(gòu),采用了基于XML總線的內(nèi)核引擎的實現(xiàn)方法,最終完成了一種業(yè)務(wù)基礎(chǔ)平臺的研究過程?;跇?gòu)件技術(shù)的業(yè)務(wù)基礎(chǔ)平臺中的工作流是下一步研究的重點。

參考文獻(xiàn):

[1]EHRIG H, OREJAS F, BRAATZ B, et al. A component framework based on high-level replacement systems [J]. Electronic Notes in Theoretical Computer Science, 2003, 72(3): 118-132.

[2]劉瑜,張世琨,王立福,等.基于構(gòu)件的軟件框架與角色擴(kuò)展形態(tài)研究[J].軟件學(xué)報,2003,14(08): 1364-1370.

[3]SCHEBENU. Hierarchical composition of industrial components[J]. Science of Computer Programming, 2005, 56(1-2): 117-139.

[4]黃顯,王千祥,曹東剛,等. PKUAS:一種面向領(lǐng)域的構(gòu)件運(yùn)行支撐平臺[J].電子學(xué)報,2002,30(12A): 1938-1942.

[5]WEBER M, WEISBROD J. Requirements engineering in automotive development: experiences and challenges[J]. IEEE Software, 2003, 120(1):162-241.

[6]RAMZAN S, IKRAM N. Making decision in requirement change mana-gement[C]//Proc of the 1st International Conference on Information and Communication Technologies. [S.l.]: IEEE Press, 2005:309-312.

[7]WEN Lian, DROMEY R G. From requirements change to design change: a formal path[C]//Proc of the 2nd International Conference on Software Engineering and Formal Methods. Washington DC: IEEE Computer Society, 2004: 104-113.

[8]PERRYD E. Software engineering and software architecture[C]//Proc of the International Conference on Software: Theory and Practice. Beijing: Electronic Industry Press, 2000:1-4.

[9]孫昌愛,金茂忠,劉超.軟件體系結(jié)構(gòu)研究綜述[J].軟件學(xué)報,2003,13(7):1228-1237.

[10]TANENBAUM S A, WOODHULL A S. Operating systems: design and implementation[M].2nd ed. New Jersey: Prentice Hall, 1997.

[11]劉曉銘,劉積仁,李華天.構(gòu)件化領(lǐng)域框架設(shè)計與實現(xiàn)[J].計算機(jī)研究與發(fā)展, 1999, 36(2):166-169.

[12]萬麟瑞,胡宏,孫紅星.面向構(gòu)件的軟件開發(fā)方法學(xué)研究[J].小型微型計算機(jī)系統(tǒng), 2003,24(3):365-370.

[13]WANG G J, UNGER L, KLAWOTTER D. Component assembly for OO distributed systems[J]. IEEE Computer, 1999, 32(7):71-78.

主站蜘蛛池模板: 丰满少妇αⅴ无码区| 欧美在线视频不卡| 国产成人精品在线| 国产又粗又猛又爽视频| 中文字幕亚洲专区第19页| 国产欧美自拍视频| 在线日韩一区二区| 国产成人资源| 黄色网址免费在线| 试看120秒男女啪啪免费| 原味小视频在线www国产| 国产精品美女在线| 久久黄色毛片| 丁香婷婷激情网| 国产自产视频一区二区三区| 婷婷色婷婷| 精品国产乱码久久久久久一区二区| 激情综合网址| 91尤物国产尤物福利在线| 欧美日韩一区二区在线播放| 五月激情综合网| 91一级片| 日本国产精品一区久久久| 亚洲人成人无码www| 中文字幕欧美成人免费| 亚洲成人精品久久| 欧美成人精品在线| 久久这里只精品国产99热8| 99久久亚洲综合精品TS| 色视频国产| 中文字幕 欧美日韩| 国产成人禁片在线观看| 亚洲国产黄色| 国产拍揄自揄精品视频网站| 国产美女91视频| 国产精品无码久久久久久| 理论片一区| 中文字幕永久视频| 精品一区二区三区自慰喷水| 一区二区三区国产精品视频| 国产精品综合色区在线观看| 日韩精品成人网页视频在线| www亚洲精品| 亚洲无码在线午夜电影| 国产精品成人不卡在线观看| 亚洲精品男人天堂| 欧美成人怡春院在线激情| 国产一级二级三级毛片| 在线网站18禁| 综合网天天| 国产一级视频久久| 久久99国产综合精品1| 午夜国产在线观看| 久久国产精品77777| 国产18在线| 国产精品手机视频| 日韩毛片免费观看| 亚洲青涩在线| 久久综合伊人 六十路| 国产视频入口| 女人18毛片一级毛片在线| 亚洲狼网站狼狼鲁亚洲下载| 99精品视频播放| 国产杨幂丝袜av在线播放| 亚洲男人的天堂久久香蕉网| 99视频有精品视频免费观看| 日韩性网站| 国产成人一级| 午夜丁香婷婷| 亚洲成网777777国产精品| 少妇极品熟妇人妻专区视频| 国产农村1级毛片| 国产色伊人| 久久青草免费91线频观看不卡| 国产人成在线观看| 精品国产黑色丝袜高跟鞋| 亚洲Va中文字幕久久一区 | 最新国产麻豆aⅴ精品无| 国产丝袜91| 国产精品免费露脸视频| 真实国产乱子伦高清| 男女男精品视频|