摘要:MDA方法是提供一種工具鏈條,這個(gè)鏈條具有應(yīng)用程序接口的擴(kuò)展性和互操作性,以確保相關(guān)模型通過異構(gòu)程序的不同組件達(dá)到共享的目的?,F(xiàn)有的MDA工具通常只支持MDA開發(fā)過程的一個(gè)片斷,這篇文章討論的是MDA工具和組件在跨企業(yè)項(xiàng)目管理中起到的作用。MDA組件和工具可以看做跨企業(yè)的元素,在共享的抽象計(jì)算平臺(tái)上應(yīng)用結(jié)構(gòu)需求,為本方項(xiàng)目管理服務(wù)提供服務(wù)描述和產(chǎn)生接口,最終的目的就是為了跨企業(yè)協(xié)同項(xiàng)目的建立和管理。
關(guān)鍵詞:模型驅(qū)動(dòng)體系結(jié)構(gòu);跨企業(yè)項(xiàng)目管理;解決方案
中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)36-10414-03
MDA and Enterprise Collaboration Project Management
LI Bo-yang, ZHANG Hong-guo
(College of Computer Science Technology, Harbin University of Science and Technologe, Harbin 150080, China)
Abstract: The MDA(Model Driven Architecture) approach is to provide tool chains that support generation of application implementations, and interoperability of applications by ensuring that communication models can be shared by different components of distributed applications. Curre- ntly, the MDA tools can only support a step or some steps of the development of MDA.This paper discusses the relationship of MDA tools and components with the inter-enterprise collaboration project management that has become crucial for the success of enterprises. The MDA components and tools are seen as localized, intra-enterprise elements, with structural requirements on shared abstract computing platform and visioned as factories taking service descriptions and generating implementations, metainformation for local project management services, and metainformation used for inter-enterprise collaboration establishment and management.
Key words: MDA; inter-enterprise project management; solution
1 概述
模型驅(qū)動(dòng)架構(gòu)(MDA)是由對(duì)象管理組織(OMG)提出的、從面向?qū)ο笤O(shè)計(jì)到以模型驅(qū)動(dòng)開發(fā)方法的一種根本性轉(zhuǎn)變,把系統(tǒng)操作的規(guī)范從系統(tǒng)利用底層平臺(tái)能力的方式細(xì)節(jié)中分離出來(lái)的思想[1]。MDA方法提供跨平臺(tái)軟件組件的互操作,在這個(gè)平臺(tái)上還能夠使項(xiàng)目工具的表達(dá)方式更通用,更便捷,提升項(xiàng)目整體的開發(fā)速度,縮短開發(fā)周期。這種方法使用一個(gè)標(biāo)準(zhǔn)的系統(tǒng)模型,通過在整個(gè)應(yīng)用網(wǎng)絡(luò)平臺(tái)實(shí)施并且把它結(jié)合成一個(gè)標(biāo)準(zhǔn)的模型,PIM(平臺(tái)無(wú)關(guān)模型),這個(gè)模型隨后再轉(zhuǎn)換成一個(gè)接口。標(biāo)準(zhǔn)模型的部分組件可以通過轉(zhuǎn)換來(lái)適應(yīng)不同轉(zhuǎn)換規(guī)則下的平臺(tái),以此為一個(gè)異構(gòu)平臺(tái)提供一個(gè)解決方案。
目前來(lái)講,MDA和跨企業(yè)協(xié)同項(xiàng)目的關(guān)系包括共享模型、模式庫(kù)。深遠(yuǎn)來(lái)講,MDA和元流程系統(tǒng)的關(guān)系是為MDA在技術(shù)水平解決方案的儲(chǔ)備,以一種全新的方法將一系列新的趨勢(shì)性技術(shù)整合到一起,這些技術(shù)包括基于組件的開發(fā)、設(shè)計(jì)模式、中間件、說明性規(guī)約、抽象、多層系統(tǒng)、企業(yè)應(yīng)用集成以及契約式設(shè)計(jì)[2]。通過使用企業(yè)層描述作為協(xié)同中間件的源信息,最終為生成企業(yè)業(yè)務(wù)協(xié)作并迅速實(shí)現(xiàn)相關(guān)企業(yè)應(yīng)用軟件的往來(lái)通信,提供很好的解決方案。
現(xiàn)在新興的ICT為企業(yè)間業(yè)務(wù)往來(lái)提供的支持,第一步通常是發(fā)展并完善企業(yè)系統(tǒng),隨后是企業(yè)間的業(yè)務(wù)流程。對(duì)于這項(xiàng)工作,MDA提供了以下改進(jìn):三層模型——CIM,PIM和PSM——允許流程識(shí)別軟件組成部分可以被改善和互操作,因?yàn)樗鼈兺ㄟ^共享的企業(yè)操作需要CIM來(lái)得以擴(kuò)展。
但是,在企業(yè)系統(tǒng)進(jìn)展的第二步是需要適應(yīng)千變?nèi)f化的業(yè)務(wù)網(wǎng)絡(luò)。業(yè)務(wù)網(wǎng)絡(luò)的建立和管理方式多種多樣,可以稱之為集成,通過共享模型達(dá)到統(tǒng)一,或者在EAI和B2B方法中看到通過聯(lián)盟集成的方法。在企業(yè)間的設(shè)置上,可以直接使用MDA工具,只要企業(yè)網(wǎng)絡(luò)和它們的協(xié)同業(yè)務(wù)流程能夠一起來(lái)設(shè)計(jì),這樣參與者愿意用新的組件來(lái)體會(huì)它們的內(nèi)部流程或者將新的流程凌駕于現(xiàn)存服務(wù)之上。聯(lián)盟方案需要單獨(dú)的工具存在來(lái)提供一個(gè)環(huán)境,一個(gè)可以擴(kuò)展的環(huán)境[3],來(lái)發(fā)現(xiàn)適當(dāng)?shù)牧鞒棠P?,可行性的交涉,然后許可參與者一起用操作的說明性條目和條件來(lái)形成相應(yīng)的業(yè)務(wù)網(wǎng)絡(luò)。
即使在聯(lián)盟方案和全局業(yè)務(wù)流程的情況下也不適用于產(chǎn)生可執(zhí)行的元素,但是對(duì)于監(jiān)測(cè)合格的情況下,實(shí)際的服務(wù)組件需要用一些工具創(chuàng)造。設(shè)計(jì)上的相應(yīng)點(diǎn)包括假定平臺(tái)模型,對(duì)于企業(yè)間業(yè)務(wù)流程管理共享抽象計(jì)算平臺(tái)會(huì)清晰地注釋處理,而且在MDA組件結(jié)構(gòu)的效果就得以探討研究。對(duì)于交流中特別需要注意的需求,交流目錄和上下文中的贊同點(diǎn);ODP觀點(diǎn)提供了一個(gè)方法來(lái)描述,這個(gè)平臺(tái)元素和契約元素需要包含在內(nèi)。
2 抽象計(jì)算平臺(tái)的建立
全局體系結(jié)構(gòu)模型在這里討論的是在web-Pilarcos項(xiàng)目的使用[4]。在這個(gè)模型里,在企業(yè)服務(wù)之間一個(gè)聯(lián)盟契約來(lái)定義協(xié)同流程和規(guī)則。服務(wù)組件相互之間是獨(dú)立的,而且僅僅需要根據(jù)額外的行為和信息交換提供服務(wù)指示。服務(wù)提供者的自主性也是要強(qiáng)調(diào)的;內(nèi)在接口或者部屬方面也要嚴(yán)格地封裝。
企業(yè)應(yīng)用程序環(huán)境成為動(dòng)態(tài)建立企業(yè)間業(yè)務(wù)網(wǎng)絡(luò)的重要組成部分,需要以下這些元信息:
1) 擬網(wǎng)絡(luò)機(jī)構(gòu)的鑒定,包括對(duì)于責(zé)任分布的網(wǎng)絡(luò)拓?fù)浜蛥f(xié)同業(yè)務(wù)流程模型;
2) 企業(yè)應(yīng)用集成將孤立的遺產(chǎn)系統(tǒng)集成進(jìn)企業(yè)系統(tǒng)的整體;
3) 驗(yàn)證聯(lián)盟中盟友之間的動(dòng)態(tài)互操作;
4) 在網(wǎng)絡(luò)中發(fā)現(xiàn)符合規(guī)則的潛在參與者;
5) 契約設(shè)計(jì)式管理,包括整個(gè)項(xiàng)目的建立、監(jiān)測(cè)、終止等等。
在基礎(chǔ)設(shè)施中關(guān)鍵的元素是契約和契約管理設(shè)備。業(yè)務(wù)網(wǎng)絡(luò)契約(聯(lián)盟契約)使用一種方法獲取業(yè)務(wù)流程模型和測(cè)試當(dāng)前的規(guī)范,這種方法使每個(gè)參與者在網(wǎng)絡(luò)中有一個(gè)而且只有一個(gè)整合的規(guī)范。
圖1說明了這些服務(wù)在企業(yè)之間怎么能夠被看做外部基礎(chǔ)設(shè)施服務(wù)。對(duì)于每個(gè)企業(yè)的需求是通過相應(yīng)的元信息交換協(xié)議提供接口。
模型庫(kù)(類型庫(kù)和業(yè)務(wù)流程模型庫(kù))是提供動(dòng)態(tài)驗(yàn)證步驟,在網(wǎng)絡(luò)產(chǎn)生階段和在網(wǎng)絡(luò)生命周期中任何一個(gè)稍后實(shí)施階段。因此,MDA組件在業(yè)務(wù)基礎(chǔ)服務(wù)中需要呈現(xiàn)出來(lái)。正如契約在平臺(tái)說明性條目中表達(dá)一樣,所有參與者需要能夠把它們自己的方案抽象化,最終目標(biāo)模型中的元素可以被追溯到生成它的源模型中的元素[5]。庫(kù)需要提供一個(gè)開放的轉(zhuǎn)換裝置,既是橫向的又是縱向的。橫向轉(zhuǎn)換的存在(PIM-PIM或者PSM-PSM轉(zhuǎn)換)需要一個(gè)底層標(biāo)準(zhǔn)模型表明一個(gè)互操作關(guān)系的存在??v向轉(zhuǎn)換的存在提供對(duì)于算法目的的關(guān)系數(shù)的遍歷,支持代碼生成和最佳實(shí)際知識(shí)傳播。
MDA轉(zhuǎn)換規(guī)則和轉(zhuǎn)換過濾需要存儲(chǔ)服務(wù)、信息表現(xiàn),流程模型和NFA定義運(yùn)行使用的本體。關(guān)系驗(yàn)證是資源消耗任務(wù),因此需要單獨(dú)的演示。
關(guān)系網(wǎng)絡(luò)的建立需要通過一系列的設(shè)置,包括設(shè)計(jì),過濾器編程,本體論者等。新的基礎(chǔ)設(shè)施種類需要一個(gè)加強(qiáng)的新的“專業(yè)”設(shè)置作為例子描述[6]。另外,標(biāo)準(zhǔn)化提供標(biāo)準(zhǔn)的協(xié)作流程RosettaNet PIPs可以或?qū)S泄?yīng)鏈流程從在線共享網(wǎng)絡(luò)出版物的方法得到,因此采用這種循環(huán)更加容易。
對(duì)于業(yè)務(wù)網(wǎng)絡(luò)建立,每個(gè)企業(yè)提供元信息通過這些服務(wù)商所提供的使用。交易者對(duì)決議提供類型庫(kù),無(wú)論在這個(gè)決議上的兩個(gè)接口是否相同,相互間可移植,或者不是兼容的。
對(duì)于運(yùn)行交流,在體系結(jié)構(gòu)里基本的元素是異構(gòu)的,開放約定的對(duì)象。對(duì)象的建立按照約定的契約,這個(gè)契約表明已選的分布式規(guī)則,相互溝通,QoS協(xié)議,端點(diǎn)特征。
3 企業(yè)服務(wù)和業(yè)務(wù)網(wǎng)絡(luò)的需求
在體系結(jié)構(gòu)里,三層模型點(diǎn)是很特別的:業(yè)務(wù)網(wǎng)絡(luò)模型,服務(wù)接口的外部行為模型,和該模型的服務(wù)實(shí)現(xiàn)企業(yè)內(nèi)部使用。在這里,選擇這個(gè)模型得力于它本身的執(zhí)行,為實(shí)現(xiàn)一大批的應(yīng)用程序,數(shù)據(jù)庫(kù)等等。
MDA流程的使用可以生產(chǎn)出服務(wù)實(shí)現(xiàn),開始從模型集和生產(chǎn)適當(dāng)實(shí)現(xiàn)代碼(框架),而且發(fā)布元信息在B2B中間件庫(kù)中。代碼不應(yīng)該包括約束管理,用同行互操作測(cè)試,合作伙伴選擇邏輯,或者其他B2B中間件提供的元素。相反,只有應(yīng)用程序邏輯應(yīng)該表達(dá)和符合它的服務(wù)接口類型的外部行為模型,執(zhí)行必須由NFA替代品和其它契約值來(lái)參數(shù)化。
MDA的總體思路描述了MDA的三個(gè)層次模型的過程,CIM(計(jì)算獨(dú)立模型)與企業(yè)觀點(diǎn)相關(guān),PIM(平臺(tái)獨(dú)立模型)與計(jì)算觀點(diǎn)相關(guān),而PSM(平臺(tái)相關(guān)模型)與工程模型相關(guān)。流程開始于頂部,從CIM模型產(chǎn)生PIM模型,按照相關(guān)轉(zhuǎn)換規(guī)則,PIM提供了關(guān)于軟件系統(tǒng)的結(jié)構(gòu)和功能的形式化描述,不涉及與具體平臺(tái)相關(guān)的技術(shù)細(xì)節(jié)[7]。同樣地,更多的合作伙伴細(xì)節(jié)是從PIM模型產(chǎn)生出PSM模型。
在組織之間的設(shè)置中,CIM模型的重點(diǎn)在于描述企業(yè)服務(wù)內(nèi)在邏輯,這個(gè)邏輯通過提供的服務(wù)接口對(duì)于整個(gè)企業(yè)網(wǎng)絡(luò)是可見的。因此,在MDA工具里,一個(gè)新的CIM模型需要用已經(jīng)公布的外部服務(wù)類型來(lái)驗(yàn)證。對(duì)于計(jì)算方案的有效使用來(lái)講,企業(yè)業(yè)務(wù)流程的設(shè)置是或多或少一致和預(yù)先計(jì)劃的。模型化流程和分析流程作為一個(gè)集合是一項(xiàng)很重要的全局目的,特別是整合了企業(yè)間流程的各個(gè)觀點(diǎn)。
CIM模型深層次能夠重新定義為PIM。在PIM層,其他模型也能在企業(yè)模型庫(kù)里出現(xiàn),這些流程作為計(jì)算平臺(tái)屬性的部分作為支撐。這些模型也將出現(xiàn)采用一種方法,這種方法行為的部分可以在企業(yè)間進(jìn)行商討,也可以在企業(yè)間網(wǎng)絡(luò)配置選擇合適的服務(wù)組件或通過設(shè)置配置屬性值。
對(duì)于任何一個(gè)企業(yè)服務(wù)是從一個(gè)CIM產(chǎn)生開始的,一個(gè)派生出的PIM應(yīng)該使用已選擇的CIM模式。另外,一個(gè)PIM集代表著需求的計(jì)算平臺(tái)屬性應(yīng)該通過分析結(jié)合著業(yè)務(wù)邏輯PIM。對(duì)于代碼生成,計(jì)算平臺(tái)屬性的PIM應(yīng)該用平臺(tái)定義處理,在執(zhí)行中獲取目標(biāo)概念。
信息或者文檔交換在業(yè)務(wù)流程里不用在所有建模技術(shù)里描述。但是,信息建模是一個(gè)基本方面,確實(shí)應(yīng)該明確建模,而且要作為一個(gè)單獨(dú)的建模問題。因此,除了PIM模型,還應(yīng)有個(gè)單獨(dú)PII模型(圖像獨(dú)立信息模型)能映射到不同的表現(xiàn)形式。在相同模型的表現(xiàn)中轉(zhuǎn)換可以作為一個(gè)責(zé)任約束進(jìn)行替代。
當(dāng)一個(gè)企業(yè)服務(wù)將要部屬,它需要在網(wǎng)絡(luò)中可見,這需要提供合適的服務(wù)端口來(lái)完成。對(duì)于動(dòng)態(tài)業(yè)務(wù)網(wǎng)絡(luò)契約的建立,服務(wù)提供需要獲取元信息,可以描述來(lái)自許多種觀點(diǎn)的服務(wù),實(shí)際的服務(wù)將從企業(yè)觀點(diǎn)、計(jì)算觀點(diǎn)、工程觀點(diǎn)、和信息觀點(diǎn)獲取服務(wù)描述。
對(duì)于服務(wù)元素模型信息的兩個(gè)源頭是需要的:類型庫(kù)和實(shí)現(xiàn)模型。類型庫(kù)是用行為來(lái)檢索現(xiàn)有的服務(wù)接口定義,句法和NFA的相關(guān)信息。當(dāng)然,NFA流程可以通過新服務(wù)接口類型或者亞型,和它的發(fā)布類型庫(kù)來(lái)開始;在發(fā)布階段其它現(xiàn)有模型關(guān)系可以展示(或者說是生成)和驗(yàn)證。模型實(shí)現(xiàn)可以作為一個(gè)庫(kù);最有可能將庫(kù)嵌入到MDA發(fā)展環(huán)境里,因此或許通過特定模式的自由交換來(lái)提供也是理想的方式。
該服務(wù)類型可以找到也可以直接在瀏覽類型庫(kù),或者首先通過瀏覽業(yè)務(wù)網(wǎng)絡(luò)模型。當(dāng)發(fā)現(xiàn)一個(gè)合適的業(yè)務(wù)網(wǎng)絡(luò)模型,其中一個(gè)角色就是選擇將服務(wù)種類關(guān)聯(lián)起來(lái)。業(yè)務(wù)網(wǎng)絡(luò)模型可以存儲(chǔ),例如加強(qiáng)型,抽象BPEL4WS描述[8],或者為ODP資質(zhì)企業(yè)語(yǔ)言??梢越M織服務(wù)類型和若干選擇執(zhí)行的模型來(lái)為服務(wù)邏輯創(chuàng)建全局PIM。對(duì)于這個(gè)基本框架,許多部分交織的PIM包含,例如非功能性屬性管理(安全,QoS,信任,策略-基于服務(wù)濫用的保護(hù))。通信對(duì)象的結(jié)果網(wǎng)絡(luò)/組件/子服務(wù)/工作流程進(jìn)行分析可行性和代碼生成,平臺(tái)模型的部分就已成為一個(gè)標(biāo)準(zhǔn)的,抽象的PIM。
當(dāng)已經(jīng)生成和部署執(zhí)行時(shí),必須提供元信息:服務(wù)提供描述有服務(wù)接口屬性,有約束力的需求,可以適應(yīng)無(wú)功能屬性的范圍等等。
4 結(jié)束語(yǔ)
本文探討怎樣使用MDA工具用于在一個(gè)協(xié)同環(huán)境中,整合各個(gè)企業(yè)服務(wù)生產(chǎn)的自主性。這項(xiàng)實(shí)踐表明,MDA流程是合適的,當(dāng)其工具作為若干輸入模式和生產(chǎn)幾種不同輸出類型:代碼和元信息的運(yùn)行環(huán)境。
對(duì)于生產(chǎn)的應(yīng)用程序的基本要素來(lái)說,它們使用抽象協(xié)同操作環(huán)境的服務(wù),特別是有約束力的設(shè)備。計(jì)算平臺(tái)的其它部分很多被孤立了。聯(lián)盟契約結(jié)構(gòu)重點(diǎn)在于在web-Pilarcos體系機(jī)構(gòu)從所有ODP觀點(diǎn)模型中獲取需求。因此,MDA要從CIM到PIM再到PSM逐一運(yùn)行,必須在契約結(jié)構(gòu)中取得相應(yīng)的需求。
以此為企業(yè)應(yīng)用程序使用協(xié)同業(yè)務(wù)網(wǎng)絡(luò)模型作為需求來(lái)源,這需要了解一些共同的部分屬性,策略,和行為選擇。至于本體是提交的類型和協(xié)同基礎(chǔ)的模型庫(kù),為標(biāo)準(zhǔn)本體提供了一種方法,這樣某些本體可以有一個(gè)業(yè)務(wù)網(wǎng)絡(luò)模型或者一些業(yè)務(wù)領(lǐng)域作為它們的范圍,以此為所有服務(wù)制定一個(gè)統(tǒng)一的本體。
參考文獻(xiàn):
[1] 董建武.MDA新一代軟件互操作體系結(jié)構(gòu)[J].東北大學(xué)學(xué)報(bào),2000,2(2):3-5.
[2] David S.Frankel.應(yīng)用MDA[M].鮑志云,譯.北京:人民郵電出版社,2003:35-83.
[3] Camarnha-Matos L M.Infrastructure for virtual organizations where we are[C]. Proceedings of ETFA’03 - 9th international conference on Emerging Technologies and Factory Automation,Lisboa,Portual,2003.
[4] Kutvonen L.Controlling dynamic ecommunities:Developing federated interoperability infrastructure[C].IINTEREST 2004 workshop,2004.
[5] Kleppe A,Warmer J,Bast W.解析MDA[M].鮑志云,譯.北京:人民郵電出版社,2004.
[6] Gavras A,Belaunde M,Pires L F,et al.Towards an mda-based development methodology for distributed applications.In First European Workshop on Model[C].Driven Architecture with Emphasis on Industrial Application,2004.
[7] OMG Architecture Board MDA Drafting Team.Model Driven Architecture a Technical Perspe- ctive[EB/OL].http://www.omg.org/2001.
[8] Thatte S.Business process execution language for web services,version 1.0[R].Technical report,2002.