国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      在面向服務(wù)的架構(gòu)儲存庫之間的遷移工件的制作方法

      文檔序號:6352400閱讀:226來源:國知局
      專利名稱:在面向服務(wù)的架構(gòu)儲存庫之間的遷移工件的制作方法
      在面向服務(wù)的架構(gòu)儲存庫之間的遷移工件
      背景技術(shù)
      面向服務(wù)的架構(gòu)是一種信息技術(shù),其中可以使業(yè)務(wù)功能(例如,軟件應(yīng)用部件)如網(wǎng)絡(luò)(諸如因特網(wǎng))上的共享的、可重新使用的服務(wù)那樣可用。該架構(gòu)松散地耦合能夠以標準化的、透明的方式進行交互的部件,而不管平臺、廠商或運行該部件的技術(shù)如何。使用面向服務(wù)的架構(gòu),組織可以更反應(yīng)迅速且更有效率,因為可以快速地開發(fā)、組合以及部署靈活的、基于標準的部件。在企業(yè)組織中,該架構(gòu)使得新技術(shù)的快速部署能夠利用動態(tài)市場中的機會。用其中記錄了可用部件的管理工具集來維護架構(gòu)本身。使該文檔對于架構(gòu)的潛在用戶而言可用于通知他們什么部件是可用的,以及如何使用這些部件。所述文檔被典型地存儲在數(shù)據(jù)庫或儲存庫(repository)中。在某些情況下,組織可以使用多個儲存庫。例如,組織內(nèi)的每個部門可以具有它自己的儲存庫。當組織構(gòu)建部門之間的軟件接口時,可以在不同的儲存庫之間遷移或者復制服務(wù)。當服務(wù)被遷移時,所關(guān)聯(lián)的儲存庫數(shù)據(jù)也被遷移。當前的遷移儲存庫數(shù)據(jù)的工具限于聯(lián)網(wǎng)的架構(gòu)。對于指望利用由架構(gòu)所提供的效率的組織來說,關(guān)于定制什么被遷移的進一步的限制使得這些工具效率低下。


      在以下詳細的描述中并且參考附圖對特定實施例進行描述,在圖中
      圖1A是具有根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)的多個儲存庫的系統(tǒng)的方框圖; 圖1B是根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)儲存庫的方框 圖2是根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)的儲存庫的方框 圖3是用于使根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)儲存庫同步的方法的處理流程圖; 圖4是圖示了根據(jù)本發(fā)明的實施例的服務(wù)的遷移的方框 圖5是圖示了根據(jù)本發(fā)明的實施例的兩個面向服務(wù)的架構(gòu)儲存庫的方框 圖6是用于使根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)儲存庫同步的方法的處理流程圖;圖7是示出了存儲用于使面向服務(wù)的架構(gòu)儲存庫同步的代碼的非暫時性機器可讀介質(zhì)的方框圖;以及
      圖8是圖示了用于使根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)儲存庫同步的系統(tǒng)的方框圖。
      具體實施例方式圖1A是具有根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)的多個儲存庫的系統(tǒng)100的方框圖。如所示出的,系統(tǒng)100包括開發(fā)儲存庫110A、110B、1 IOC ;測試儲存庫120A、120B、120C ;登臺(staging)儲存庫130A、130B、130C ;以及生產(chǎn)儲存庫140。對于組織中的特定部門來說,所述儲存庫中的每一個可以表示軟件生命周期中的一個階段。軟件生命周期表示在典型的軟件開發(fā)工作中涉及到的不同階段。生命周期包括開發(fā)階段、測試階段、登臺階段以及生產(chǎn)階段。開發(fā)階段是開發(fā)新軟件和/或?qū)ΜF(xiàn)有軟件進行修改的階段。典型地,開發(fā)階段包括單元測試,借此可以驗證各個軟件部件的功能。開發(fā)儲存庫110A、110B、1 IOC可以包括正在為組織中的3個單獨的部門A、B以及C開發(fā)的軟件的元數(shù)據(jù)。一旦單元測試完成,就可以將軟件部件遷移到測試階段,并且可以將關(guān)聯(lián)的元數(shù)據(jù)遷移到測試儲存庫。測試階段是可以驗證經(jīng)單元測試過的軟件部件之間的交互的階段。測試儲存庫120AU20B以及120C可以包括正在被測試的軟件的元數(shù)據(jù)。一旦測試階段完成,就可以將軟件部件遷移到登臺階段,并且可以將關(guān)聯(lián)的元數(shù)據(jù)遷移到登臺儲存庫。登臺階段是可以在類似生產(chǎn)的環(huán)境中對測試過的軟件進一步進行測試的階段??梢栽诘桥_階段中驗證部門間接口。登臺儲存庫130A、130B、130C可以包括處于登臺階段中的軟件的元數(shù)據(jù)。一旦登臺階段完成,就可以將軟件部件遷移到生產(chǎn)階段,并且可以將關(guān)聯(lián)的元數(shù)據(jù)遷移到生產(chǎn)儲存庫140。生產(chǎn)階段可以表示組織的面向服務(wù)的架構(gòu)的實際有效實現(xiàn)。生產(chǎn)儲存庫140可以包括可用于由面向服務(wù)的架構(gòu)的消費者執(zhí)行的軟件的元數(shù)據(jù)。如所示出的,可以用單個生產(chǎn)儲存庫140來表示組織的所有部門的軟件實現(xiàn)。在本發(fā)明的實施例中,各儲存庫可以在物理上分離。物理分離可以包括空氣間隙,借此,儲存庫之間不存在網(wǎng)絡(luò)連接。同樣地,遷移可以包括兩個單獨的步驟導出步驟和導入步驟。導出步驟可以包括從源儲存庫導出元數(shù)據(jù)。例如,當將軟件部件遷移到測試階段時,可以將關(guān)聯(lián)的元數(shù)據(jù)從開發(fā)儲存庫IlOA導出到物理存儲設(shè)備中。物理存儲設(shè)備可以是致密盤、或其他計算機可讀介質(zhì)。然后可以將致密盤轉(zhuǎn)移到目的儲存庫(諸如測試儲存庫120A)的物理位置,在那里可以執(zhí)行導入步驟。如由本領(lǐng)域的技術(shù)人員所理解的那樣,各儲存庫的不同布置是可能的。系統(tǒng)100僅僅是組織的面向服務(wù)的架構(gòu)儲存庫的一個可能的示例。圖1B是根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)(service-orientedarchitecture)儲存庫150的方框圖。儲存庫150包括工件(artifact)152和其他元數(shù)據(jù),諸如關(guān)系182、歷史184、安全186、分類188、管理元數(shù)據(jù)190以及管理過程192。工件
      工件152可以包括關(guān)于服務(wù)的元數(shù)據(jù)、或關(guān)于在面向服務(wù)的架構(gòu)中提供的服務(wù)的實現(xiàn)細節(jié)。工件152還可以包括與擴展名(extension)和插件(plug-1n)相關(guān)的元數(shù)據(jù)。工件152的不例包括但不限于服務(wù)162、實現(xiàn)方式164、聯(lián)系人166、評論154、評級156、契約(contract) 158、文檔160、端點168、web服務(wù)描述語言(WSDL) 170、服務(wù)水平目標(SLO) 174、以及 XML 模式(schema)定義(XSD) 176。評論154可以使服務(wù)162的消費者能夠討論儲存庫150中的工件152。在某些情況下,消費者可以提供對工件152的評論154。在這樣的情況下,可以使其他消費者或提供者能夠?qū)υu論154作出響應(yīng)。通過知識和經(jīng)驗的分享,這可以促進儲存庫150的多個用戶之間的合作。評級156允許用戶將評級分數(shù)應(yīng)用于工件152。服務(wù)162的消費者可以檢查其他消費者如何對特定的工件152 (例如,服務(wù)162)進行評級,并且選擇具有良好評級的服務(wù)162 (或其他工件152)。契約158用于對(例如在服務(wù)162之間的)提供者_消費者的關(guān)系進行建模。契約158還記錄消費者、所消費的服務(wù)162、以及用于提供服務(wù)162的條款。文檔160對儲存庫150中的“文件”(任意文件-MC Word、PDF、XLS、圖表等)進行建模。文檔160可以被鏈接到相關(guān)的工件152。這些鏈接可以表示工件152由文檔160來描述或者與文檔160有關(guān)。服務(wù)162表示特定的一組功能,其可以被其他服務(wù)、應(yīng)用、客戶使用(消費)。服務(wù)162是已經(jīng)對其應(yīng)用了達有意義程度的服務(wù)定向的解決方法邏輯的單元。實現(xiàn)方式164可以表示服務(wù)162的功能元素。根據(jù)與諸如操作和端點168之類的其他工件152的關(guān)系來看,實現(xiàn)方式164可以提供服務(wù)162的技術(shù)描述。聯(lián)系人166表示儲存庫150中的人和組織單元。聯(lián)系人166還允許可以促進到工件152、人、組織以及工件152、人與組織之間的關(guān)系的鏈接。例如,關(guān)系可以包括責任方、支持人員、風險承擔者等。端點168指定了關(guān)于如何訪問服務(wù)162 (實現(xiàn)方式)的技術(shù)細節(jié)。該細節(jié)可以包括詳情,諸如在哪里以及如何訪問服務(wù)162。web服務(wù)描述語言170是用于對web服務(wù)進行描述的標準格式。web服務(wù)描述語言170定義描述了如何訪問web服務(wù),以及執(zhí)行什么操作。首字母縮寫詞WSDL通常發(fā)‘whizz-dul’的音(以與‘whistle’押韻)。如本領(lǐng)域中的技術(shù)人員所理解的那樣,web服務(wù)描述語言170 WSDL是web服務(wù)162以及其他(諸如SOAP和UDDI)的一個基礎(chǔ)標準。服務(wù)水平目標174是服務(wù)提供者與消費者(即服務(wù)162的消費者)之間的服務(wù)水平協(xié)議(SLA)的元素。服務(wù)水平目標174被同意作為對服務(wù)提供者的表現(xiàn)進行測量的手段。有利地,通過同意服務(wù)水平目標174,提供者和消費者可以避免由誤解引起的爭議。XML模式定義176描述并且驗證數(shù)據(jù)XML環(huán)境。模式是用于對信息的結(jié)構(gòu)進行描述的模型。XML模式定義176的內(nèi)含物是萬維網(wǎng)聯(lián)盟(W3C)的建議。其他元數(shù)據(jù)
      關(guān)系182可以描述不同工件152之間的關(guān)系。關(guān)系182中的每一個可以具有目標和源。在本發(fā)明的實施例中,關(guān)系182可以被分類為聚合、依賴或關(guān)聯(lián)。聚合關(guān)系可以指示關(guān)系的目標是源的一部分。換句話說,在目標工件152中存儲的元數(shù)據(jù)可以包括在源工件152中存儲的元數(shù)據(jù)。依賴關(guān)系可以指示源工件152可以依賴于目標工件152。在依賴關(guān)系中,在源工件152中存儲的元數(shù)據(jù)可以被包括在目標工件152中。關(guān)聯(lián)關(guān)系可以指示源與目標之間的一般連接。歷史184可以包括對工件152的歷史修正。當遷移工件152時,用戶可以選擇是否包括工件152的所有歷史184。安全186可以用訪問控制列表(ACL)來表示。訪問控制列表可以是與工件152相關(guān)聯(lián)的權(quán)限的列表。訪問控制列表可以指定被允許對工件152訪問的用戶或系統(tǒng)過程,以及對工件152允許什么操作。分類188可以指定用于對工件152進行分類的分類系統(tǒng)??梢韵拗茖Ψ诸?88的更新,因為儲存庫150的內(nèi)容可能對分類188中的錯誤敏感。應(yīng)注意的是,將分類188遷移到目的儲存庫用來更新目的儲存庫中的分類188。同樣地,在本發(fā)明的實施例中,可以分別地遷移分類188和工件152以避免目的儲存庫中的潛
      在錯誤。管理元數(shù)據(jù)190可以標識對工件152的最后批準的修正。在本發(fā)明的實施例中,用戶可以選擇是否遷移工件152的最后修正、或最后批準的修正。管理元數(shù)據(jù)190可以提供關(guān)于工件152的狀態(tài)的附加信息。被遷移的管理元數(shù)據(jù)190可能受限于與正被遷移的工件152有關(guān)的管理元數(shù)據(jù)190。在沒有被遷移工件152的有關(guān)的管理元數(shù)據(jù)190的情況下,如由本領(lǐng)域中的技術(shù)人員所理解的那樣,來自工件152的某些東西被丟失了并且在目的儲存庫中將缺失。在沒有管理元數(shù)據(jù)190的情況下,工件152仍然可以符合工件模型。然而,管理元數(shù)據(jù)190符合不同于工件152的規(guī)則??梢酝ㄟ^例如管理框架來確定不同的規(guī)則。管理過程192可以包含階段以及階段之間的轉(zhuǎn)變。階段可以包括開發(fā)、測試、生產(chǎn)、取消等等。轉(zhuǎn)變可以包括開發(fā)到測試、開發(fā)到取消、測試到生產(chǎn)、測試到取消等等。管理過程192可以促進工件152的生命周期的控制。每一個階段可以包括規(guī)格(specification),諸如批準者、任務(wù)、策略以及自動化動作。批準者可以是批準將工件152置于特定階段中的用戶(用角色或組定義)。例如,當工件152的開發(fā)結(jié)束時,工件152的維護者將請求批準。批準者可以被通知,并且檢查(一個或多個)工件152。批準者然后可以接受/拒絕批準請求。對于轉(zhuǎn)變來說,可以實施阻止向工件152分配轉(zhuǎn)變的規(guī)則,除非對應(yīng)階段被批準。任務(wù)可以定義在階段期間的角色和責任。例如,具有開發(fā)者的角色的人可以在開發(fā)階段期間執(zhí)行所述實現(xiàn)方式。策略可以包括要針對階段被批準的工件152的資格。以這種方式,批準可以自動地發(fā)生。如果資格不滿足,則可以阻止用戶請求批準。自動動作可以由預定事件觸發(fā)。例如,當工件152被批準用于生產(chǎn)階段時,服務(wù)162可以被標記為可消費的。附加地,可以將通知發(fā)送給特定用戶。與分類188類似,可以從工件152單獨地遷移管理過程192。在這樣的實施例中,可以確定遷移管理過程192的完整閉包(full-closure)。如何確定完整閉包對于特定的儲存庫而言可以是特定的。然而,管理過程192典型地包括轉(zhuǎn)變規(guī)則、策略以及分類,其可以被包括在管理過程的閉包中。在某些場景中,可以不相容地改變管理過程192。例如,給出過程版本A和后期開發(fā)的A’,其中過程A對工件152進行管理。當過程A被改變?yōu)檫^程A’時,可以根據(jù)過程A’的定義來對工件152進行管理。如果過程A’可以被傳播到受管理的工件152,則改變可以是后向兼容的。例如,如果添加了批準者,則新的批準者可以被傳播給受管理的工件152。同樣地,當請求批準時,將通知更多的批準者。更新可能對其批準已經(jīng)正在運行的工件152沒有影響。然而,如果例如一階段被移除了,則某些更新可能是不兼容的。如果管理過程192不是兼容的,則它可以作為新過程被導入。同樣地,在源儲存庫中,可以存在過程A以及后期版本過程A’。如果進行了不兼容的改變,則在目標儲存庫中,可以存在兩個不同的過程A和A’。這些可以被表示為具有不同身份的兩個不同的實體。因此,可以反對過程A,這可以阻止過程A被用來開始新工件152的管理。代替地,過程A可以管理已經(jīng)由該過程先前管理了的工件152,而過程A’可以被用來管理新的工件152。圖2是根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)的儲存庫200的方框圖。面向服務(wù)的架構(gòu)儲存庫200可以包括針對服務(wù)(諸如服務(wù)X和服務(wù)Z)的元數(shù)據(jù)。元數(shù)據(jù)可以被組織為工件152,諸如X :服務(wù)202、Z :服務(wù)206,以及Y :實現(xiàn)方式204。連接儲存庫200中的工件152的線可以表示關(guān)系182。例如,在X :服務(wù)202與Z :服務(wù)206之間的關(guān)系(標記的契約210)可以指示服務(wù)X依賴于服務(wù)Z。雖然契約158是工件152,但可以存在來自服務(wù)X的關(guān)系,其可以是該契約的消費者以及從契約提供者到服務(wù)Z的關(guān)系的消費者。兩個提及的關(guān)系被標記為依賴-因而服務(wù)X依賴于該契約,而該契約依賴于服務(wù)Z。附加地,關(guān)系依賴212可以指示服務(wù)X的實現(xiàn)方式可以依賴于實現(xiàn)方式Y(jié)的使用部分。在儲存庫200被表示為數(shù)據(jù)庫的本發(fā)明的實施例中,各個工件152可以被表示為數(shù)據(jù)庫表中的行。在這樣的實施例中,工件152之間的關(guān)系可以被表示為數(shù)據(jù)庫關(guān)系。在本發(fā)明的實施例中,可以將工件類型中的任何一個遷移到另一個儲存庫。然而,可以將典型的面向服務(wù)的架構(gòu)抽象映射到多個工件152。同樣地,典型的遷移可以包括一個以上的工件152。在這樣的實施例中,當針對遷移選擇了一個工件152時,可以確定工件閉包。該工件閉包可以包括在特定抽象內(nèi)的所有工件152。例如,儲存庫200可以包括針對工件X :月艮務(wù)202的工件閉包202A、針對工件Y :實現(xiàn)方式204的工件閉包204A、以及針對工件Z :月艮務(wù)206的工件閉包206A。工件閉包202A、204A、206A可以包括所有工件152,其分別與工件202,204,206具有聚合關(guān)系。圖3是用于使根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)儲存庫同步的方法300的處理流程圖。應(yīng)理解的是,該處理流程圖不旨在指示執(zhí)行的特定次序。當接收到用于導出工件152的請求時,方法300可以在方框302處開始。所述請求可以指定要被導出的工件152。在方框304處,可以標識工件閉包。如先前所陳述的那樣,工件閉包可以包括與所請求的工件152具有聚合關(guān)系的所有工件152。在本發(fā)明的實施例中,儲存庫150的模型可以被用來標識聚合關(guān)系。所述模型可以指定儲存庫中的每個關(guān)系182的類型,即聚合、依賴或關(guān)聯(lián)。在方框306處,可以從儲存庫150中檢索工件閉包。如先前所陳述的那樣,工件閉包可以包括所請求的工件152中的元數(shù)據(jù),和與所請求的工件152具有聚合關(guān)系的所有工件 152。附加地,工件閉包可以包括與該工件閉包的依賴關(guān)系??梢圆粰z索通過依賴關(guān)系而被連接到該工件閉包的工件152。在方框308處,可以從儲存庫150中檢索安全數(shù)據(jù)。所檢索到的安全數(shù)據(jù)可以包括針對工件閉包中的工件152中的每一個的安全186。在方框310處,可以從儲存庫150中檢索管理元數(shù)據(jù)190。所檢索到的管理元數(shù)據(jù)可以包括針對工件閉包中的工件152中的每一個的管理元數(shù)據(jù)190。在方框312處,可以從儲存庫中檢索用戶指定的元數(shù)據(jù)。除了工件閉包、安全186以及管理元數(shù)據(jù)190之外,用戶可以指定要被包括在導出中的元數(shù)據(jù)。用戶指定的元數(shù)據(jù)可以包括歷史184、分類188以及由用戶指定的任何工件152。由用戶指定的工件152可以包括與工件閉包具有依賴關(guān)系的工件152。在方框314處,可以將所檢索到的數(shù)據(jù)封裝到檔案文件(archive)中。在本發(fā)明的實施例中,可以用ZIP檔案文件的形式將檔案文件串行化和封裝。檔案文件可以包含對檔案文件的內(nèi)容進行描述的清單。例如,所述清單可以指定格式版本、起源統(tǒng)一資源定位符(URL)、請求導出的用戶、導出的日期和時間、源儲存庫名稱、更新、擴展名、基本統(tǒng)一資源定位符、模型版本、循環(huán)冗余校驗(CRC)以及數(shù)字簽名。數(shù)字簽名可以被用來建立儲存庫之間的信任。當檔案文件被受信任的儲存庫簽署時,對于到目的儲存庫的導入來說,該檔案文件可以被認為是安全的。在方框316處,檔案文件可以被導入到目的儲存庫。在本發(fā)明的實施例中,可以對用戶示出經(jīng)封裝的數(shù)據(jù)的預覽,根據(jù)所述預覽用戶可以作出選擇。例如,用戶可以選擇要被導入的經(jīng)封裝的數(shù)據(jù)的子集。所選擇的數(shù)據(jù)然后可以被導入到目的儲存庫。在本發(fā)明的一個實施例中,可以生成被導入的數(shù)據(jù)的報告。所述報告可以被用來提供導入和導出過程的審查跟蹤。在本發(fā)明的另一實施例中,可以確定是否在檔案文件中針對工件152缺少了分類188。如果是這樣,則可以停止導入。附加地,可以建議用戶從源儲存庫導出缺少的分類,并且重新導入。導入可以考慮一個或多個用戶指定的選項。例如,用戶可以指定是檔案文件中的數(shù)據(jù)還是目的儲存庫中的數(shù)據(jù)在沖突情況下享有優(yōu)先權(quán)。用戶還可以指定所導入的數(shù)據(jù)的所有權(quán)。附加地,用戶可以指定檔案文件中的關(guān)系182是與目的儲存庫中的關(guān)系182合并還是替換目的儲存庫中的關(guān)系182。其他導入選項可以允許用戶指定是否導入安全186。如果導入安全186,則用戶可以指定所導入的安全是與目的儲存庫中的安全186合并還是替換目的儲存庫中的安全186。此外,用戶可以指定是否將管理元數(shù)據(jù)190、分類188、插件以及擴展名相關(guān)的元數(shù)據(jù)和配置導入到目的儲存庫。配置可以是另一類型的元數(shù)據(jù),諸如服務(wù)器配置、是否允許空數(shù)據(jù)工件152的創(chuàng)建、在表中顯示多少行等??梢园凑諆Υ鎺?50的用戶指定配置。在本發(fā)明的另一實施例中,導入和導出過程可以是自動化的。在這樣的實施例中,目的儲存庫的管理員可以定義要被導入的源儲存庫中的一組工件152。管理員還可以指定何時發(fā)生導入。可以按一次事件或周期性事件來調(diào)度該過程。在本發(fā)明的又一個實施例中,方法300可以被用作儲存庫150的集成接口。同樣地,可以用允許通過第三方工具進行檔案文件生成的元數(shù)據(jù)來記錄和注解檔案文件的格式。在這樣的實施例中,消費者可以創(chuàng)建從電子數(shù)據(jù)表中提取服務(wù)的定義的腳本,并且創(chuàng)建用于將服務(wù)導入到另一個儲存庫的封裝。圖4是圖示了根據(jù)本發(fā)明的實施例的服務(wù)的遷移的方框圖。儲存庫402可以包括針對新服務(wù)404和X :服務(wù)406的工件152。新服務(wù)404可以與X :服務(wù)406具有依賴關(guān)系O在新服務(wù)404被導出的場景中,可以針對新服務(wù)404確定工件閉包404A。如所不出的,工件閉包404A可以包括與X :服務(wù)而不是X :服務(wù)404的依賴關(guān)系。當導入經(jīng)封裝的工件閉包404A時,兩個場景是可能的。在目的儲存庫410A中圖示的第一個場景是目的儲存庫410A不包括X :服務(wù)406。如所示出的,依賴關(guān)系被導入到目的儲存庫410A,而不是X :服務(wù)406。在目的儲存庫410B中圖示的第二個場景中,在工件閉包404A被導入之前,X :服務(wù)406存在于目的儲存庫410B中。在新服務(wù)404被遷移之前,當X :服務(wù)406被遷移到目的儲存庫410B時,本場景會出現(xiàn)。如所示出的,通過將關(guān)系182包括在工件閉包404A中,一旦兩個工件152均被導入,則能實現(xiàn)目的儲存庫中的相關(guān)工件152的正確鏈接。圖5是圖示了根據(jù)本發(fā)明的實施例的兩個面向服務(wù)的架構(gòu)儲存庫510、520的方框圖。儲存庫510、520可以通過空氣間隙而被分離,并且被參考圖6加以描述,圖6圖示了用于使根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)儲存庫510、520同步的方法的處理流程圖。在本發(fā)明的實施例中,可以在兩個儲存庫510、520之間執(zhí)行雙向遷移。在這樣的實施例中,在方框602處,可以執(zhí)行從第一儲存庫的導出。例如,可以從登臺儲存庫510導出項目512。項目512可以包括如上所述的當遷移工件152時被導出的來自儲存庫510的所有數(shù)據(jù)。項目512可以不包括諸如契約516和文檔514之類的工件152。項目512可以被導出并且封裝在zip檔案文件530中。在方框604處,可以執(zhí)行到第二儲存庫的導入。例如,可以將zip檔案文件530導入到生產(chǎn)儲存庫520。從zip檔案文件530導入的數(shù)據(jù)可以被包括在項目522中。在方框606處,可以執(zhí)行從第二儲存庫的導出。例如,可以將新的數(shù)據(jù)(諸如契約524和文檔526)從生產(chǎn)儲存庫520導出到zip檔案文件540中。在方框608處,可以執(zhí)行到第一儲存庫的導入。例如,可以將zip檔案文件540導入到登臺儲存庫510的文檔514和契約516。圖7是示出了存儲用于使面向服務(wù)的架構(gòu)儲存庫同步的代碼的非暫時性機器可讀介質(zhì)的方框圖。通常通過附圖標記700來指所述非暫時性機器可讀介質(zhì)。非暫時性機器可讀介質(zhì)700可以對應(yīng)于存儲計算機實現(xiàn)的指令(諸如編程代碼等等)的任何典型的存儲設(shè)備。例如,非暫時性機器可讀介質(zhì)700可以包括非易失性存儲器、易失性存儲器和/或一個或多個存儲設(shè)備中的一個或多個。非易失性存儲器的示例包括但不限于電可擦可編程只讀存儲器(EEPROM)和只讀存儲器(ROM)。易失性存儲器的示例包括但不限于靜態(tài)隨機存取存儲器(SRAM)和動態(tài)隨機存取存儲器(DRAM)。存儲設(shè)備的示例包括但不限于硬盤驅(qū)動器、致密盤驅(qū)動器、數(shù)字通用盤驅(qū)動器以及閃速存儲器設(shè)備。處理器702通常檢索并且執(zhí)行在非暫時性機器可讀介質(zhì)700中存儲的計算機實現(xiàn)的指令,以在面向服務(wù)的架構(gòu)儲存庫之間遷移工件152??梢葬槍Φ谝粌Υ鎺熘械墓ぜ?52接收導出請求??梢詷俗R工件閉包??梢詮牡谝粌Υ鎺鞕z索工件閉包、安全數(shù)據(jù)、管理數(shù)據(jù)以及用戶指定的元數(shù)據(jù)。所檢索到的數(shù)據(jù)可以被封裝到檔案文件中,該檔案文件被導入到第二儲存庫。
      圖8是圖示了用于使根據(jù)本發(fā)明的實施例的面向服務(wù)的架構(gòu)儲存庫同步的系統(tǒng)的方框圖。通常通過附圖標記800來指該系統(tǒng)。本領(lǐng)域中的普通技術(shù)人員將領(lǐng)會的是,圖8中所示出的功能塊和設(shè)備可以包括硬件元件、軟件元件、或軟件和硬件的某組合。硬件元件可以包括電路。軟件元件可以包括在非暫時性機器可讀介質(zhì)上存儲的計算機代碼。附加地,系統(tǒng)800的功能塊和設(shè)備只是可以在本發(fā)明的實施例中實現(xiàn)的功能塊和設(shè)備的一個示例。本領(lǐng)域中的普通技術(shù)人員將容易地能夠基于針對特定電子設(shè)備的設(shè)計考慮來定義特定的功能塊。系統(tǒng)800可以包括通過網(wǎng)絡(luò)830進行通信的服務(wù)器802、804??梢詫Ψ?wù)器804進行與服務(wù)器802類似的配置。如所示出的,服務(wù)器802可以包括一個或多個處理器812,所述處理器812可以通過總線813連接到顯示器814、鍵盤816、一個或多個輸入設(shè)備818以及輸出設(shè)備,諸如打印機820。輸入設(shè)備818可以包括諸如鼠標或觸摸屏之類的設(shè)備。服務(wù)器802還可以通過總線813連接到網(wǎng)絡(luò)接口卡826。網(wǎng)絡(luò)接口卡826可以將數(shù)據(jù)庫服務(wù)器802連接到網(wǎng)絡(luò)830。網(wǎng)絡(luò)830可以是局域網(wǎng)、廣域網(wǎng)(諸如因特網(wǎng))或另一個網(wǎng)絡(luò)配置。網(wǎng)絡(luò)830可以包括路由器、交換機、調(diào)制解調(diào)器或任何其他種類的用于互連的接口設(shè)備。服務(wù)器802可以具有通過總線813操作性地耦合到處理器812的其他單元。這些單元可以包括非暫時性機器可讀存儲介質(zhì),諸如儲存器822。儲存器822可以包括用于操作軟件和數(shù)據(jù)的長期存儲的介質(zhì),諸如硬盤驅(qū)動器。儲存器822還可以包括其他類型的非暫時性機器可讀介質(zhì),諸如只讀存儲器和隨機存取存儲器。儲存器822可以包括在本技術(shù)的實施例中使用的軟件。在本發(fā)明的實施例中,儲存器822可以包括面向服務(wù)的架構(gòu)儲存庫A 824A、模型828以及儲存庫管理器829。如上所述,儲存庫管理器828可以將工件152從儲存庫A 824A遷移到服務(wù)器804上的儲存庫B824B。模型829可以表示儲存庫A 824A的數(shù)據(jù)結(jié)構(gòu)。在本發(fā)明的實施例中,模型829可以指定儲存庫A 824A的工件152之間的關(guān)系。I旲型829還可以指定關(guān)系中的每一個的類型,即,聚合、依賴或關(guān)聯(lián)。同樣地,儲存庫管理器828可以使用該模型來確定要被從儲存庫A 824A遷移到儲存庫B 824B的工件152的工件閉包。
      權(quán)利要求
      1.一種在面向服務(wù)的架構(gòu)儲存庫(510,520,824A, 824B)之間遷移工件(152)的方法(300) 接收(302)從第一儲存庫(510,824A)導出工件(152)的請求,其中,所述工件(152)包括與面向服務(wù)的架構(gòu)相關(guān)聯(lián)的元數(shù)據(jù); 從所述工件(152)的一個或多個聚合關(guān)系中檢索(306)數(shù)據(jù);以及 將所檢索到的數(shù)據(jù)封裝(314)到包括所檢索到的數(shù)據(jù)的數(shù)據(jù)存儲(530,540)中。
      2.如權(quán)利要求1中所述的方法(300),其中,所述元數(shù)據(jù)包括面向服務(wù)的架構(gòu)的服務(wù)(162)。
      3.如權(quán)利要求1中所述的方法(300),其中,所述第一儲存庫(510,824A)被存儲在數(shù)據(jù)庫中,并且其中,所檢索到的數(shù)據(jù)包括所述數(shù)據(jù)庫中的多個表的多個行,以及其中,所述多個表的第一子集以聚合數(shù)據(jù)庫關(guān)系與所述多個表的第二子集相關(guān)。
      4.如權(quán)利要求3中所述的方法(300),其中,所述多個表的所述第一子集的柱狀數(shù)據(jù)包括所述多個表的所述第二子集的柱狀數(shù)據(jù)。
      5.如權(quán)利要求1中所述的方法(300),包括將所檢索到的來自所述工件(152)的一個或多個聚合關(guān)系的數(shù)據(jù)復制到第二儲存庫(520,824B)。
      6.如權(quán)利要求5中所述的方法(300),其中,所述第一儲存庫(510,824A)和所述第二儲存庫(520,824B)中的任何一個是以下各項中的一個 軟件開發(fā)儲存庫(110A,110B, 110C); 軟件測試儲存庫(120A,120B, 120C); 軟件登臺儲存庫(130A,130B, 130C);以及 軟件生產(chǎn)儲存庫(140)。
      7.如權(quán)利要求1中所述的方法(300),包括 從所述工件(152)的一個或多個依賴關(guān)系中檢索數(shù)據(jù),其中,所述多個表的所述第二子集的柱狀數(shù)據(jù)包括所述多個表的所述第一子集的柱狀數(shù)據(jù);以及 將來自所述工件(152)的所述一個或多個依賴關(guān)系的所述數(shù)據(jù)復制到第二儲存庫(520, 824B)。
      8.如權(quán)利要求6中所述的方法(300),包括 從所述第二儲存庫(520,824B)中的所述工件(152)的一個或多個依賴關(guān)系中檢索(312)數(shù)據(jù);以及 將來自所述第二儲存庫(520,824B)中的所述工件(152)的所述一個或多個依賴關(guān)系的所述數(shù)據(jù)復制到所述第一儲存庫(510,824A)。
      9.如權(quán)利要求8中所述的方法(300),其中,來自所述第二儲存庫(520,824B)中的所述工件(152)的所述一個或多個依賴關(guān)系的數(shù)據(jù)包括契約元數(shù)據(jù)(158,524)、評級元數(shù)據(jù)(156)以及評論元數(shù)據(jù)(154),并且其中,所述第二儲存庫(520,824B)是軟件生產(chǎn)儲存庫(140)。
      10.如權(quán)利要求6中所述的方法(300),其中,所述第一儲存庫(510,824A)是針對組織的第一部門,而所述第二儲存庫是針對組織的第二部門。
      11.如權(quán)利要求6中所述的方法(300),其中,所述第一儲存庫(510,824A)和所述第二儲存庫(520,824B)被空氣間隙分離,并且其中,所述數(shù)據(jù)存儲(530,540)包括zip檔案文件(530, 540)。
      12.如權(quán)利要求1中所述的方法(300),包括 顯示數(shù)據(jù)存儲(530,540)中的數(shù)據(jù)的列表; 接收所述數(shù)據(jù)的子集的用戶選擇;以及 將所述數(shù)據(jù)的子集復制到第二儲存庫(520,824B)。
      13.一種用于在面向服務(wù)的架構(gòu)儲存庫之間遷移工件(152)的計算機系統(tǒng)(800),包括 包括第一處理器(812)的源系統(tǒng)(802),其被配置成 接收(302)從第一儲存庫(510,824A)導出工件(152)的請求,其中,所述工件(152)包括與面向服務(wù)的架構(gòu)相關(guān)聯(lián)的元數(shù)據(jù); 基于所述第一儲存庫(510,824A)的模型(828)從所述工件(152)的一個或多個聚合關(guān)系中檢索(306)數(shù)據(jù);以及 將所檢索到的數(shù)據(jù)封裝(314)到包括所檢索到的數(shù)據(jù)的數(shù)據(jù)存儲(530,540)中;和 目的系統(tǒng)(804),其包括第二處理器,被配置成 接收所述數(shù)據(jù)存儲(530,540);以及 將所述數(shù)據(jù)存儲復制到第二儲存庫(520,824B)。
      14.如權(quán)利要求13中所述的計算機系統(tǒng)(800),其中,所述模型(828)標識 多個工件(152 ),其中,所述多個工件(152 )包括所述工件(152 ); 所述多個工件(152)之間的多個關(guān)系(182);以及 與所述多個關(guān)系(182)相對應(yīng)的多個關(guān)系類型,其中,所述多個關(guān)系類型中的每一個包括以下各項中的一個 聚合; 依賴;或 關(guān)聯(lián)。
      15.一種非暫時性機器可讀介質(zhì)(700),其包括可由處理器(702)執(zhí)行以在面向服務(wù)的架構(gòu)儲存庫之間遷移工件(152)的機器可讀指令,其中,所述機器可讀指令當被所述處理器(702)執(zhí)行時使所述處理器(702) 接收(302)針對第一儲存庫(510,824A)中的工件(152)的導出請求; 標識(304)工件閉包(202A、204A、404A); 檢索(306)所述工件閉包(202A、204A、404A); 檢索(308)安全數(shù)據(jù)(186); 檢索(310)管理元數(shù)據(jù)(190); 檢索(312)用戶指定的元數(shù)據(jù); 將檢索到的數(shù)據(jù)封裝(314)到檔案文件(530,540)中;以及 將所述檔案文件(530,540)導入(316)到第二儲存庫(520,824B)。
      全文摘要
      在本文中提供了一種在面向服務(wù)的架構(gòu)儲存庫之間遷移工件的方法(300)。所述方法(300)包括接收(302)從第一儲存庫導出工件的請求;所述工件包括與面向服務(wù)的架構(gòu)相關(guān)聯(lián)的元數(shù)據(jù)。附加地,所述方法包括從所述工件的一個或多個聚合關(guān)系中檢索(306)數(shù)據(jù)。所述方法還包括將所檢索到的數(shù)據(jù)封裝到(314)包括所選擇的數(shù)據(jù)的數(shù)據(jù)存儲中。
      文檔編號G06F9/44GK103069382SQ201080068857
      公開日2013年4月24日 申請日期2010年7月1日 優(yōu)先權(quán)日2010年7月1日
      發(fā)明者M.諾瓦克, J.瓦納, A.雷格納 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1