專(zhuān)利名稱(chēng):自動(dòng)化用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型的創(chuàng)建的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息服務(wù)架構(gòu)設(shè)計(jì)領(lǐng)域,并且更特別地,涉及用于產(chǎn)生用于
面向服務(wù)架構(gòu)(SOA)信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型的自動(dòng)化解決方案。 背景4支術(shù)
面向服務(wù)架構(gòu)(SOA)環(huán)境和信息服務(wù)的使用很快變?yōu)橛糜谄髽I(yè)系統(tǒng)的 優(yōu)選實(shí)現(xiàn)。用于創(chuàng)建用以實(shí)現(xiàn)信息服務(wù)的架構(gòu)設(shè)計(jì)模型的流行方法是應(yīng)用模 式(applicationpattern)的使用。應(yīng)用模式表示對(duì)于在特定上下文中的問(wèn)題的 可重復(fù)解決方案。例如,當(dāng)信息服務(wù)要求數(shù)據(jù)相容性時(shí),優(yōu)選數(shù)據(jù)源模式是 可用的。
由于商家擴(kuò)展其企業(yè)能力,所以需要添加新的信息服務(wù)以適應(yīng)上述擴(kuò)展。 然而,使用應(yīng)用模式的信息服務(wù)的設(shè)計(jì)和開(kāi)發(fā)是易于產(chǎn)生錯(cuò)誤(error-prone) 的、嚴(yán)重依靠設(shè)計(jì)者(公知的解決方案架構(gòu)師)的技能和經(jīng)驗(yàn)的人工過(guò)程。 也就是說(shuō),產(chǎn)生的架構(gòu)設(shè)計(jì)模型的質(zhì)量直接與解決方案架構(gòu)師理解信息服務(wù) 的應(yīng)用模式與非功能需求之間的復(fù)雜關(guān)系有多好相關(guān)。
由于設(shè)計(jì)過(guò)程依賴(lài)于人的因素,所以企業(yè)系統(tǒng)內(nèi)的信息服務(wù)經(jīng)常缺乏相 容性。這些不相容性繼續(xù)傳播,并且可能最終降低整體系統(tǒng)的性能。
所需要的是自動(dòng)化用于架構(gòu)設(shè)計(jì)模型的設(shè)計(jì)過(guò)程的解決方案。也就是說(shuō), 解決方案將使所有不同技能水平的解決方案架構(gòu)師能夠產(chǎn)生相同質(zhì)量的架構(gòu) 設(shè)計(jì)模型。理想地,這樣的解決方案將影響支持SOA應(yīng)用模式的可商用軟件 開(kāi)發(fā)工具的資源。
發(fā)明內(nèi)容
本發(fā)明公開(kāi)了用于產(chǎn)生用于要在面向服務(wù)架構(gòu)(SOA)環(huán)境內(nèi)實(shí)現(xiàn)的信 息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型的自動(dòng)化解決方案。自動(dòng)化解決方案可以表示能 夠?qū)⑿湃蔚腟OA模式相容地應(yīng)用于數(shù)據(jù)模型的設(shè)計(jì)工具。所述工具可以利用 信息服務(wù)的非功能需求來(lái)確定哪種模式對(duì)于信息服務(wù)是可用的,并確定應(yīng)該以什么次序應(yīng)用這些才莫式以便產(chǎn)生最佳架構(gòu)設(shè)計(jì)模型。
可以根據(jù)與在此所提出的材料相容的多個(gè)方面來(lái)實(shí)現(xiàn)本發(fā)明。例如,本 發(fā)明的一個(gè)方面可以包括自動(dòng)化用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型的創(chuàng)建的系 統(tǒng)。這樣的系統(tǒng)可以包括以正式建模語(yǔ)言撰寫(xiě)的數(shù)據(jù)模型、關(guān)于信息服務(wù)的 非功能需求組以及信息服務(wù)架構(gòu)產(chǎn)生工具。信息服務(wù)架構(gòu)產(chǎn)生工具可以被配 置為利用數(shù)據(jù)模型、非功能需求組和應(yīng)用模式來(lái)創(chuàng)建用于信息服務(wù)的架構(gòu)設(shè)
計(jì)模型??梢栽诿嫦蚍?wù)架構(gòu)(SOA)環(huán)境中實(shí)現(xiàn)信息服務(wù)。
本發(fā)明的另 一方面可以包括用于產(chǎn)生用于信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型 的自動(dòng)化方法。所述方法可以通過(guò)啟動(dòng)信息服務(wù)架構(gòu)產(chǎn)生工具來(lái)開(kāi)始??梢?將描述信息服務(wù)的數(shù)據(jù)模型載入到產(chǎn)生工具中。產(chǎn)生工具可以請(qǐng)求關(guān)于信息 服務(wù)的非功能需求的數(shù)據(jù),可以由用戶(hù)將其輸入到用戶(hù)接口中。然后,產(chǎn)生 工具使用公知的面向服務(wù)架構(gòu)(SOA)應(yīng)用模式組,可以自動(dòng)地合成用于信 息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型。每一個(gè)應(yīng)用模式可以與信息服務(wù)的服務(wù)非功能 需求對(duì)應(yīng)。
本發(fā)明的再一方面可以包括信息服務(wù)架構(gòu)產(chǎn)生工具。產(chǎn)生工具可以包括 應(yīng)用模式組、用戶(hù)接口和模式確定引擎。模式組的每一種模式均可以與信息 服務(wù)的特定服務(wù)非功能需求相對(duì)應(yīng)。用戶(hù)接口可以被配置為收集與信息服務(wù) 的非功能需求有關(guān)的用戶(hù)輸入數(shù)據(jù)。模式確定引擎可以被配置為利用用戶(hù)輸 入數(shù)據(jù)來(lái)確定應(yīng)該將哪種模式和以什么次序?qū)⒛J綉?yīng)用于數(shù)據(jù)模型以產(chǎn)生用 于信息服務(wù)的架構(gòu)設(shè)計(jì)模型。
應(yīng)該注意,本發(fā)明的各方面可以被實(shí)現(xiàn)為用于控制計(jì)算設(shè)備以實(shí)現(xiàn)在此 所述的函數(shù)的程序,或者用于使計(jì)算設(shè)備能夠執(zhí)行與在此公開(kāi)的步驟對(duì)應(yīng)的 過(guò)程的程序??梢酝ㄟ^(guò)將程序存儲(chǔ)在磁盤(pán)、光盤(pán)、半導(dǎo)體存儲(chǔ)器、任何其他 記錄介質(zhì)上來(lái)提供該程序,或者也可以將該程序作為經(jīng)由載波傳送的數(shù)字編 碼信號(hào)來(lái)提供。所述程序可以是單個(gè)程序,或者可以是作為多個(gè)子程序而實(shí) 現(xiàn),其每一個(gè)在單個(gè)計(jì)算裝置內(nèi)相互作用,或者穿過(guò)網(wǎng)絡(luò)空間以分布式方式 相互作用。
如附圖所示,示出了當(dāng)前優(yōu)選的實(shí)施例,然而應(yīng)該理解,本發(fā)明不限于 所示的精確配置(arrangement)和手,殳。圖l是^^據(jù)在此公開(kāi)的發(fā)明性配置的實(shí)施例、用于自動(dòng)地產(chǎn)生用于信息
服務(wù)的最佳架構(gòu)設(shè)計(jì)模型的系統(tǒng)的示意圖2是根據(jù)在此公開(kāi)的發(fā)明性配置的實(shí)施例、用于信息服務(wù)的樣本數(shù)據(jù)
模型;
圖3是圖解根據(jù)在此公開(kāi)的發(fā)明性配置的實(shí)施例、非功能需求關(guān)于模式 相關(guān)性的影響的示例;以及
圖4是根據(jù)在此公開(kāi)的發(fā)明性配置的實(shí)施例、用于使用自動(dòng)化解決方案 來(lái)產(chǎn)生用于信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型的方法的流程圖。
具體實(shí)施例方式
圖l是根據(jù)在此公開(kāi)的發(fā)明性配置的實(shí)施例、用于自動(dòng)地產(chǎn)生用于信息 服務(wù)的最佳架構(gòu)設(shè)計(jì)模型135的系統(tǒng)100的示意圖。在系統(tǒng)100中,解決方 案架構(gòu)師105可以將用于信息服務(wù)的數(shù)據(jù)模型IIO和非功能需求107和108 輸入到信息服務(wù)架構(gòu)產(chǎn)生模型115 (在此將其稱(chēng)為產(chǎn)生工具)中,以產(chǎn)生最 佳架構(gòu)設(shè)計(jì)模型135。
產(chǎn)生工具115可以是能夠與可商用的、模型驅(qū)動(dòng)軟件開(kāi)發(fā)工具140連接 (interface)的軟件應(yīng)用程序,以便產(chǎn)生信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型135。 通過(guò)與軟件開(kāi)發(fā)工具140連接,產(chǎn)生工具115可以利用軟件開(kāi)發(fā)工具140的 資源(asset) 145。這些資源145可以包括多個(gè)項(xiàng)目,諸如軟件函數(shù)和數(shù)據(jù)庫(kù) (data library )。例如,與IBM RATIONAL SOFTWARE ARCHITECT ( RSA ) 工具的連接可以向產(chǎn)生工具115提供對(duì)RSA的才莫式引擎和變換框架的訪(fǎng)問(wèn)。
產(chǎn)生工具115可以包括模式確定引擎120、用戶(hù)接口 125和包含SOA應(yīng) 用模式132的組和模式映射134的數(shù)據(jù)存儲(chǔ)器130。在另一個(gè)實(shí)施例中,SOA 應(yīng)用模式132的組可以作為軟件開(kāi)發(fā)工具140的資源145而被包括。應(yīng)用模 式132的組可以與由解決方案架構(gòu)師105當(dāng)前使用的SOA模式對(duì)應(yīng),以人工 地產(chǎn)生用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型。
模式確定引擎120可以是用于產(chǎn)生用于信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型 135的軟件算法。模式確定引擎120可以利用非功能需求107和108以及模 式映射134,以便確定哪些應(yīng)用模式132可應(yīng)用于信息服務(wù),以及應(yīng)該向數(shù) 據(jù)模式110應(yīng)用這些可應(yīng)用模式的次序。
為了確定模式132的適用性和應(yīng)用次序,模式確定引擎120可以經(jīng)由用戶(hù)接口 125從解決方案架構(gòu)師105請(qǐng)求數(shù)據(jù)。請(qǐng)求可以為關(guān)于信息服務(wù)的非 功能需求108和數(shù)據(jù)的非功能需求107的問(wèn)題的形式。然后,解決方案架構(gòu) 師105可以將對(duì)于這些問(wèn)題的答案輸入到用戶(hù)接口 125中。
模式確定引擎120可以利用模式映射134,以便將服務(wù)和數(shù)據(jù)非功能需 求107、 108與特定應(yīng)用模式132相關(guān)聯(lián)。模式映射134也可以包括有助于確 定模式132次序的優(yōu)先數(shù)據(jù)。
一旦已經(jīng)建立了模式132的適用性和次序,則模式確定引擎120可以將 以預(yù)定次序的模式132應(yīng)用于數(shù)據(jù)模型110。數(shù)據(jù)模型110可以是視覺(jué)地和/ 或電子地描述信息服務(wù)的裝置。此外,數(shù)據(jù)模型IIO可以以由產(chǎn)生工具115 和/或軟件開(kāi)發(fā)工具140支持的正式建模語(yǔ)言(如統(tǒng)一建模語(yǔ)言(UML))撰 寫(xiě)。
注意以下問(wèn)題是很重要的數(shù)據(jù)模型110的格式必須由產(chǎn)生工具115以 及從而軟件開(kāi)發(fā)工具140可用。例如,RSA期望以UML撰寫(xiě)的數(shù)據(jù)模型110, 并且將不能有效地處理以服務(wù)建模語(yǔ)言(SML)撰寫(xiě)的數(shù)據(jù)模型110。
基于數(shù)據(jù)模型110以及非功能需求107和108,最佳架構(gòu)設(shè)計(jì)模型135 可以表示用于信息服務(wù)的最好的架構(gòu)設(shè)計(jì)。架構(gòu)設(shè)計(jì)模型135可以以產(chǎn)生工 具115所支持的正式建模語(yǔ)言來(lái)表示。架構(gòu)設(shè)計(jì)模型135也可以由軟件開(kāi)發(fā) 工具140利用,用于額外過(guò)程。
可以創(chuàng)建最佳架構(gòu)設(shè)計(jì)模型135用于n層(n-tiered)實(shí)現(xiàn)。因此,架構(gòu) 設(shè)計(jì)模型135可以是三個(gè)設(shè)計(jì)模型,其中一個(gè)模型表示服務(wù)層, 一個(gè)模型表 示控制器層,并且一個(gè)模型表示實(shí)體管理層。
應(yīng)該理解,用于產(chǎn)生最佳信息服務(wù)架構(gòu)設(shè)計(jì)模型135的傳統(tǒng)過(guò)程是人工 的,并且當(dāng)決定模式132的適用性以及應(yīng)用次序時(shí),依賴(lài)于解決方案架構(gòu)師 105的技能和經(jīng)驗(yàn)。本發(fā)明的產(chǎn)生工具115降低了在產(chǎn)生用于信息服務(wù)的架 構(gòu)設(shè)計(jì)模型135時(shí)可能由具有不同技能和/或經(jīng)驗(yàn)水平的解決方案架構(gòu)師105 做出的不相容決定的可能性。由于服務(wù)非功能需求108可能具有矛盾性質(zhì), 因此這是非常重要的。
此外,產(chǎn)生工具115的使用可以減小產(chǎn)生最佳架構(gòu)設(shè)計(jì)模型135所需要 的時(shí)間量,這可以引起提高的生產(chǎn)力。
如在此所使用的那樣,所提出的數(shù)據(jù)存儲(chǔ)器(包括存儲(chǔ)器130)可以是 被配置為存儲(chǔ)數(shù)字信息的物理或虛擬存儲(chǔ)空間。數(shù)據(jù)存儲(chǔ)器130可以在任何類(lèi)型的硬件(包括但不限于,磁盤(pán)、光盤(pán)、半導(dǎo)體存儲(chǔ)器、數(shù)字編碼塑性存
儲(chǔ)器、全息存儲(chǔ)器或任何其他記錄介質(zhì))中物理地實(shí)現(xiàn)。數(shù)據(jù)存儲(chǔ)器130可 以是單機(jī)存儲(chǔ)單元以及從多個(gè)物理裝置形成的存儲(chǔ)單元。另外,可以將信息 以多種方式存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器130內(nèi)。例如,可以將信息存儲(chǔ)在數(shù)據(jù)庫(kù)結(jié)構(gòu) 內(nèi),或者可以將數(shù)據(jù)存儲(chǔ)在文件存儲(chǔ)系統(tǒng)的一個(gè)或多個(gè)文件內(nèi),其中為了信 息檢索的目的可以索引或不索引每一個(gè)文件。此外,數(shù)據(jù)存儲(chǔ)器130可以利 用 一個(gè)或多個(gè)加密機(jī)制以保護(hù)存儲(chǔ)的信息不被未授權(quán)的訪(fǎng)問(wèn)。
圖2是根據(jù)在此公開(kāi)的發(fā)明性配置的實(shí)施例、用于信息服務(wù)的樣本數(shù)據(jù) 模型200。樣本數(shù)據(jù)模型200可以由自動(dòng)化用于信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模 型的產(chǎn)生的系統(tǒng)IOO或任何其他系統(tǒng)使用。應(yīng)該注意,樣本數(shù)據(jù)模型200僅 用于圖示的目的,而不意味著實(shí)現(xiàn)的確定表示。
樣本數(shù)據(jù)模型200可以以正式建模語(yǔ)言(如在該示例中使用的統(tǒng)一建模 語(yǔ)言(UML))撰寫(xiě)。在該示例中,數(shù)據(jù)模型200是用于信息服務(wù)的UML類(lèi) 圖(class diagram )。數(shù)據(jù)模型200可以由五類(lèi)組成目錄205、目錄項(xiàng)目215、 特征值225、特征230和金額240。
每一個(gè)類(lèi)205、 215、 225、 235和240均可以包括數(shù)據(jù)屬性組,如屬于目 錄類(lèi)205的組207。如該示例中所示,屬性207的組可以包括名稱(chēng)、描述、 開(kāi)始日期和結(jié)束日期。
連接各個(gè)類(lèi)205、 215、 225和235的箭頭210、 220和230可以意味著所 連接的類(lèi)之間的特定關(guān)系(關(guān)聯(lián))和基數(shù)(cardinality )??梢匀缦伦x取該示 例中的數(shù)據(jù)模型200。
目錄類(lèi)205可以由箭頭210關(guān)聯(lián)到目錄項(xiàng)目類(lèi)215。箭頭210可以表示 目錄205與目錄項(xiàng)目215之間的集合關(guān)系(由空菱形表示)。也就是說(shuō),目錄 205具有目錄項(xiàng)目215,但目錄項(xiàng)目實(shí)例可以獨(dú)立于(不包含于)目錄實(shí)例而 存在。
此外,箭頭210可以包括基數(shù)值。在該示例中,箭頭210的基數(shù)值表示 單個(gè)目錄205可以是多個(gè)目錄項(xiàng)目215的集合,這由星號(hào)表示。
目錄項(xiàng)目類(lèi)215可以經(jīng)由箭頭220關(guān)聯(lián)到特征值類(lèi)225。箭頭220可以 表示目錄項(xiàng)目類(lèi)215和特征值類(lèi)225之間的組成關(guān)系(由實(shí)菱形表示)。組成 關(guān)系是比集合更強(qiáng)的關(guān)系;類(lèi)似于說(shuō)特征值225實(shí)例不可以獨(dú)立于目錄項(xiàng)目 215實(shí)例而存在;特征值225實(shí)例通常包含于目錄項(xiàng)目215實(shí)例?;鶖?shù)表示一個(gè)目錄項(xiàng)目215可以具有零到多個(gè)特征值225,并且對(duì)于給定的特征值225 必須正好只有一個(gè)目錄項(xiàng)目215。
根據(jù)箭頭230, 一個(gè)特征值225必須具有正好一個(gè)特征235,反之亦然。
金額類(lèi)240可以表示可由其他類(lèi)使用的數(shù)據(jù)類(lèi)型定義。在該示例中,目 錄項(xiàng)目類(lèi)215的屬性217、 listPrice (訂價(jià))參考金額類(lèi)240。
圖3是圖解根據(jù)在此公開(kāi)的發(fā)明性配置、非功能需求關(guān)于模式相關(guān)性的 影響的示例300。在示例300中所示的項(xiàng)目301和310可以與由系統(tǒng)100的 產(chǎn)生工具115使用的元件相對(duì)應(yīng)。
示例300可以包括樣本數(shù)據(jù)非功能需求301和服務(wù)非功能需求到^^式 310的樣本映射的組。樣本數(shù)據(jù)非功能需求301可以以大量格式表示,如示 例300的決策樹(shù)305。如所示的那樣,決策樹(shù)305可以概括與信息服務(wù)的數(shù) 據(jù)部分有關(guān)的關(guān)鍵因素。
樣本映射310可以將服務(wù)非功能需求關(guān)聯(lián)到可用模式314。映射310可 以是由產(chǎn)生工具可用的格式。在該示例300中,將映射310格式化為表的格 局,每一行與特定服務(wù)非功能需求有關(guān)。
數(shù)據(jù)非功能需求301可以影響映射310中模式的適用性。對(duì)于主問(wèn)題決 策樹(shù)305的"共享商業(yè)目標(biāo)?,,的答案"是,,307可以表示在信息服務(wù)中, 實(shí)體Enterprise Java Beans (EJB)的使用。由于實(shí)體EJB可能降低性能,因 此它可能意味著性能模式與該信息服務(wù)幾乎不相關(guān)。這是當(dāng)人工決定模式的 適應(yīng)性時(shí)所要求的深入知識(shí)的類(lèi)型的示例。
基于數(shù)據(jù)是共享商業(yè)目標(biāo)的輸入,產(chǎn)生工具的使用可以集合這樣的知識(shí), 并快速確定相關(guān)模式315的組。然后可以使用關(guān)于信息服務(wù)的非功能需求的 額外信息來(lái)進(jìn)一步處理相關(guān)模式315的表。
如上所述,共享商業(yè)目標(biāo)降低了性能,因此所述工具可以移除用于性能 非功能需求(performant non陽(yáng)flmctional requirement)的4壬《可才莫式。jt匕夕卜,由于 工具"知道,,共享商業(yè)目標(biāo)不是可高速緩存(cacheable)的,因此它可以移 除與性能相關(guān)的模式。缺乏經(jīng)驗(yàn)的解決方案架構(gòu)師可能很容易忽略或不理解 非功能需求與模式適用性之間這些深入的關(guān)系。
圖4是根據(jù)在此公開(kāi)的發(fā)明性配置的實(shí)施例、用于使用自動(dòng)化解決方案 以產(chǎn)生用于信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型的方法400的流程圖??梢栽谙到y(tǒng) 100的上下文內(nèi)和/或使用圖2的樣本數(shù)據(jù)模型200,或配置為自動(dòng)化最佳架構(gòu)設(shè)計(jì)模型的產(chǎn)生的任何其他系統(tǒng)執(zhí)行方法400 。
方法400可以從步驟405開(kāi)始,其中解決方案架構(gòu)師啟動(dòng)信息服務(wù)架構(gòu) 產(chǎn)生工具。在步驟410,解決方案架構(gòu)師可以將UML數(shù)據(jù)載入到產(chǎn)生工具中。
在步驟415,產(chǎn)生工具可以向解決方案架構(gòu)師提出關(guān)于信息服務(wù)的數(shù)據(jù) 非功能需求的問(wèn)題。在步驟420,解決方案架構(gòu)師可以輸入對(duì)于問(wèn)題的響應(yīng)。 在步驟425,產(chǎn)生工具可以從可用模式組中排除可能^^式(potentialpattern)。
在步驟430,產(chǎn)生工具可以確定是否需要輸入額外問(wèn)題。如果是,則流 程返回到步驟415,重復(fù)步驟415到步驟430直到已經(jīng)提問(wèn)并回答了所有問(wèn) 題為止。 一旦回答了所有問(wèn)題,則步驟435可以執(zhí)行其中產(chǎn)生工具可以向解 決方案架構(gòu)師提出關(guān)于信息服務(wù)的服務(wù)非功能需求的問(wèn)題。
在步驟440,解決方案架構(gòu)師可以輸入對(duì)于問(wèn)題的響應(yīng)。在步驟445,產(chǎn) 生工具可以排序(order)可能模式。在步驟450,產(chǎn)生工具可以確定是否需 要輸入額外問(wèn)題。
當(dāng)仍然需要額外問(wèn)題時(shí),流程可以返回到步驟435,重復(fù)步驟435到步 驟450直到已經(jīng)提問(wèn)并回答了所有問(wèn)題為止。 一旦回答了所有問(wèn)題,則步驟 455可以執(zhí)行其中產(chǎn)生工具可以將模式以預(yù)定次序應(yīng)用于在步驟410載入的 數(shù)據(jù)模型。
在步驟460,產(chǎn)生工具可以產(chǎn)生用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型。在步驟 465,該架構(gòu)設(shè)計(jì)模型可以被展示給解決方案架構(gòu)師。在步驟470,解決方案 架構(gòu)師可以使用所產(chǎn)生的架構(gòu)設(shè)計(jì)模型以創(chuàng)建信息服務(wù)。
本發(fā)明可以以硬件、軟件或硬件和軟件的組合來(lái)實(shí)現(xiàn)。本發(fā)明可以以集 中方式在一臺(tái)計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn),或者以其中不同元件分散在幾個(gè)互連的計(jì) 算機(jī)系統(tǒng)中的分布方式實(shí)現(xiàn)。適于執(zhí)行在此所述的方法的4壬何種類(lèi)的計(jì)算機(jī) 系統(tǒng)或其他設(shè)備都是合適的。硬件和軟件的 一般組合可以是具有計(jì)算機(jī)程序 的通用計(jì)算機(jī),當(dāng)載入并執(zhí)行所述計(jì)算機(jī)程序時(shí),其控制計(jì)算機(jī)系統(tǒng)以便執(zhí) 行在此所述的方法。
本發(fā)明還可以以計(jì)算機(jī)程序產(chǎn)品來(lái)實(shí)施,所述計(jì)算機(jī)程序產(chǎn)品包括了使 能在此所述的方法的實(shí)現(xiàn)的所有特征,并且當(dāng)將其載入到計(jì)算機(jī)系統(tǒng)中時(shí)能 夠執(zhí)行這些方法。在本上下文中的計(jì)算機(jī)程序意味著以任何語(yǔ)言、代碼或符 號(hào)的、旨在使具有信息處理能力的計(jì)算機(jī)系統(tǒng)直接或在以下之一或二者(a) 到另一語(yǔ)言、代碼或符號(hào)的變換;(b)以不同材料形式的再現(xiàn)之后執(zhí)行特定函數(shù)的指令組的表達(dá)式。
該發(fā)明在不脫離其精神或本質(zhì)屬性的情況下可以以其他形式實(shí)施。因此, 當(dāng)指示本發(fā)明的范圍時(shí),應(yīng)該對(duì)以下權(quán)利要求進(jìn)行參照,而非對(duì)前述說(shuō)明書(shū) 進(jìn)行參照。
權(quán)利要求
1、一種用于自動(dòng)化用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型的創(chuàng)建的系統(tǒng),包括數(shù)據(jù)模型,其描述信息服務(wù),其中以正式建模語(yǔ)言撰寫(xiě)所述數(shù)據(jù)模型;用于信息服務(wù)架構(gòu)的非功能需求組,其中所述組包括數(shù)據(jù)和服務(wù)非功能需求;以及信息服務(wù)架構(gòu)產(chǎn)生工具,被配置為利用所述數(shù)據(jù)模型以及來(lái)自所述非功能需求組的一個(gè)或多個(gè)元素,以創(chuàng)建用于面向服務(wù)架構(gòu)(SOA)環(huán)境中的實(shí)現(xiàn)的用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型,其中所述架構(gòu)設(shè)計(jì)模型的創(chuàng)建基于SOA模式的相容應(yīng)用。
2、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述產(chǎn)生工具與可商用模型驅(qū)動(dòng)軟 件開(kāi)發(fā)工具連接,其中所述產(chǎn)生工具具有對(duì)與所述軟件開(kāi)發(fā)工具相關(guān)^:的多 個(gè)資源的訪(fǎng)問(wèn)。
3、 根據(jù)權(quán)利要求2所述的系統(tǒng),其中所述多個(gè)資源包括模式引擎和變換 框架。
4、 根據(jù)權(quán)利要求2所述的系統(tǒng),其中可商用軟件開(kāi)發(fā)工具是IBM RATIONAL SOFTWARE ARCHITECT (RSA)的版本。
5、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述信息服務(wù)架構(gòu)產(chǎn)生工具進(jìn)一步 包括應(yīng)用模式組,其中每一種模式與特定服務(wù)非功能需求相對(duì)應(yīng); 用戶(hù)接口,被配置為收集與所述非功能需求組有關(guān)的用戶(hù)輸入數(shù)據(jù);以及模式確定引擎,被配置為利用由所述用戶(hù)接口收集的用戶(hù)輸入數(shù)據(jù)以確 定所述數(shù)據(jù)模型之上關(guān)于所述模式組的應(yīng)用的相關(guān)性以及次序。
6、 根據(jù)權(quán)利要求5所述的系統(tǒng),其中由所述用戶(hù)接口收集用戶(hù)輸入數(shù)據(jù) 包括一系列問(wèn)題的顯示,其中所述用戶(hù)輸入數(shù)據(jù)表示與所述一系列問(wèn)題對(duì)應(yīng) 的一系列答案。
7、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述架構(gòu)設(shè)計(jì)模型以正式建模語(yǔ)言 撰寫(xiě),并且其中所述設(shè)計(jì)模型是適用于到更低級(jí)抽象的變換的格式。
8、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述架構(gòu)設(shè)計(jì)模型由用于n層服務(wù) 實(shí)現(xiàn)的模型組組成,其中所述組包括用于服務(wù)層、控制器層以及實(shí)體管理層的模型。
9、 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述數(shù)據(jù)模型以統(tǒng)一建模語(yǔ)言(UML)表示。
10、 一種在面向服務(wù)架構(gòu)(SOA)環(huán)境中用于產(chǎn)生用于信息服務(wù)的架構(gòu) 設(shè)計(jì)模型的自動(dòng)化方法,包括啟動(dòng)信息服務(wù)架構(gòu)產(chǎn)生工具;向所述工具載入數(shù)據(jù)才莫型,其中所述數(shù)據(jù)模型描述要在面向服務(wù)架構(gòu) (SOA)環(huán)境中實(shí)現(xiàn)的信息服務(wù);產(chǎn)生工具請(qǐng)求關(guān)于用于所述信息服務(wù)的多個(gè)非功能需求的數(shù)據(jù); 響應(yīng)于所述請(qǐng)求步驟,將數(shù)據(jù)輸入到所述產(chǎn)生工具的用戶(hù)接口;以及 產(chǎn)生工具自動(dòng)地合成用于所述信息服務(wù)的最佳架構(gòu)設(shè)計(jì)模型,其中所述合成步驟利用已知SOA應(yīng)用模式組,其中每一種應(yīng)用模式與服務(wù)非功能需求對(duì)應(yīng)。
11、 根據(jù)權(quán)利要求IO所述的方法,其中重復(fù)所述請(qǐng)求和輸入步驟直到所 述產(chǎn)生工具到達(dá)終止條件,其中所述終止條件的達(dá)到導(dǎo)致所述合成步驟的執(zhí)行。
12、 根據(jù)權(quán)利要求IO的方法,其中所述數(shù)據(jù)模型和最佳架構(gòu)設(shè)計(jì)模型以 正式建模語(yǔ)言撰寫(xiě)。
13、 根據(jù)權(quán)利要求IO所述的方法,其中在所述合成步驟期間,所述產(chǎn)生 工具與可商用模型驅(qū)動(dòng)軟件開(kāi)發(fā)工具連接,其中所述產(chǎn)生工具具有對(duì)與所述軟件開(kāi)發(fā)工具相關(guān)聯(lián)的多個(gè)資源的訪(fǎng)問(wèn)。
14、 根據(jù)權(quán)利要求IO所述的方法,進(jìn)一步包括基于在所述輸入步驟中輸入的數(shù)據(jù),從要在所述合成步驟中使用的已知 模式組中,選擇性地取消一個(gè)或多個(gè)應(yīng)用模式的使用資格。
15、 根據(jù)權(quán)利要求IO所述的方法,其中所述最佳架構(gòu)設(shè)計(jì)模型由用于n 層服務(wù)實(shí)現(xiàn)的模型組組成,其中所述組包括用于服務(wù)層、控制器層以及實(shí)體 管理層的模型。
16、 根據(jù)權(quán)利要求IO所述的方法,其中根據(jù)在計(jì)算機(jī)可讀介質(zhì)中存儲(chǔ)的 至少一個(gè)計(jì)算機(jī)程序,由至少一臺(tái)機(jī)器執(zhí)行權(quán)利要求IO的所述步驟,所述計(jì) 算機(jī)程序設(shè)計(jì)具有由所述至少一臺(tái)機(jī)器執(zhí)行的多個(gè)代碼段。
17、 一種信息服務(wù)架構(gòu)產(chǎn)生工具,包括應(yīng)用模式組,其中每一種模式與特定服務(wù)非功能需求對(duì)應(yīng);用戶(hù)接口 ,被配置為收集與信息服務(wù)的非功能需求有關(guān)的用戶(hù)輸入數(shù)據(jù),其中所述信息服務(wù)要在面向服務(wù)架構(gòu)(SOA)環(huán)境中實(shí)現(xiàn);以及模式確定引擎,被配置為利用由所述用戶(hù)接口收集的用戶(hù)輸入數(shù)據(jù)以確定表示所述信息服務(wù)的數(shù)據(jù)模型之上關(guān)于所述模式組的應(yīng)用的相關(guān)性以及次序,以產(chǎn)生用于所述信息服務(wù)的架構(gòu)設(shè)計(jì)模型。
18、 根據(jù)權(quán)利要求17所述的產(chǎn)生工具,其中所述組件與可商用模型驅(qū)動(dòng) 軟件開(kāi)發(fā)工具連接,其中所述組件具有對(duì)與所述軟件開(kāi)發(fā)工具相關(guān)聯(lián)的多個(gè) 資源的訪(fǎng)問(wèn)。
19、 根據(jù)權(quán)利要求17所述的產(chǎn)生工具,其中所述數(shù)據(jù)模型和架構(gòu)i殳計(jì)模 型以正式建模語(yǔ)言撰寫(xiě)。
20、 根據(jù)權(quán)利要求17所述的產(chǎn)生工具,其中所述架構(gòu)設(shè)計(jì)模型由用于n 層服務(wù)實(shí)現(xiàn)的模型組組成,其中所述組包括用于服務(wù)層、控制器層以及實(shí)體 管理層的模型。
全文摘要
本發(fā)明公開(kāi)了自動(dòng)化用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型的創(chuàng)建的系統(tǒng)。這樣的系統(tǒng)可以包括以正式建模語(yǔ)言撰寫(xiě)的數(shù)據(jù)模型、與信息服務(wù)有關(guān)的非功能需求組以及信息服務(wù)架構(gòu)產(chǎn)生工具。信息服務(wù)架構(gòu)產(chǎn)生工具可以被配置為利用數(shù)據(jù)模型、非功能需求組和應(yīng)用模式以創(chuàng)建用于信息服務(wù)的架構(gòu)設(shè)計(jì)模型。信息服務(wù)可以在面向服務(wù)架構(gòu)(SOA)環(huán)境中實(shí)現(xiàn)。
文檔編號(hào)G06F9/44GK101441563SQ200810161910
公開(kāi)日2009年5月27日 申請(qǐng)日期2008年9月27日 優(yōu)先權(quán)日2007年11月19日
發(fā)明者伯特蘭·H·波蒂爾, 約恩·萊恩 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司