常炳國(guó), 王祥宗
(湖南大學(xué)軟件學(xué)院,湖南長(zhǎng)沙410082)
隨著用戶對(duì)軟件的個(gè)性化、動(dòng)態(tài)適應(yīng)性要求越來越高,軟件需求復(fù)雜性在空間和時(shí)間維度大幅提升。軟件產(chǎn)業(yè)增長(zhǎng)和復(fù)雜度提高與相對(duì)落后的軟件生產(chǎn)之間存在矛盾,解決落后軟件生產(chǎn)力的關(guān)鍵是推動(dòng)軟件的自動(dòng)化合工業(yè)化技術(shù)。傳統(tǒng)工業(yè)化生產(chǎn)模式是符合標(biāo)準(zhǔn)的零部件(構(gòu)件)生產(chǎn),以及基于標(biāo)準(zhǔn)構(gòu)件的產(chǎn)品生產(chǎn)(組裝)。其中構(gòu)件是核心和基礎(chǔ),組裝復(fù)用是必要的手段。實(shí)踐表明,構(gòu)件化軟件生產(chǎn)是軟件生產(chǎn)工業(yè)化的必要選擇[1]。因此,軟件產(chǎn)業(yè)規(guī)模經(jīng)濟(jì)的形成和發(fā)展,軟件構(gòu)件化、標(biāo)準(zhǔn)化組裝生產(chǎn)成為關(guān)鍵。
基于構(gòu)件的軟件工程研究的核心熱點(diǎn)有構(gòu)件化建模規(guī)約及相應(yīng)支撐工具的形成,構(gòu)件化可視組裝規(guī)約及其相應(yīng)支撐工具的形成,構(gòu)件管理、檢索技術(shù)及其相應(yīng)支撐工具形成,構(gòu)件測(cè)試評(píng)估模型及其相應(yīng)支撐工具的形成,以及真正意義上的業(yè)務(wù)層次構(gòu)件化組裝開發(fā)技術(shù),統(tǒng)一的軟件構(gòu)件化標(biāo)準(zhǔn)規(guī)范制定等。對(duì)支持業(yè)務(wù)層次組裝的業(yè)務(wù)構(gòu)件化建模理論方法進(jìn)行研究,包括業(yè)務(wù)實(shí)體的描述、分解、抽取、聚合和映射等,探索從業(yè)務(wù)到系統(tǒng)構(gòu)件、業(yè)務(wù)構(gòu)件、技術(shù)元構(gòu)件的構(gòu)件化分層建模分析方法。
構(gòu)件與模塊的最大區(qū)別是構(gòu)件可以用來復(fù)用和組裝,而模塊只能用來復(fù)用。目前,所能見到的業(yè)務(wù)層次構(gòu)件,其本身可以由一組分布式技術(shù)構(gòu)件(如頁面構(gòu)件、業(yè)務(wù)邏輯構(gòu)件、運(yùn)算構(gòu)件、數(shù)據(jù)構(gòu)件等)組成。但業(yè)務(wù)構(gòu)件間的組裝技術(shù)還較少被提及,這就使得構(gòu)件化組裝開發(fā)主要局限于分布技術(shù)層,在業(yè)務(wù)或服務(wù)層次,嚴(yán)格意義上講只存在集成。提出了在分布層構(gòu)件模型基礎(chǔ)上,增加業(yè)務(wù)構(gòu)件層,使得構(gòu)件模型體系既滿足可通過技術(shù)構(gòu)件層的可視組裝實(shí)現(xiàn)技術(shù)構(gòu)件、業(yè)務(wù)構(gòu)件的組裝開發(fā),還可通過業(yè)務(wù)構(gòu)件之間的可視組裝實(shí)現(xiàn)業(yè)務(wù)構(gòu)件、系統(tǒng)級(jí)構(gòu)件、以及應(yīng)用系統(tǒng)的組裝開發(fā),從而實(shí)現(xiàn)大型企業(yè)級(jí)應(yīng)用軟件的全程構(gòu)件化組裝開發(fā)。
研究了現(xiàn)有軟件構(gòu)件模型體系,從映射和建模思路上進(jìn)行創(chuàng)造性闡述。通常,基于構(gòu)件的軟件組裝開發(fā)過程是將軟件系統(tǒng)切分為業(yè)務(wù)功能模塊,基于分布式技術(shù)構(gòu)架,通過選擇或開發(fā)若干技術(shù)構(gòu)件組裝形成各業(yè)務(wù)模塊,完成應(yīng)用系統(tǒng)的開發(fā)工作。軟件組裝是局部的,在數(shù)據(jù)層、數(shù)據(jù)交換層、數(shù)據(jù)流控制層實(shí)現(xiàn),而在業(yè)務(wù)層,實(shí)際上沒有真正意義上的組裝。那么,業(yè)務(wù)層次實(shí)現(xiàn)組裝開發(fā),即直接將業(yè)務(wù)分解、抽取、映射為相互間具有組裝關(guān)系的一組業(yè)務(wù)構(gòu)件,分別在技術(shù)層、業(yè)務(wù)層實(shí)現(xiàn)多級(jí)組裝,形成的構(gòu)件粒度更大,組裝復(fù)用效率更高,為大型軟件構(gòu)件化組裝開發(fā)提供可能。
提出了構(gòu)件化建模規(guī)約,支持由業(yè)務(wù)范疇的事實(shí)模型直接自動(dòng)或半自動(dòng)映射形成軟件范疇的構(gòu)件空間[1]。這樣,不僅可降低系統(tǒng)建模的復(fù)雜度,還可以使熟悉業(yè)務(wù)、使用系統(tǒng)的非軟件專業(yè)人員完成應(yīng)用建模的核心任務(wù)?,F(xiàn)有的構(gòu)件化建模技術(shù)中,大多直接基于系統(tǒng)用例在解空間(或系統(tǒng)空間)中展開,而由業(yè)務(wù)到軟件的跨空間映射,即由問題空間(或業(yè)務(wù)描述空間)到系統(tǒng)空間的映射,都需由不太熟悉業(yè)務(wù)的軟件專業(yè)人員通過手工的問題描述和用例分析來實(shí)現(xiàn),其要求高(需要同時(shí)熟悉業(yè)務(wù)和軟件技術(shù)的高級(jí)人才去完成)、跨度大(跨領(lǐng)域空間、跨專業(yè))、高復(fù)雜度的特性往往使得開發(fā)難度大、開發(fā)出的軟件產(chǎn)品和業(yè)務(wù)需求脫節(jié)。
基于代碼粘合的構(gòu)件化組裝是較早的一類組裝方法,幾乎不需要支撐平臺(tái),運(yùn)用目前流行的普通集成開發(fā)環(huán)境都可實(shí)現(xiàn)[1],如微軟的VisualStudio系列、Borland的 C++Builder、Delphi、J Builder系列、Sun 的 NetBeans、IBM 的 Eclipse等。在集成過程中開發(fā)者嚴(yán)格遵守標(biāo)準(zhǔn)或自行定義的構(gòu)件模型、構(gòu)件化建模規(guī)約、構(gòu)件組裝規(guī)約等,在代碼層次實(shí)現(xiàn)構(gòu)件化組裝。基于技術(shù)層次構(gòu)件組裝開發(fā)環(huán)境還不多見,目前比較成熟的典型產(chǎn)品有上海普元的EOS(enterprise oriented system,EOS)系列,實(shí)現(xiàn)了基于XML數(shù)據(jù)總線的可視化組裝?;诠δ芊?wù)層次構(gòu)件組裝平臺(tái)也比較少,比較成熟的有 IBM的 Web-Sphere,其它服務(wù)層次組裝的類似產(chǎn)品只有思路或雛形[2],大部分都正處于開發(fā)或完善之中。本文以大型管理軟件為應(yīng)用背景,構(gòu)建一個(gè)從功能元構(gòu)件組裝、包裝到原子業(yè)務(wù)構(gòu)件、組合業(yè)務(wù)構(gòu)件、子系統(tǒng)構(gòu)件組裝的全程構(gòu)件化組裝開發(fā)的集成支撐環(huán)境,提出了一種構(gòu)件化組裝集成開發(fā)平臺(tái)構(gòu)造方法,并就其原理進(jìn)行詳細(xì)闡述。
構(gòu)件化組裝業(yè)務(wù)開發(fā)包括4個(gè)層次,即應(yīng)用系統(tǒng)組裝、子系統(tǒng)構(gòu)件組裝、組合業(yè)務(wù)構(gòu)件組裝、原子業(yè)務(wù)構(gòu)件開發(fā)、組裝與包裝。軟件構(gòu)件化組裝平臺(tái)總體框架如圖1所示。
圖1 軟件構(gòu)件化組裝平臺(tái)總體框架
構(gòu)件化組裝把構(gòu)件包中的部分對(duì)外元構(gòu)件接口引申,包裝成原子業(yè)務(wù)構(gòu)件插頭(提供接口或引用接口),把元構(gòu)件中的一些事件定義引申包裝成組合業(yè)務(wù)構(gòu)件框架的構(gòu)件插槽,同時(shí)形成原子業(yè)務(wù)構(gòu)件或組合業(yè)務(wù)構(gòu)件框架的整體描述 XML文件?;?EOS平臺(tái)在技術(shù)層次上實(shí)現(xiàn)了構(gòu)件的可視化組裝,基于分布式技術(shù)構(gòu)架將構(gòu)件進(jìn)行分為頁面構(gòu)件類、展現(xiàn)構(gòu)件類、處理邏輯構(gòu)件類、運(yùn)算構(gòu)件類、數(shù)據(jù)構(gòu)件等,基于構(gòu)件之間的數(shù)據(jù)交互層進(jìn)行組裝,形成業(yè)務(wù)構(gòu)件包或應(yīng)用系統(tǒng)。
組合業(yè)務(wù)構(gòu)件是業(yè)務(wù)層次最大可執(zhí)行構(gòu)件,由一族原子業(yè)務(wù)構(gòu)件與組合業(yè)務(wù)構(gòu)件框架基于構(gòu)件接口組裝而成,組合業(yè)務(wù)構(gòu)件組裝工具是組裝平臺(tái)的核心[3]。將一個(gè)或一族構(gòu)件的引用接口抽取,綁定形成構(gòu)件框架的插槽,并定義出插槽的規(guī)約。構(gòu)件之間的關(guān)聯(lián)都通過構(gòu)件框架來實(shí)現(xiàn)。即構(gòu)件將提供接口插入構(gòu)件框架的插槽中,通過構(gòu)件框架提供的插槽服務(wù)(響應(yīng)執(zhí)行事件,解析執(zhí)行相應(yīng)的構(gòu)件行為)以及事件服務(wù)(事件源由構(gòu)件提供,事件響應(yīng)以及觸發(fā)由構(gòu)件框架的事件服務(wù)引擎實(shí)現(xiàn))來實(shí)現(xiàn)構(gòu)件之間的交互。組合業(yè)務(wù)構(gòu)件的組裝是原子業(yè)務(wù)構(gòu)件及組合業(yè)務(wù)構(gòu)件框架基于構(gòu)件接口的組裝,而各構(gòu)件接口通過xml文檔的形式進(jìn)行描述,因此組合業(yè)務(wù)構(gòu)件的組裝本質(zhì)是基于xml描述信息的組裝,組裝最終形成的組合業(yè)務(wù)構(gòu)件也是以xml的形式進(jìn)行描述,如圖2所示。
在組裝過程中,依據(jù)原子業(yè)務(wù)構(gòu)件組裝文件、構(gòu)件框架組裝文件,配置生成組合業(yè)務(wù)構(gòu)件組裝源文件以及組合業(yè)務(wù)構(gòu)件運(yùn)行文件。圖3給出了組裝開發(fā)總體業(yè)務(wù)流程,通過集成的EOS開發(fā)平臺(tái)[4],完成元構(gòu)件、原子業(yè)務(wù)構(gòu)件包、組合業(yè)務(wù)構(gòu)件框架包的組裝開發(fā),再通過業(yè)務(wù)構(gòu)件組裝平臺(tái)實(shí)現(xiàn)構(gòu)件化包裝、組合業(yè)務(wù)構(gòu)件的組裝、子系統(tǒng)級(jí)構(gòu)件的組裝、以及應(yīng)用系統(tǒng)的組裝,分別生成原子業(yè)務(wù)構(gòu)件、組合業(yè)務(wù)構(gòu)件框架、組合業(yè)務(wù)構(gòu)件、子系統(tǒng)級(jí)構(gòu)件、應(yīng)用系統(tǒng)。
圖3 構(gòu)件化組裝業(yè)務(wù)原理
構(gòu)件化業(yè)務(wù)集成平臺(tái)具有實(shí)現(xiàn)各類元構(gòu)件識(shí)別、映射功能,提供業(yè)務(wù)構(gòu)件包裝器,完成原子業(yè)務(wù)構(gòu)件、組合業(yè)務(wù)構(gòu)件框架、組合業(yè)務(wù)構(gòu)件包裝,形成支持組裝的業(yè)務(wù)構(gòu)件。具有組合業(yè)務(wù)構(gòu)件組裝功能,實(shí)現(xiàn)原子業(yè)務(wù)構(gòu)件和業(yè)務(wù)構(gòu)件框架的組裝;提供組合業(yè)務(wù)構(gòu)件和子系統(tǒng)構(gòu)件框架的組裝工具,形成子系統(tǒng)級(jí)構(gòu)件;提供子系統(tǒng)級(jí)構(gòu)件與應(yīng)用系統(tǒng)框架的組裝工具,形成應(yīng)用系統(tǒng);提供各類構(gòu)件的存儲(chǔ)、檢索等的管理工具;提供業(yè)務(wù)規(guī)則的配置、編輯等的管理工具。應(yīng)用系統(tǒng)以應(yīng)用框架模版的方式組裝,各子系統(tǒng)級(jí)構(gòu)件的接口信息直接存放在應(yīng)用數(shù)據(jù)庫中。子系統(tǒng)級(jí)構(gòu)件以菜單的方式組裝,各組合業(yè)務(wù)構(gòu)件的接口信息直接存放在應(yīng)用數(shù)據(jù)庫中。集成平臺(tái)提供了可視化的圖形拖載,并提供可視化的信息配置界面,支持在線更新原子業(yè)務(wù)構(gòu)件和業(yè)務(wù)構(gòu)件框架。提供組裝驗(yàn)證、調(diào)試等功能。平臺(tái)核心組成包括構(gòu)件化包裝工具、組合業(yè)務(wù)構(gòu)件組裝平臺(tái)、系統(tǒng)級(jí)構(gòu)件組裝平臺(tái)、構(gòu)件庫管理平臺(tái)、業(yè)務(wù)規(guī)則管理平臺(tái)、管理軟件領(lǐng)域構(gòu)件庫、業(yè)務(wù)構(gòu)件服務(wù)等7個(gè)部分[5]。其功能組成構(gòu)架如圖4所示。
圖4 集成開發(fā)平臺(tái)核心功能構(gòu)架
在圖4中,業(yè)務(wù)構(gòu)件服務(wù)解析業(yè)務(wù)構(gòu)件內(nèi)部、業(yè)務(wù)構(gòu)件之間的工作流程、業(yè)務(wù)規(guī)則、數(shù)據(jù)傳遞、通訊等,并對(duì)其進(jìn)行編譯、執(zhí)行的服務(wù),包括各類引擎。管理軟件領(lǐng)域構(gòu)件庫管理業(yè)務(wù)進(jìn)行領(lǐng)域業(yè)務(wù)建模、領(lǐng)域系統(tǒng)分析設(shè)計(jì)、開發(fā)所形成的構(gòu)件。構(gòu)件庫管理提供了構(gòu)件模型定義、構(gòu)件分類等基礎(chǔ)管理。組合業(yè)務(wù)構(gòu)件組裝實(shí)現(xiàn)了基于業(yè)務(wù)規(guī)程規(guī)則的可視化組裝,形成組合業(yè)務(wù)構(gòu)件。組合業(yè)務(wù)構(gòu)件組裝平臺(tái)主要操作功能包括組裝、組裝驗(yàn)證、發(fā)布、預(yù)覽等,組裝是指把多個(gè)原子業(yè)務(wù)構(gòu)件及組合業(yè)務(wù)構(gòu)件框架接插組裝成組合業(yè)務(wù)構(gòu)件、同時(shí)形成組合業(yè)務(wù)構(gòu)件的插頭、組裝文件及運(yùn)行文件;組裝驗(yàn)證是指根據(jù)驗(yàn)證規(guī)則確保組裝形成的組合業(yè)務(wù)構(gòu)件正確有效;發(fā)布是指把組裝形成的組合業(yè)務(wù)構(gòu)件發(fā)布到應(yīng)用服務(wù)器,同時(shí)保存到構(gòu)件庫中,進(jìn)行統(tǒng)一管理與維護(hù)、標(biāo)識(shí)該組合業(yè)務(wù)構(gòu)件為可用;預(yù)覽是指在組裝客戶端瀏覽組裝效果。組裝時(shí),平臺(tái)首先解析原子業(yè)務(wù)構(gòu)件及構(gòu)件框架的包裝文件,詳細(xì)列舉出框架的插頭插槽及原子業(yè)務(wù)構(gòu)件插頭信息,開發(fā)人員手工映射框架插槽及原子業(yè)務(wù)插頭的對(duì)應(yīng)關(guān)系,并選擇合適的業(yè)務(wù)規(guī)則進(jìn)行插槽及插頭參數(shù)的映射約束,最后再選擇包裝框架的插頭形成組合業(yè)務(wù)構(gòu)件的插頭。系統(tǒng)級(jí)構(gòu)件組裝基于子系統(tǒng)構(gòu)件框架、組合業(yè)務(wù)構(gòu)件集,實(shí)現(xiàn)可視化的應(yīng)用系統(tǒng)組裝。子系統(tǒng)構(gòu)件框架通常是菜單樹,組合業(yè)務(wù)構(gòu)件對(duì)應(yīng)于菜單樹的葉子項(xiàng),是應(yīng)用系統(tǒng)的基本部署單元。業(yè)務(wù)規(guī)則管理為最終用戶提供一個(gè)可視化的業(yè)務(wù)規(guī)則配置、維護(hù)管理工具,以便在業(yè)務(wù)發(fā)生變化的時(shí)候,可通過配置業(yè)務(wù)規(guī)則而實(shí)現(xiàn)靈活調(diào)整系統(tǒng)相應(yīng)部分的目的,增強(qiáng)應(yīng)用系統(tǒng)動(dòng)態(tài)適應(yīng)性。主要功能包括規(guī)則對(duì)象及運(yùn)算符號(hào)定義、規(guī)則分類、導(dǎo)出規(guī)則配置、計(jì)算規(guī)則配置、投影規(guī)則配置等。構(gòu)件化包裝工具以非構(gòu)件化軟件為包裝對(duì)象,按照構(gòu)件模型規(guī)范或構(gòu)件框架模型規(guī)范對(duì)其進(jìn)行構(gòu)件化包裝,形成可組裝的構(gòu)件。
業(yè)務(wù)構(gòu)件組裝實(shí)現(xiàn)過程是基于XML描述文件的組裝,涉及各類組裝元素的項(xiàng)目文件(源代碼文件)、組裝文件、運(yùn)行文件,應(yīng)用系統(tǒng)的形成經(jīng)歷了包裝、組裝、驗(yàn)證、發(fā)布、部署等過程,圖5給出了平臺(tái)組裝實(shí)現(xiàn)的內(nèi)部工作機(jī)制[6]。圖5中,A1表示將原子業(yè)務(wù)構(gòu)件包入庫構(gòu)件分類表;A2表示將構(gòu)件包中的元構(gòu)件入庫構(gòu)件表、構(gòu)件版本表、構(gòu)件接口表、構(gòu)件接口參數(shù)表;B1表示構(gòu)件化包裝前先從構(gòu)件分類表中讀取待包裝的原子業(yè)務(wù)構(gòu)件分類信息(具體實(shí)現(xiàn)方法是,先從分類表中導(dǎo)出到本地XML文件里,然后系統(tǒng)從本地XML中讀取并展現(xiàn)),然后根據(jù)分類信息在構(gòu)件表、構(gòu)件版本表、構(gòu)件接口表中讀取所有該原子業(yè)務(wù)構(gòu)件的元構(gòu)件接口,由用戶具體選擇哪些作為原子業(yè)務(wù)構(gòu)件接口;B2表示構(gòu)件化包裝前先從構(gòu)件分類表中讀取待包裝的構(gòu)件框架分類信息。然后根據(jù)分類信息在構(gòu)件表、構(gòu)件版本表、構(gòu)件接口表中讀取所有該組合業(yè)務(wù)構(gòu)件框架的元構(gòu)件接口,由用戶具體選擇哪些作為組合業(yè)務(wù)構(gòu)件框架接口;B3表示經(jīng)構(gòu)件化包裝形成原子業(yè)務(wù)構(gòu)件;B4表示經(jīng)構(gòu)件化包裝形成組合業(yè)務(wù)構(gòu)件框架;B5對(duì)原子業(yè)務(wù)構(gòu)件包裝后,原子業(yè)務(wù)構(gòu)件運(yùn)行文件直接由EOS平臺(tái)組裝原子業(yè)務(wù)構(gòu)件包時(shí)生成的運(yùn)行文件(XML文件格式)映射而來;B6對(duì)原子業(yè)務(wù)構(gòu)件包包裝形成原子業(yè)務(wù)構(gòu)件組裝文件(XML文件格式),直接由包裝工具生成;B7對(duì)組合業(yè)務(wù)構(gòu)件框架包包裝后,組合業(yè)務(wù)構(gòu)件框架運(yùn)行文件直接由EOS平臺(tái)組裝組合業(yè)務(wù)構(gòu)件框架包時(shí)生成的運(yùn)行文件(XML文件格式)映射而來;B8對(duì)組合業(yè)務(wù)構(gòu)件框架包包裝形成組合業(yè)務(wù)構(gòu)件框架組裝文件(XML文件格式),直接由包裝工具生成;B9表示把包裝好的原子業(yè)務(wù)構(gòu)件入庫。
圖5 組裝實(shí)現(xiàn)技術(shù)原理
B10表示把包裝好的構(gòu)件框架入庫;B11表示在對(duì)原子業(yè)務(wù)構(gòu)件包包裝時(shí),形成業(yè)務(wù)規(guī)則構(gòu)件與原子業(yè)務(wù)構(gòu)件映射文件;C1表示在組裝前先從構(gòu)件分類表中讀取構(gòu)件分類信息。(具體實(shí)現(xiàn)方法是,先從構(gòu)件分類表中導(dǎo)出原子業(yè)務(wù)構(gòu)件級(jí)別以上的分類信息到本地XML文件里,然后系統(tǒng)從本地XML中讀取并展現(xiàn));C2表示在組裝前先從構(gòu)件分類表中讀取構(gòu)件框架分類信息。(具體實(shí)現(xiàn)方法是,先從構(gòu)件分類表中導(dǎo)出相應(yīng)的業(yè)務(wù)構(gòu)件框架分類信息到本地XML文件里,然后系統(tǒng)從本地XML中讀取并展現(xiàn));C3表示從構(gòu)件表中讀取構(gòu)件框架。(具體實(shí)現(xiàn)方法是,先從構(gòu)件表中導(dǎo)出該項(xiàng)目所有構(gòu)件框架到本地XML文件里,然后系統(tǒng)依據(jù)選中的構(gòu)件框架分類信息從本地XML中讀取相應(yīng)的構(gòu)件框架并展現(xiàn));C4表示從構(gòu)件表中讀取原子業(yè)務(wù)構(gòu)件。(具體實(shí)現(xiàn)方法是,先從構(gòu)件表中導(dǎo)出所有原子業(yè)務(wù)構(gòu)件到本地XML文件里,然后依據(jù)選中的構(gòu)件分類信息從本地 XML中讀取相應(yīng)的原子業(yè)務(wù)構(gòu)件并展現(xiàn));C5表示從服務(wù)器上下載原子業(yè)務(wù)構(gòu)件組裝文件;C6表示從服務(wù)器上下載構(gòu)件框架組裝文件;C7表示通過組裝平臺(tái)形成組合業(yè)務(wù)構(gòu)件的組裝文件(XML文件格式);C8表示通過組裝平臺(tái)形成組合業(yè)務(wù)構(gòu)件的運(yùn)行文件(XML文件格式);C9表示通過組裝平臺(tái)形成組合業(yè)務(wù)構(gòu)件項(xiàng)目文件(XML文件格式);C10表示通過組裝平臺(tái)形成組合業(yè)務(wù)構(gòu)件;C11表示將組裝形成的組合業(yè)務(wù)構(gòu)件入庫;D1表示從構(gòu)件表中讀取組合業(yè)務(wù)構(gòu)件。(具體實(shí)現(xiàn)方法是,先從構(gòu)件表中導(dǎo)出該項(xiàng)目所有組合業(yè)務(wù)構(gòu)件到本地XML文件里,然后系統(tǒng)從本地XML中讀取組合業(yè)務(wù)構(gòu)件并展現(xiàn));D2表示通過系統(tǒng)級(jí)構(gòu)件組裝平臺(tái)形成應(yīng)用系統(tǒng)的客戶端;D3表示通過系統(tǒng)級(jí)構(gòu)件組裝平臺(tái)形成系統(tǒng)運(yùn)行文件。
本文討論了業(yè)務(wù)構(gòu)件組裝平臺(tái)的功能定位、邊界范圍、業(yè)務(wù)及其流程模型,描述了集成平臺(tái)實(shí)現(xiàn)過程和面向業(yè)務(wù)組裝的構(gòu)件化開發(fā)集成環(huán)境。論文給出了構(gòu)件組裝集成開發(fā)平臺(tái)工具功能和實(shí)現(xiàn)過程,解決了包括組裝資源管理的XML描述規(guī)范、可視化、服務(wù)引擎、工作流、組裝匹配等技術(shù)手段。在EOS平臺(tái)基礎(chǔ)上,研制了面向業(yè)務(wù)組裝的構(gòu)件化集成開發(fā)平臺(tái)工具,實(shí)現(xiàn)了構(gòu)件化包裝和可視化組裝,以及構(gòu)件管理、規(guī)則管理等,彌補(bǔ)了目前已有構(gòu)件組裝平臺(tái)在業(yè)務(wù)組裝層次的空白。
[1]王祥宗,劉志,劉增良,等.基于規(guī)則的業(yè)務(wù)構(gòu)件組裝規(guī)約[J].計(jì)算機(jī)集成制造系統(tǒng),2008,14(9):1774-1780.
[2]邵維忠,楊芙清.面向?qū)ο蟮南到y(tǒng)分析[M].北京:清華大學(xué)出版社,2008.
[3]趙俊峰,謝冰,張路.一種支持領(lǐng)域特性的Web服務(wù)組裝方法[J].計(jì)算機(jī)學(xué)報(bào),2005,28(4):731-738.
[4]王志堅(jiān),費(fèi)玉奎,婁淵清.軟件構(gòu)件技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2005:125-135.
[5]WANG Xiangzong,CHEN Ying,LIU Zenliang.Component-based software developing method for group companies management information system[J].Wuhan University Journal of Natural Sciences,2008,13(1):37-44.
[6]王祥宗,陳英,譚學(xué)元.集團(tuán)型企業(yè)全面預(yù)算管理業(yè)務(wù)分析與建模研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(22):5493-5497.
[7]楊芙清,梅宏.面向復(fù)用的需求建模[M].北京:清華大學(xué)出版社,2008.
[8]王忠杰,戰(zhàn)德臣,徐曉飛.業(yè)務(wù)構(gòu)件識(shí)別方法研究綜述[J].計(jì)算機(jī)集成制造系統(tǒng),2007,13(4):54-59.