專利名稱:用于應(yīng)用程序開發(fā)和部署的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及應(yīng)用程序開發(fā)環(huán)境領(lǐng)域。更具體而言,本發(fā)明涉及一種系統(tǒng)和方法,用于以利用最小網(wǎng)絡(luò)門戶(portal)和網(wǎng)絡(luò)資 源的方式,在網(wǎng)絡(luò)門戶上編寫、編譯、測試和部署應(yīng)用程序。
背景技術(shù):
現(xiàn)有多種方法和系統(tǒng)用于在客戶機服務(wù)器環(huán)境和獨立(stand alone)環(huán)境中開發(fā)應(yīng)用程序。所有這些方法和系統(tǒng)都存在缺陷, 例如,4吏用不同工具開發(fā)應(yīng)用程序、備份基礎(chǔ)i殳施的資源可用性、 靈活性,以及其他問題。隨著技術(shù)的發(fā)展,世界正在快速地轉(zhuǎn)變?yōu)樾畔⒎职l(fā)和共享是絕 對至關(guān)重要的單才及社會。全球商業(yè)正關(guān)注于通過以最高效方式建 立滿足其專有需求的功能部件(feature )和軟件,來最大化其收益。 企業(yè);斧源i十戈'J ( Enterprise resource planning — ERP )和客戶關(guān)系管 玉里(customer relationship management - CRM )即是這類的應(yīng)用禾呈 序的范例。用于應(yīng)用程序開發(fā)的基礎(chǔ)設(shè)施需要各種軟件和硬件資 源。專欠件資源包括用于自動化一個或多個SDLC進程的工具和實 用程序。石更件資源包括以一種形式或其他的如啞(Dumb)終端、 局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、無線等形式互聯(lián)的一臺或多臺 計算機。
因此,應(yīng)用程序開發(fā)顯得纟艮重要。 一種有效的應(yīng)用程序開發(fā)環(huán) 境通過提高客戶滿意度、提高效率和降低運營成本,將顯著地提高公司的投資回報。當(dāng)將多個應(yīng)用程序整合(consolidate)以產(chǎn)生執(zhí) 行多個任務(wù)的可行軟件包時,應(yīng)用程序開發(fā)顯得很重要,并因而給 公司增加了價值。環(huán)球網(wǎng)(Web)和電子商務(wù)的開發(fā)給開發(fā)者帶來了難題。這要 求開發(fā)者以更短的時間開發(fā)更復(fù)雜的應(yīng)用程序。而這極其需要一種 由多個緊密結(jié)合的具有自己的規(guī)范定位領(lǐng)域的開發(fā)團隊構(gòu)成的協(xié) 作的應(yīng)用程序開發(fā)環(huán)境。這解釋了應(yīng)用服務(wù)提供者(Application Service Provider)的必然性,應(yīng)用服務(wù)提供者擁有并運行軟件,維 護服務(wù)器,并使客戶可通過互聯(lián)網(wǎng)以瀏覽器或通過某種痩客戶機得 到應(yīng)用程序。瘦客戶機通常是以服務(wù)器中心計算模式工作的低成本 計算裝置。瘦客戶機通常不需要當(dāng)前技術(shù)水平的、強勁的處理器, 也不需要大量的存儲器,這是因為瘦客戶機是從中心服務(wù)器或網(wǎng)絡(luò) 訪問應(yīng)用程序。應(yīng)用服務(wù)提供者尤其對小公司和企業(yè)具有吸引力, 這主要是因為進入成本低、安裝時間極短、免除了數(shù)人數(shù),以及免 除了否則必須安裝的專門軟件的高費用。然而,當(dāng)前應(yīng)用月l務(wù)提供者的缺陷在于缺乏應(yīng)用程序測試和部 署工具,該工具對希望開發(fā)自己的定制應(yīng)用程序但缺乏執(zhí)行該任務(wù) 的基礎(chǔ)設(shè)施的企業(yè)來說,可能是至關(guān)重要的。由于開發(fā)者具有兩種 選擇,且可以利用單獨的環(huán)境進行編程。取決于應(yīng)用程序開發(fā)的種 類,可以使用獨立機器或者協(xié)作環(huán)境來實現(xiàn)。這種對于協(xié)作式應(yīng)用程序開發(fā)環(huán)境的需求使得互聯(lián)網(wǎng)作為很 令人滿意且4艮流行的平臺而變得很普及。網(wǎng)絡(luò)門戶例如SourceForge 和Freshmeat為協(xié)作式應(yīng)用程序開發(fā)提供了各種服務(wù)。用戶和項目 組在門戶上^皮分配(allot)空間,以4吏用SourceForge ^是供的工具開 發(fā)^f也們的應(yīng)用程序。然而,SourceForge的缺陷在于缺乏許可的第三
方工具,例如Visual C++, Oracle開發(fā)工具、Java開發(fā)工具等,以 便為用戶提供使用其選擇的語言和工具在網(wǎng)絡(luò)門戶上編程的靈活 性。協(xié)作式應(yīng)用程序開發(fā)門戶用于將用戶集中到一起,以便為公眾 合作開發(fā)應(yīng)用程序。通常,最終用戶具有內(nèi)部信息,技術(shù)團隊。主才幾時期在同一才幾器 上完成開發(fā)和部署。最終用戶和開發(fā)者連接至單臺^L器。在一中心 位置處理資源管理,并且開發(fā)者和最終用戶借助于啞終端(dump terminal)相連接。對定制應(yīng)用程序的開發(fā)被外包給專業(yè)軟件開發(fā)組織。然而,隨 著桌上型計算機和服務(wù)器的發(fā)展,開發(fā)者具有維護資源和將最終可 執(zhí)行版本轉(zhuǎn)移至最終用戶的靈活性。伴隨該靈活性,管理資源的復(fù)雜性逐漸產(chǎn)生。而且,在應(yīng)用程序開發(fā)者與最終用戶之間存在明顯 的界限。最終用戶通常是購買已完全開發(fā)好的收縮包裝的(shrink wrapped)產(chǎn)品的用戶。由銷售商完成最終用戶所要求的{壬4可改變 或者對應(yīng)用程序的任何形式的定制。然而,某些公司例如SAP、 PeopleSoft提供預(yù)建(re-built)組 件,最終用戶具有自己在其場所定制其應(yīng)用程序的靈活性。Zope公司及其軟件ZOPE使成員能夠通過網(wǎng)絡(luò)接口創(chuàng)建和管 理動態(tài)網(wǎng)絡(luò)應(yīng)用禾呈序,例如門戶和內(nèi)部網(wǎng)站。然而,只能夠通過在 Python內(nèi)編寫新的Zope附加軟件來創(chuàng)建新對象。這并不提供成熟 的、工業(yè)級應(yīng)用程序開發(fā)環(huán)境,而這種應(yīng)用程序開發(fā)環(huán)境為用戶拔_ 供使用其選擇的語言和開發(fā)工具編程的靈活性。以上列舉了各種可用的技術(shù),闡述了應(yīng)用程序開發(fā)領(lǐng)域中的多 個缺陷。然而,仍然需要一種網(wǎng)絡(luò)門戶,其提供用于應(yīng)用程序開發(fā)、 應(yīng)用禾呈序編譯和應(yīng)用禾呈序測i式的第三方i午可工具。用戶可以基于需 要低成本地使用集成式開發(fā)環(huán)境(例如Visual Studio、 J Builder ), 而不是每個用戶必須從市場購買或i午可全部(gamut)錄 f牛工具。對于希望開發(fā)和隨后部署應(yīng)用程序到自己的網(wǎng)絡(luò)門戶上的7> 司來說,還需要提供應(yīng)用程序維護的基礎(chǔ)設(shè)施、資源、安全性、備 份工具、簡易性。
對于本領(lǐng)域^支術(shù)人員來i兌,通過閱讀下面的具體描述和附圖, 本發(fā)明的許多目的和優(yōu)點將變得顯而易見。在附圖中圖1示出了客戶機服務(wù)器結(jié)構(gòu);圖2示出了描繪在客戶機成為胖客戶機(rich client)之前的網(wǎng) 絡(luò)門戶和客戶機的結(jié)構(gòu)的方框圖;圖3示出了描繪網(wǎng)絡(luò)門戶和客戶機的結(jié)構(gòu)的方框圖,其中,客 戶機是胖客戶機;圖4示出了根據(jù)本發(fā)明的一個實施例的在應(yīng)用程序開發(fā)期間包 括的各步驟的流程圖;圖5示出了根據(jù)本發(fā)明的一個實施例的在應(yīng)用程序部署期間包 括的各步驟的流程圖;圖6示出了才艮據(jù)本發(fā)明的一個實施例的在應(yīng)用程序開發(fā)期間包 括的各步驟的流程圖;圖7示出了根據(jù)本發(fā)明的一個實施例的有助于在網(wǎng)絡(luò)門戶上的 應(yīng)用程序開發(fā)過程的各組件的流程圖。
具體實施方式
本發(fā)明可以用多種形式、結(jié)構(gòu)和方式來實玉見。附圖以及下面摘二 供的描述示出了本發(fā)明在客戶機服務(wù)器環(huán)境中的一個典型實施例。 本領(lǐng)域技術(shù)人員應(yīng)該明白本發(fā)明還可以下面未給出的其他形式、結(jié) 構(gòu)和方式(包括獨立環(huán)境)來實現(xiàn)。本發(fā)明擁有權(quán)利要求的全部范 圍,而不限定于下面給出的實施例。本發(fā)明涉及一種在駐留于服務(wù)器計算機上的網(wǎng)絡(luò)門戶上開發(fā) 應(yīng)用禾呈序的系統(tǒng)和方法。 一些7>司和個人希望4吏用市場上可以;得到 的工具開發(fā)應(yīng)用程序,但是缺乏所要求的基礎(chǔ)設(shè)施和資源來實現(xiàn)其 需求。用戶(其也可以是開發(fā)者)經(jīng)常會要求各種工具用于不同的 目的,例如一種不同的工具用于開發(fā)應(yīng)用禾呈序,另一種用于測^式應(yīng) 用程序然后是計算系統(tǒng),以部署應(yīng)用程序。為此目的,該用戶需要 從軟件供應(yīng)商獲取每個軟件工具的許可,或者購買用于他可能需要 開發(fā)應(yīng)用程序的每個軟件工具。通常,用戶/開發(fā)者可能不是熟練的計算^L編程者,出于其需求,可能希望通過編寫業(yè)務(wù)邏輯(business logic)開發(fā)小應(yīng)用程序。開發(fā)者可能希望^f吏用PDA或移動電話或 任何其他具有最小資源的裝置來開發(fā)其應(yīng)用程序。從現(xiàn)有4支術(shù)顯然 可以看出,還沒有為用戶提供這種能夠在使用最小網(wǎng)絡(luò)帶寬和服務(wù)系統(tǒng)。由于本發(fā)明,這成為可能。在一個實施例中,用戶能夠從網(wǎng)絡(luò) 門戶下載運^亍時(runtime)引擎,從而變?yōu)榕挚蛻舨艓子嬎阆到y(tǒng)。運 行時引擎包括預(yù)定結(jié)構(gòu)。 一種預(yù)定結(jié)構(gòu)(predefined structure - PDS ) 是一種使用多種組件類型中的一種的預(yù)定功能創(chuàng)建的結(jié)構(gòu)。因此, 例如,用于表格的PDS將包括一種常規(guī)結(jié)構(gòu),其包括以下預(yù)定功能 用戶4妄口、字段、按確丑、相互關(guān)系、以及表達(dá)式。
用戶/開發(fā)者可登錄提供從各軟件供應(yīng)商獲得許可的工具的網(wǎng) 絡(luò)門戶,或下載具有預(yù)定結(jié)構(gòu)的運行時引擎,從而使用戶/開發(fā)者能 夠使用任何軟件開發(fā)應(yīng)用程序。并不要求用戶在其自己的計算機上 安裝任何應(yīng)用程序,用戶可使用網(wǎng)絡(luò)瀏覽器或終端仿真器(即用于 仿真服務(wù)器終端的窗口等)訪問這些服務(wù),即,用戶/開發(fā)者計算機 可用作瘦客戶機,從而使用網(wǎng)絡(luò)門戶的資源而不是他自己的資源, 例如處理器、硬盤、存儲器,來滿足其需求。門戶還沖是供某些安全和加密4晉施以維護用戶隱私、回避隱私 等、以及用于應(yīng)用程序維護和從故障中恢復(fù)的備份工具。 一旦開發(fā) 了應(yīng)用程序,就為用戶提供從網(wǎng)絡(luò)門戶本身部署應(yīng)用程序的選擇, 將網(wǎng)絡(luò)門戶用作中心服務(wù)器(多臺客戶機可以連接至網(wǎng)絡(luò)門戶和使 用網(wǎng)絡(luò)門戶),或?qū)?yīng)用程序下載到其自己的計算機上。圖l描繪了在客戶機服務(wù)器環(huán)境中的本發(fā)明的一個實施例。各客戶機115、 120、 125通過通信網(wǎng)絡(luò)110 (其可以是例如,諸如互 聯(lián)網(wǎng)、局域網(wǎng)、或者包括基站和移動臺的無線網(wǎng)的廣域網(wǎng))與服務(wù) 器105 (例如駐留了網(wǎng)絡(luò)門戶的網(wǎng)絡(luò)服務(wù)器)進行通信。在一個實 施例中,用戶/開發(fā)者可以開發(fā)應(yīng)用程序,并允許多個用戶連4妻至網(wǎng) 絡(luò)門戶105,其中部署了應(yīng)用程序,以4吏用該應(yīng)用程序提供的工具 和服務(wù)。例如, 一家小型快遞公司可能希望維護所遞送包裹和信函 以及該公司員工的行蹤的日志,然而該公司可能沒有提供這種服務(wù) 所需的基礎(chǔ)設(shè)施。他們可使用門戶提供的這些服務(wù)來開發(fā)該應(yīng)用程 序,使用所提供的各種測試工具來測試應(yīng)用程序可用性,然后在網(wǎng) 絡(luò)門戶上部署該應(yīng)用程序。根據(jù)本發(fā)明的優(yōu)選實施例,為該快遞7> 司提供了一種選擇,即,將具有預(yù)定結(jié)構(gòu)的運行時引擎下栽到該快 遞公司雇員所操作的每臺手持設(shè)備上。這些雇員可以持續(xù)地與網(wǎng)絡(luò) 門戶通信,以獲取更新,進行改變等,同時只4吏用了網(wǎng)絡(luò)門戶的最 小資源。
圖2和圖3示出了網(wǎng)絡(luò)門戶205和客戶計算才幾245上的部件的 一個實施例的方框圖。如圖2所示,網(wǎng)絡(luò)門戶205駐留于提供客戶 計算機245所需要的服務(wù)的服務(wù)器計算機上。如圖7所示,在一個 實施例中,網(wǎng)絡(luò)門戶205包4舌月良務(wù)管理器705、工具管理器710、 才丸行管理器715和合同管理器720。在優(yōu)選實施例中,網(wǎng)絡(luò)門戶205 的長期存儲器225還包括具有預(yù)定結(jié)構(gòu)235的運行時引擎240。例 如,當(dāng)用戶/開發(fā)者通過存儲于客戶計算機上的網(wǎng)絡(luò)瀏覽器或終端仿 真器等訪問網(wǎng)絡(luò)門戶205時,向該用戶/開發(fā)者提供關(guān)于他可能需要 的服務(wù)的選項。例如,4吏其在以下各種工具中選擇例如集成式開 發(fā)環(huán)境、編輯器以及他編寫應(yīng)用程序?qū)⑿枰钠渌ぞ?。在一個實 施例中,向用戶/開發(fā)者提供選擇具有預(yù)定結(jié)構(gòu)235的運行時引擎 240的選項。該運行時引擎240包括鏈接器230和預(yù)定結(jié)構(gòu)235。 將服務(wù)管理器705編程以控制該整個過程并接受用戶的優(yōu)先選擇 (preference )。在一個實施例中,服務(wù)管理器705可以基于某些預(yù) 定條件自動地提供費用,或等待網(wǎng)絡(luò)門戶205的擁有者評估用戶的 優(yōu)先選擇并提供評估。一旦用戶接受收費并選擇其應(yīng)用程序開發(fā)所需的工具,網(wǎng)絡(luò)門 戶205上的工具管理器710即進行控制。在一個實施例中,工具管 理器710負(fù)責(zé)創(chuàng)建用戶所需的工作空間、4艮據(jù)用戶的優(yōu)先選擇加載 工具,以及處理資源分配。在用戶選擇^f吏用具有預(yù)定結(jié)構(gòu)的運4亍時 引擎開發(fā)應(yīng)用程序的情況下,工具管理器710允許用戶下載具有預(yù) 定結(jié)構(gòu)235的運行時引擎240的一份副本。這樣,該客戶機計算系 統(tǒng)成為了胖客戶才幾計算系統(tǒng)。如圖3所示,客戶才幾計算系統(tǒng)和網(wǎng)絡(luò) 門戶裝備有相同的運行時引擎和預(yù)定結(jié)構(gòu)。具有運行時引擎和預(yù)定 結(jié)構(gòu)的客戶機被稱之為胖客戶機計算系統(tǒng)。如圖4所示,在開始開發(fā)進程之前,向用戶/開發(fā)者提供主機選 項。用戶/開發(fā)者登錄網(wǎng)絡(luò)門戶,并選擇其需要的各種工具等。在優(yōu)
選實施例中,用戶選擇具有預(yù)定結(jié)構(gòu)的運行時引擎,以基于配備有 運行時引擎的技術(shù)開發(fā)應(yīng)用程序。創(chuàng)建網(wǎng)絡(luò)門戶工具,其中工作于 不同項目的多個不同的用戶/開發(fā)者可以同時開發(fā)應(yīng)用程序。月良務(wù)管理器705首先負(fù)責(zé)接受用戶的優(yōu)先選擇,并將用戶輸入的數(shù)據(jù)提供 纟會工具管理器710。工具管理器710分配"良務(wù)器上的^更盤空間,基 于用戶的優(yōu)先選擇(例如由用戶/開發(fā)者設(shè)置的時間表)安排可能引 發(fā)的特定事件的時間表。在一個實施例中,在用戶/開發(fā)者決定使用 具有預(yù)定結(jié)構(gòu)的運行時引擎的情況下,工具管理器710為用戶加載 特定軟件以執(zhí)行用戶的任務(wù)。運行時引擎展示對用戶/開發(fā)者來說很 值得的多個功能。運行時引擎主要包括多個預(yù)定結(jié)構(gòu)(PDS)和鏈 接器。已開發(fā)的每個程序包括很多具有相同預(yù)定功能的組件。例如, 具有表格組件的程序具有以下功能具有圖形用戶接口、用于數(shù)據(jù) 輸入的字段、將表格與其他表格或組件進行鏈接的按鈕、顯示輸入 表格的數(shù)據(jù)怎樣影響其他表格或組件的相互關(guān)系信息、以及計算表 達(dá)式的表達(dá)式求解能力。例如,菜單組件類型展示出特定圖形顯示, 包括下拉菜單、下拉菜單選擇,用于當(dāng)被執(zhí)行時鏈接到各種其他組 件類型。因此,創(chuàng)建的PDS具有與多個組件類型中的一個相同的預(yù)定功 能。本領(lǐng)域技術(shù)人員應(yīng)該明白還存在具有其他預(yù)定功能的其他組件 類型,這些其它組件類型也在本發(fā)明的范圍內(nèi)?;谟脩舻膬?yōu)先選 擇,網(wǎng)絡(luò)門戶的服務(wù)提供者可以創(chuàng)建用戶/開發(fā)者所使用的預(yù)定結(jié) 構(gòu),或允許用戶/開發(fā)者創(chuàng)建自己的用于當(dāng)為預(yù)定功能開發(fā)應(yīng)用程序 時所使用的預(yù)定結(jié)構(gòu)。還向用戶/開發(fā)者提供幫助工具,以在應(yīng)用程序開發(fā)過程中對其 提供幫助。例如,可提供的幫助服務(wù)包括對話窗,用戶/開發(fā)者可 在對話窗中與其他開發(fā)者或有經(jīng)-驗的編程者交i炎,由網(wǎng)絡(luò)門戶的擁
有者使其變得可用,還可就其遇到的問題4是問,或可向其才是供^r壇, 以發(fā)布其問題,在該論壇中,交談中不在場的其他用戶/有經(jīng)驗的編 禾呈者可以在以后回答所發(fā)布的問題。當(dāng)用戶/開發(fā)者處于開發(fā)應(yīng)用程序的過程中時,工具管理器710 負(fù)責(zé)網(wǎng)絡(luò)門戶的總控制。在一個實施例中,工具管理器710維護用 戶使用的工作空間的日志,以向用戶提供與他上次留下的該工作空 間相同的觀感。這為用戶/開發(fā)者節(jié)約了根據(jù)其需要重新配置特定工 具的時間,節(jié)約了每次其登錄時根據(jù)其偏好安排所選項目或重建工 作空間的時間。工具管理器710還負(fù)責(zé)創(chuàng)建用戶特斗又和確^人 (authentication )。當(dāng)用戶/開發(fā)者希望開發(fā)應(yīng)用程序時,工具管理 器710還負(fù)責(zé)確認(rèn)客戶,從而基于用戶/開發(fā)者已經(jīng)建立的特權(quán)來提 供對工具和工具的訪問。例如,不允許開發(fā)者訪問開發(fā)周期的進度 日程表,從而工具管理器710不給開發(fā)者提供完全的訪問。在每一步驟中,合同管理器72(M皮編禾呈以維護用戶所4吏用的時 間以及工具的日志,用于當(dāng)完成應(yīng)用禾呈序開發(fā)時向用戶提供費用。 基于客戶(用戶)與網(wǎng)絡(luò)門戶的擁有者之間的協(xié)議來預(yù)編程合同管 理器720,以更新花費。例如,如果是基于所花費的時間來開賬單 (billing ),那么合同管理器720維護用戶/開發(fā)者在網(wǎng)絡(luò)門戶上所花 費的時間量的曰志,并相應(yīng)地更新貝長單。在該優(yōu)選實施例中,客戶機下栽運行時引擎并變?yōu)榕挚蛻魴C計 算系統(tǒng)。該運行時引擎包括預(yù)定結(jié)構(gòu)。 一旦下載了運行時引擎,就 使用運行時引擎技術(shù)裝備該胖客戶機計算系統(tǒng),以開發(fā)應(yīng)用程序。圖5描繪了用戶/開發(fā)者使用運行時引擎開發(fā)的應(yīng)用程序的開 發(fā)和執(zhí)4亍過程。步驟505, 一旦客戶4吏用業(yè)務(wù)邏輯或編寫源代碼, 在網(wǎng)絡(luò)門戶上開發(fā)應(yīng)用程序,執(zhí)行管理器715則進行控制。根據(jù)步 驟510,向用戶提供一種選項,即,按其需求使用由服務(wù)器計算機
提供的資源來部署應(yīng)用程序,向用戶提供以相互同意的費用來這樣做的選項,以及將控制交給執(zhí)行管理器715以監(jiān)控該過程。執(zhí)行管 理器715可與合同管理器720共同工作,以維護用戶部署應(yīng)用程序 所花費的時間的賬單(tab),并可相應(yīng)i也更新費用。用戶還可通過 使用服務(wù)器計算機上的其他組件調(diào)整正在進行的應(yīng)用程序。
用戶/開發(fā)者使用運行時引擎中的預(yù)定結(jié)構(gòu)在網(wǎng)絡(luò)門戶上開發(fā) 應(yīng)用程序。該預(yù)定結(jié)構(gòu)也存在于胖客戶機計算系統(tǒng)上。步驟515, 當(dāng)用戶/開發(fā)者希望從網(wǎng)絡(luò)門戶執(zhí)4亍應(yīng)用程序時,其編i奪該應(yīng)用程序 的源代碼。步驟520,當(dāng)被編譯時,源代碼的參數(shù)信息被發(fā)送至客 戶機計算系統(tǒng)。參數(shù)信息是以預(yù)定結(jié)構(gòu)定義的特定于用戶的信息。 例如,在表格組件的預(yù)定結(jié)構(gòu)的情況下,參數(shù)信息可以包括表格名、 表格中要包括的字段、表格上的特殊按鈕、字段和按鈕的名稱等。 本領(lǐng)域,忮術(shù)人員應(yīng)該明白,為用戶/開發(fā)者提供了多個預(yù)定結(jié)構(gòu)。對 應(yīng)于組件的每個預(yù)定結(jié)構(gòu)的參數(shù)信息應(yīng)該不同。相同的預(yù)定結(jié)構(gòu)基 于用戶/開發(fā)者指定的信息,也可以具有不同的參數(shù)信息。
步驟520,將腳本的參數(shù)信息發(fā)送給客戶機。步驟530,存在 于胖客戶機計算系統(tǒng)處的鏈接器負(fù)責(zé)將參數(shù)信息與在胖客戶機計 算系統(tǒng)處的預(yù)定結(jié)構(gòu)相鏈接,以在胖客戶機計算系統(tǒng)上創(chuàng)建腳本特 有的預(yù)定結(jié)構(gòu)。步驟535,然后運行時引擎執(zhí)行在胖客戶機計算系 統(tǒng)處的腳本特有的預(yù)定結(jié)構(gòu)。
在執(zhí)行過程中,客戶機完成大多數(shù)執(zhí)行。應(yīng)用程序的原始腳本 存在于網(wǎng)絡(luò)門戶處。步驟540,當(dāng)胖客戶才幾計算系統(tǒng)要求存在于在 網(wǎng)絡(luò)門戶處但不存在于在胖客戶機計算系統(tǒng)處的附加信息時,其發(fā) 送請求到網(wǎng)絡(luò)門戶。附加信息還可涉及從存在于在網(wǎng)絡(luò)門戶處的數(shù) 據(jù)庫獲取數(shù)據(jù)。例如,在快遞公司可能不具有維護數(shù)據(jù)庫的基礎(chǔ)設(shè) 施的前提下。該數(shù)據(jù)庫存在于網(wǎng)絡(luò)門戶處,應(yīng)用程序的用戶,即快 遞公司的雇員可能需要來自該數(shù)據(jù)庫的信息。步驟550、 555,在此
情況下,聯(lián)系網(wǎng)絡(luò)門戶以獲取該附加信息。另外,當(dāng)從腳本要求另 外的參數(shù)信息以運行不同的組件時,也可聯(lián)系網(wǎng)絡(luò)門戶。當(dāng)用戶關(guān)閉應(yīng)用禾呈序時,結(jié)束應(yīng)用禾呈序的^M亍。應(yīng)用程序開發(fā)的整個過程包括多個階段。圖6中描繪了這5個 主要階段。在本發(fā)明的一個實施例中,使得在應(yīng)用程序開發(fā)和部署 的各個層次輔助用戶的工具可用,以有助于該過程。下面描述了涉 及的這些階段。提供了與應(yīng)用程序開發(fā)的每個階段相關(guān)的多個工 具,以對用戶提供選擇其喜愛的工具的靈活性。應(yīng)用程序開發(fā)的第一階革殳包括全面的需求分析605。此過程涉 及開發(fā)管理者與期望雇傭該開發(fā)管理者開發(fā)應(yīng)用程序的客戶之間 的交互會話。對以下客戶需求的詳細(xì)分析進行討i侖和確認(rèn)例如應(yīng) 用程序所要求的功能,用戶數(shù)量、部署期間可用的資源,體系結(jié)構(gòu) (即客戶更喜歡在客戶機服務(wù)器環(huán)境下還是獨立環(huán)境下執(zhí)行應(yīng)用 程序)、互操作性、可靠性、重用性以及其他類似需求。本發(fā)明提 供多個工具,例如Doors、 Requisite Pro、 Pro"g6,這些可由網(wǎng)纟各門 戶的擁有者許可和提供,以輔助用戶/開發(fā)者促進應(yīng)用禾呈序開發(fā)的需 求分析階段。在需求分析階,更605之后立即開始i殳計過禾呈610。高級開發(fā)者 和應(yīng)用禾呈序開發(fā)管理者討論應(yīng)用程序的i殳計。該i殳計用作編寫應(yīng)用 程序的藍(lán)圖。例如,i殳計過程可以涉及制作應(yīng)用程序中要實現(xiàn)的類 和函數(shù)的方框圖,確定了應(yīng)用程序的觀感、圖形用戶接口、以及其 4也類4以應(yīng)用禾呈序"i殳計特^正。i者:i口 Rational Rose、 TogetherJ之類的工 具幫助用戶/開發(fā)者執(zhí)行這些任務(wù)。網(wǎng)絡(luò)門戶的擁有者可以對這些工 具特許,以及使用戶/開發(fā)者在應(yīng)用程序開發(fā)過程中獲得和使用這些 工具。
開發(fā)管理者與高級開發(fā)者一起使用藍(lán)圖向編程者說明應(yīng)用程序的i殳計。可以采用從藍(lán)圖直4妄生成代碼的工具,以使該過程更容 易。在一個實施例中,如果用戶不是編程者,為其提供使用這些工 具的選項,這樣就免除了編寫代碼。在有經(jīng)驗的編程者的情況下, 可提供集成式開發(fā)環(huán)境和其他工具,這樣就為用戶提供了選擇其編 程i吾言和工具的靈活性。這樣,編程者現(xiàn)在可以開發(fā)315應(yīng)用禾呈序 并4尋應(yīng)用禾呈序編i奪成可執(zhí)4亍禾呈序。
測試階革殳620涉及測試工具的〗吏用,以測試應(yīng)用程序的各個方 面,例如測試應(yīng)用程序的存々者器泄露、互才喿作性、镅-誤等。用戶能 夠〃修正4晉誤,以得到可用的應(yīng)用程序。該階,殳完成了應(yīng)用程序的開 發(fā)階段。最后階段是部署階段625,在該階段,用戶可以將應(yīng)用程 序打包,創(chuàng)建幫助指南和其他輔助信息,以銷售和部署其應(yīng)用程序。
對于網(wǎng)絡(luò)門戶的訪問可以是基于異步的,這樣,當(dāng)需要信息時 聯(lián)系網(wǎng)絡(luò)門戶,然后一旦收到該信息,就可斷開該連接。
權(quán)利要求
1. 一種4吏用網(wǎng)絡(luò)門戶進4亍應(yīng)用程序開發(fā)和執(zhí)4亍的方法,所述方法包括使用客戶機計算系統(tǒng),在所述網(wǎng)絡(luò)門戶上開發(fā)用于預(yù)定 功能的應(yīng)用程序;將所述運行時引擎的副本下載到客戶機計算系統(tǒng)上,所 述運行時引擎包括至少一個預(yù)定結(jié)構(gòu),所述客戶機計算系統(tǒng)一 接收到所述運行時引擎,就變?yōu)榕挚蛻魴C計算系統(tǒng);4吏用所述胖客戶才幾計算系統(tǒng),在所述網(wǎng)絡(luò)門戶上執(zhí)行用 于所述預(yù)定功能的所述應(yīng)用程序;與所述網(wǎng)絡(luò)門戶通信,以獲得所述胖客戶機計算系統(tǒng)本 地執(zhí)行所述應(yīng)用程序所需要的數(shù)據(jù);以及在所述網(wǎng)絡(luò)門戶上執(zhí)行不能在所述胖客戶機計算系統(tǒng)上 本地執(zhí)4亍的部分所述應(yīng)用程序;由此,所述胖客戶機計算系統(tǒng)能夠使用最小的網(wǎng)絡(luò)帶寬 和服務(wù)器資源。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述方法用于使用諸如移 動裝置或個人數(shù)字助理的裝置開發(fā)應(yīng)用程序。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述開發(fā)步驟還包括在網(wǎng) 絡(luò)門戶上編寫用于預(yù)定功能的應(yīng)用程序的業(yè)務(wù)邏輯或源代碼。
4. 根據(jù)權(quán)利要求3所述的方法,其中向用戶提供多個專有的和第 三方許可的開發(fā)工具,所述開發(fā)工具包括一種能進4于業(yè)務(wù)邏輯 開發(fā)的工具。
5. 4艮據(jù)權(quán)利要求3所述的方法,其中,可4吏用用戶選擇的加密工 具加密和保護所述源代碼,以防止所述應(yīng)用程序源代碼被濫 用。
6. 根據(jù)權(quán)利要求3所述的方法,其中,可以向用戶提供多個專有 的和第三方i午可的測i式工具,以測試用于所述預(yù)定功能的所述 應(yīng)用矛呈序。
7. 根據(jù)權(quán)利要求1所述的方法,其中,除非在所述網(wǎng)絡(luò)門戶上更 新了所述運行時引擎,否則在所述應(yīng)用程序開發(fā)和4丸行期間4又 需要下載一次所述運行時引擎。
8. 根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行所述應(yīng)用程序的步驟 還包括使用存在于所述網(wǎng)絡(luò)門戶上的運行時引擎編譯用于所述 預(yù)定功能的所述應(yīng)用程序的組件,所述編譯步驟還包括將組件 特有的參數(shù)信息從所述網(wǎng)絡(luò)門戶發(fā)送至所述胖客戶機計算系 統(tǒng);將所發(fā)送的組件參數(shù)信息鏈接至在所述胖客戶機計算系 統(tǒng)處的預(yù)定結(jié)構(gòu),以提供腳本特有的預(yù)定結(jié)構(gòu),所述預(yù)定結(jié)構(gòu) 具有對應(yīng)于所要求的組件的所述預(yù)定功能的預(yù)定功能;以及執(zhí)行所述腳本特有的預(yù)定結(jié)構(gòu),以執(zhí)行所述組件。
9. 根據(jù)權(quán)利要求1所述的方法,其中,所述通信步驟還包括將可能需要的任何附加的組件特有的參數(shù)信息從所述網(wǎng) 絡(luò)門戶發(fā)送至所述胖客戶機計算系統(tǒng)。
10. 根據(jù)權(quán)利要求1所述的方法,其中,執(zhí)行所述應(yīng)用程序的一部 分的步驟還包括 在所述網(wǎng)絡(luò)門戶上執(zhí)行所述應(yīng)用程序所需要的至少 一個 計算,所述計算需要不存在于所述胖客戶機計算系統(tǒng)上但存在 于所述網(wǎng)絡(luò)門戶上的數(shù)據(jù)庫或附加的數(shù)據(jù)。
11. 根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)門戶提供用戶確 認(rèn)。
12. 根據(jù)權(quán)利要求11所述的方法,其中,所述確認(rèn)還包括基于所 述確認(rèn),提供對多個工具、數(shù)據(jù)和月良務(wù)的各種級別的訪問。
13. 根據(jù)權(quán)利要求12所述的方法,其中,所述網(wǎng)絡(luò)門戶能夠基于 所述確認(rèn),在每次登錄所述網(wǎng)絡(luò)門戶時,重建用戶留下的所述 網(wǎng)絡(luò)門戶的前一4犬態(tài)。
14. 根據(jù)權(quán)利要求1所述的方法,其中,所述應(yīng)用程序可存儲在所 述網(wǎng)絡(luò)門戶上,或存儲在用戶選擇的任何其他計算系統(tǒng)上。
15. 根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)門戶提供至少一 種幫助服務(wù),其中,所述幫助月良務(wù)包括對話月良務(wù)、用于發(fā)布問 題的論壇、以及用于在開發(fā)所述應(yīng)用程序時引導(dǎo)用戶的問答服 務(wù)。
16. 根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)門戶提供用于應(yīng) 用程序開發(fā)所涉及的多個階,史的專有的和第三方許可的工具, 所述多個階段包括需求分析、設(shè)計、應(yīng)用程序編程、測試和 應(yīng)用程序部署。
17. 根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)門戶提供備份存 儲工具,用于存儲在應(yīng)用程序開發(fā)過程中創(chuàng)建的數(shù)據(jù)的副本、在執(zhí)行過程中應(yīng)用程序創(chuàng)建的數(shù)據(jù)的副本、以及用戶特有的數(shù) 才居的副本。
18. 根據(jù)權(quán)利要求1所述的方法,其中,可使用用戶選擇的加密工 具加密和^f呆護所述源代碼,以防止所述應(yīng)用程序源代j碼;故濫 用。
19. 根據(jù)權(quán)利要求1所述的方法,其中,可使用預(yù)定的開賬單方法 向開發(fā)所述應(yīng)用程序的用戶收費,所述預(yù)定的開賬單方法包括 所花費的時間。
全文摘要
本發(fā)明涉及一種在網(wǎng)絡(luò)門戶上的應(yīng)用程序開發(fā)的系統(tǒng)和方法。在一個實施例中,用戶登錄網(wǎng)絡(luò)門戶,并且被提供各種以供選擇的工具,以編寫應(yīng)用程序、編譯應(yīng)用程序、然后測試應(yīng)用程序。在完成應(yīng)用程序的開發(fā)過程后,用戶可以選擇將應(yīng)用程序存儲于網(wǎng)絡(luò)門戶上,從而使用網(wǎng)絡(luò)門戶的服務(wù),或者選擇將應(yīng)用程序下載到他自己的計算機上,還為用戶提供了如下選項從網(wǎng)絡(luò)門戶部署應(yīng)用程序,將門戶用作用于為多個客戶機服務(wù)的服務(wù)器,從而在部署過程中使用服務(wù)器資源,免除了基礎(chǔ)設(shè)施的高成本。
文檔編號G06F9/44GK101124540SQ200580045942
公開日2008年2月13日 申請日期2005年12月20日 優(yōu)先權(quán)日2005年1月4日
發(fā)明者坎奇·拉克希米納拉辛漢·穆拉利達(dá)蘭, 孔加爾納加爾普杜·拉馬薩米·巴拉坦達(dá)帕尼 申請人:瓦卡亞技術(shù)私人有限公司