專利名稱:用于并行開發(fā)和部署項目的自動方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及應(yīng)用的并行開發(fā),更具體地涉及自動進行整個開發(fā)、測試和部 署處理中的并行開發(fā)處理。
背景技術(shù):
以健壯的方式開發(fā)和部署由用戶訪問的應(yīng)用,尤其是網(wǎng)絡(luò)應(yīng)用,需要大量處理。對 于網(wǎng)絡(luò)應(yīng)用,這些處理包括管理源代碼、測試代碼和將代碼隨同內(nèi)容部署到生產(chǎn)系統(tǒng),用戶 可以在生產(chǎn)系統(tǒng)訪問代碼。這些處理可能花費大量時間(并且易于出錯),意味著直到其它 改變已被測試和執(zhí)行為止,某些改變不能被測試或執(zhí)行。這需要放慢應(yīng)用的整個開發(fā)。IT開發(fā)者使用源代碼控制工具例如MKS源代碼控制系統(tǒng)執(zhí)行并行開發(fā)任務(wù)。通 過允許多個開發(fā)路徑或相同文件的多個版本存在于相同位置,MKS提供對并行開發(fā)的支持。 然而,并行管理源代碼僅是開發(fā)、測試和部署健壯應(yīng)用尤其是網(wǎng)絡(luò)應(yīng)用的處理的一部分。除 了源代碼之外,在網(wǎng)絡(luò)應(yīng)用的整個生命期中,對網(wǎng)絡(luò)應(yīng)用基礎(chǔ)頁面定義、URL、元數(shù)據(jù)、內(nèi)容、 圖形、文檔和資源的改變可能需要被并行操作或測試。通過使用并行開發(fā)處理,對應(yīng)用的多個改變和添加可被在大體相同的時間執(zhí)行。 一般地,并行開發(fā)和并行管理資源的問題可被基本描述為同時修改相同資源或制品的集 合。由于如果存在交叉或資源間的相關(guān)性和引用,資源可能被間接改變的事實,這可能是復 雜的。支持平臺的底層技術(shù)進一步復雜化了并行管理事務(wù)和IT資源(頁面、內(nèi)容和portlet 應(yīng)用或事務(wù)功能)的基本能力。例如,IBM Portal Server不提供能夠?qū)崿F(xiàn)并行資源開發(fā) 的自動框架?!愕兀⑿虚_發(fā)需要能夠同時開發(fā)、虛擬化、測試和部署相同資源或資源或集 合;進行并行修改,對一個資源的改變對該資源的其它版本沒有任何影響。對此而言,將并行開發(fā)延及整個應(yīng)用開發(fā)處理的方法曾是特別的、手動的或用戶 勞動密集的,并且是易于出錯的。需要整個系統(tǒng)和處理,優(yōu)選自動執(zhí)行應(yīng)用的并行開發(fā)。
發(fā)明內(nèi)容
本發(fā)明的實施例涉及用于在整個開發(fā)、測試和部署處理中自動進行并行開發(fā)處理 的系統(tǒng)。本發(fā)明給非技術(shù)用戶提供了初始化并行流;將資源從并行流提升到生產(chǎn)流;將最 新資源從生產(chǎn)流帶入并行流,以及在流之間進行比較的自動框架。為了支持資源的并行開 發(fā),本發(fā)明的實施例給用戶提供了創(chuàng)建被稱為生產(chǎn)流的主干和被稱為并行流的分支,同時 成功地保持并行開發(fā)環(huán)境的能力。本發(fā)明的實施例可被安裝在一個或多個服務(wù)器上,包括特別用于支持應(yīng)用平臺、源代碼控制系統(tǒng)或內(nèi)容管理系統(tǒng)的不同服務(wù)器。本發(fā)明的替換實 施例利用分開的創(chuàng)建和部署服務(wù)器,以便創(chuàng)建可執(zhí)行源代碼,以及將其部署到構(gòu)成開發(fā)環(huán) 境的一個或多個服務(wù)器。本發(fā)明的替換實施例利用分支系統(tǒng),以便允許應(yīng)用的并行開發(fā),包括源代碼和內(nèi) 容。用戶可以工作于被稱為生產(chǎn)流的主干和被稱為并行流的分支。通過使用分支策略,可 以與資源的其它版本相隔離地修改和管理相同資源(例如,網(wǎng)頁的源代碼文件或圖像)的 多個版本。本發(fā)明的實施例在包括測試環(huán)境、登臺服務(wù)器、生產(chǎn)服務(wù)器、應(yīng)用平臺和內(nèi)容管 理系統(tǒng)的開發(fā)處理的多個組件上應(yīng)用這種分支策略。這些系統(tǒng)一般被稱為事務(wù)開發(fā)環(huán)境 (即,BDE或eBDE)。不論并行流的數(shù)目如何,優(yōu)選地存在可被部署到生產(chǎn)環(huán)境并且被終端 用戶或顧客看到的資源的一個“活動的”版本。這意味著,如果必要,所有并行流最終必須 被合并或整合到生產(chǎn)流中,從而資源可被發(fā)行到生產(chǎn)環(huán)境。雖然在技術(shù)上更具挑戰(zhàn)性,本發(fā) 明的實施例確保在任意時刻和在永久基礎(chǔ)上,“生產(chǎn)”流相應(yīng)于“活動的”流,其操作地進行 哪個流相應(yīng)于“活動的”流的猜測工作,并且確保在“設(shè)計時”而不是在“運行時”發(fā)現(xiàn)任何 資源沖突。本發(fā)明的替換實施例管理資源到生產(chǎn)環(huán)境的部署,包括以自動方式將多個開發(fā)的 并行流合并到生產(chǎn)流中。這些資源包括在TeamSite中管理的內(nèi)容片段、網(wǎng)口資源(例如, 頁面定義、URL映像和portlet應(yīng)用)、分配給portlet應(yīng)用的顧客驗證模塊(CAM)資源和 安裝在網(wǎng)口服務(wù)器環(huán)境內(nèi)的共享應(yīng)用組件中的一個或多個。本發(fā)明的實施例提供了創(chuàng)建新 流,并且在流之間移動資源以便能夠進行單個資源和資源集合的并行開發(fā)的方法,這些資 源然后可被移動到將被部署到生產(chǎn)“活動的”環(huán)境中的生產(chǎn)流內(nèi)。本發(fā)明的實施例提供了創(chuàng) 建新流,并且在流之間移動資源以便能夠進行單個資源和資源集合的并行開發(fā)的方法,這 些資源然后可被移動到將被部署到生產(chǎn)環(huán)境中的生產(chǎn)流內(nèi)。其它自動操作可以包括初始化 新的并行流,獲得最新的流以便從其開始工作,比較流之間的差異(和流內(nèi)的各個資源)、 管理測試和流的用戶、以及執(zhí)行合并改變的回滾。本發(fā)明的替換實施例包括連接到開發(fā)、測試、預生產(chǎn)和生產(chǎn)環(huán)境的基于web的系 統(tǒng)。可以使用web界面進行通過這些系統(tǒng)對應(yīng)用的管理。該Web界面還包括用于協(xié)作決策 制定的能力,以及多個體參與的能力,包括批準或不批準某些動作,以及增加/修改/刪除 資源。通過在將資源部署到開發(fā)的下一個階段之前各個地評審資源,該Web界面還提供詳 細地視覺管理合并處理的能力。這可以包括合并來自資源的并行版本的改變。使用這種自動系統(tǒng),從公共開始點對多個特征可以有利地執(zhí)行并行開發(fā),然后這 些特征可被一起組合到最終的生產(chǎn)流中??商鎿Q地,一個分支可以首先進入生產(chǎn),并且改變 可被在以后結(jié)合到該生產(chǎn)分支內(nèi)。還可以按照非技術(shù)非IT用戶的指示有利地自動地管理 和執(zhí)行將并行流之一部署到生產(chǎn)環(huán)境。更具體地,本發(fā)明的某些實施例涉及用于管理項目的并行開發(fā)的系統(tǒng)和方法。本 發(fā)明的一個實施例是一種使用圖形用戶界面,在應(yīng)用的并行開發(fā)中自動管理處理的方法。 該圖形用戶界面管理能夠完成其任務(wù)而不需要用戶干預的自動處理。以圖形用戶界面管理 的自動處理包括提供至少包括第一應(yīng)用平臺、源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng)的第一開發(fā) 環(huán)境。所述處理還包括使用第一開發(fā)環(huán)境,從具有第一源代碼和第一內(nèi)容的應(yīng)用的第一發(fā) 行產(chǎn)生應(yīng)用的第二發(fā)行,其中第二發(fā)行包括應(yīng)用的第二源代碼和第二內(nèi)容。所述處理還包括提供至少包括第二應(yīng)用平臺、源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng)的第二開發(fā)環(huán)境。所述處 理還包括將第二發(fā)行部署到第二開發(fā)環(huán)境,并且將對第二發(fā)行的第二源代碼和第二內(nèi)容的 修改合并到第一發(fā)行的第一源代碼和第一內(nèi)容內(nèi),以便產(chǎn)生包括第三源代碼和第三內(nèi)容的 應(yīng)用的第三發(fā)行。所述處理還包括在已經(jīng)將發(fā)行合并在一起之后,將應(yīng)用的第三發(fā)行部署 到生產(chǎn)環(huán)境,以便由應(yīng)用的用戶使用。所述部署包括將第三源代碼的可執(zhí)行版本和第三內(nèi) 容安裝到生產(chǎn)環(huán)境的另一個應(yīng)用平臺。本發(fā)明的替換實施例還包括,由非技術(shù)的事務(wù)用戶通過圖形用戶界面執(zhí)行將對第 二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源代碼和第一內(nèi)容中,以便 產(chǎn)生包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行。本發(fā)明的實施例還包括,提供第二應(yīng) 用平臺包括運行一個或多個腳本,以便在第二應(yīng)用平臺上安裝源代碼和內(nèi)容。本發(fā)明的實 施例還包括在將第三發(fā)行部署到生產(chǎn)環(huán)境中之前,將應(yīng)用的第三發(fā)行部署到預生產(chǎn)環(huán)境, 并且在預生產(chǎn)環(huán)境中測試第三發(fā)行。另外,這可以包括基于第二開發(fā)環(huán)境產(chǎn)生基線,其中 該基線包括第二開發(fā)環(huán)境內(nèi)的源代碼和內(nèi)容文件的狀態(tài);將應(yīng)用的第二發(fā)行與基線進行比 較;以及響應(yīng)該比較,將應(yīng)用的第二發(fā)行部署到第二開發(fā)環(huán)境。本發(fā)明的替換實施例還包括用于合并第一發(fā)行和第二發(fā)行之間的對源代碼和內(nèi) 容的改變的圖形比較。本發(fā)明的實施例還包括比較內(nèi)容文件的呈現(xiàn)顯示。本發(fā)明的實施例 還包括為了進行視覺比較,選擇性地突出顯示內(nèi)容文件的呈現(xiàn)顯示。
結(jié)合如下附圖考慮,并參考下面對本發(fā)明的詳細描述,可以更全面地明了本發(fā)明 的各種目的、特征和優(yōu)點,在附圖中類似的附圖標記指示類似的元件。圖1是示出了如何能夠?qū)㈤_發(fā)處理的不同并行分支部署到生產(chǎn)系統(tǒng)的一種方式 的圖;圖2是示出了生產(chǎn)流和并行流的并行開發(fā)中所涉及的各種系統(tǒng)和實體的系統(tǒng)圖;圖3是示出了并行開發(fā)處理中所涉及的各種系統(tǒng)和實體以及其唯一制品ID的系 統(tǒng)圖;圖4是示出了如何能夠使用環(huán)境配置器提供新的并行BDE環(huán)境的系統(tǒng)圖;圖5是示出了并行開發(fā)處理中所涉及的系統(tǒng)之間的關(guān)系的系統(tǒng)圖;圖6是示出了并行開發(fā)處理中所涉及的系統(tǒng)之間的關(guān)系的更詳細的系統(tǒng)圖;圖7是示出了第一發(fā)行的并行開發(fā)處理內(nèi)的環(huán)境之間的信息流動的系統(tǒng)圖;圖8是示出了所述環(huán)境內(nèi)的相應(yīng)工作區(qū)域的系統(tǒng)圖;圖9是示出了第二發(fā)行的并行開發(fā)處理內(nèi)的環(huán)境之間的信息流動的系統(tǒng)圖;圖10是示出了所述環(huán)境內(nèi)的相應(yīng)工作區(qū)域的系統(tǒng)圖;圖11是示出了第二發(fā)行的并行開發(fā)處理內(nèi)的環(huán)境之間的信息流動的系統(tǒng)圖;圖12是示出了所述環(huán)境內(nèi)的相應(yīng)工作區(qū)域的系統(tǒng)圖;圖13是示出了 MPP的部署組件的設(shè)計的系統(tǒng)圖;圖14是示出了 MPP的安裝組件的設(shè)計的系統(tǒng)圖;圖15是示出了 BDE的實現(xiàn)的系統(tǒng)圖;圖16是示出了 BDE環(huán)境的進一步細節(jié)的系統(tǒng)圖17是示出了 MPP內(nèi)的系統(tǒng)之間的信息流動的系統(tǒng)圖;圖18是示出了系統(tǒng)之間的目錄信息的傳遞的系統(tǒng)圖;圖19是示出了系統(tǒng)之間的通信的進一步細節(jié)的系統(tǒng)圖;圖20是示出了能夠用于MPP的目錄系統(tǒng)的細節(jié)的系統(tǒng)圖;圖21是示出了在并行BDE系統(tǒng)之間目錄信息共享的系統(tǒng)圖;圖22是示出了在BDE環(huán)境之間目錄信息的傳遞的系統(tǒng)圖;圖23是示出了完成的任務(wù)和其它系統(tǒng)消息的記錄的到MPP的用戶界面;圖24是示出了在并行開發(fā)和部署多個web應(yīng)用中涉及的系統(tǒng)的細節(jié)的系統(tǒng)圖;圖25是示出了并行流部署中所涉及的系統(tǒng)之間的鏈接的系統(tǒng)圖;圖26是示出了 BDE環(huán)境和部署系統(tǒng)中所涉及的系統(tǒng)之間的鏈接的系統(tǒng)圖;圖27是示出了 MPP的實現(xiàn)的細節(jié)的系統(tǒng)圖;圖28是示出了 MPP的災難恢復功能的細節(jié)的系統(tǒng)圖;圖29是示出了 MPP的災難恢復功能的進一步細節(jié)的系統(tǒng)圖;圖30是示出了 MPP的災難恢復功能的進一步細節(jié)的系統(tǒng)圖;圖31是示出了 MPP的故障恢復功能中所涉及的組件的系統(tǒng)圖;圖32是示出了部署并行流中所涉及的系統(tǒng)的組件的系統(tǒng)圖;圖33是示出了用于創(chuàng)建新的并行流的整體處理的流程圖;圖34是示出了用于初始化新的并行流的處理的流程圖;圖35是示出了用于獲得MPP的最新處理的處理的流程圖;圖36是示出了初始化處理的細節(jié)的流程圖;圖37是示出了部署處理的細節(jié)的流程圖;圖38是示出了提升處理的細節(jié)的流程圖;圖39是示出了部署處理和隨時間的信息流動的系統(tǒng)圖;圖40是示出了獲得最新處理和信息隨時間的流動的系統(tǒng)圖;圖41是示出了可以如何配置不同安全組的MPP的用戶界面;圖42是示出了獲得最新處理的配置的MPP的用戶界面;圖43是示出了系統(tǒng)的總體設(shè)計的MPP的用戶界面;圖44是示出了代碼部署工作流的開始的MPP的用戶界面;圖45是示出了用于部署處理的配置設(shè)置的MPP的用戶界面;圖46是示出了獲得最新處理的一部分的MPP的用戶界面;圖47是示出了部署處理的一部分的MPP的用戶界面;圖48是示出了部署處理的結(jié)果的MPP的用戶界面;圖49是示出了將代碼部署到生產(chǎn)的MPP的用戶界面;圖50是示出了將代碼部署到生產(chǎn)的進一步細節(jié)的MPP的用戶界面;圖51是示出了將代碼部署到生產(chǎn)的進一步細節(jié)的MPP的用戶界面;圖52是示出了部署處理的結(jié)果的MPP的用戶界面;圖53是示出了如何比較項目的生產(chǎn)和并行版本的MPP的用戶界面;圖54是示出了如何比較web頁面布局的生產(chǎn)和并行版本的MPP的用戶界面;圖55是示出了如何比較web頁面的生產(chǎn)和并行版本的MPP的用戶界面;
圖56是示出了合并處理的概要的MPP的用戶界面;和圖57是示出了如何比較代碼的生產(chǎn)和并行版本的MPP的用戶界面。
具體實施例方式在詳細解釋本發(fā)明的至少一個實施例之前,應(yīng)當理解本發(fā)明不限于其對在下面的 描述中提出或在附圖中示出的組件的構(gòu)造和布置的細節(jié)的應(yīng)用。本發(fā)明能夠具有其它實施 例,并能夠以各種方式實施和執(zhí)行。另外,還應(yīng)當理解,此處采用的措詞和術(shù)語是出于描述 的目的,并且不應(yīng)被認為是限制。從而,本領(lǐng)域的技術(shù)人員將明了,本公開所基于的概念可被容易地用作設(shè)計用于 執(zhí)行本發(fā)明的若干目的的其它結(jié)構(gòu)、方法和系統(tǒng)的基礎(chǔ)。因此重要的是,本發(fā)明被認為包括 此處描述的內(nèi)容的等同構(gòu)造,而不脫離本發(fā)明的精神和范圍。另外,作為一個實施例的一部分示出或描述的特征可被用于其它實施例,以便實 現(xiàn)其它實施例。另外,某些特征可被與執(zhí)行相同或類似功能的未提及的類似設(shè)備或特征互 換。因此,旨在將這些修改和變體包括在本發(fā)明的整體內(nèi)。本發(fā)明的實施例涉及用于在整個開發(fā)、測試和部署處理中自動進行并行開發(fā)處理 的系統(tǒng)。本發(fā)明給非技術(shù)用戶提供了初始化并行流;將資源從并行流提升到生產(chǎn)流;將最 新資源從生產(chǎn)流帶入并行流,以及在流之間進行比較的自動框架。為了支持資源的并行開 發(fā),本發(fā)明的實施例給用戶提供了創(chuàng)建被稱為生產(chǎn)流的主干和被稱為并行流的分支,同時 成功地保持并行開發(fā)環(huán)境的能力。本發(fā)明的實施例利用分支系統(tǒng),以便允許應(yīng)用的并行開發(fā),包括源代碼和內(nèi)容。用 戶可以工作于被稱為生產(chǎn)流的主干和被稱為并行流的分支。通過使用分支策略,可以與資 源的其它版本相隔離地修改和管理相同資源(例如,網(wǎng)頁的源代碼文件或圖像)的多個版 本。本發(fā)明的實施例在包括測試環(huán)境、登臺服務(wù)器、生產(chǎn)服務(wù)器、應(yīng)用平臺和內(nèi)容管理系統(tǒng) 的多個開發(fā)處理組成部分上應(yīng)用這種分支策略。這些系統(tǒng)一般被稱為事務(wù)開發(fā)環(huán)境(即, BDE或eBDE)。不論并行流的數(shù)目如何,優(yōu)選地存在可被部署到生產(chǎn)環(huán)境并且被終端用戶或 顧客看到的資源的一個“活動的”版本。這意味著,如果必要,所有并行流最終必須被合并 或整合到生產(chǎn)流內(nèi),從而資源可被發(fā)行到生產(chǎn)環(huán)境。雖然在技術(shù)上更具挑戰(zhàn)性,本發(fā)明的實 施例確保在任意時刻和在永久基礎(chǔ)上,“生產(chǎn)”流相應(yīng)于“活動的”流,其操作地進行哪個流 相應(yīng)于“活動的”流的猜測工作,并且確保在“設(shè)計時”而不是在“運行時”發(fā)現(xiàn)任何資源沖 突。本發(fā)明的替換實施例管理資源到生產(chǎn)環(huán)境的部署,包括以自動方式將開發(fā)的并行 流合并到生產(chǎn)流中。這些資源包括在TeamSite中管理的內(nèi)容片段、網(wǎng)口資源(例如,頁面 定義、URL映像和portlet應(yīng)用)、分配給portlet應(yīng)用的顧客驗證模塊(CAM)資源和安裝 在網(wǎng)口服務(wù)器環(huán)境內(nèi)的共享應(yīng)用組件中的一個或多個。本發(fā)明的實施例提供了創(chuàng)建新流, 并且在流之間移動資源,以便能夠進行單個資源和資源集合的并行開發(fā)的方法,這些資源 然后可被移動到將被部署到生產(chǎn)“活動的”環(huán)境中的生產(chǎn)流內(nèi)。本發(fā)明的實施例提供了創(chuàng) 建新流,并且在流之間移動資源以便能夠進行單個資源和資源集合的并行開發(fā)的方法,這 些資源然后可被移動到將被部署到生產(chǎn)環(huán)境中的生產(chǎn)流內(nèi)。其它自動操作可以包括初始化 新的并行流,獲得最新的流以便從其開始工作,比較流之間的差異(和流內(nèi)的各個資源)、管理測試和流的用戶、以及執(zhí)行合并改變的回滾。本發(fā)明的實施例包括連接到開發(fā)、測試、預生產(chǎn)和生產(chǎn)環(huán)境的基于web的系統(tǒng)???以使用web界面進行通過這些系統(tǒng)對應(yīng)用的管理。該Web界面還包括用于協(xié)作決策制定的 能力,以及多個體參與的能力,包括批準或不批準某些動作,以及增加/修改/刪除資源。通 過在將資源部署到開發(fā)的下一個階段之前各個地評審資源,該Web界面還提供詳細地視覺 管理合并處理的能力。這可以包括合并來自資源的并行版本的改變。使用這種自動系統(tǒng),可以從公共開始點對多個特征有利地并行執(zhí)行開發(fā),然后這 些特征可被一起組合到最終的生產(chǎn)流中??商鎿Q地,一個分支可以首先進入生產(chǎn),并且改變 可被在以后結(jié)合到該生產(chǎn)分支內(nèi)。還可以按照非技術(shù)非IT用戶的指示,有利地自動管理和 執(zhí)行將并行流之一部署到生產(chǎn)環(huán)境。本發(fā)明的實施例包括與開發(fā)系統(tǒng)的組件接口的硬件和軟件層,開發(fā)系統(tǒng)的組件包 括內(nèi)容管理系統(tǒng)(例如,Interwoven的TeamSite)、源代碼管理系統(tǒng)和應(yīng)用平臺。硬件和軟 件層包括可被用于控制其操作的圖形用戶界面(可以包括非圖形用戶界面元素)。創(chuàng)建具 有自己的同步策略開發(fā)環(huán)境(SDE)集合的并行BDE,在該SDE集合上部署代碼,并且在其中 可以進行各種測試,諸如,SAT、UAT和Pre-Prod測試。在本發(fā)明的至少一個實施例中,并行管理項目包括初始化處理,獲得最新處理以 及提升處理。使用并行開發(fā)流的處理以初始化并行流開始。這是并行流的BDE環(huán)境被配置、 建立和安裝生產(chǎn)流BDE的內(nèi)容的處理。一旦已經(jīng)初始化了并行流BDE,它基本上是生產(chǎn)流的 克隆,或大體類似于生產(chǎn)流。這允許從最后的當前版本對代碼、內(nèi)容和配置進行并行管理。為了并行管理已有的網(wǎng)口資源,這些網(wǎng)口資源優(yōu)選地是相同的,并且這意味著在 不同的并行流上,這些資源的內(nèi)部唯一標識符必須相同。然而重要的是,當在并行流或生產(chǎn) 流中創(chuàng)建新資源時,它們必須被給予不與已經(jīng)在其它流上創(chuàng)建的資源相沖突的新的唯一標 識符。這可被通過一個定位腳本進行。本發(fā)明的實施例使得非技術(shù)用戶能夠初始化并行流 并且并行工作,同時以自動方式保持已有資源的唯一標識符或在必要時創(chuàng)建新的唯一標識 符,而不用實際看到這些唯一 ID是什么。為了實際開始并行開發(fā)流的工作,使用獲得最新工作流,以便將資源生產(chǎn)流移動 到并行流,或從一個并行流移動到另一個并行流。作為獲得最新工作流的一部分,對目標環(huán) 境/并行流工作區(qū)域(其包含內(nèi)容,包括具有版本的網(wǎng)口資源)與基線進行詳細比較。基 線還優(yōu)選地包括該環(huán)境上已經(jīng)安裝的應(yīng)用和其相關(guān)聯(lián)的版本的列表。一旦已經(jīng)執(zhí)行了比 較,該結(jié)果優(yōu)選地被顯示給BDE Staff用戶(仍然在該工作流的上下文內(nèi)),接著該用戶可 以對他們希望被同步的資源作出決定。這允許并行開發(fā)所有或僅僅部分的應(yīng)用。使用提升處理將資源從并行流移動到生產(chǎn)流。生產(chǎn)流優(yōu)選地處于這樣的環(huán)境,該 環(huán)境被用于將這些資源部署到預生產(chǎn)和生產(chǎn)環(huán)境中。提升處理對已經(jīng)在并行流中做出的改 變和其將被合并到的生產(chǎn)流(或其它并行流)進行比較。這些改變優(yōu)選地被通過圖形用戶 界面顯示給非技術(shù)用戶,從而BDE用戶可以容易地接受或拒絕將被合并到新流內(nèi)的改變。 在合并流已被創(chuàng)建之后,它可被與必要資源一起可選擇地自動部署到生產(chǎn)環(huán)境,以便被終 端用戶訪問。并行開發(fā)系統(tǒng)的其它功能可以包括高級記錄功能、災難恢復保護和與適合于包括 并行流的開發(fā)處理的LDAP系統(tǒng)的集成。
本發(fā)明的實施例包括在計算機系統(tǒng)上進行實現(xiàn)。該計算機系統(tǒng)包括用于傳遞信 息的總線或其它通信機制,以及與總線耦接的用于處理信息的處理器。該計算機系統(tǒng)還包 括用于存儲信息和將被處理器執(zhí)行的指令的耦接到總線的主存儲器,諸如隨機訪問存儲器 (RAM)或其它動態(tài)存儲設(shè)備。在將被處理器執(zhí)行的指令的執(zhí)行過程中,主存儲器還可被用于 存儲臨時變量或其它中間信息。該計算機系統(tǒng)還包括用于存儲用于處理器的靜態(tài)信息和指 令的耦接到總線的只讀存儲器(ROM)或其它靜態(tài)存儲設(shè)備。存儲設(shè)備,諸如磁盤或光盤,被 提供并且耦接到總線以便存儲信息和指令。該計算機系統(tǒng)可被通過總線耦接到顯示器,諸如陰極射線管(CRT),以便向計算機 用戶顯示信息。包括字母數(shù)字和其它按鍵的輸入設(shè)備被耦接到總線,以便向處理器傳遞信 息和命令選擇。另一種類型的用戶輸入是光標控制器,諸如鼠標、軌跡球或用于向處理器傳 遞方向信息和命令選擇,并且用于控制顯示器上的光標移動的光標方向鍵。這種輸入設(shè)備 通常具有兩個軸,即,第一軸(例如,x)和第二軸(例如,y)上的兩個自由度,其允許設(shè)備指 定平面內(nèi)的位置。本發(fā)明涉及用于并行管理項目的計算機系統(tǒng)的使用。根據(jù)本發(fā)明的一個實施例, 響應(yīng)處理器執(zhí)行包含在主存儲器內(nèi)的一個或多個指令的一個或多個序列,由計算機系統(tǒng)提 供并行管理項目的系統(tǒng)。這些指令可被從另一個計算機可讀介質(zhì),諸如,存儲設(shè)備讀入主存 儲器。包含在主存儲器內(nèi)的指令序列的執(zhí)行使得處理器執(zhí)行此處描述的處理步驟。還可以 采用多處理布置內(nèi)的一個或多個處理器,以便執(zhí)行包含在主存儲器中的指令序列。在替換 實施例中,可以取代或結(jié)合軟件指令使用硬布線電路來實現(xiàn)本發(fā)明。因此,本發(fā)明的實施例 不限于硬件電路和軟件的任意特定組合。此處使用的術(shù)語“計算機可讀介質(zhì)”指參與向處理器提供指令以便執(zhí)行的任意介 質(zhì)。這種介質(zhì)可以采取許多形式,包括但不限于非易失介質(zhì)、易失介質(zhì)和傳輸介質(zhì)。非易失 介質(zhì)包括例如光盤或磁盤,諸如存儲設(shè)備。易失介質(zhì)包括動態(tài)存儲器,諸如主存儲器。傳輸 介質(zhì)包括同軸電纜、銅線和光纖,包含包括總線的線路。傳輸介質(zhì)還可以采取聲波或光波的 形式,諸如在無線電波和紅外線數(shù)據(jù)傳輸過程中產(chǎn)生的波。計算機可讀介質(zhì)的常見形式包括例如軟盤、軟磁盤、硬盤、磁帶或任意其它磁介 質(zhì)、CD-ROM、任意其它光學介質(zhì)、穿孔卡、紙帶、具有孔圖案的任意其它物理介質(zhì)、RAM、PROM 和FPROM、FLASH-EPR0M、任意其它存儲器芯片或盒、后文描述的載體、或計算機可以讀取的 任意其它介質(zhì)。在向處理器傳送一個或多個指令的一個或多個序列以便執(zhí)行時,可以涉及計算機 可讀介質(zhì)的各種形式。例如,指令最初可被承載在遠程計算機的磁盤上。遠程計算機可將 指令加載到其動態(tài)存儲器中,并且使用調(diào)制解調(diào)器在電話線上發(fā)送該指令。位于該計算機 系統(tǒng)的調(diào)制解調(diào)器可以在電話線上接收數(shù)據(jù),并且使用紅外線發(fā)射器將數(shù)據(jù)轉(zhuǎn)換為紅外線 信號。耦接到總線的紅外線檢測器可以接收紅外線信號承載的數(shù)據(jù),并且將數(shù)據(jù)放置在總 線上??偩€將數(shù)據(jù)傳送到主存儲器,處理器從主存儲器檢索并且執(zhí)行指令。由主存儲器接 收的指令可被可選擇地在處理器執(zhí)行之前或之后存儲在存儲設(shè)備上。該計算機系統(tǒng)還包括耦接到總線的通信接口。該通信接口提供耦接到被連接到局 域網(wǎng)的網(wǎng)絡(luò)鏈路的雙向數(shù)據(jù)通信。例如,該通信接口可以是綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)卡或 調(diào)制解調(diào)器,以便提供到相應(yīng)類型的電話線的數(shù)據(jù)通信連接。作為另一個例子,該通信接口可以是局域網(wǎng)(LAN)卡,以提供到兼容的LAN的數(shù)據(jù)通信連接。還可以實現(xiàn)無線鏈路。在 任意這種實現(xiàn)中,通信接口發(fā)送和接收承載表示各種類型信息的數(shù)字數(shù)據(jù)流的電、電磁或 光信號。網(wǎng)絡(luò)鏈路通常通過一個或多個網(wǎng)絡(luò)向其它數(shù)據(jù)設(shè)備提供數(shù)據(jù)通信。例如,網(wǎng)絡(luò)鏈 路可以通過局域網(wǎng)提供到由因特網(wǎng)服務(wù)提供商(ISP)運營的主計算機或數(shù)據(jù)裝置的連接。 ISP又通過現(xiàn)在通常被稱為“因特網(wǎng)”的世界范圍的包數(shù)據(jù)通信網(wǎng)絡(luò)提供數(shù)據(jù)通信服務(wù)。局 域網(wǎng)和因特網(wǎng)兩者使用承載數(shù)字數(shù)據(jù)流的電、電磁或光學信號。承載到和來自計算機系統(tǒng) 的數(shù)字數(shù)據(jù)的通過各種網(wǎng)絡(luò)的信號以及網(wǎng)絡(luò)鏈路上的并且通過通信接口的信號是傳輸信 息的載波的示例形式。計算機系統(tǒng)可以通過網(wǎng)絡(luò)、網(wǎng)絡(luò)鏈路和通信接口發(fā)送消息和接收數(shù)據(jù),包括程序 代碼。在因特網(wǎng)的例子中,服務(wù)器可以通過因特網(wǎng)、ISP、局域網(wǎng)和通信接口傳輸應(yīng)用程序的 請求代碼。根據(jù)本發(fā)明,為此處描述的并行管理項目提供一個這種下載的應(yīng)用。圖1是示出了開發(fā)處理的不同并行分支可被部署到生產(chǎn)系統(tǒng)的一種方式。該圖包 括主生產(chǎn)分支102,以及開發(fā)的三個并行分支(流)104、106和108。每個流包括最終到達 主生產(chǎn)分支102的多個版本(例如,118、120和122)。MPP系統(tǒng)使用分支策略,以便允許同時開發(fā)多個流。主生產(chǎn)分支102是活動的,或 向用戶發(fā)行的生產(chǎn)分支。其它分支可以同時工作,但是在進入將被終端用戶使用的生產(chǎn)環(huán) 境之前與主分支合并。并行開發(fā)分支104、106和108表示主分支的其它開發(fā)。為了組織這些多個分支, 分配示出它們被從主分支(或父分支)中的何處得出的版本號,并且為該分支內(nèi)的版本分 配子版本號。在圖1的示例圖中,并行分支104的版本2. 2 112被合并到生產(chǎn)分支內(nèi)作為 版本4. 0118,而并行分支106的版本2. 1.2 114被合并到生產(chǎn)分支的版本5.0 120內(nèi),并且 而并行分支108的版本1.3被合并到生產(chǎn)分支的版本6.0 122內(nèi)。這顯示了可以從生產(chǎn)分 支內(nèi)的最初版本,從生產(chǎn)分支內(nèi)的后續(xù)版本(并行分支104),并且還從并行分支內(nèi)的版本 (并行分支106)得出并行開發(fā)分支。生產(chǎn)分支和并行分支中的每一個都是正被開發(fā)的整個項目的一個分支版本。這包 括被在內(nèi)容管理系統(tǒng)(例如,TeamSite)內(nèi)管理的內(nèi)容片段、網(wǎng)口資源(例如,頁面定義、URL 映像)、portlet應(yīng)用(例如,較大的應(yīng)用)、CAM資源(被分配給portlet應(yīng)用)以及共享 的應(yīng)用組件(安裝在網(wǎng)口服務(wù)器環(huán)境內(nèi))的分支版本。這允許MPP系統(tǒng)被以內(nèi)聚性和自動 的方式用于整個項目,而不是僅僅孤立地用于代碼、html或內(nèi)容。圖2是示出了具有生產(chǎn)流和并行流的并行開發(fā)中所涉及的各種系統(tǒng)和實體的系 統(tǒng)圖。該圖示出了具有事務(wù)開發(fā)環(huán)境(BDE) 206、同步策略開發(fā)環(huán)境(SDE)、預生產(chǎn)環(huán)境210 以及生產(chǎn)環(huán)境210的生產(chǎn)流202。類似地,存在具有BDE220和同步SDE222的并行流224。 這兩個環(huán)境通過MKS214和非同步SDE216連接。平臺組件,諸如內(nèi)容倉庫、Interwoven TeamSite和IBM Portal Server組件不明確地支持資源分支,每個組件在任意一個時刻僅 可以具有資源的一個活動的版本。因此,本發(fā)明的實施例使用基于硬件和環(huán)境的解決方案, 而不是純粹基于軟件的方案。然而,在替換實施例中,可以根據(jù)此處描述的處理實現(xiàn)基于軟 件的解決方案。在生產(chǎn)流202中,BDE用戶工作于BDE206,以開發(fā)和管理可被部署到同步SDE208的內(nèi)容。BDE被用于指示內(nèi)容管理系統(tǒng)和網(wǎng)口服務(wù)器的組合。BDE可以包括TeamSite和 PortalServer兩者,并且允許非技術(shù)用戶創(chuàng)建網(wǎng)口頁面和內(nèi)容片段,并且將這些頁面與功 能IT制品組裝在一起。同步SDE208被用于在部署到生產(chǎn)環(huán)境212之前,測試內(nèi)容和代碼 兩者。生產(chǎn)環(huán)境是資源的最后版本所在的環(huán)境,并且是顧客和前端用戶將訪問的環(huán)境。另 外,處理可以包括部署到預生產(chǎn)系統(tǒng)210,以便在部署給用戶之前,更完整地測試整個流,包 括內(nèi)容、代碼和html。預生產(chǎn)環(huán)境是配置為模擬生產(chǎn)環(huán)境的配置的同步SDE。這可以包括 主機連接、防火墻或安全配置或附加服務(wù)器設(shè)置。這是不是所有項目都需要的選擇性的環(huán) 境,但是可被用于增加測試時的置信級別。該同步SDE直接連接到BDE,允許能夠?qū)⒂脩粢?經(jīng)組裝的代碼和內(nèi)容公開到可被用于各種類型的測試,即,UAT、0AT等的環(huán)境中。多個SDE 可被“連接到”單個BDE,從而可以并行執(zhí)行各種類型的測試。并行流224還具有使用獨立的BDE220的用戶218,正在使用BDE220開發(fā)并行流。 為了測試這個流上的代碼和內(nèi)容,使用獨立的同步SDE222。并行流還將具有自己的同步 SDE集合,在其中可以發(fā)生各種測試。然而,相同的非同步SDE可被用作測試IT制品的系 統(tǒng),雖然如果這種測試必須被并行執(zhí)行,則可能使用多個非同步SDE環(huán)境。由于并行流不能 被部署到生產(chǎn)環(huán)境,并行流不需要預生產(chǎn)或?qū)嶋H生產(chǎn)環(huán)境。MKS是用于IT制品的源控制系統(tǒng),包括主題、皮膚和portlet應(yīng)用。MKS具有內(nèi)建 并行開發(fā)支持和工具,以便允許開發(fā)者并行編寫和管理IT制品。該系統(tǒng)內(nèi)的內(nèi)容和代碼可 被部署到多個并行流以用于進一步開發(fā)。MKS214連接到非同步SDE,以便測試代碼和內(nèi)容, 而不與任何特定BDE和開發(fā)流同步。非同步環(huán)境是用于部署IT制品和執(zhí)行系統(tǒng)測試的獨 立網(wǎng)口服務(wù)器實例(不連接到TeamSite的BDE)。圖3是示出了并行開發(fā)處理中所涉及的各種系統(tǒng)和實體以及它們的唯一網(wǎng)口 ID 的系統(tǒng)圖。可以通過提供或映射完成在其上開發(fā)并行流的并行環(huán)境。在映射時,硬盤的鏡 像被拷貝到另一個系統(tǒng),以便快速地產(chǎn)生相同的環(huán)境。在提供時,使用腳本或自動工具,以 腳本定義的方式產(chǎn)生和配置并行環(huán)境。存在于并行流內(nèi)的給定資源必須具有相同的對象ID,確保相同的對象被在每個并 行流中修改。圖3示出了由于提供,并行流諸如實體A 332和實體B324內(nèi)的對象ID環(huán)境 如何可以不同。實體A的同步SDE304、預生產(chǎn)環(huán)境306和生產(chǎn)環(huán)境308的對象ID與實體 B的同步SDE312、預生產(chǎn)314和生產(chǎn)316的對象ID不同。類似地,具有并行BDE 318和同 步SDE320的基于實體B310的并行流也具有不同的對象ID??梢允褂媚_本在生產(chǎn)環(huán)境諸如 302和310之間同步對象ID。圖4是示出了可以如何使用環(huán)境配置器406提供可以在其上發(fā)生并行開發(fā)的新的 并行BDE和SDE環(huán)境的系統(tǒng)圖。環(huán)境配置器使用基礎(chǔ)鏡像402,以及配置模板404和任意補 丁 408,以便創(chuàng)建網(wǎng)口環(huán)境410。然后BDI安裝處理412增加附加組件,以便完成提供。環(huán)境配置器406是運行在工作站或其它計算機上的軟件,并且它可被以任意數(shù)目 的編程或腳本語言編寫。環(huán)境配置器可以使用設(shè)置模板404或可被送入處理的參數(shù),以便 從單個基礎(chǔ)鏡像402創(chuàng)建不同結(jié)果配置。這允許對默認環(huán)境配置進行快速改變,而不必編 寫復雜的腳本或使用附加處理。該處理的輸出是可被用作BDE或SDE的空白網(wǎng)口環(huán)境410。 然后,通過安裝其它二代(2G)組件412,可以使得該環(huán)境適合于更特定的功能。圖5是示出了并行開發(fā)處理中所涉及的系統(tǒng)之間的關(guān)系的系統(tǒng)圖。并行開發(fā)處理包括應(yīng)用開發(fā)系統(tǒng)504、源代碼管理系統(tǒng)506和非同步SDE502。在測試代碼和內(nèi)容之后,在 被最終部署到生產(chǎn)同步SDE514以便由終端用戶使用之前,應(yīng)用可被部署到具有網(wǎng)口平臺 510和內(nèi)容管理系統(tǒng)512的并行BDE508。開發(fā)系統(tǒng)504是任意源代碼或內(nèi)容開發(fā)系統(tǒng),諸如Websphere Studio Application Developer.工程師和設(shè)計師使用該系統(tǒng),以創(chuàng)建最終被部署到生產(chǎn)系統(tǒng)的代 碼或內(nèi)容。MKS是存儲正被開發(fā)的代碼的源代碼管理系統(tǒng)。當開發(fā)代碼時,其可被在不連接 到任意BDE的非同步SDE502上測試。這提供了一種測試代碼的方便的方法。BDE508由網(wǎng)口平臺510構(gòu)成,其被用于創(chuàng)建和修改web應(yīng)用的頁面。該內(nèi)容被存 儲在內(nèi)容管理系統(tǒng)512例如Interwoven TeamSite內(nèi)。一旦為終端用戶準備就緒,生產(chǎn)系 統(tǒng)514執(zhí)行該代碼和內(nèi)容。網(wǎng)口平臺510和內(nèi)容管理系統(tǒng)512被通過網(wǎng)絡(luò)連接。在操作中,使用開發(fā)系統(tǒng)504為作為并行開發(fā)環(huán)境項目的一部分的特定應(yīng)用開發(fā) 源代碼,并且在源代碼管理系統(tǒng)506中對其進行檢查。當開發(fā)的源代碼準備好發(fā)行時,在 源代碼管理系統(tǒng)506內(nèi)創(chuàng)建檢查點。然后,提取源代碼,并且建立web應(yīng)用檔案(WAR)、EAR 等,并且將其部署到非同步SDE502以便進行測試。接著,從源控制管理系統(tǒng)506和內(nèi)容管理系統(tǒng)提取源代碼、主題、皮膚等,并且建 立WAR、EAR等。得到的“建立包”被部署到部件網(wǎng)口平臺510。頁面、內(nèi)容片段等被在eBDE508 中創(chuàng)建/修改,并且被存儲在內(nèi)容管理系統(tǒng)512內(nèi)。當內(nèi)容制品已經(jīng)準備用于發(fā)行時,創(chuàng)建 編輯,以類似于在源代碼控制系統(tǒng)中對以IT為中心的制品所做的方式,有效地確定非技術(shù) 事務(wù)用戶內(nèi)容發(fā)行的版本。為了最終發(fā)行作為web應(yīng)用的代碼和內(nèi)容,從部件網(wǎng)口平臺510導出“發(fā)行包”(例 如,具有Websphere網(wǎng)口對象ID),并且在源代碼管理系統(tǒng)506中進行檢查。然后,從源代碼 管理系統(tǒng)中提取“發(fā)行包”,并且將其導入SDE514。不論頁面定義、內(nèi)容片段和其它內(nèi)容如 何,它們被從內(nèi)容管理系統(tǒng)512中“提取出來”,并且“被導入” SDE514。以這種方式,SDE具 有現(xiàn)在可被終端用戶使用的應(yīng)用的代碼和內(nèi)容兩者的帶有版本號的版本。圖6是示出了并行開發(fā)處理中所涉及的系統(tǒng)之間的關(guān)系的更詳細的系統(tǒng)圖。該圖 示出了開發(fā)隊伍602、開發(fā)建立604、開發(fā)集成和測試系統(tǒng)606和發(fā)行環(huán)境608之間的關(guān)系。開發(fā)系統(tǒng)包括用于作為開發(fā)和測試工具和環(huán)境的主機的開發(fā)者工作站610-616。 開發(fā)環(huán)境給系統(tǒng)提供用于創(chuàng)建代碼604的源代碼。這些系統(tǒng)包括倉庫管理工具618,倉庫管 理工具618自身包括SCM620。SCM620從倉庫向項目管理附件元件622提供源代碼。這些 附加元件包括用于創(chuàng)建源代碼的創(chuàng)建服務(wù)器624和用于對創(chuàng)建處理進行報告的報告工具 626。在已經(jīng)創(chuàng)建了源代碼之后,它被提供給集成測試系統(tǒng)606。系統(tǒng)628被用于創(chuàng)建 的代碼的測試,系統(tǒng)628包含測試系統(tǒng)630-634中的一個或多個和BDE636,BDE636包括 BDE638-640中的一個或多個。在已經(jīng)完成了測試之后,創(chuàng)建的代碼和內(nèi)容被提供到發(fā)行包版本管理服務(wù)器642。 該服務(wù)器提供存儲和管理應(yīng)用和內(nèi)容的測試的位置,它還提供用于將應(yīng)用部署到預生產(chǎn)系 統(tǒng)646以便進行操作接受性測試(0AT) 648和用戶接受測試(UAT)650的平臺。一旦完成了 發(fā)行測試,它可被部署到生產(chǎn)服務(wù)器644。圖7是示出了第一發(fā)行的并行開發(fā)處理內(nèi)的環(huán)境之間的信息流動的系統(tǒng)圖。代碼和內(nèi)容的流1發(fā)行702被示出為在被部署到生產(chǎn)系統(tǒng)712之前從開發(fā)環(huán)境通過BDE環(huán)境 706和測試環(huán)境708和710移動。流1702表示正被開發(fā)的代碼和內(nèi)容的集合。在移動到BDE706以便與內(nèi)容一起測 試之前,代碼在開發(fā)系統(tǒng)704上開發(fā)。在已經(jīng)在BDE系統(tǒng)上成功測試代碼之后,其可被部署 到用于用戶接受測試(UAT) 708的另一個環(huán)境。在已經(jīng)執(zhí)行了用戶接受測試之后,該發(fā)行可 被部署到緊密相應(yīng)于生產(chǎn)環(huán)境712的預生產(chǎn)環(huán)境710,以便進行終端用戶使用之前的最終 測試。在開發(fā)和測試處理過程中,可以編輯和修復代碼和內(nèi)容。這些反向流被以箭頭714 示出,箭頭714示出了 BDE706上的代碼和內(nèi)容的測試和編輯循環(huán)。針對沒有通過用戶接受 測試的代碼,這還從UAT回到BDE706的箭頭716和從UAT回到開發(fā)系統(tǒng)704的箭頭718示 出。還以從預生產(chǎn)到BDE的箭頭720和從預生產(chǎn)到開發(fā)704的箭頭722示出了修訂代碼和 內(nèi)容的另一路徑。圖8是示出了當代碼在不同開發(fā)和測試環(huán)境中流動時,所述內(nèi)容管理系統(tǒng)內(nèi)的相 應(yīng)工作區(qū)域的系統(tǒng)圖。內(nèi)容管理系統(tǒng)814具有內(nèi)部分支存儲結(jié)構(gòu)802,以便存儲內(nèi)容的多個 版本。根據(jù)MPP,相應(yīng)于具有附有代碼的內(nèi)容的發(fā)行形成這些內(nèi)部版本。內(nèi)部區(qū)域802在這 個例子中被示出為具有單個代碼分支的3個版本,804、806和808。這些將相應(yīng)于圖1所示 的VI. 0、V2. 0、V3. 0。版本808被示出為被部署到生產(chǎn),并且相應(yīng)于代碼的完全測試并行版 本。其它版本804和806可以相應(yīng)于被開發(fā)并且被合并到最終版本808內(nèi)的代碼的并行版 本,或未通過測試并且需要修訂的內(nèi)容的版本。圖9是示出了基于第一發(fā)行的第二發(fā)行的并行開發(fā)處理內(nèi)的環(huán)境之間的信息流 動的系統(tǒng)圖。這個圖示出了流1902和流2914,以及當部署到生產(chǎn)912時它們之間的代碼和 內(nèi)容的流動。流1類似于圖8所示的流,并且沿著從開發(fā)環(huán)境904到BDE960到UAT908到預生 產(chǎn)910并且最終到達生產(chǎn)912的路徑。類似于圖8,代碼可被修改并且通過部署流向后移動 以便重新測試。流2表示相對于生產(chǎn)流的應(yīng)用的并行開發(fā)流。該流也具有開發(fā)環(huán)境920、BDE環(huán)境 922和UAT測試環(huán)境924。這些開發(fā)和測試環(huán)境被與主路徑同步,允許合并任何改變。除了如以箭頭916所示,流2 914從主路徑的發(fā)行開始之外,流2 914沿著與為流 1 902所示類似的路徑。流2914然后移動到eBDE922和UAT 924以便進行測試。它從測 試移動到生產(chǎn)環(huán)境,并且在被合并到生產(chǎn)912內(nèi)之前,被eBDE906、UAT 908和預生產(chǎn)910進 一步測試。在流2被部署到生產(chǎn)912時之前,它首先被合并到流1內(nèi)。這樣,僅存在一個分 支,即,生產(chǎn)分支。箭頭938示出了流2的BDE 922和BDE906之間的這種提升或合并。圖10是示出了相應(yīng)于代碼和內(nèi)容的發(fā)行版本的內(nèi)容管理系統(tǒng)內(nèi)的相應(yīng)工作區(qū)域 1002和1034的系統(tǒng)圖;類似于圖8,該圖示出了內(nèi)容管理系統(tǒng)的內(nèi)部分支結(jié)構(gòu)。內(nèi)容管理系統(tǒng)1022被示出為具有工作區(qū)域1002,工作區(qū)域1002具有三個項目版 本(版本)1004、1006和1008。該代碼被在BDE1020上測試,其被示出為安裝有TeamSite 分支1 1022和Websphere平臺1024。然后,代碼被部署到生產(chǎn)1026。內(nèi)容管理系統(tǒng)還包含用于并行流2內(nèi)的內(nèi)容的版本的另一個工作區(qū)域1010。如 圖所示,這個工作區(qū)域1010包含項目的多個版本。這個例子示出了四個版本1012、1014、1016和1018。這個工作區(qū)域中的代碼的版本被部署到BDE環(huán)境1022,其被示出為安裝在 TeamSite 分支 21030 和 Websphere 網(wǎng) 口平臺 1032 內(nèi)。箭頭1034示出一個并行流中的項目可被如何分支到另一個并行流以便進一步開 發(fā)。在該情況下,流1的工作區(qū)域1002的ed_003 1008被作為ed2_0001分支到流2的工 作區(qū)域1010。從此,示出了已經(jīng)創(chuàng)建的其它版本(例如,1014、1016和1018)。類似地,在使 用BDE1022進行了并行版本的開發(fā)和測試之后,代碼可被合并回流1。例如,代碼可被合并 到第一個流的ed_0003 1008內(nèi)。然后,代碼可被部署到生產(chǎn)1026。圖11是示出了第二發(fā)行的并行開發(fā)處理內(nèi)的環(huán)境之間的信息流動的系統(tǒng)圖。這 更清楚地示出了在被部署到生產(chǎn)之前,第一個流的第二發(fā)行(例如,非并行版本1. 1)經(jīng)過 與流1的第一個版本相同的環(huán)境。這包括開發(fā)環(huán)境1101、BDE1104、UAT1106、預生產(chǎn)1108 和生產(chǎn)1110。圖12是示出了所述環(huán)境內(nèi)的相應(yīng)工作區(qū)域的系統(tǒng)圖。圖12更直接地示出代碼 的版本1218可被從并行分支1220移回生產(chǎn)分支1222 (例如,使用路徑1212和1214從 ed2_0004到ed_0004 1216)。然后,這個新版本1216可被部署到生產(chǎn)1206。圖13是示出了 MPP的部署組件的設(shè)計的系統(tǒng)圖。部署組件具有SCM服務(wù)器1302、 包括SCM客戶端腳本1306和部署腳本1308的腳本集合1304。使用這些腳本,代碼和內(nèi)容 被部署到一個或多個數(shù)據(jù)中心,例如,數(shù)據(jù)中心1 1310和數(shù)據(jù)中心2 1316。SCM服務(wù)器1302包含將被部署到測試和生產(chǎn)系統(tǒng)的代碼和內(nèi)容。Getzip函數(shù) 是將SCM服務(wù)器連接到開放部署組件的MPP系統(tǒng)的函數(shù)。Getzip函數(shù)檢索保存在內(nèi)容 管理系統(tǒng)服務(wù)器1304上的建立權(quán)證(ticket),并且使用建立權(quán)證中的信息創(chuàng)建部署包。 ConfigLabel函數(shù)將內(nèi)容管理系統(tǒng)連接到SCM服務(wù)器,并且在內(nèi)容管理服務(wù)器上保存檢索 到的被標記的文件。ConfigLabel函數(shù)還合并檢索到的建立權(quán)證zip文件。部署工作流中 的最后一個函數(shù)是D印loyZip函數(shù),其使用開放部署腳本將保存的zip文件傳送到特定數(shù) 據(jù)中心內(nèi)的目的地運行時部署幫助器(RDH)。圖14是示出了 MPP的安裝組件的設(shè)計的系統(tǒng)圖。安裝工作流安裝部署的建立權(quán) 證。開放部署組件1404控制從RDH服務(wù)器1414和1424到數(shù)據(jù)中心1416和1428的建立 權(quán)證的部署處理。開放部署處理包括DeActWeb 1406、安裝1408、ActWeb 1410和回滾1412任務(wù)。DeActWeb處理使用開放部署服務(wù)1418觸發(fā)目的地RDH服務(wù)器1414上的腳本,以 便在準備新建立的安裝時去活webserver實例。如果沒有問題,工作流向用戶報告處理的 成功,并且自動地開始作為開放部署處理的一部分的下一個處理。安裝處理1408使用開放部署服務(wù)1418觸發(fā)目的地RDH服務(wù)器1414上的腳本,以 便安裝在部署zip任務(wù)過程中創(chuàng)建的建立權(quán)證zip文件。Actffeb處理1410使用開放部署服務(wù)1418觸發(fā)目的地RDH服務(wù)器1414上的腳本, 以便激活webserver實例。如果沒有問題,工作流向用戶報告當前處理的成功,并且自動開 始開放部署處理的下一個部分。回滾處理1412使用開放部署服務(wù)1418觸發(fā)目的地RDH服務(wù)器1414上的腳本,以 便恢復備份文件系統(tǒng)和網(wǎng)口數(shù)據(jù)庫。如果開放部署服務(wù)停機或如果在開放部署處理過程中 安裝腳本發(fā)生失效,回滾可能是必須的。
18
圖15是示出了 BDE環(huán)境的實現(xiàn)的系統(tǒng)圖。BDE環(huán)境包括通過客戶端1504(例如, web接口)連接到BDE環(huán)境1508的用戶1502。BDE環(huán)境1508包括web服務(wù)器1514和支持 系統(tǒng)1510以及數(shù)據(jù)庫系統(tǒng)1512。根據(jù)本發(fā)明的至少一個實施例,網(wǎng)口服務(wù)器內(nèi)的資源具有使用網(wǎng)口 GUPID產(chǎn)生的 唯一標識符。如果網(wǎng)口 GUPID在兩個環(huán)境之間相同,存在流之間的兩個或多個對象ID可能 相同的風險。這將意味著管理具有相同唯一標識符的兩個不同資源。并行流BDE的行為方 式與同步SDE類似。然而不同于SDE,用戶可以在并行BDE上創(chuàng)建新資源,從而確保GUPID 在環(huán)境之間是唯一的。以這種方式,確保所有新創(chuàng)建的資源真正具有唯一標識符。在替換 實施例中,可以使用其它標識機制標識資源。詳細地,用戶1502是任意用戶,諸如訪問MPP系統(tǒng)的軟件開發(fā)者。該用戶通過計 算機1504使用由BDE環(huán)境1508通過網(wǎng)絡(luò)鏈路1506提供的web界面。由例如IBM http服 務(wù)器1514結(jié)合應(yīng)用服務(wù)器1516、網(wǎng)口服務(wù)器1518和LDAP服務(wù)器1520的web服務(wù)器1510 提供該web界面。應(yīng)用服務(wù)器1516,諸如websphere,提供運行web應(yīng)用的能力。以這種方 式,可以使用java應(yīng)用建立MPP系統(tǒng)。Websphere網(wǎng)口服務(wù)器1518提供應(yīng)用層的表示層。BDE環(huán)境還包括數(shù)據(jù)庫層1512。該數(shù)據(jù)庫層包括用于存儲在網(wǎng)口內(nèi)使用的對象和 頁面的網(wǎng)口數(shù)據(jù)庫1522。該數(shù)據(jù)庫層還包括用于存儲正工作的項目的BDE數(shù)據(jù)庫1526,以 及出于標識和驗證目的,用于存儲用戶簡檔信息的ID&V數(shù)據(jù)庫1528。圖16是示出了 BDE環(huán)境的進一步細節(jié)的系統(tǒng)圖。BDE環(huán)境包括由網(wǎng)口服務(wù)器、標 識和驗證組件、數(shù)據(jù)庫組件1616、應(yīng)用服務(wù)器1614和網(wǎng)口服務(wù)器1612構(gòu)成的基礎(chǔ)基礎(chǔ)構(gòu)造 和配置層。BDE環(huán)境還包括由基礎(chǔ)BDE1604、BDE運行時1606、ID&V組件1608和用于網(wǎng)口 和應(yīng)用的代碼和內(nèi)容1610構(gòu)成的基礎(chǔ)層。BDE環(huán)境還包括具有相應(yīng)于并行項目的實體特定 代碼和內(nèi)容的實體層1602。圖17是示出了 MPP系統(tǒng)內(nèi)的組件之間的信息流動的系統(tǒng)圖。該系統(tǒng)包括生產(chǎn)部 件網(wǎng)口實例1702和并行網(wǎng)口部件實例1714。該系統(tǒng)還包括teamsite倉庫1704和MKS倉 庫1716。MPP系統(tǒng)的其它組件包括設(shè)計時建立幫助器1706、開放部署服務(wù)器1708和運行時 部署幫助器1710。MPP系統(tǒng)由生產(chǎn)部件網(wǎng)口 1702構(gòu)成,生產(chǎn)部件網(wǎng)口 1702是已被測試和部署的生產(chǎn) 應(yīng)用。在應(yīng)用被部署到生產(chǎn)系統(tǒng)之前,它被在并行部件網(wǎng)口實例1714上并行開發(fā)。這種并 行開發(fā)環(huán)境可以訪問源代碼控制系統(tǒng)1716內(nèi)的代碼的并行分支。通過源代碼控制系統(tǒng)的 客戶端界面進行訪問。源代碼控制系統(tǒng)的一個例子是MKS。并行開發(fā)環(huán)境還被連接到內(nèi)容 管理系統(tǒng)1704,諸如TeamSite,其具有相應(yīng)于正被開發(fā)的代碼的并行分支的內(nèi)容的子分支 1712??梢酝ㄟ^類似CIFS協(xié)議的協(xié)議在應(yīng)用機器上訪問存儲在內(nèi)容管理系統(tǒng)內(nèi)的內(nèi)容。內(nèi)容管理系統(tǒng)1704和源代碼控制1716系統(tǒng)被連接到設(shè)計時建立幫助器1706,設(shè) 計時建立幫助器1706和開放部署服務(wù)器1708包含用于管理如上所述的并行流的部署的腳 本和代碼。首先,向運行時DH1710進行部署,并且然后通過SSH向生產(chǎn)部件網(wǎng)口實例1702進行部署。圖18是示出了系統(tǒng)之間的目錄信息的傳遞的系統(tǒng)圖。圖18示出了安裝在刀片機 架1812內(nèi)的生產(chǎn)BDE環(huán)境1802。部件網(wǎng)口刀片1806包括用于存儲與部件網(wǎng)口界面1810 有關(guān)的內(nèi)容的數(shù)據(jù)庫1806。BDE環(huán)境還包括用于驗證目的的LDPA目錄服務(wù)器1808。連接到生產(chǎn)BDE環(huán)境1802,并行開發(fā)環(huán)境1810也被安裝在 刀片機架1812內(nèi)。并行開發(fā)環(huán)境還包括內(nèi)容數(shù)據(jù)庫1814和部件網(wǎng)口實例1816。為了簡化 構(gòu)造,并行開發(fā)環(huán)境可以使用來自生產(chǎn)環(huán)境的目錄信息??商鎿Q地,生產(chǎn)和并行環(huán)境兩者可 以具有其自己的可被使用復制同步的目錄信息。這也使得故障恢復成為可能,增加了容錯 性。圖19是示出了生產(chǎn)部件網(wǎng)口實例1902和并行開發(fā)部件網(wǎng)口實例1910之間共享 的目錄信息的更高級版本的系統(tǒng)圖。該系統(tǒng)類似于圖18所示的系統(tǒng),然而,它使用集中的 并且冗余的目錄服務(wù)器。生產(chǎn)部件網(wǎng)口實例1902被通過內(nèi)容交換機1918連接到第一目錄 服務(wù)器1920。第一目錄服務(wù)器1920被連接到第二目錄服務(wù)器1922。這兩個目錄服務(wù)器可 以在它們自己之間復制信息,并且彼此提供故障恢復支持。以這種方式,并行部件網(wǎng)口實例 可以與生產(chǎn)部件網(wǎng)口實例一樣連接到相同的集中式目錄服務(wù)器1920和1922。圖20是示出了能夠用于MPP的目錄系統(tǒng)的細節(jié)的系統(tǒng)圖。目錄系統(tǒng)2001是用 于管理用戶信息的分層目錄系統(tǒng)。目錄系統(tǒng)2001被劃分為不同的區(qū)域(例如,美國區(qū)域 2002),每個區(qū)域還可被劃分為多個環(huán)境2006和2007。在這種系統(tǒng)內(nèi),能夠在生產(chǎn)和并行環(huán) 境之間移動、拷貝和重新產(chǎn)生用戶賬戶。還能夠從單個位置和界面同步所有并行流并且管 理整個目錄。圖21是示出了在并行BDE系統(tǒng)之間共享目錄信息的系統(tǒng)圖。該圖示出了生產(chǎn) BDE2102和并行BDE2104。生產(chǎn)BDE包括應(yīng)用環(huán)境2112和支持基礎(chǔ)構(gòu)造2108。它還包括目 錄服務(wù)器2106,目錄服務(wù)器2106可被生產(chǎn)BDE2102和并行BDE2104兩者使用。并行BDE2104 僅包括應(yīng)用環(huán)境2114和支持基礎(chǔ)構(gòu)造2110。圖22是示出了 BDE環(huán)境之間的目錄信息的傳遞的系統(tǒng)圖。該圖示出了生產(chǎn)環(huán)境 2202和多個并行流(例如,2204、2206、2208和2210)。第二個流2204和第三個流2206具 有與生產(chǎn)流2204不同的ID&V組件版本(例如,2218和2220)。然而,由于它們是兼容的, 它們可以共享生產(chǎn)流的目錄服務(wù)器2216。第四個并行流2208被示出為具有ID&V組件的不 兼容版本,并且因此指向本地LDAP服務(wù)器2222。第五個并行流2210具有相同版本的ID&V 組件,但是例如由于它需要單獨數(shù)據(jù)使用,仍然能夠使用本地目錄服務(wù)器。圖23是MPP的用戶界面的一部分,并且示出了完成的任務(wù)的記錄以及其它系統(tǒng)消 息。MPP系統(tǒng)被設(shè)計為記錄工作流消息。該記錄可以具有事件日期2302、創(chuàng)建事件的任務(wù) 2304、執(zhí)行事件的用戶2306和事件細節(jié)2308。該記錄可以包括與部署和合并處理有關(guān)的消息。例如,其可被顯示在比較結(jié)果旁 邊,以便提供在比較處理過程中做出的決定的全面視圖??梢酝ㄟ^直接觀看記錄文件獲得 關(guān)于MPP的執(zhí)行的更詳細的信息,例如,關(guān)于失敗的執(zhí)行的信息、關(guān)于過早退出或工作流初 始化的信息。可替換地,信息還可以包括在基于portlet的觀看器中。圖24是示出了在并行開發(fā)和部署多個web應(yīng)用時所涉及的系統(tǒng)的細節(jié)的系統(tǒng)圖。 該圖示出了構(gòu)成MPP平臺的系統(tǒng)。這包括ID&VCAM數(shù)據(jù)庫2402、部件網(wǎng)口實例2404和部件 網(wǎng)口數(shù)據(jù)庫2406。該系統(tǒng)還包括MKS倉庫2408、應(yīng)用平臺2410 (包括J2EE應(yīng)用部件2412 和編譯器2414)、以及team site倉庫2416。開放部署處理2422運行在這個平臺上,開放 部署處理2422將項目部署到登臺環(huán)境2426和生產(chǎn)環(huán)境2428。部署處理中所涉及的其它個 體包括調(diào)度發(fā)行的個體2420、幫助質(zhì)量控制的個體2424和內(nèi)容編輯器2418。
20
ID&V CAM用于確保顧客賬戶被允許接入網(wǎng)口應(yīng)用。正在執(zhí)行的部件網(wǎng)口實例2404 訪問這個賬戶信息以便檢驗用戶。它還組合與應(yīng)用的內(nèi)容有關(guān)的部件網(wǎng)口數(shù)據(jù)庫2406內(nèi) 的數(shù)據(jù)。該應(yīng)用運行在J2EE平臺2140上,J2EE平臺2140包括用于組裝應(yīng)用的應(yīng)用組裝 器2412和用于編譯應(yīng)用代碼的編譯器2414。項目存儲在MKS倉庫2408內(nèi)。應(yīng)用的其它部分,諸如內(nèi)容和網(wǎng)口制品存儲在 TeamSite倉庫2416內(nèi)。以TeamSite內(nèi)容編輯器2418編輯內(nèi)容。編譯后的應(yīng)用被開放部署處理2422部署,開放部署處理2422將應(yīng)用部署到登臺 環(huán)境2426以便進行質(zhì)量控制2424。當被根據(jù)調(diào)度系統(tǒng)或項目管理者2420觸發(fā)時進行部 署??梢栽诘桥_環(huán)境中使用測試工具2432或其它工具2430測試應(yīng)用。在測試并且部署到 登臺環(huán)境之后,應(yīng)用可被部署到生產(chǎn)環(huán)境2428。圖25是示出了并行流部署中所涉及的系統(tǒng)之間的鏈接的系統(tǒng)圖。部件網(wǎng)口實例 2502內(nèi)的信息被使用CIFS傳遞到TeamSite倉庫2504。Team site倉庫內(nèi)容2504和MKS 倉庫內(nèi)容被分別使用CIFS和MKS客戶端傳遞到設(shè)計時建立幫助器2508。設(shè)計時建立幫助 器2508然后將其輸出發(fā)送到開放部署服務(wù)器2510。從開放部署服務(wù)器,應(yīng)用被使用開放部 署和SSH發(fā)送到SDE運行時部署幫助器2512。應(yīng)用還被使用開放部署和SSH發(fā)送到生產(chǎn)運 行時部署幫助器2518。從SDE2512和生產(chǎn)運行時DH2518,應(yīng)用被使用開放部署處理和網(wǎng)絡(luò) 文件系統(tǒng)(NFS)發(fā)送到IHS2514和2520,并且被發(fā)送到websphere平臺2516和2522。圖26是示出了通過BDE環(huán)境和部署系統(tǒng)的內(nèi)容流動的系統(tǒng)圖。IT開發(fā)者2602 使用Rational Application Developer (RAD) 2610創(chuàng)建內(nèi)容。事務(wù)用戶2604也可以使用 TeamSite內(nèi)容編輯器2614和部件網(wǎng)口實例2612輸入內(nèi)容。然后IT制品被存儲在MKS2608 內(nèi),并且事務(wù)管理內(nèi)容和頁面部件/組成物被存儲在TeamSite文件服務(wù)器2616內(nèi)。從此 處,IT制品被轉(zhuǎn)移到設(shè)計時建立幫助器2622。設(shè)計時建立幫助器包括用于檢索關(guān)于MKS倉 庫2608的信息的MKS客戶端2624。它還包括用于組裝關(guān)于TeamSite文件服務(wù)器2616的 信息的應(yīng)用部件工具2632。從此處,內(nèi)容被提供給開放部署服務(wù)器2618,開放部署服務(wù)器2618具有開放部署 ⑶I 2620。然后,內(nèi)容被提供給運行時部署幫助器2636 (其具有腳本組件2638和開放部署 服務(wù)器2640)。從運行時部署幫助器,內(nèi)容被提供給web部署管理器2642和websphere網(wǎng) 口 2644。部署的內(nèi)容可被存儲在Oracle數(shù)據(jù)庫2646內(nèi)。圖27是示出了 MPP的實現(xiàn)的細節(jié)的系統(tǒng)圖??梢暬镀?714內(nèi)的部件網(wǎng)口實例 2712可以通過CIFS獲得工作區(qū)域2702和team site內(nèi)容。該刀片被包括在刀片機架2710 內(nèi),刀片機架2710包括相應(yīng)于其它BDE實例的若干其它刀片。應(yīng)用被使用IBM RAD2704、 MKS 2706、設(shè)計時建立幫助器2720和前面所述的應(yīng)用部件工具2722、Net HSM 2724和SDE 2726部署到刀片機架。圖28是示出了 MPP系統(tǒng)的災難恢復功能的細節(jié)的系統(tǒng)圖。該圖示出了使用刀片 機架2804和刀片機架2820上的MPP處理開發(fā)的兩個部署的應(yīng)用2802和2818。刀片機架 2802包括如前所述的部件網(wǎng)口刀片2804以及同樣如前面所述的設(shè)計時建立幫助器2806。 刀片機架2802被通過NAS網(wǎng)關(guān)2808、SAN 2810、SRDF連接2812和刀片機架2818的相應(yīng) SAN 2814和NAS網(wǎng)關(guān)2816連接到刀片機架2818。NAS網(wǎng)關(guān)2808提供對存儲在SAN 2810上的文件的訪問。該SAN2810被使用SRDF協(xié)議與SAN 2814同步,雖然如本領(lǐng)域已知的還可以使用其它協(xié)議。同步的存儲允許刀片機 架2802和刀片機架2818之間的故障恢復。圖29是示出了 MPP的災難恢復功能的進一步細節(jié)的系統(tǒng)圖。通過被修改為指向DR 站點的主機名稱IP的URL,用戶被定向到災難恢復(DR)站點2920。通過使用將BDE Staff 用戶自動帶到處于運行的站點的公共URL,BDE Staff用戶將被帶到適當?shù)恼军c。部件網(wǎng)口 刀片2904被以通常的方式(即,通常的BDE環(huán)境安裝)2906安裝在NAS網(wǎng)關(guān)2916和SAN 2918上,如前所述,其與DR站點2920同步。通常的BDE環(huán)境包括用戶數(shù)據(jù)庫2908和應(yīng)用部件網(wǎng)口 2912。應(yīng)用網(wǎng)口為目錄信 息與LDAP 2914通信。圖30是示出了 MPP的災難恢復功能的進一步細節(jié)的系統(tǒng)圖。用戶3002連接到與 數(shù)據(jù)庫系統(tǒng)3006通信的主應(yīng)用系統(tǒng)3004。數(shù)據(jù)庫系統(tǒng)3006包括主數(shù)據(jù)庫3008、主記錄目 錄3010和復制的備用記錄3012。類似地,備用環(huán)境包括備用應(yīng)用系統(tǒng)3018、備份數(shù)據(jù)庫系 統(tǒng)3020。備份數(shù)據(jù)庫系統(tǒng)3020包括副數(shù)據(jù)庫3022、備用記錄目錄3010和復制的主記錄目 錄3014。復制的主記錄目錄3014和備用記錄目錄與主站點保持同步。圖31是MPP的故障恢復功能所涉及的組件的系統(tǒng)圖。用戶3102連接到DNS URL 重定向組件3104,DNS URL重定向組件3104可以使用戶指向主站點或故障恢復站點。DNS URL組件3106被連接到Veritas VIP 3106。主設(shè)計時建立幫助器3108和備用設(shè)計時建立 幫助器3101兩者被連接到Veritas VIP3106以便為請求服務(wù)??商鎿Q地,附加的系統(tǒng)可以 是故障恢復集群的一部分。使用來自SAN 3114進行服務(wù)請求,并且通過NAS網(wǎng)關(guān)3112對 服務(wù)請求進行檢索。SAN3114使用SRDF復制保持同步。使用DNS故障恢復將用戶重定向到 故障恢復站點。圖32是示出了部署并行流時所涉及的系統(tǒng)的組件的系統(tǒng)圖。該系統(tǒng)包括運行時 部署幫助器3202,運行時部署幫助器3202包括用于將EAR包部署到Websphere部署管理器 3210,以及用于將WAR部署到Websphere網(wǎng)口 3212的ANT和腳本3204。部署的環(huán)境3203 還包括用于支持Websphere網(wǎng)口 3212的Oracle數(shù)據(jù)庫3214。對象被由ANT和腳本組件 3204使用諸如XML Access的Websphere網(wǎng)口腳本工具加載到數(shù)據(jù)庫3214。圖33是示出了用于創(chuàng)建新的并行流的整體處理的流程圖。該處理以用戶決定正 在開發(fā)的項目究竟是否需要并行流而在步驟3302處開始。在步驟3304,用戶完成并行BDE 請求。這是用戶提供的需要創(chuàng)建并行流的信息。它可以包含對生產(chǎn)流的引用(服務(wù)器名稱 和關(guān)于將訪問MKS和其它環(huán)境組件的用戶的信息)。在步驟3306,為新的并行流提供環(huán)境。在步驟3308,為了支持這個新的流,建立一 個環(huán)境,其包括安裝軟件組件,諸如IBM、BDE、ID&V核心組件。在步驟3310,測試安裝,并且 根據(jù)并行流請求配置環(huán)境和其它組件。在步驟3312,在已經(jīng)建立了環(huán)境之后,執(zhí)行初始化工 作流。在步驟3314,同步新測試并且配置的環(huán)境。圖34是示出了用于開始新的并行流的處理的流程圖。該處理由啟動器3410開始 創(chuàng)建并行流的處理而在步驟3402處開始。然后在步驟3404,由批準器3412批準在并行環(huán) 境中初始化新的并行流。參考上文圖33描述,在為并行流創(chuàng)建的環(huán)境中創(chuàng)建并行流。在步 驟3406,檢驗并行流的目標環(huán)境,以便確保它是可接受的。在步驟3408,進行項目的加載以 便創(chuàng)建并行流。
22
初始化新的并行流是這樣一個處理,借此,以生產(chǎn)流BDE的內(nèi)容配置、設(shè)置和安裝 并行流的BDE環(huán)境。一旦已經(jīng)初始化了并行流BDE,它基本上是生產(chǎn)流的完整克隆。這允 許用戶有利地管理并行前進的代碼、內(nèi)容和配置。為了并行管理網(wǎng)口資源,它們必須是相同 的,這意味著這些資源的內(nèi)部唯一標識符必須相同。然而重要的是,當在并行或生產(chǎn)流中創(chuàng) 建新的資源時,它們被給予不與已經(jīng)在其它流上創(chuàng)建的資源沖突的新的唯一標識符。當重新初始化并行流時必須要小心,這是由于該并行流的內(nèi)容將被刪除。為了減 輕初始化工作流錯誤運行的風險,一旦工作流已經(jīng)正確運行,該工作流可被禁止,并且通過 發(fā)出工作命令可被重新啟動。在開始初始化工作流之前,用戶退出目標上的部件WPS工作 臺,保存并且關(guān)閉目標工作區(qū)域內(nèi)的文件,沒有其它批準工作流在目標環(huán)境上處于進行中, 并且已經(jīng)創(chuàng)建了用于初始化工作流的源版本??梢詮哪繕肆鞯墓ぷ鲄^(qū)域的內(nèi)容窗格開始初 始化工作流。如果初始化工作流被拒絕,可以向用戶發(fā)送電子郵件。然后可以解鎖目標,這使得 再次為進一步的開發(fā)讀/寫目標上的資源。還去除針對該處理的工作流鎖。然后以發(fā)生的 動作更新記錄。檢驗目標任務(wù)確保正確地執(zhí)行初始化工作流。使用工作流窗格的任務(wù)視圖(下面 描述),用戶可以選擇任務(wù)列表中的檢驗目標任務(wù)。然后,用戶選擇開始輸入任務(wù),并且選擇 檢驗目標鏈接。然后用戶通過觀看所選擇的頁面檢驗目標流。用戶還可以觀看公共可用的 網(wǎng)站。為了在檢驗之后接受部署,用戶可以選擇接受部署按鈕。作為響應(yīng),系統(tǒng)執(zhí)行下面的任務(wù),禁止工作流,發(fā)送完成的電子郵件,解鎖工作臺, 解除工作流鎖并且記錄執(zhí)行的動作。用戶還可以恢復目標流,這將流放回到任何改變被作為該工作流的一部分之前的 狀態(tài)。當用戶拒絕目標流的部署時,開始這個任務(wù)?;謴凸δ苁枪ぷ髁鞔案駜?nèi)的任務(wù)。為 了執(zhí)行恢復,系統(tǒng)解鎖備份工作區(qū)域,從獲取的備份中恢復目標流,向用戶發(fā)送電子郵件, 解鎖工作臺以便用于進一步的開發(fā),解鎖工作流,并且記錄執(zhí)行的工作流任務(wù)的細節(jié)。圖35是示出了用于獲得最新的和可由用戶執(zhí)行的MPP的提升處理的流程圖。獲得 最新工作流被設(shè)計為將資源從生產(chǎn)流移動到并行流,或從并行流移動到另一個并行流。作 為獲得最新工作流的一部分,對目標環(huán)境/并行流TeamSite工作區(qū)域(其包含所有內(nèi)容, 包括帶有版本的網(wǎng)口資源)和基線或“MPP版本”進行詳細比較。這是一種由中間處理自動 形成的特殊類型的TeamSite版本?;€還包括該環(huán)境中安裝的應(yīng)用以及它們相關(guān)聯(lián)的版 本的列表。一旦執(zhí)行了比較,結(jié)果被顯示給用戶(仍然在該工作流的上下文中),然后用戶可 以決定他們希望被同步的資源。在某些實施例中,僅向用戶顯示不同的資源。對于識別出 的流之間的每個差異,用戶可以決定忽略、覆蓋、添加或刪除該資源。在做出決定之后,獲得 最新將執(zhí)行每個決定。一旦已經(jīng)執(zhí)行了這個操作,流被同步。即使流的內(nèi)容可能不是完全 相同,用戶也可進行同步處理,并且做出關(guān)于合并流的知情決定。在步驟3502,啟動該工作流。這將結(jié)束的改變從生產(chǎn)流帶入并行流,或?qū)⒔?jīng)測試的 改變從一個并行流帶入另一個并行流。當首次提供并行流時,使用初始化工作流,并且初始 化工作流負責將生產(chǎn)流內(nèi)的基線中的內(nèi)容移動到并行流,并且創(chuàng)建并行流內(nèi)的資源的新的 基線?;€事實上是包含給定時刻的內(nèi)容和資源的TeamSite版本。當執(zhí)行并行開發(fā)中所涉及的各種比較操作時,基線(即,版本或檢查點)可被用作比較操作中的參考點。在步驟3504,批準器4128決定是否創(chuàng)建并行流,以及并行流中包括什么文件???以進行代碼比較,以便決定將包括哪些改變或文件。當啟動新工作流時,可以向批準器自動 發(fā)送電子郵件或其它通知。在步驟3508,系統(tǒng)準備代碼部署,例如,退出用戶、創(chuàng)建鎖文件。 在步驟3510,開始部署,并且將代碼和內(nèi)容拷貝到新環(huán)境內(nèi)的并行流。在步驟3512,檢驗目標。這個步驟包括檢驗部署是否被正確執(zhí)行,并且它解鎖系統(tǒng) 以便進行訪問。在步驟3514,如果處理中存在任何錯誤,可以進行恢復,以便將系統(tǒng)帶回其 以前狀態(tài),從而可以重試部署。為了通過圖形用戶界面執(zhí)行獲得最新工作流,用戶一般退出目標環(huán)境上的部件 WPS工作臺,目標工作區(qū)域內(nèi)的文件一般被保存并且被關(guān)閉,目標工作區(qū)域內(nèi)一般沒有其它 批準的工作流在進行中,目標工作區(qū)域上一般沒有其它代碼部署工作流在進行中,并且用 于該處理的源版本可能已經(jīng)被創(chuàng)建。然后,用戶使用目標流的工作區(qū)域的內(nèi)容窗格,并且選 擇“新任務(wù)”。然后,用戶可以選擇獲得最新按鈕。然后工作流顯示用戶的ID和源分支,該 源分支是到目標工作區(qū)域的路徑。然后,用戶完成其余必選字段,并且開始任務(wù)。然后系統(tǒng)更新鎖文件,鎖定該工作區(qū)域和工作臺,向用戶發(fā)送電子郵件,進行目標 流的備份,并且通過創(chuàng)建工作區(qū)域的拷貝和初始的比較文件來執(zhí)行比較預處理。然后,隨同 用戶,通過向用戶顯示不同文件,執(zhí)行內(nèi)容和代碼比較。圖36是示出了初始化處理的細節(jié)的流程圖。初始化工作流的目的是使得實體能 夠?qū)⑸a(chǎn)流中的代碼和內(nèi)容同步到新提供的并行流。在已經(jīng)交付了新的并行流BDE環(huán)境之 后,它僅僅包含最少的軟件、環(huán)境組件和所需的配置。這包括諸如網(wǎng)口管理portlet和頁面 的組件。初始化工作流將創(chuàng)建包含源生產(chǎn)環(huán)境的內(nèi)容的發(fā)行包。在新環(huán)境的提供處理過程 中,該工作流僅需要被執(zhí)行一次。一旦已經(jīng)提供了并行BDE,該環(huán)境也被初始化(使用初始化工作流),并且代碼和 內(nèi)容已經(jīng)被同步。然后還可以同步與BDE相關(guān)聯(lián)的SDE環(huán)境。與并行流相關(guān)聯(lián)的同步的 SDE和與生產(chǎn)或任意其它流同步的SDE沒有兩樣。當首次交付并行流BDE時,與其相關(guān)聯(lián)的 SDE不包含應(yīng)用的任意代碼或內(nèi)容。已經(jīng)作為生產(chǎn)流的同步環(huán)境,或作為用于系統(tǒng)測試或IT目的的非同步環(huán)境使用 的已有SDE可被移入該并行流,并且被使用。這將潛在地減少整體環(huán)境成本,然而,為了與 并行流相關(guān)聯(lián),可以重新提供該環(huán)境。不存在可以簡單地通過改變環(huán)境配置,簡單地移動 SDE或?qū)⑵渑c另一個源BDE重新關(guān)聯(lián)的通用方法。通過重新提供環(huán)境,該環(huán)境上的所有數(shù)據(jù)將丟失,并且實際上,交付的環(huán)境將與請 求新環(huán)境相同。處理在步驟3604開始,其中輸入用于初始化處理的信息。在步驟3606,更新系統(tǒng) 上的鎖文件,從而不在相同時刻進行其它更新或改變。在步驟3608,出于相同原因鎖定工作 區(qū)域和工作臺。在步驟3610,驗證初始化處理,以便確保它可被正確執(zhí)行。在步驟3612,向新的并行流初始化的批準器發(fā)送電子郵件或其它通知,如果批準 了初始化(步驟3614),那么在步驟3620,通知啟動器可以繼續(xù)初始化。如果未批準初始化,則在步驟3616,可向啟動器發(fā)送電子郵件或其它通知,以便讓 他們知道其請求未被批準。在步驟3618,撤消目標上的鎖。然后處理進入步驟3648,其中
24還撤消工作流鎖,并在步驟3650,更新工作流記錄。如果批準了初始化,則在步驟3622,進行備份以防在初始化過程中發(fā)生錯誤。在步 驟3624,解鎖工作區(qū)域從而可以進行改變。在步驟3626,初始化AWPS,并且在步驟3628,初 始化工作區(qū)域。然后在步驟3630通知啟動器工作區(qū)域也被初始化。在步驟3632,檢驗目標,以便確保初始化被正確執(zhí)行,如果不是這樣,處理進入步 驟3634,以便執(zhí)行恢復回以前的系統(tǒng)配置。在步驟3636,解鎖備份工作區(qū)域,并且在步驟 3638恢復系統(tǒng)。在步驟3640,向啟動器發(fā)送電子郵件通知其恢復已被完成。然后,處理進 入步驟3646,并且執(zhí)行上面描述的當未批準工作流的初始化時步驟3618之后的步驟。在步驟3642,如果檢驗了目標,則部署被接受,并且工作流鎖被禁止。在步驟 3644,向啟動器發(fā)送通知,通知它們完成了初始化。然后,處理進入步驟3646,執(zhí)行上面所述 當工作流初始化未被批準時步驟3618之后的步驟。圖37是示出了整體部署處理的細節(jié)的流程圖。在步驟3702,開發(fā)第一個發(fā)行。在 步驟3704,該發(fā)行被部署到非同步SDE。在步驟3706,測試代碼缺陷。如果沒有缺陷,則在 步驟3708,該發(fā)行被部署到eBDE。否則,處理回到步驟3702,并且開發(fā)新的發(fā)行。在步驟 3710,執(zhí)行站點組裝,并且在步驟3712檢查站點缺陷。如果未發(fā)現(xiàn)缺陷,則在步驟3714,該 發(fā)行被部署到一個環(huán)境以便進一步測試。同樣,如果沒有發(fā)現(xiàn)缺陷,該發(fā)行被在步驟3718 移動到預生產(chǎn)環(huán)境。最終,如果在步驟3720未發(fā)現(xiàn)缺陷,該發(fā)行被在步驟3722部署到生產(chǎn) 以便由用戶使用。缺陷測試在步驟3724繼續(xù)。在執(zhí)行缺陷檢測的任意步驟(步驟3712、3716、3720和3724),在檢測到一個或多 個缺陷之后,處理回到步驟3728,其中可以修復代碼并且開發(fā)新發(fā)行以便部署。圖38是示出了提升處理的細節(jié)的流程圖。提升處理實際上與獲得最新工作流相 同,然而,它被特別設(shè)計為將資源從并行流移動到生產(chǎn)流。由于生產(chǎn)流是用于將資源部署到 預生產(chǎn)和生產(chǎn)環(huán)境的唯一環(huán)境,存在將資源合并到生產(chǎn)流中的潛在的較高風險。例如,如果 需要回滾,則在回滾期間生產(chǎn)流不可用,并且用戶將不能執(zhí)行到生產(chǎn)環(huán)境中的任何發(fā)行。用于提升處理的回滾處理類似于用于獲得最新工作流的回滾處理。然而,由于生 產(chǎn)流的架構(gòu)的重要性,提升工作流中的備份和恢復處理略微不同,因為生產(chǎn)流是可被提升 到預生產(chǎn)或生產(chǎn)環(huán)境的環(huán)境,重點必須放在確保該生產(chǎn)流的內(nèi)容的完整性。生產(chǎn)流還可以 具有災難恢復環(huán)境。這是駐留在不同數(shù)據(jù)中心的同步的環(huán)境,并且如果主生產(chǎn)環(huán)境存在嚴 重錯誤,其允許無縫的故障恢復。這需要生產(chǎn)流和災難恢復環(huán)境之間的實時同步。當執(zhí)行生產(chǎn)環(huán)境的備份時,該處理可以與執(zhí)行獲得最新操作時的相同,然而,當執(zhí) 行以前備份的恢復時,災難恢復環(huán)境必須被同步。該處理在步驟3802處開始,其中正在開發(fā)第二個流。在步驟3804,第二發(fā)行被部 署到非同步SDE。如果在步驟3806檢測到缺陷,則處理回到步驟3802以便開發(fā)修改后的發(fā) 行。如果未發(fā)現(xiàn)缺陷,則在步驟3808,初始化第二個流。在步驟3810,基于第一個流初始化 第二個流。在步驟3812,部署第二個流。在步驟3814,執(zhí)行站點組裝。在步驟3816,對第二 個流進行缺陷測試。如果未發(fā)現(xiàn)缺陷,則在步驟3818,對第一個流進行更新測試,并且如果 發(fā)現(xiàn)了更新,它們被在步驟3820結(jié)合到第二個流,此后再次執(zhí)行站點組裝。如果在步驟3822發(fā)現(xiàn)了更新,則第二個流被發(fā)行到UAT以便進行測試。在步驟 3824,測試第二個流,并且然后如果未發(fā)現(xiàn)缺陷,在步驟3826將其部署到eBDE。在步驟3828,該發(fā)行被部署到UAT,并且在步驟3830對其再次進行缺陷測試。如果未發(fā)現(xiàn)缺陷,則 發(fā)行第二個流以便部署到預生產(chǎn)環(huán)境。在步驟3838,再次對第二個流進行缺陷測試,并且如 果未發(fā)現(xiàn)缺陷,該發(fā)行被在步驟3840部署到生產(chǎn)環(huán)境。在步驟3842,可以對發(fā)行的版本進 行附加測試。如果在步驟3830、3838或3842中的任意一個檢測到缺陷,處理進入步驟3832,其 中存在到第一個流的回滾。在步驟3830,可以修復代碼。在步驟3824,當檢測到缺陷時,處 理直接進入步驟3834,而不執(zhí)行回滾。當執(zhí)行操作,例如,獲得最新時存在這樣的固有風險, 即,在并行流的合并過程中做出的決定將引起一個或所有并行流失效。例如,它將引發(fā)與其 它代碼或內(nèi)容的沖突。如果在該環(huán)境中不存在相關(guān)性或先決條件,這更可能發(fā)生。如果發(fā) 生了這種情況,那么可以將該環(huán)境回滾到執(zhí)行該操作之前的狀態(tài)。由于每次執(zhí)行一個操作, 例如,獲得最新工作流,可以進行回滾,所以可以進行并行流的完整備份。操作的最后階段 允許用戶檢驗該環(huán)境如預期那樣運轉(zhuǎn)。如果不是,用戶可以執(zhí)行回滾。圖39是示出了部署處理和隨時間的信息流動的系統(tǒng)圖。示出了開發(fā)第一個流 3902的步驟。這些步驟包括從開發(fā)環(huán)境3914移動到eBDE 3906環(huán)境,移動到測試環(huán)境 3916,并且然后移動到預生產(chǎn)環(huán)境3918。最后,第一個流3902從預生產(chǎn)環(huán)境移動到生產(chǎn)環(huán) 境 3910。當開發(fā)并行流時,在開發(fā)第一個流并且將其移動到eBDE環(huán)境3906之后,其可被用 于形成第二個流4064。如這個圖中所示,在開發(fā)環(huán)境3920中開發(fā)第二個流3904,此后它可 被在eBDE環(huán)境3922中與第一個流3902組合。新組合的第二個流然后可被移動到測試環(huán) 境3924,此后其可被移動到第二個eBDE環(huán)境3926,第二個eBDE環(huán)境3926處于到生產(chǎn)環(huán)境 3910的路徑上。從eBDE環(huán)境3926,在移動到生產(chǎn)環(huán)境3910之前,可以在測試環(huán)境3928和 預生產(chǎn)環(huán)境3912中進一步測試第二個流。圖40是示出了獲得最新處理和信息隨時間在三個并行流之間的流動的系統(tǒng)圖。 流1 4002被在Tl 4208處發(fā)行。在時間T2 4010,可以執(zhí)行獲得最新以便創(chuàng)建第二個流 4004。從這個第二個流,可以在T3 4012以相同方式創(chuàng)建第三個流4006。然后在被發(fā)行到生產(chǎn)之前,這些并行流可被合并。圖40示出在T4 4014,第二個流 4004被合并到第一個流4002。在T5 4014,并行流34006被合并到合并后的流1和流2,創(chuàng) 建單個合并流。圖41是示出了可以如何配置不同安全組的MPP的用戶界面。該MPP界面包括包 含各種管理功能的管理組件4102。該圖示出了可以如何創(chuàng)建批準組。該界面包括活動的文 本字段4110和測試字段4108,其中可以輸入信息。該界面包括用于添加批準組的“添加” 按鈕4104,以及用于重新命名批準組的“重新命名”按鈕4106。存在三種不同類型的用戶訪問。對于TeamSite用戶,他們被以UNIX組和TeamSite 內(nèi)的用戶管理控制臺控制,這些用戶僅能訪問TeamSite6. 5Content Center。TeamSite內(nèi) 用戶賬戶的創(chuàng)建不提供對整個BDE的訪問。對于網(wǎng)口服務(wù)器用戶,這些用戶被在LDAP目錄 內(nèi)創(chuàng)建,并且被BDE用戶用于執(zhí)行管理任務(wù),諸如管理站點,即,使用BDE功能。對于ID&V 網(wǎng)口用戶,這些用戶是基本網(wǎng)口注冊用戶賬戶,他們具有將他們標識為“顧客”的LDAP條目 內(nèi)配置的附加屬性。這些用戶一般被本地實體用于測試目的,以便查看對于模擬的前端“顧 客”,環(huán)境如何運轉(zhuǎn)。還可以提供可替換的用戶訪問類型。
圖42是示出了獲得最新處理的配置的MPP的用戶界面。該管理界面示出了各種 用戶4202-4212,以及他們是否是貢獻者的狀態(tài),并且每個用戶具有其所屬的相應(yīng)批準組。圖43是示出了系統(tǒng)的總體設(shè)計的MPP的用戶界面。該系統(tǒng)被示出為具有web界 面,雖然可以使用其它界面。該界面包括工作流任務(wù)窗格4302和管理任務(wù)窗格4306。工 作流任務(wù)包括新任務(wù)按鈕4312,以及示出進行中任務(wù)的窗口 4310。該顯示包括任務(wù)名稱 4322、描述4312、請求者4314、所有者4316、到期日期4318和需要進行的動作4320。從這 個界面,用戶可以控制創(chuàng)建和部署并行流的整個工作流。圖44是示出了代碼部署工作流的開始的MPP的用戶界面。通過這個界面,創(chuàng)建新 任務(wù)的用戶可以選擇實用工具任務(wù)4402、簡單實用工具任務(wù)4404或代碼部署工作流4406。 在選擇了任務(wù)類型之后,用戶可以選擇下一個4408,或使用按鈕4410關(guān)閉處理。圖45是示出了用于部署處理的配置設(shè)置的MPP的用戶界面。用戶可以輸入改變 請求權(quán)證號4506 (當部署到生產(chǎn)環(huán)境時)、網(wǎng)站實體的類型4508、目標環(huán)境的類型4510 (例 如,生產(chǎn)、預生產(chǎn)、測試)、以及他們是否希望配置標記處理4512。該界面還允許用戶檢查工 作流配置4514,以便修改工作流配置4516、查看部署狀態(tài)頁面4518、以及查看TeamSite工 作流流程圖4520。按鈕4502和4522可用于開始任務(wù),而按鈕4504和4524可用于取消創(chuàng) 建處理。通過選擇開始任務(wù),將以輸入的配置創(chuàng)建代碼部署工作流任務(wù)。圖46是示出了獲得最新處理的一部分的MPP的用戶界面。該界面示出了兩個任 務(wù)4602和4604,其中如以動作欄4606所示,已經(jīng)完成了獲得最新處理。窗口 4608示出了 例如工作流記錄中的獲得最新處理的結(jié)果的細節(jié)。該界面還示出使用開始輸入任務(wù)按鈕 4610,用戶可以開始處理的下一個部分,該部分是代碼部署處理。圖47是示出了部署處理的一部分的MPP的用戶界面。該界面用于向目標環(huán)境部署 代碼。該界面包括關(guān)于當前并行流4702的信息。它還包括描述將被執(zhí)行的下一個處理的 處理描述4704。該界面允許用戶選擇MKS項目4706、建立權(quán)證號4708以及配置標記4710。 它還顯示目標環(huán)境4712 (例如,生產(chǎn))和目標部署服務(wù)器4714。該界面包括用于提交部署 任務(wù)的提交按鈕4716。圖48是示出了部署處理的結(jié)果的MPP的用戶界面。該界面示出了關(guān)于當前并行 流4802的信息,以及關(guān)于代碼部署處理的結(jié)果的信息4804。例如,這可以包括來自記錄的 信息,諸如該處理是否成功。該界面還示出關(guān)于任務(wù)4806的概要信息,包括,任務(wù)名稱、處 理名稱、完成狀態(tài)和下一個動作4808。圖49是示出了將代碼部署到生產(chǎn)的MPP的用戶界面。該界面示出了說明已經(jīng)發(fā) 送了關(guān)于代碼部署的通知的輸出4902。它還提供按鈕4904,從而在測試之后用戶可以將代 碼部署到生產(chǎn)環(huán)境。圖50是示出了將代碼部署到生產(chǎn)的MPP的用戶界面。該界面允許用戶以類似于 其它界面的方式將代碼部署到生產(chǎn)環(huán)境。圖51是示出了部署處理的結(jié)果的MPP的用戶界面。該界面類似于圖47,并且允許 用戶輸入必需的配置信息,以便將并行流部署到生產(chǎn)環(huán)境。它還示出了關(guān)于當前部署處理 和下一個任務(wù)的信息。其包括在部署過程中啟動和停止web服務(wù)器的選項5102。圖52是示出了結(jié)果記錄的MPP的用戶界面。該界面類似于圖48,并且示出了部署 到生產(chǎn)處理5201的結(jié)果。它還示出了關(guān)于到生產(chǎn)的部署和下一個步驟5202的概要信息。
27
還可以進行對MPP系統(tǒng)的操作的報告。例如,產(chǎn)生用戶可以觀看的審計歷史。以 這種方式,用戶可以檢查在過去執(zhí)行的任何獲得最新或提升操作期間做出的決定。用戶可 以確定環(huán)境的當前基線,其包括部署到環(huán)境的所有當前應(yīng)用、相關(guān)項目修訂和當前的內(nèi)容 基線的列表。TeamSite可被設(shè)置為自動記錄向其提交資源的工作流。記錄的重要信息包括在工 作流期間執(zhí)行的任務(wù)、誰執(zhí)行該任務(wù)、誰批準該任務(wù)和該任務(wù)何時被執(zhí)行。不論操作是否成 功,可以使用通常的工作流記錄組件記錄MPP任務(wù)和操作中的信息。記錄還可以包含諸如 歷史文件位置、任務(wù)名稱、任務(wù)ID和日期/時間的信息。圖53是示出了可以如何比較項目的生產(chǎn)和并行版本的MPP的用戶界面。該界面 示出了已經(jīng)開發(fā)的生產(chǎn)版本5302和并行版本5304。示出了生產(chǎn)版本5302的頁面5306、內(nèi) 容5322和應(yīng)用5310。還示出了并行流5304的相應(yīng)新版本。用于管理流之間的發(fā)行的工作流本質(zhì)上是復雜的處理,用戶通過分析流之間的不 同以及做出繼續(xù)工作流的決定提供幫助。在比較處理期間的任意時刻,用戶可以保存其決 定和/或關(guān)閉比較差異的頁面。當工作于大量差異時,這是有用的。用戶可以選擇他們希 望檢查的制品的類型的標簽。這顯示自從發(fā)生最后比較以來的制品差異的列表。該表標識 出制品類型和當前做出的決定的數(shù)目(列出的差異的總數(shù)中的)。單選按鈕(增加、刪除、 忽略、覆蓋)僅對該值是有效選擇的制品有效。差異被以顏色編碼,標識出自從最后比較發(fā)生以來已經(jīng)針對制品發(fā)生的不同動 作。用戶可以將其光標放置在顏色上,以便獲得關(guān)于每種顏色表示什么的提示。用戶選擇 制品,以便為該制品開啟比較細節(jié)頁面。用戶還可以選擇觀看文件源差異,以便并排觀看兩 個制品之間的代碼差異。然后用戶對每個項目做出其選擇。這可以使用設(shè)置動作值完成,該值適用于一組 制品或單個選擇。重要的是與對其相應(yīng)組件的決定一前一后地做出URL映像決定。對于 CAM級別和代碼標簽,用戶可以點擊是或否。如果環(huán)境之間的差異僅是CAM級別差異,則不 推薦代碼部署。在這種情況下,用戶可以手動更新CAM級別。在結(jié)束一個標簽上的項目的 檢查之后,用戶可以簡單地點擊另一個標簽以便選擇它。最終,一旦用戶完成了其檢查,他 們可以點擊提交選擇按鈕。用戶可以為刪除的成分進行這種相同的處理。用戶可以檢查刪除的文件,并且決 定對其做什么。用戶可以針對相同動作將文件包在一起。當用戶完成其檢查之后,他們可 以點擊提交選擇按鈕。使用包括添加5312、刪除5314、忽略5316、合并5318和覆蓋按鈕5320的按鈕列, 用戶可以將生產(chǎn)和并行流合并到新版本內(nèi)。在某些情況下,用戶可能希望增加文件,而在其 它情況下,他們可能希望忽略并行流中的改變,并且保持生產(chǎn)版本。圖54是示出了如何比較web頁面布局的生產(chǎn)和并行版本的MPP的用戶界面。該 界面幫助用戶在生產(chǎn)版本5402和并行版本5404之間比較內(nèi)容的頁面布局。該界面示出了 頁面標題5406、概要文本5408、關(guān)鍵字5410和事務(wù)線索5412之間的差異。圖55是示出了如何比較web頁面的生產(chǎn)和并行版本的MPP的用戶界面。該界面 示出了頁面的生產(chǎn)版本(例如,home, html)和并行流5504中的頁面的版本(例如,home, html的更新版本)。該預覽還可示出包括在頁面內(nèi)的其它內(nèi)容。該預覽允許用戶在合并并
28行流時更容易地比較內(nèi)容文件。用戶可以使用標簽5506和5508容易地在預覽視圖和合并 視圖之間切換。圖56是示出了比較和合并處理的概要的MPP的用戶界面。該界面示出了流5602 的生產(chǎn)版本、該流的并行版本、以及如何合并每個文件以及合并到哪個版本的概述5606。以 這種方式,用戶可以容易地檢查合并處理,并且如果希望,進行改變。概要包括頁面4980、內(nèi) 容5610和應(yīng)用5612。圖57是示出了如何比較代碼的生產(chǎn)和并行版本的MPP的用戶界面。該界面示出 源代碼文件5702的生產(chǎn)版本、并行流內(nèi)的源代碼文件5704的版本。這允許用戶在決定如 何合并文件時容易地比較源代碼的兩個版本??梢允褂猛怀鲲@示和其它視覺指示使得差異 更明顯??梢允褂脴藴蕎eb技術(shù)諸如HTML、JAVA和JavaScript,以及用于部署和管理文件 的腳本語言和用于在開發(fā)過程中使用的提供系統(tǒng)實現(xiàn)本發(fā)明的實施例。例如,可選擇地可 以使用來自RedHat的Kickstart程序。另外,可以使用已知的標準數(shù)據(jù)庫系統(tǒng),例如,DB2 存儲內(nèi)容和文件。在審閱本公開之后,本領(lǐng)域的技術(shù)人員將領(lǐng)會和想到上面給出的思想的其它實施 例、擴展和修改。因此,本發(fā)明的范圍在各個方面不受上面給出的例子和實施例的限制。本 發(fā)明的各個方面和其整體應(yīng)當被認為允許在本公開的范圍內(nèi)的這些設(shè)計修改和將來的發(fā) 展。僅以下面的權(quán)利要求限定本發(fā)明。
權(quán)利要求
一種通過客戶端計算機系統(tǒng)上的圖形用戶界面自動管理應(yīng)用的并行開發(fā)中的處理的方法,所述圖形用戶界面被用于管理在服務(wù)器上執(zhí)行的自動處理,其中所述自動處理完成其任務(wù)而不需要進一步的用戶交互,所述自動處理包括提供第一開發(fā)環(huán)境,第一開發(fā)環(huán)境至少包括執(zhí)行應(yīng)用平臺的第一服務(wù)器,源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng);使用第一開發(fā)環(huán)境根據(jù)具有第一源代碼和第一內(nèi)容的應(yīng)用的第一發(fā)行,產(chǎn)生應(yīng)用的第二發(fā)行,其中第二發(fā)行包括應(yīng)用的第二源代碼和第二內(nèi)容;提供第二開發(fā)環(huán)境,第二開發(fā)環(huán)境至少包括執(zhí)行應(yīng)用平臺的第二服務(wù)器,源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng);將第二發(fā)行部署到第二開發(fā)環(huán)境;將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源代碼和第一內(nèi)容內(nèi),以便產(chǎn)生包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行;和將應(yīng)用的第三發(fā)行部署到至少一個生產(chǎn)環(huán)境服務(wù)器,以便由應(yīng)用的用戶使用,其中所述部署包括(a)在執(zhí)行生產(chǎn)應(yīng)用平臺的生產(chǎn)環(huán)境服務(wù)器上安裝第三源代碼的可執(zhí)行版本,和(b)將第三內(nèi)容安裝到生產(chǎn)環(huán)境內(nèi)容管理系統(tǒng)。
2.如權(quán)利要求1所述的方法,其中應(yīng)用的第一發(fā)行是生產(chǎn)流。
3.如權(quán)利要求1所述的方法,其中由非技術(shù)事務(wù)用戶通過圖形用戶界面執(zhí)行將對第二 發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源代碼和第一內(nèi)容,以便產(chǎn)生 包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行,所述圖形用戶界面包括用于管理任務(wù)和用 于檢查完成的任務(wù)的結(jié)果的界面。
4.如權(quán)利要求1所述的方法,其中所述源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng)具有內(nèi)部分支 機制。
5.如權(quán)利要求4所述的方法,其中應(yīng)用的第一發(fā)行、第二發(fā)行和第三發(fā)行中的每一個 是源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng)中的不同版本。
6.如權(quán)利要求1所述的方法,其中提供第二應(yīng)用平臺包括 運行一個或多個腳本,以便在第二應(yīng)用平臺上安裝源代碼和內(nèi)容。
7.如權(quán)利要求6所述的方法,還包括在運行所述一個或多個腳本之前鎖定第二應(yīng)用平臺;和 在運行所述一個或多個腳本之后解鎖第二應(yīng)用平臺。
8.如權(quán)利要求7所述的方法,其中提供還包括向中央記錄組件記錄由所述一個或多個腳本執(zhí)行的任務(wù),并且記錄由所述一個或多個 腳本執(zhí)行的任務(wù)的結(jié)果。
9.如權(quán)利要求1所述的方法,還包括在將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行內(nèi)之前,產(chǎn)生第一發(fā) 行的備份。
10.如權(quán)利要求9所述的方法,還包括 使用產(chǎn)生的備份回滾對修改的合并。
11.如權(quán)利要求1所述的方法,還包括 將應(yīng)用的第三發(fā)行部署到預生產(chǎn)環(huán)境;和在將第三發(fā)行部署到生產(chǎn)環(huán)境之前,在預生產(chǎn)環(huán)境中測試第三發(fā)行。
12.如權(quán)利要求11所述的方法,還包括基于第二開發(fā)環(huán)境產(chǎn)生基線,其中所述基線包括第二開發(fā)環(huán)境內(nèi)的源代碼和內(nèi)容文件 的狀態(tài);將應(yīng)用的第二發(fā)行與基線進行比較;和響應(yīng)所述比較,將應(yīng)用的第二發(fā)行部署到第二開發(fā)環(huán)境。
13.如權(quán)利要求12所述的方法,其中響應(yīng)所述比較將應(yīng)用的第二發(fā)行部署到第二開發(fā) 環(huán)境包括部署被修改的源代碼文件。
14.如權(quán)利要求1所述的方法,還包括在將第二發(fā)行部署到第二開發(fā)環(huán)境之前,產(chǎn)生第二發(fā)行的至少一個源代碼文件和一個 內(nèi)容文件的唯一標識,并且當將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā) 行的第一源代碼和第一內(nèi)容以便產(chǎn)生應(yīng)用的第三發(fā)行時,使用所述唯一標識。
15.如權(quán)利要求1所述的方法,還包括由用戶檢查將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源 代碼和第一內(nèi)容的記錄,以便確定在合并處理過程中是否發(fā)生了任何錯誤。
16.如權(quán)利要求1所述的方法,還包括在有故障的情況下,使用戶的生產(chǎn)環(huán)境轉(zhuǎn)換到備份的生產(chǎn)環(huán)境,并且使用存儲區(qū)域網(wǎng) 絡(luò)同步生產(chǎn)環(huán)境和備份生產(chǎn)環(huán)境。
17.如權(quán)利要求1所述的方法,其中將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合 并到第一發(fā)行的第一源代碼和第一內(nèi)容以便產(chǎn)生第三發(fā)行包括以下至少一個增加源代碼 文件、刪除源代碼文件、忽略對源代碼文件的改變、覆蓋源代碼文件和僅包括部分源代碼文 件。
18.如權(quán)利要求1所述的方法,還包括在第一發(fā)行和第二發(fā)行之間比較對源代碼和內(nèi) 容的改變。
19.如權(quán)利要求18所述的方法,其中在第一發(fā)行和第二發(fā)行之間比較對源代碼和內(nèi)容 的改變包括比較源代碼列表,并且比較內(nèi)容文件的呈現(xiàn)顯示。
20.如權(quán)利要求19所述的方法,其中內(nèi)容文件的呈現(xiàn)顯示被選擇性地突出顯示以便進 行視覺比較。
21.如權(quán)利要求1所述的方法,其中將應(yīng)用的第三發(fā)行部署到生產(chǎn)環(huán)境包括在部署第三發(fā)行之前,自動停止生產(chǎn)環(huán)境上的至少一個應(yīng)用的執(zhí)行;和在將第三發(fā)行部署到生產(chǎn)環(huán)境之后,自動開始應(yīng)用的第三發(fā)行的執(zhí)行。
22.如權(quán)利要求1所述的方法,其中執(zhí)行應(yīng)用平臺的每個服務(wù)器、源代碼控制系統(tǒng)和內(nèi) 容控制系統(tǒng)是單獨并且不同的服務(wù)器。
23.如權(quán)利要求1所述的方法,其中將第二發(fā)行部署到第二開發(fā)環(huán)境包括將第二源代 碼的可執(zhí)行版本安裝到第二開發(fā)環(huán)境的應(yīng)用平臺,以及將第二內(nèi)容安裝到第二開發(fā)環(huán)境的 內(nèi)容管理服務(wù)器。
24.如權(quán)利要求1所述的方法,其中客戶端計算機系統(tǒng)上的圖形用戶界面向運行在部 署和建立服務(wù)器上的相應(yīng)管理應(yīng)用發(fā)送命令,并且其中部署和建立服務(wù)器被通過電子網(wǎng)絡(luò) 耦接到生產(chǎn)環(huán)境,并且建立第三源代碼的可執(zhí)行版本,以便部署到生產(chǎn)環(huán)境應(yīng)用平臺服務(wù)器上,并且其中部署建立服務(wù)器將第三內(nèi)容安裝在生產(chǎn)環(huán)境的內(nèi)容管理服務(wù)器。
25.一種通過圖形用戶界面自動管理應(yīng)用的并行開發(fā)中的處理的系統(tǒng),所述圖形用戶 界面被用于管理執(zhí)行自動處理的組件,其中所述組件完成其任務(wù)而不需要進一步的用戶交 互,所述組件包括提供組件,用于提供第一開發(fā)環(huán)境,第一開發(fā)環(huán)境至少包括第一應(yīng)用平臺,源代碼控制 系統(tǒng)和內(nèi)容管理系統(tǒng),其中所述提供組件(i)使用第一開發(fā)環(huán)境根據(jù)具有第一源代碼和第一內(nèi)容的應(yīng)用的第一發(fā)行,產(chǎn)生應(yīng)用 的第二發(fā)行,其中第二發(fā)行包括應(yīng)用的第二源代碼和第二內(nèi)容;( )提供第二開發(fā)環(huán)境,第二開發(fā)環(huán)境至少包括第二應(yīng)用平臺,源代碼控制系統(tǒng)和內(nèi) 容管理系統(tǒng);部署組件,用于將第二發(fā)行部署到第二開發(fā)環(huán)境;合并組件,用于將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一 源代碼和第一內(nèi)容內(nèi),以便產(chǎn)生包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行;和所述部署組件將應(yīng)用的第三發(fā)行部署到生產(chǎn)環(huán)境,以便由應(yīng)用的用戶使用,其中所述 部署包括在生產(chǎn)環(huán)境的另一個應(yīng)用平臺上安裝(a)第三源代碼的可執(zhí)行版本,和(b)第三 內(nèi)容。
26.如權(quán)利要求25所述的系統(tǒng),其中應(yīng)用的第一發(fā)行是生產(chǎn)流。
27.如權(quán)利要求25所述的系統(tǒng),其中由非技術(shù)事務(wù)用戶通過圖形用戶界面執(zhí)行將對第 二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源代碼和第一內(nèi)容,以便產(chǎn) 生包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行。
28.如權(quán)利要求25所述的系統(tǒng),其中所述源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng)具有內(nèi)部分 支機制。
29.如權(quán)利要求28所述的系統(tǒng),其中應(yīng)用的第一發(fā)行、第二發(fā)行和第三發(fā)行中的每一 個是源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng)中的不同版本。
30.如權(quán)利要求25所述的系統(tǒng),其中提供第二應(yīng)用平臺包括 運行一個或多個腳本,以便在第二應(yīng)用平臺上安裝源代碼和內(nèi)容。
31.如權(quán)利要求25所述的系統(tǒng),還包括在將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行內(nèi)之前,產(chǎn)生第一發(fā) 行的備份。
32.如權(quán)利要求25所述的系統(tǒng),還包括 將應(yīng)用的第三發(fā)行部署到預生產(chǎn)環(huán)境;和在將第三發(fā)行部署到生產(chǎn)環(huán)境之前,在預生產(chǎn)環(huán)境中測試第三發(fā)行。
33.如權(quán)利要求32所述的系統(tǒng),還包括基于第二開發(fā)環(huán)境產(chǎn)生基線,其中所述基線包括第二開發(fā)環(huán)境內(nèi)的源代碼和內(nèi)容文件 的狀態(tài);將應(yīng)用的第二發(fā)行與基線進行比較;和 響應(yīng)所述比較,將應(yīng)用的第二發(fā)行部署到第二開發(fā)環(huán)境。
34.如權(quán)利要求26所述的系統(tǒng),還包括在將第二發(fā)行部署到第二開發(fā)環(huán)境之前,產(chǎn)生第二發(fā)行的至少一個源代碼文件和一個內(nèi)容文件的唯一標識,并且當將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā) 行的第一源代碼和第一內(nèi)容以便產(chǎn)生應(yīng)用的第三發(fā)行時,使用所述唯一標識。
35.如權(quán)利要求26所述的系統(tǒng),還包括由用戶檢查將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源 代碼和第一內(nèi)容的記錄,以便確定在合并處理過程中是否發(fā)生了任何錯誤。
36.如權(quán)利要求26所述的系統(tǒng),還包括在有故障的情況下,將用戶的生產(chǎn)環(huán)境轉(zhuǎn)換到備份的生產(chǎn)環(huán)境,并且使用存儲區(qū)域網(wǎng) 絡(luò)同步生產(chǎn)環(huán)境和備份生產(chǎn)環(huán)境。
37.如權(quán)利要求26所述的系統(tǒng),其中將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合 并到第一發(fā)行的第一源代碼和第一內(nèi)容以便產(chǎn)生第三發(fā)行包括以下至少一個增加源代碼 文件、刪除源代碼文件、忽略對源代碼文件的改變、覆蓋源代碼文件和僅包括部分源代碼文 件。
38.如權(quán)利要求26所述的系統(tǒng),還包括在第一發(fā)行和第二發(fā)行之間比較對源代碼和 內(nèi)容的改變。
39.如權(quán)利要求38所述的系統(tǒng),其中在第一發(fā)行和第二發(fā)行之間比較對源代碼和內(nèi)容 的改變包括比較源代碼列表,并且比較內(nèi)容文件的呈現(xiàn)顯示。
40.一種通過分開的計算機系統(tǒng)生產(chǎn)環(huán)境管理和協(xié)調(diào)計算機應(yīng)用的并行開發(fā)的計算機 應(yīng)用開發(fā)系統(tǒng),所述計算機系統(tǒng)包括第一開發(fā)環(huán)境,第一開發(fā)環(huán)境包括提供至少第一應(yīng)用平臺、源代碼控制系統(tǒng)和內(nèi)容管 理系統(tǒng)的第一提供系統(tǒng),其中第一提供系統(tǒng)使用第一開發(fā)環(huán)境根據(jù)具有第一源代碼和第一 內(nèi)容的應(yīng)用的第一發(fā)行,產(chǎn)生應(yīng)用的第二發(fā)行,其中第二發(fā)行包括應(yīng)用的第二源代碼和第 二內(nèi)容;第二開發(fā)環(huán)境,第二開發(fā)環(huán)境包括提供至少第二應(yīng)用平臺、源代碼控制系統(tǒng)和內(nèi)容管 理系統(tǒng)的第二提供系統(tǒng);合并系統(tǒng)組件,用于將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的 第一源代碼和第一內(nèi)容內(nèi),以便產(chǎn)生包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行;和部署系統(tǒng)組件,部署系統(tǒng)組件將第二發(fā)行部署到第二開發(fā)環(huán)境,并且將應(yīng)用的第三發(fā) 行部署到生產(chǎn)環(huán)境,以便由應(yīng)用的用戶使用,其中第三發(fā)行的部署包括在生產(chǎn)環(huán)境的另一 個應(yīng)用平臺上安裝(a)第三源代碼的可執(zhí)行版本,和(b)第三內(nèi)容。
41.如權(quán)利要求40所述的方法,其中第一和第二開發(fā)環(huán)境在地理上是不同的。
42.如權(quán)利要求40所述的方法,其中第一開發(fā)環(huán)境用于開發(fā)第一發(fā)行,并且第二開發(fā) 環(huán)境用于開發(fā)第二發(fā)行,其中第一和第二發(fā)行表示應(yīng)用的不同版本,并且其中第一發(fā)行是 應(yīng)用的主發(fā)行,對第二發(fā)行的修改被合并到第一發(fā)行內(nèi)。
43.一種通過圖形用戶界面自動管理應(yīng)用的并行開發(fā)中的處理的指令的計算機可讀介 質(zhì),所述圖形用戶界面被用于管理自動處理,其中所述自動處理完成其任務(wù)而不需要進一 步的用戶交互,所述自動處理的指令包括提供第一開發(fā)環(huán)境,第一開發(fā)環(huán)境至少包括第一應(yīng)用平臺、源代碼控制系統(tǒng)和內(nèi)容管 理系統(tǒng);使用第一開發(fā)環(huán)境根據(jù)具有第一源代碼和第一內(nèi)容的應(yīng)用的第一發(fā)行,產(chǎn)生應(yīng)用的第二發(fā)行,其中第二發(fā)行包括應(yīng)用的第二源代碼和第二內(nèi)容;提供第二開發(fā)環(huán)境,第二開發(fā)環(huán)境至少包括第二應(yīng)用平臺、源代碼控制系統(tǒng)和內(nèi)容管 理系統(tǒng);將第二發(fā)行部署到第二開發(fā)環(huán)境;將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源代碼和第一 內(nèi)容內(nèi),以便產(chǎn)生包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行;和將應(yīng)用的第三發(fā)行部署到生產(chǎn)環(huán)境以便由應(yīng)用的用戶使用,其中所述部署包括在生產(chǎn) 環(huán)境的另一個應(yīng)用平臺上安裝(a)第三源代碼的可執(zhí)行版本,和(b)第三內(nèi)容。
44.如權(quán)利要求43所述的方法,其中由非技術(shù)事務(wù)用戶通過圖形用戶界面執(zhí)行將對第 二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源代碼和第一內(nèi)容,以便產(chǎn) 生包括第三源代碼和第三內(nèi)容的應(yīng)用的第三發(fā)行,所述圖形用戶界面包括用于管理任務(wù)和 用于檢查完成的任務(wù)的結(jié)果的界面。
45.如權(quán)利要求43所述的方法,其中應(yīng)用的第一發(fā)行、第二發(fā)行和第三發(fā)行中的每一 個是源代碼控制系統(tǒng)和內(nèi)容管理系統(tǒng)中的不同版本。
46.如權(quán)利要求43所述的方法,其中提供第二應(yīng)用平臺包括運行一個或多個腳本,以便在第二應(yīng)用平臺上安裝源代碼和內(nèi)容。
47.如權(quán)利要求43所述的方法,還包括將應(yīng)用的第三發(fā)行部署到預生產(chǎn)環(huán)境;和在將第三發(fā)行部署到生產(chǎn)環(huán)境之前,在預生產(chǎn)環(huán)境中測試第三發(fā)行。
48.如權(quán)利要求43所述的方法,還包括基于第二開發(fā)環(huán)境產(chǎn)生基線,其中所述基線包括第二開發(fā)環(huán)境內(nèi)的源代碼和內(nèi)容文件 的狀態(tài);將應(yīng)用的第二發(fā)行與基線進行比較;和響應(yīng)所述比較,將應(yīng)用的第二發(fā)行部署到第二開發(fā)環(huán)境。
全文摘要
本發(fā)明的實施例涉及用于管理項目的并行開發(fā)的系統(tǒng)和方法。本發(fā)明的一個實施例是通過圖形用戶界面自動管理應(yīng)用的并行開發(fā)中的處理的方法。該圖形用戶界面管理自動處理,所述自動處理能夠完成其任務(wù)而不需要進一步的用戶交互。由圖形用戶界面管理的自動處理包括提供第一開發(fā)環(huán)境和第二開發(fā)環(huán)境。所述處理還包括將應(yīng)用的第二發(fā)行部署到第二開發(fā)環(huán)境,以及將對第二發(fā)行的第二源代碼和第二內(nèi)容的修改合并到第一發(fā)行的第一源代碼和第一內(nèi)容。在已將發(fā)行合并在一起之后,處理自動地將應(yīng)用的第三發(fā)行部署到生產(chǎn)環(huán)境以便由用戶使用。
文檔編號G06F9/44GK101932999SQ200880126061
公開日2010年12月29日 申請日期2008年12月17日 優(yōu)先權(quán)日2007年12月20日
發(fā)明者D·芬恩, D·阿維安, M·?;?申請人:匯豐技術(shù)股份有限公司