專利名稱:面向服務(wù)的體系結(jié)構(gòu)(soa)軟件工廠的體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及用于面向服務(wù)的體系結(jié)構(gòu)(SOA)軟件工廠的體系結(jié)構(gòu)的軟件和 硬件實(shí)現(xiàn)的設(shè)備。
背景技術(shù):
在軟件工程中,軟件工廠可以是被構(gòu)造成創(chuàng)建軟件項(xiàng)目的組織。軟件工廠可能 需要已定義的產(chǎn)品創(chuàng)建和管理流程。軟件工廠可提供減少開發(fā)、創(chuàng)建和測(cè)試軟件解決方 案所花費(fèi)的時(shí)間的經(jīng)濟(jì)方式。雖然軟件工廠可用于一些目的,但不存在允許在軟件工廠中創(chuàng)建的軟件與任何 面向服務(wù)的體系結(jié)構(gòu)(SOA)部署環(huán)境集成的通用框架。發(fā)明概述為了更全面地理解本公開及其優(yōu)點(diǎn),現(xiàn)在結(jié)合附圖參閱以下描述,附圖中相似 的標(biāo)號(hào)指示相似的對(duì)象,且其中在一個(gè)實(shí)施例中,公開了一種操作面向服務(wù)的體系結(jié)構(gòu)軟件工廠系統(tǒng)的方法, 該方法包括將多個(gè)定義存儲(chǔ)在公共定義儲(chǔ)存庫(kù)中,將這多個(gè)定義傳送到軟件工廠定義 層中,將該面向服務(wù)的體系結(jié)構(gòu)與面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境和注冊(cè)表集成,以及創(chuàng) 建運(yùn)行時(shí)環(huán)境。在該實(shí)施例中,運(yùn)行時(shí)環(huán)境基于這多個(gè)定義、面向軟件的體系結(jié)構(gòu)開發(fā) 環(huán)境和注冊(cè)表來創(chuàng)建。在另一個(gè)實(shí)施例中,公開了一種面向服務(wù)的體系結(jié)構(gòu)軟件工廠系統(tǒng),該系統(tǒng)包 括第一存儲(chǔ)器,其中該第一存儲(chǔ)器包括包含服務(wù)、規(guī)則和流程的公共定義儲(chǔ)存庫(kù)。此 外,該實(shí)施例包括第二存儲(chǔ)器,該第二存儲(chǔ)器包括面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境。該實(shí) 施例中還公開了包括注冊(cè)表的第三存儲(chǔ)器。此外,該實(shí)施例公開了一種處理器,其中該 處理器被配置成加載第一存儲(chǔ)器、第二存儲(chǔ)器和第三存儲(chǔ)器,其中該處理器創(chuàng)建運(yùn)行時(shí) 環(huán)境。該實(shí)施例還示出了輸出設(shè)備,其中該輸出設(shè)備輸出運(yùn)行時(shí)環(huán)境。在又一實(shí)施例中,公開了一種面向服務(wù)的體系結(jié)構(gòu)軟件工廠系統(tǒng),該系統(tǒng)包括 業(yè)務(wù)規(guī)則定義模塊,其生成業(yè)務(wù)規(guī)則并向SOA工廠集成層輸出業(yè)務(wù)規(guī)則。該實(shí)施例中還 有服務(wù)定義模塊,其生成服務(wù)并向SOA工廠集成層輸出這些服務(wù)。此外,公開了業(yè)務(wù)流 程定義模塊,其向SOA工廠集成層輸出業(yè)務(wù)流程。該實(shí)施例中還有安全規(guī)則定義模塊, 其生成安全規(guī)則并向SOA工廠集成層輸出這些安全規(guī)則。SOA工廠集成層基于這些安全 規(guī)則、業(yè)務(wù)流程、服務(wù)和業(yè)務(wù)規(guī)則來創(chuàng)建接口規(guī)范。隨后,基于廠商開發(fā)環(huán)境、注冊(cè)表 和接口規(guī)范來生成運(yùn)行時(shí)環(huán)境的SOA運(yùn)行時(shí)環(huán)境層輸出運(yùn)行時(shí)環(huán)境。附圖簡(jiǎn)述為了更完整地理解本發(fā)明及其優(yōu)點(diǎn),現(xiàn)在結(jié)合附圖參考以下描述,附圖中相同 的標(biāo)記指代指示相同的對(duì)象,且附圖中
圖1是根據(jù)所公開的實(shí)施例的SOA軟件工廠體系結(jié)構(gòu)的高級(jí)視圖的框圖;圖2是根據(jù)所公開的實(shí)施例的SOA軟件工廠體系結(jié)構(gòu)的框圖;圖3是根據(jù)所公開的實(shí)施例的SOA軟件工廠體系結(jié)構(gòu)的核心的框4
圖4是根據(jù)所公開的實(shí)施例的能夠?qū)崿F(xiàn)本公開的各實(shí)施例中的一個(gè)的通用計(jì)算 機(jī)系統(tǒng)的框圖;以及圖5是根據(jù)所公開的實(shí)施例的使用SOA軟件工廠體系結(jié)構(gòu)的一種方法的流程 圖。詳細(xì)描述以下討論的圖1到5以及本專利文檔中用于描述本發(fā)明的原理的各種實(shí)施例僅作 為說明且不應(yīng)以任何方式解釋成限制本發(fā)明的范圍。本領(lǐng)域技術(shù)人員將理解,本發(fā)明的 原理可在任何適當(dāng)?shù)匕才诺脑O(shè)備中實(shí)現(xiàn)。本申請(qǐng)的眾多發(fā)明性教導(dǎo)將參照示例性的非限 制性實(shí)施例來描述。在著手下面的詳細(xì)描述之前,闡述貫穿本專利文檔使用的某些措辭或短語(yǔ)的定 義可能是有利的術(shù)語(yǔ)“包含”和“包括”及其派生詞表示非限制性包括;術(shù)語(yǔ)“或” 是包含性的,意味著和/或;短語(yǔ)“與……相關(guān)聯(lián)”和“與之相關(guān)聯(lián)”及其派生詞可表 示包括、被包括、與之互連、包含、被包含、與之連接、與之耦合、可與之通信、與之 協(xié)作、交織、并列、接近、限于、具有、具有其性質(zhì)等;以及術(shù)語(yǔ)“控制器”表示控制 至少一個(gè)操作的任何設(shè)備、系統(tǒng)或其部分,無論此類設(shè)備是以硬件、固件、軟件或者硬 件、固件、軟件中的至少兩者的某種組合來實(shí)現(xiàn)的。應(yīng)注意,與任何特定控制器相關(guān)聯(lián) 的功能可以是集中式的或分布式的,無論是本地還是遠(yuǎn)程地。貫穿本專利文檔提供了某 些措辭和短語(yǔ)的定義,且本領(lǐng)域普通技術(shù)人員將理解,此類定義適用于此類所定義措辭 和短語(yǔ)的先前以及將來使用的許多(即使不是全部)實(shí)例。圖1是使用根據(jù)所公開的實(shí)施例的面向服務(wù)的體系結(jié)構(gòu)(SOA)軟件工廠體系結(jié) 構(gòu)100的系統(tǒng)的框圖。SOA軟件工廠體系結(jié)構(gòu)100準(zhǔn)許軟件的快速開發(fā)并使用包括從至少 一個(gè)開發(fā)者獲得的多個(gè)規(guī)則、流程和系統(tǒng)的統(tǒng)一系統(tǒng)。在該實(shí)施例中,服務(wù)102與SOA 軟件工廠104通信。服務(wù)102可以是通過SOA軟件工廠104部署到環(huán)境106中的軟件。 軟件工廠104可包括允許將來自服務(wù)102的系統(tǒng)快速創(chuàng)建、測(cè)試以及部署到部署環(huán)境106 中的多個(gè)模塊。此外,SOA軟件工廠104在將服務(wù)102部署到部署環(huán)境106時(shí)可使用第三 方或廠商業(yè)務(wù)規(guī)則管理系統(tǒng)(BRMS)。因此,SOA軟件工廠100允許將服務(wù)102與SOA 軟件工廠104內(nèi)已有的現(xiàn)有規(guī)則集、流程和系統(tǒng)集成,以將服務(wù)102部署到部署環(huán)境106 中。這允許將廠商的BRMS與SOA軟件工廠104高效集成以供在SOA運(yùn)行時(shí)環(huán)境中使 用。上面的圖2示出了根據(jù)所公開的實(shí)施例的SOA軟件工廠200的高級(jí)視圖。在該 實(shí)施例中,第一業(yè)務(wù)分析者212通過業(yè)務(wù)規(guī)則定義用戶界面220來提供指令。同樣在該 實(shí)施例中,系統(tǒng)分析者214向服務(wù)定義用戶界面222提供指令。此外,第二業(yè)務(wù)分析者 216向業(yè)務(wù)流程模塊工具224提供指令。同樣在該實(shí)施例中,第二系統(tǒng)分析者218向安全 定義用戶界面226提供指令。通過這多個(gè)用戶界面,信息被編程到導(dǎo)致業(yè)務(wù)規(guī)則、安全規(guī)則、服務(wù)和流程的 聯(lián)合的多個(gè)模塊中。例如,業(yè)務(wù)規(guī)則定義用戶界面220被用于對(duì)生成業(yè)務(wù)規(guī)則236的業(yè) 務(wù)規(guī)則定義模塊228進(jìn)行編程。服務(wù)定義用戶界面222被用于對(duì)服務(wù)定義模塊230進(jìn)行 編程,而服務(wù)定義模塊230被用于生成服務(wù)238。業(yè)務(wù)流程模塊工具224被用于對(duì)業(yè)務(wù)流 程定義模塊232進(jìn)行編程,而業(yè)務(wù)流程定義模塊232被用于生成業(yè)務(wù)流程240。此外,第二系統(tǒng)分析者218使用安全定義用戶界面226來對(duì)安全規(guī)則模塊234進(jìn)行編程,而安全規(guī) 則模塊234被用來生成安全規(guī)則242。 業(yè)務(wù)定義可涉及針對(duì)預(yù)定商業(yè)目的定義的一個(gè)或多個(gè)項(xiàng)目。例如,業(yè)務(wù)定義可 涉及定義特定類型的活動(dòng)、建立活動(dòng)之間的關(guān)系、或任何其他特定業(yè)務(wù)定義。業(yè)務(wù)定義 還可被用來定義活動(dòng)、目標(biāo)、目的。此外,業(yè)務(wù)定義可被用來標(biāo)識(shí)沖突的活動(dòng)、目標(biāo)、 目的。業(yè)務(wù)規(guī)則定義模塊228管理業(yè)務(wù)規(guī)則的定義和生成并與公共定義儲(chǔ)存庫(kù)(CDR) 接口以存儲(chǔ)此類定義規(guī)范。服務(wù)定義可涉及被定義為執(zhí)行業(yè)務(wù)任務(wù)的一個(gè)或多個(gè)服務(wù)。例如,服務(wù)定義可 包括可用服務(wù)列表、這些服務(wù)的范圍、以及與這些服務(wù)的能力有關(guān)的任何其他信息。服務(wù)定義模塊230基于WSDL和UDDI規(guī)范來管理web服務(wù)規(guī)范的定義和生成, 并與公共定義儲(chǔ)存庫(kù)接口以存儲(chǔ)此類定義規(guī)范及其與也存儲(chǔ)在該儲(chǔ)存庫(kù)中的業(yè)務(wù)規(guī)則和 安全規(guī)則定義的關(guān)系。業(yè)務(wù)流程可涉及可如何執(zhí)行特定業(yè)務(wù)任務(wù)。業(yè)務(wù)流程定義的示例是完成特定商 業(yè)目標(biāo)所需的步驟的列表。業(yè)務(wù)流程定義模塊232基于業(yè)務(wù)流程建模記法(BPMN)和web服務(wù)業(yè)務(wù)流程執(zhí) 行語(yǔ)言(WS-BPEL)來管理業(yè)務(wù)流程規(guī)范的定義和生成,并與公共定義儲(chǔ)存庫(kù)接口以存 儲(chǔ)此類定義規(guī)范及其與也存儲(chǔ)在該儲(chǔ)存庫(kù)中的web服務(wù)、業(yè)務(wù)規(guī)則和安全規(guī)則定義的關(guān)系。安全規(guī)則可限制誰和什么能在運(yùn)行時(shí)環(huán)境中訪問特定信息。此外,安全規(guī)則可 進(jìn)一步限制誰和什么能對(duì)運(yùn)行時(shí)環(huán)境中正在使用的數(shù)據(jù)作出改變,并且可設(shè)定關(guān)于在運(yùn) 行時(shí)環(huán)境中應(yīng)當(dāng)使用什么類型的安全措施的參數(shù)。安全規(guī)則定義模塊234基于WS安全標(biāo)準(zhǔn)來管理安全規(guī)則和策略的定義和生成, 并與公共定義儲(chǔ)存庫(kù)接口以存儲(chǔ)此類定義規(guī)范。業(yè)務(wù)流程按需使用服務(wù)、業(yè)務(wù)規(guī)則和安全規(guī)則來定義在SOA運(yùn)行時(shí)環(huán)境中執(zhí)行 真正的業(yè)務(wù)應(yīng)用程序的流程。業(yè)務(wù)流程按新方式將服務(wù)組織(orchestrate)在一起以完成 事情。用于SOA環(huán)境的基于XML的標(biāo)準(zhǔn)的出現(xiàn)允許其中SOA軟件工廠工具能定義和生 成完整的接口規(guī)范、將這些接口規(guī)范發(fā)送給集成的廠商專用開發(fā)環(huán)境的體系結(jié)構(gòu),其中 可生成各個(gè)實(shí)現(xiàn),對(duì)其進(jìn)行編碼、測(cè)試并將其部署到目標(biāo)SOA運(yùn)行時(shí)環(huán)境。一旦部署到 可執(zhí)行SOA運(yùn)行時(shí)環(huán)境中,業(yè)務(wù)流程和服務(wù)被組織在一起以構(gòu)建合成應(yīng)用,這些應(yīng)用一 般被一起放在入口中以供在企業(yè)中使用。安全定義用戶界面226被用于對(duì)安全規(guī)則定義模塊234進(jìn)行編程,而安全規(guī)則 定義模塊234被用于生成安全規(guī)則242。在每一個(gè)規(guī)則中,流程和服務(wù)能夠以以下格式 中的一種或多種來格式化可擴(kuò)展標(biāo)記語(yǔ)言(XML)、web服務(wù)定義語(yǔ)言(WSDL)、通用 描述、發(fā)現(xiàn)和集成(UDDI)、web服務(wù)業(yè)務(wù)流程執(zhí)行語(yǔ)言(WS-BPEL)、或web服務(wù)安全 (WSS)。SOA工廠集成層252被配置成接受來自業(yè)務(wù)規(guī)則236、服務(wù)238、業(yè)務(wù)流程240 和安全規(guī)則242的輸入。SOA工廠集成層252隨后使用廠商SOA開發(fā)環(huán)境254和企業(yè) web服務(wù)注冊(cè)表256來創(chuàng)建SOA運(yùn)行時(shí)環(huán)境258。
應(yīng)理解,在創(chuàng)建SOA運(yùn)行時(shí)環(huán)境258期間可能發(fā)生一個(gè)或多個(gè)輸入沖突。在這 種情形中,SOA工廠集成層252可確定是接受來自廠商SOA開發(fā)環(huán)境254的輸入,從業(yè) 務(wù)規(guī)則236、生成服務(wù)238、業(yè)務(wù)流程240和安全規(guī)則輸入,還是返回錯(cuò)誤。應(yīng)理解,該 確定可基于個(gè)別參數(shù)作出,且可由SOA工廠集成層252選擇。而且,將理解,廠商SOA 開發(fā)環(huán)境254可具有附加到?jīng)_突輸入的“強(qiáng)制性”標(biāo)志。在這種情形中,SOA工廠集成 層252可嘗試使用來自廠商SOA開發(fā)環(huán)境254的輸入。在其中沖突輸入具有“可任選” 標(biāo)志的情形中,SOA工廠集成層252可忽略沖突輸入。SOA運(yùn)行時(shí)258允許廠商SOA開發(fā)環(huán)境與SOA軟件工廠200內(nèi)的定義的無縫集 成。這允許提供特定服務(wù)(諸如人力資源)的廠商直接插入SOA軟件工廠104中以將這 些服務(wù)部署到SOA運(yùn)行時(shí)環(huán)境中。通過軟件工廠104將服務(wù)102無縫地集成到部署環(huán)境 106中允許服務(wù)102的快速部署。因此,可以使用廠商的人力資源分量而無需手動(dòng)重新 編碼廠商或部署環(huán)境系統(tǒng)。集成層的使用允許與多個(gè)目標(biāo)廠商專用開發(fā)和運(yùn)行時(shí)環(huán)境、 web服務(wù)注冊(cè)表和業(yè)務(wù)規(guī)則管理系統(tǒng)(BRMS)的無縫集成。圖3是根據(jù)所公開的實(shí)施例的SOA軟件工廠體系結(jié)構(gòu)的核心的框圖300??驁D 300示出跟蹤SOA工廠定義層304中使用的所有定義、業(yè)務(wù)規(guī)則、業(yè)務(wù)流程和安全規(guī)則的 公共定義儲(chǔ)存庫(kù)(CDR) 302。此外,CDR 302包括SOA工廠定義層304中使用的服務(wù)之 間的模型和關(guān)系。SOA工廠定義層304可由表示4個(gè)基本模塊和方案的若干獨(dú)立模式構(gòu) 成以表示模塊之間的實(shí)體關(guān)系。所有XML生成是從儲(chǔ)存庫(kù)中所包含的定義中直接完成 的。設(shè)置UI以允許用戶設(shè)置XML生成作業(yè),指定要生成儲(chǔ)存庫(kù)中的什么定義。在圖3 中所示的示例中,已被編程到SOA軟件工廠300中的元素通過CDR 302被重用,從而消 除了對(duì)業(yè)務(wù)規(guī)則236、服務(wù)238、流程240和安全規(guī)則242進(jìn)行手動(dòng)編程的需求。CDR 302可存儲(chǔ)包含所有彼此之間的所指定關(guān)系并被用于生成業(yè)務(wù)規(guī)則、 WSDL、UDDI、WS-BPEL和WS安全規(guī)范的所有服務(wù)、業(yè)務(wù)流程、業(yè)務(wù)規(guī)則和安全規(guī)則 定義。本發(fā)明允許對(duì)業(yè)務(wù)規(guī)則定義使用單個(gè)統(tǒng)一標(biāo)準(zhǔn)。廠商用XML來定義業(yè)務(wù)規(guī)則并 且用WSDL來定義某些業(yè)務(wù)規(guī)則,其中業(yè)務(wù)規(guī)則作為web服務(wù)來揭示。通過使用廠商專 用適配器,SOA軟件工廠能夠?yàn)槟繕?biāo)環(huán)境生成合適的XML和WSDL。SOA軟件工廠將 通過SOA工廠集成層306來允許將工廠集成到所選廠商的業(yè)務(wù)規(guī)則管理系統(tǒng)(BRMS)以 供CDR 302中所定義的業(yè)務(wù)流程和服務(wù)在SOA運(yùn)行時(shí)環(huán)境312中使用。SOA工廠集成層306被配置成接受來自SOA定義層304、廠商SOA開發(fā)環(huán)境308 和企業(yè)web服務(wù)注冊(cè)表310的輸入以創(chuàng)建SOA運(yùn)行時(shí)環(huán)境312。SOA工廠集成層306、 SOA定義層304、廠商SOA開發(fā)環(huán)境308和企業(yè)web服務(wù)注冊(cè)表310可被存儲(chǔ)在單個(gè)存 儲(chǔ)器設(shè)備或多個(gè)存儲(chǔ)器設(shè)備中。通過圖3所示的配置,已經(jīng)移除圖2所需的多個(gè)步驟。這些需要多個(gè)分析者、 用戶界面、模塊和規(guī)則的步驟已被單個(gè)CDR 302替換。這些定義通過使用先前已建立的 定義允許使用廠商開發(fā)環(huán)境來快速部署軟件。應(yīng)理解,用戶在發(fā)現(xiàn)對(duì)新web服務(wù)的需求時(shí)可在業(yè)務(wù)流程定義模塊中定義新的 web服務(wù)。這些新web服務(wù)被傳播到web服務(wù)定義,通過公共定義儲(chǔ)存庫(kù)到達(dá)web服 務(wù)定義模塊。以此方式定義的web服務(wù)將立即可供在正被定義的業(yè)務(wù)流程中使用以及在SOA工廠環(huán)境中所定義的任何其他業(yè)務(wù)流程中使用。對(duì)于web服務(wù),服務(wù)定義語(yǔ)言的公共標(biāo)準(zhǔn)是WSDL,以及對(duì)于服務(wù)發(fā)現(xiàn),服務(wù) 定義語(yǔ)言的公共標(biāo)準(zhǔn)是UDDI,這兩者都是基于XML的定義標(biāo)準(zhǔn)。WSDL可被導(dǎo)入任何 領(lǐng)先廠商的開發(fā)環(huán)境,可生成代碼并且可將服務(wù)部署到專用SOA運(yùn)行時(shí)環(huán)境。若企業(yè)采 用公共web服務(wù)注冊(cè)表,則可生成UDDI XML并將其導(dǎo)入該注冊(cè)表以提供對(duì)該企業(yè)中能 使用/重用的任何web服務(wù)的發(fā)現(xiàn)。一旦在軟件工廠環(huán)境中定義了 web服務(wù),就可在必 要時(shí)向它們應(yīng)用安全規(guī)則以在運(yùn)行時(shí)環(huán)境中提供適當(dāng)?shù)姆?wù)等級(jí)安全性。所生成的web 服務(wù)定義通過SOA過程集成層被發(fā)送給所選廠商專用開發(fā)環(huán)境。隨后生成web服務(wù)實(shí) 現(xiàn),對(duì)其進(jìn)行編碼、測(cè)試并且然后將其部署到目標(biāo)SOA運(yùn)行時(shí)環(huán)境。
應(yīng)理解,用于業(yè)務(wù)流程定義的基于XML的定義語(yǔ)言包括WS-BPEL和BPMN。 這些定義語(yǔ)言允許web服務(wù)一起工作以創(chuàng)建從事web服務(wù)的真正的業(yè)務(wù)應(yīng)用程序的流 程。BPEL服務(wù)可在規(guī)則引擎中調(diào)用業(yè)務(wù)規(guī)則以在特定業(yè)務(wù)流程的處理流期間作出決定。 通過保持業(yè)務(wù)規(guī)則與業(yè)務(wù)流程分開,就有可能避免將真正的業(yè)務(wù)規(guī)則“隱藏”在業(yè)務(wù)流 程內(nèi),并且業(yè)務(wù)規(guī)則能獨(dú)立于使用它們的任何業(yè)務(wù)流程而被修改。此外,可以在必要時(shí)對(duì)BPEL服務(wù)應(yīng)用安全規(guī)則以便為該環(huán)境中的業(yè)務(wù)流程提供 適當(dāng)?shù)陌踩?。本文中描述的?shí)施例允許在模型定義環(huán)境中使用任何廠商的業(yè)務(wù)流程建 模工具,即使部署環(huán)境具有不同的廠商。通過這樣做,軟件工廠環(huán)境中支持模型驅(qū)動(dòng)開 發(fā)范例。隨著BPMN標(biāo)準(zhǔn)的浮現(xiàn),業(yè)務(wù)流程建模記法在將來可能具有用于圖形地對(duì)業(yè)務(wù) 流程建模的公共方式的標(biāo)準(zhǔn)。BPMN允許向WS-BPEL的正式映射;然而,該映射目前 是不完整的。在提供完整的正式映射之前,業(yè)務(wù)流程定義模塊將填充在從任何BPMN順 從模型生成WS-BPEL時(shí)的縫隙。如以上提及的,存在名為WS安全,即WSS的基于XML的web服務(wù)安全定義標(biāo) 準(zhǔn)。在軟件工廠環(huán)境中定義并被存儲(chǔ)在公共定義儲(chǔ)存庫(kù)中的安全規(guī)則和策略可作為WSS XML被導(dǎo)出到任何SOA環(huán)境。此外,本發(fā)明允許定義安全規(guī)則并將其應(yīng)用于服務(wù)。本 文中描述的實(shí)施例還給予企業(yè)具有一個(gè)公共SOA定義儲(chǔ)存庫(kù)的機(jī)會(huì),以使得支持特定業(yè) 務(wù)功能的服務(wù)和業(yè)務(wù)流程能被一次定義,而不管該企業(yè)中能采用多少不同的廠商專用平 臺(tái),由此通過始終重用和消除冗余流程來使企業(yè)的ROI最大化。圖4描繪了其中可實(shí)現(xiàn)一實(shí)施例的數(shù)據(jù)處理系統(tǒng)的框圖。該數(shù)據(jù)處理系統(tǒng)可被 實(shí)現(xiàn)為部分或整個(gè)SOA軟件工廠。應(yīng)理解,該數(shù)據(jù)處理系統(tǒng)可被用作SOA軟件工廠的一 個(gè)或多個(gè)組件的服務(wù)器或客戶機(jī)。所描繪的數(shù)據(jù)處理系統(tǒng)包括連接到二級(jí)高速緩存/橋 404的處理器,該二級(jí)高速緩存/橋404又連接到局部系統(tǒng)總線406。局部系統(tǒng)總線406 可以是例如外圍組件互連(PCI)架構(gòu)總線。所描繪的示例中還連接到局部系統(tǒng)總線的是 主存儲(chǔ)器408和圖形適配器410。圖形適配器410可連接到顯示器411。諸如局域網(wǎng)(LAN) /廣域網(wǎng)/無線(例如,WiFi)適配器412之類的其他外圍組 件也可連接到局部系統(tǒng)總線406。擴(kuò)展總線接口 414將局部系統(tǒng)總線406連接到輸入/輸 出(I/O)總線416。I/O總線416連接到鍵盤/鼠標(biāo)適配器418、盤控制器420以及I/O 適配器422。盤控制器420可連接到存儲(chǔ)426,存儲(chǔ)426可以是任何合適的機(jī)器可使用或 機(jī)器可讀存儲(chǔ)介質(zhì),包括但不限于非易失性硬編碼型介質(zhì),諸如只讀存儲(chǔ)器(ROM)或電可擦除可編程只讀存儲(chǔ)器(EEPROM)、磁帶存儲(chǔ),以及用戶可記錄型介質(zhì),諸如軟盤、 硬盤驅(qū)動(dòng)器和緊致盤只讀存儲(chǔ)器(CD-ROM)或數(shù)字多功能盤(DVD),以及其他已知的 光、電或磁存儲(chǔ)設(shè)備。所示的示例中還連接到I/O總線416的是音頻適配器424,揚(yáng)聲器(未示出)可 連接到音頻適配器424以播放聲音。鍵盤/鼠標(biāo)適配器418為諸如鼠標(biāo)、跟蹤球、跟蹤 指針等定點(diǎn)設(shè)備(未示出)提供連接。本領(lǐng)域普通技術(shù)人員將領(lǐng)會(huì),圖4中描繪的硬件出于特定原因而改變。例如, 也可使用諸如光盤驅(qū)動(dòng)器等其他外圍設(shè)備作為對(duì)所描繪的硬件的補(bǔ)充或替換。所描繪的 示例只是出于解釋的目的而提供的且并不意味著暗示針對(duì)本發(fā)明的體系結(jié)構(gòu)限制。根據(jù)本發(fā)明的一實(shí)施例的數(shù)據(jù)處理系統(tǒng)包括采用圖形用戶界面的操作系統(tǒng)。該 操作系統(tǒng)準(zhǔn)許在圖形用戶界面中同時(shí)呈現(xiàn)多個(gè)顯示窗口,每一個(gè)顯示窗口提供至不同應(yīng) 用程序或至相同應(yīng)用程序的不同實(shí)例的接口。圖形用戶界面中的光標(biāo)可由用戶通過定點(diǎn) 設(shè)備來操縱??筛淖児鈽?biāo)的位置和/或可生成諸如點(diǎn)擊鼠標(biāo)按鈕之類的事件以致動(dòng)所需 響應(yīng)。各種商用操作系統(tǒng)之一若被合適地修改則可被采用,諸如位于華盛頓州雷蒙德 市的微軟公司的產(chǎn)品Microsoft Windows 的一個(gè)版本。該操作系統(tǒng)根據(jù)所描述的本發(fā)明 來修改或創(chuàng)建。LAN/WAN/無線適配器412可連接到網(wǎng)絡(luò)430 (不是數(shù)據(jù)處理系統(tǒng)400的一部 分),網(wǎng)絡(luò)430可以是如本領(lǐng)域技術(shù)人員已知的包括因特網(wǎng)在內(nèi)的任何公共或?qū)S袛?shù)據(jù)處 理系統(tǒng)網(wǎng)絡(luò)或網(wǎng)絡(luò)組合。數(shù)據(jù)處理系統(tǒng)400可通過網(wǎng)絡(luò)430與服務(wù)器系統(tǒng)440通信,服 務(wù)器系統(tǒng)440也不是數(shù)據(jù)處理系統(tǒng)400的一部分,但可被實(shí)現(xiàn)為例如單獨(dú)的數(shù)據(jù)處理系統(tǒng) 400。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,為簡(jiǎn)單和清楚起見,沒有在本文中描繪或描述適合 與本發(fā)明一起使用的所有數(shù)據(jù)處理系統(tǒng)的完整結(jié)構(gòu)和操作。相反,僅描繪和描述了本發(fā) 明獨(dú)有的或者理解本發(fā)明所必需的數(shù)據(jù)處理系統(tǒng)的那部分。數(shù)據(jù)處理系統(tǒng)400的構(gòu)造和 操作的其余部分可符合本領(lǐng)域已知的各種現(xiàn)有實(shí)現(xiàn)和實(shí)踐中的任一種。重要的是注意到,雖然本發(fā)明包括全功能系統(tǒng)的上下文中的描述,但是本領(lǐng) 域技術(shù)人員將領(lǐng)會(huì),本發(fā)明的機(jī)制的至少各部分能夠以各種形式中的任一種的機(jī)器可 使用介質(zhì)內(nèi)所包含的指令的形式來分布,并且不管用于實(shí)際執(zhí)行該分布的指令或信號(hào) 承載介質(zhì)的特定類型如何,本發(fā)明都等同地適用。機(jī)器可使用或機(jī)器可讀介質(zhì)的示例 包括非易失性硬編碼型介質(zhì),諸如只讀存儲(chǔ)器(ROM)或電可擦除可編程只讀存儲(chǔ) 器(EEPROM),以及用戶可記錄型介質(zhì),諸如軟盤、硬盤驅(qū)動(dòng)器和緊致盤只讀存儲(chǔ)器 (CD-ROM)或數(shù)字多功能盤(DVD)。圖5是使用SOA軟件工廠體系結(jié)構(gòu)的一種方法500。在框502中,該方法將多 個(gè)定義存儲(chǔ)在公共定義儲(chǔ)存庫(kù)中。在框504中,該方法將這些定義傳送到軟件工廠定義 層中。在框506中,將軟件定義與廠商環(huán)境和企業(yè)web服務(wù)注冊(cè)表集成。最后,在框 508中,創(chuàng)建運(yùn)行時(shí)環(huán)境并將其存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上。盡管已詳細(xì)描述了本發(fā)明的示例性實(shí)施例,但本領(lǐng)域技術(shù)人員將理解,可作出 本文中所公開的各種改變、替換、變型和改進(jìn)而不背離本發(fā)明以其最廣泛的形式的精神和范圍。 本申請(qǐng)中 的描述皆不應(yīng)被解讀為暗示任何特定元素、步驟或功能是權(quán)利要求范 圍中必須包括的必要元素要求專利的主題的范圍僅由所附權(quán)利要求定義。而且,這些 權(quán)利要求皆不旨在行使35USC§112第6段,除非確切的措辭“用于……的裝置”后面 跟有分詞。
權(quán)利要求
1.一種操作面向服務(wù)的體系結(jié)構(gòu)軟件工廠系統(tǒng)的方法,包括將多個(gè)定義存儲(chǔ)在公共定義儲(chǔ)存庫(kù)中;將所述多個(gè)定義傳送到軟件工廠定義層中;將所述面向服務(wù)的體系結(jié)構(gòu)與面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境和注冊(cè)表集成,其中所 述定義由第一提供者定義而所述面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境由第二提供者定義,其中 所述集成解決所述定義與所述面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境之間的任何沖突;創(chuàng)建運(yùn)行時(shí)環(huán)境,其中所述運(yùn)行時(shí)環(huán)境基于所述多個(gè)定義、所述面向軟件的體系結(jié) 構(gòu)開發(fā)環(huán)境和所述注冊(cè)表來創(chuàng)建;以及將所述運(yùn)行時(shí)環(huán)境存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上。
2.如權(quán)利要求1所述的方法,其特征在于,所述公共定義儲(chǔ)存庫(kù)包括與定義、模型和 規(guī)則相關(guān)的信息。
3.如權(quán)利要求2所述的方法,其特征在于,所述規(guī)則包括業(yè)務(wù)規(guī)則和安全規(guī)則。
4.如權(quán)利要求2所述的方法,其特征在于,所述定義包括多個(gè)業(yè)務(wù)流程定義。
5.如權(quán)利要求1所述的方法,其特征在于,所述公共定義儲(chǔ)存庫(kù)被配置成生成 XML。
6.如權(quán)利要求1所述的方法, 專用體系結(jié)構(gòu)。
7.如權(quán)利要求1所述的方法, (BPMN)格式存儲(chǔ)信息。
8.如權(quán)利要求1所述的方法, 規(guī)則的組。
9.一種面向服務(wù)的體系結(jié)構(gòu)軟件工廠系統(tǒng),包括公共定義儲(chǔ)存庫(kù),其中所述公共定義儲(chǔ)存庫(kù)包括服務(wù)、規(guī)則、流程;耦合到所述公共定義儲(chǔ)存庫(kù)的面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境;耦合到所述公共定義儲(chǔ)存庫(kù)的注冊(cè)表;處理器,其中所述處理器被配置成加載所述公共定義儲(chǔ)存庫(kù)、所述面向軟件的體系 結(jié)構(gòu)開發(fā)環(huán)境和所述注冊(cè)表,其中所述處理器根據(jù)所述公共定義儲(chǔ)存庫(kù)、所述面向軟件 的體系結(jié)構(gòu)開發(fā)環(huán)境和所述注冊(cè)表來創(chuàng)建運(yùn)行時(shí)環(huán)境;以及輸出設(shè)備,其中所述輸出設(shè)備輸出所述運(yùn)行時(shí)環(huán)境。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述輸出設(shè)備將所述運(yùn)行時(shí)環(huán)境存儲(chǔ)到 計(jì)算機(jī)可讀介質(zhì)上。
11.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述規(guī)則包括業(yè)務(wù)規(guī)則和安全規(guī)則。
12.如權(quán)利要求9所述的系統(tǒng),其特征在于,第一存儲(chǔ)器以XML格式存儲(chǔ)信息。
13.—種面向服務(wù)的體系結(jié)構(gòu)(SOA)軟件工廠系統(tǒng),包括業(yè)務(wù)規(guī)則定義模塊,所述業(yè)務(wù)規(guī)則定義模塊生成業(yè)務(wù)規(guī)則并向SOA工廠集成層輸出 所述業(yè)務(wù)規(guī)則;服務(wù)定義模塊,所訴服務(wù)定義模塊生成服務(wù)并向所述SOA工廠集成層輸出所述服務(wù);業(yè)務(wù)流程定義模塊,所述業(yè)務(wù)流程定義模塊生成業(yè)務(wù)流程并向所述SOA工廠集成層2其特征在于,所述面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境是廠商 其特征在于,所述公共定義儲(chǔ)存庫(kù)以業(yè)務(wù)流程建模記法 其特征在于,所述多個(gè)定義選自服務(wù)、業(yè)務(wù)規(guī)則和安全輸出所述業(yè)務(wù)流程;安全規(guī)則定義模塊,所述安全規(guī)則定義模塊生成安全規(guī)則并向所述SOA工廠集成層輸出所述安全規(guī)則,其中所述SOA工廠集成層基于所述安全規(guī)則、所述業(yè)務(wù)流程、所述 服務(wù)和所述業(yè)務(wù)規(guī)則來創(chuàng)建接口規(guī)范;SOA運(yùn)行時(shí)環(huán)境層,所述SOA運(yùn)行時(shí)環(huán)境層基于廠商開發(fā)環(huán)境、注冊(cè)表和所述接口 規(guī)范來生成運(yùn)行時(shí)環(huán)境;以及輸出設(shè)備,所述輸出設(shè)備將所述運(yùn)行時(shí)環(huán)境輸出到計(jì)算機(jī)可讀介質(zhì)上。
14.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述業(yè)務(wù)規(guī)則以選自以下列表的格式 生成可擴(kuò)展標(biāo)記語(yǔ)言(XML)、web服務(wù)定義語(yǔ)言(WSDL)、以及通用描述發(fā)現(xiàn)和集成 (UDDI)。
15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述業(yè)務(wù)規(guī)則以選自包括以下各項(xiàng)的列 表的格式生成可擴(kuò)展標(biāo)記語(yǔ)言(XML)、web服務(wù)定義語(yǔ)言(WSDL)、以及通用描述發(fā) 現(xiàn)和集成(UDDI)。
16.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述業(yè)務(wù)流程以選自包括以下各項(xiàng)的列 表的格式生成web服務(wù)業(yè)務(wù)流程執(zhí)行語(yǔ)言(BS-BPEL)、web服務(wù)定義語(yǔ)言(WSDL)、 以及通用描述發(fā)現(xiàn)和集成(UDDI)。
17.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述安全規(guī)則以web服務(wù)安全(WSS) 格式生成。
18.如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括用于將參數(shù)輸入到所述業(yè)務(wù)規(guī)則 定義模塊中的業(yè)務(wù)定義用戶界面。
19.如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括用于將參數(shù)輸入到所述服務(wù)規(guī)則 定義模塊中的服務(wù)定義用戶界面。
20.如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括用于將參數(shù)輸入到所述業(yè)務(wù)流程 定義模塊中的業(yè)務(wù)流程用戶界面。
21.如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括用于將參數(shù)輸入到所述安全規(guī)則 定義模塊中的安全定義用戶界面。
全文摘要
定義了操作面向服務(wù)的體系結(jié)構(gòu)軟件工廠系統(tǒng)的系統(tǒng)和方法。在一些實(shí)施例中,這些系統(tǒng)和方法包括將多個(gè)定義存儲(chǔ)在公共定義儲(chǔ)存庫(kù)中,將這多個(gè)定義傳送到軟件工廠定義層中,將該面向服務(wù)的體系結(jié)構(gòu)與面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境和注冊(cè)表集成,以及創(chuàng)建運(yùn)行時(shí)環(huán)境。在這些實(shí)施例中,運(yùn)行時(shí)環(huán)境基于這多個(gè)定義、面向軟件的體系結(jié)構(gòu)開發(fā)環(huán)境和注冊(cè)表來創(chuàng)建。
文檔編號(hào)G06F9/44GK102027465SQ200980117604
公開日2011年4月20日 申請(qǐng)日期2009年7月14日 優(yōu)先權(quán)日2008年7月15日
發(fā)明者C·A·布里尼斯圖爾, L·F·施米特 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)