国产精品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>

      分布式應(yīng)用程序的設(shè)計平臺的制作方法

      文檔序號:6443738閱讀:202來源:國知局
      專利名稱:分布式應(yīng)用程序的設(shè)計平臺的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機(jī)領(lǐng)域,更具體地,涉及分布式應(yīng)用程序的設(shè)計平臺。
      背景技術(shù)
      計算機(jī)已變得高度集成于工作、家庭、移動設(shè)備以及許多其他地方中。計算機(jī)可快速且有效地處理大量信息。被設(shè)計成在計算機(jī)系統(tǒng)上運(yùn)行的軟件應(yīng)用允許用戶執(zhí)行包括商業(yè)應(yīng)用、學(xué)校作業(yè)、娛樂等等在內(nèi)的各種各樣的功能。軟件應(yīng)用通常被設(shè)計成執(zhí)行特定任務(wù),諸如用于草擬文檔的文字處理器應(yīng)用或者用于發(fā)送、接收和組織電子郵件的電子郵件程序。
      在一些情況下,軟件應(yīng)用程序被設(shè)計成在分布式系統(tǒng)上使用。例如,復(fù)合應(yīng)用程序可包括復(fù)雜的相關(guān)組件集。這些組件具有與其他組件的關(guān)系,以及用于組件間通信的指定通信協(xié)議。部署和管理此類軟件應(yīng)用程序通常涉及實(shí)現(xiàn)許多不同的工具和開發(fā)環(huán)境。發(fā)明內(nèi)容
      本文描述的實(shí)施例涉及提供一種部署和管理復(fù)合應(yīng)用程序的應(yīng)用程序模型并提供模型驅(qū)動軟件編碼協(xié)助。在一個實(shí)施例中,計算機(jī)系統(tǒng)實(shí)例化配置成顯示復(fù)合應(yīng)用程序組件以及組件間的關(guān)系的應(yīng)用程序設(shè)計界面。每個組件包括指定如何與組件進(jìn)行通信的信息。計算機(jī)系統(tǒng)訪問包括應(yīng)用程序的組件和組件關(guān)系的應(yīng)用程序清單。計算機(jī)系統(tǒng)根據(jù)應(yīng)用程序清單在實(shí)例化的可視應(yīng)用程序設(shè)計界面內(nèi)顯示復(fù)合應(yīng)用程序的組件和組件關(guān)系。
      在另一實(shí)施例中,計算機(jī)系統(tǒng)訪問包括軟件組件和組件間的關(guān)系的應(yīng)用程序清單。該清單是用戶可編輯的。計算機(jī)系統(tǒng)接收指示多個不同組件的至少一個要被實(shí)現(xiàn)為復(fù)合應(yīng)用程序的一部分的用戶輸入。計算機(jī)系統(tǒng)基于應(yīng)用程序清單的組件和關(guān)系確定將被作為可選選項(xiàng)呈現(xiàn)給用戶的潛在實(shí)現(xiàn)選項(xiàng)。計算機(jī)系統(tǒng)也在清單內(nèi)顯示確定的潛在實(shí)現(xiàn)以供用戶選擇。
      提供本發(fā)明內(nèi)容以便以簡化的形式介紹將在以下具體實(shí)施方式
      中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
      另外的特征和優(yōu)點(diǎn)將在以下的描述中闡述,并且部分可從該描述中顯而易見,或者可以從此處的教示實(shí)踐中習(xí)得。本發(fā)明的各特征和優(yōu)點(diǎn)可以通過在所附的權(quán)利要求書中特別指出的手段和組合來實(shí)現(xiàn)和獲得。本發(fā)明的特征將從以下描述和所附權(quán)利要求書中變得完全顯而易見,或者可通過如下所述對本發(fā)明的實(shí)踐而獲知。


      為了進(jìn)一步闡明本發(fā)明的各實(shí)施例的以上和其他優(yōu)點(diǎn)和特征,將參考附圖來呈現(xiàn)本發(fā)明的各實(shí)施例的更具體的描述??梢岳斫猓@些附圖只描繪本發(fā)明的典型實(shí)施例,因此將不被認(rèn)為是對其范圍的限制。本發(fā)明將通過使用附圖用附加特征和細(xì)節(jié)來描述和解釋,4附圖中圖1示出其中本發(fā)明的實(shí)施例可操作的計算機(jī)體系結(jié)構(gòu),包括提供部署和管理復(fù)合應(yīng)用程序的應(yīng)用程序模型并提供模型驅(qū)動軟件編碼協(xié)助。圖2示出用于提供部署和管理復(fù)合應(yīng)用程序的應(yīng)用程序模型的示例方法的流程圖。圖3示出用于提供模型驅(qū)動軟件編碼協(xié)助的示例方法的流程圖。圖4示出了本發(fā)明的一實(shí)施例,其中用戶輸入被應(yīng)用于組件代碼。
      具體實(shí)施例方式本文描述的實(shí)施例涉及提供一種部署和管理復(fù)合應(yīng)用程序的應(yīng)用程序模型并提供模型驅(qū)動軟件編碼協(xié)助。在一個實(shí)施例中,計算機(jī)系統(tǒng)實(shí)例化配置成顯示復(fù)合應(yīng)用程序組件以及組件間的關(guān)系的應(yīng)用程序設(shè)計界面。每個組件包括指定如何與組件進(jìn)行通信的信息。計算機(jī)系統(tǒng)訪問包括應(yīng)用程序的組件和組件關(guān)系的應(yīng)用程序清單。計算機(jī)系統(tǒng)根據(jù)應(yīng)用程序清單在實(shí)例化的可視應(yīng)用程序設(shè)計界面內(nèi)顯示復(fù)合應(yīng)用程序的組件和組件關(guān)系。在另一實(shí)施例中,計算機(jī)系統(tǒng)訪問包括軟件組件和組件間的關(guān)系的應(yīng)用程序清單。該清單是用戶可編輯的。計算機(jī)系統(tǒng)接收指示多個不同組件的至少一個要被實(shí)現(xiàn)為復(fù)合應(yīng)用程序的一部分的用戶輸入。計算機(jī)系統(tǒng)基于應(yīng)用程序清單的組件和關(guān)系確定將被作為可選選項(xiàng)呈現(xiàn)給用戶的潛在實(shí)現(xiàn)選項(xiàng)。計算機(jī)系統(tǒng)也在清單內(nèi)顯示確定的潛在實(shí)現(xiàn)以供用戶選擇。以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動作。應(yīng)當(dāng)注意,雖然這些方法動作可能是按一定次序討論的,或者是在流程圖中被描繪為是按照特定順序進(jìn)行的,然而并非必然需要特定的次序,除非特別聲明,或者是因?yàn)橐粋€動作依賴于另一動作在該動作被執(zhí)行之前完成而需要的。本發(fā)明的各實(shí)施例可包括或利用專用或通用計算機(jī),該專用或通用計算機(jī)包括諸如例如一個或多個處理器和系統(tǒng)存儲器等計算機(jī)硬件,如以下更詳細(xì)討論的。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于攜帶或存儲計算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理介質(zhì)和其他計算機(jī)可讀介質(zhì)。這些計算機(jī)可讀介質(zhì)可以是通用或?qū)S糜嬎銠C(jī)系統(tǒng)能夠訪問的任何可用介質(zhì)。存儲計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)是計算機(jī)存儲介質(zhì)。攜帶計算機(jī)可執(zhí)行指令的計算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種完全不同類型的計算機(jī)可讀介質(zhì)計算機(jī)存儲介質(zhì)和傳輸介質(zhì)。計算機(jī)存儲介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備、或可用于存儲計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C(jī)訪問的任何其他介質(zhì)?!熬W(wǎng)絡(luò)”被定義為允許在計算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個或多個數(shù)據(jù)鏈路。當(dāng)信息通過網(wǎng)絡(luò)或另一個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機(jī)時,該計算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計算機(jī)可讀介質(zhì)的范圍內(nèi)。
      此外,在到達(dá)各種計算機(jī)系統(tǒng)組件之后,計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動傳輸?shù)接嬎銠C(jī)存儲介質(zhì)(或反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收到的計算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如,“mc”) 內(nèi)的RAM中,然后最終被傳輸?shù)接嬎銠C(jī)系統(tǒng)RAM和/或計算機(jī)系統(tǒng)處的較不易失性的計算機(jī)存儲介質(zhì)。因而,應(yīng)當(dāng)理解,計算機(jī)存儲介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計算機(jī)系統(tǒng)組件中。計算機(jī)可執(zhí)行指令包括,例如使通用計算機(jī)、專用計算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動作。相反,上述特征和動作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實(shí)踐,這些計算機(jī)系統(tǒng)配置包括個人計算機(jī)、臺式計算機(jī)、膝上型計算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機(jī)、大型計算機(jī)、移動電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。圖1示出了可在其中采用本發(fā)明的原理的計算機(jī)體系結(jié)構(gòu)100。計算機(jī)體系結(jié)構(gòu) 100包括應(yīng)用程序設(shè)計界面110。應(yīng)用程序設(shè)計界面可以是允許與軟件程序交互的任何類型的用戶界面。該界面可允許包括鍵盤、鼠標(biāo)、觸摸屏或其他輸入的各種不同的輸入方法。 應(yīng)用程序設(shè)計界面可被配置成允許用戶設(shè)計應(yīng)用程序,包括復(fù)合應(yīng)用程序115。如本文使用的復(fù)合應(yīng)用程序指由以多個不同組件關(guān)系118綁定在一起的多個不同組件117構(gòu)成的應(yīng)用程序。該復(fù)合應(yīng)用程序可被配置成在本地計算機(jī)系統(tǒng)以及分布式計算機(jī)系統(tǒng)上(包括在云上)運(yùn)行而無需代碼的任何變化。構(gòu)成給定復(fù)合應(yīng)用程序的組件和關(guān)系可被存儲在應(yīng)用程序清單116中。該清單可列出為應(yīng)用程序的部分的每個組件,以及每個組件如何與其他組件相關(guān)。例如,一些組件可具有對某些資源或?qū)ζ渌M件的依賴性。如顯示器120中所述,組件彼此可具有各種不同的關(guān)系。組件A(121A)可具有與組件B(121B)、C(121C)和D(121D)的關(guān)系,如由組件間的線條所示。類似地,組件C和D也具有關(guān)系。如上所述,關(guān)系可為依賴性、通信信道、或某個其他類型的關(guān)系。每個組件可具有與其他組件通信的指定方式。關(guān)系可指定組件如何通信以及如何與之通信。不同類型的關(guān)系可以不同方式顯示。例如,不同類型的線條、不同顏色、不同接頭以及其他可視項(xiàng)可被用于區(qū)分各種分類型的關(guān)系。應(yīng)該認(rèn)識到,盡管顯示器120正顯示四個組件和那些組件之間的一種類型的關(guān)系,但實(shí)質(zhì)上任何數(shù)量的組件和/或關(guān)系均可顯示在應(yīng)用程序設(shè)計界面的顯示器中顯示。用戶可與顯示器內(nèi)的復(fù)合應(yīng)用程序的組件直接交互。用戶可添加、移除或修改組件,以及添加、移除或修改組件關(guān)系。例如,用戶105可向應(yīng)用程序設(shè)計界面發(fā)送移除組件 A的編輯106。復(fù)合應(yīng)用程序115的清單116將被升級至不再包括組件A或其組件關(guān)系,且顯示器120將被升級至不再顯示組件A及其關(guān)系。以此方式,用戶可使用可視應(yīng)用程序設(shè)計界面改變并修改應(yīng)用程序。隨著做出改變,應(yīng)用程序清單動態(tài)地升級至顯示用戶的改變。
      在一些實(shí)施例中,應(yīng)用程序設(shè)計界面110可包括至設(shè)計成允許創(chuàng)作分布式應(yīng)用程序的集成開發(fā)環(huán)境(IDE)擴(kuò)展集。此類擴(kuò)展可包括以下任意一個或多個可視化應(yīng)用程序、 以及應(yīng)用程序的組件和關(guān)系的可視建模、協(xié)調(diào)組件和應(yīng)用程序模型之間的變化的一組IDE 集成同步器、便于根據(jù)應(yīng)用程序模型中指定的配置對編程模型編碼并與IDE內(nèi)的部署系統(tǒng)集成以部署應(yīng)用程序的基于代碼編輯器的助手。
      —些實(shí)施例可包括與分布式合成運(yùn)行時和分布式應(yīng)用程序部署經(jīng)驗(yàn)耦合的復(fù)合應(yīng)用程序的可視建模。而且,可提供基于應(yīng)用程序模型或由其驅(qū)動的基于代碼的創(chuàng)作環(huán)境。 各實(shí)施例可進(jìn)一步提供通過與IDE文件系統(tǒng)提供者集成而提供的擴(kuò)展性,以便保持人工產(chǎn)物(artifact)同步并對文件做出的變化以及對應(yīng)用程序模型本身顯式做出的變化做出反應(yīng)。此外,各實(shí)施例可在應(yīng)用程序設(shè)計界面中呈現(xiàn)便于快速啟動復(fù)合應(yīng)用程序的開發(fā)的模式。
      應(yīng)用程序設(shè)計界面可被配置成可視化復(fù)合應(yīng)用程序、其組件和關(guān)系。應(yīng)用程序設(shè)計界面提供應(yīng)用程序內(nèi)的組件的列表以及組件間關(guān)系兩者。在應(yīng)用程序設(shè)計界面內(nèi),每個組件可指定導(dǎo)入和導(dǎo)出,換句話說,用于與組件通信的通信標(biāo)準(zhǔn)或協(xié)議??梢曉O(shè)計界面允許導(dǎo)入和導(dǎo)出的連接二者,其建立組件間的關(guān)系,以及該連接的配置。該配置允許用戶精確控制組件關(guān)系的運(yùn)行時表現(xiàn),以及允許分布式運(yùn)行時適當(dāng)分配資源以符合配置的需要。
      在一些情況下,組件關(guān)系的配置可能指定針對將經(jīng)由關(guān)系返回的數(shù)據(jù)的濾波器, 或可指定針對該鏈路上要求的性能級別的服務(wù)級別協(xié)定。該信息可被用于部署和運(yùn)行時以確保以將符合服務(wù)級別協(xié)定的方式來分配資源。該合成表示在設(shè)計時間以及用于監(jiān)視應(yīng)用程序的工具是有用的。
      在一些實(shí)施例中,應(yīng)用程序設(shè)計界面110可通過向用戶呈現(xiàn)用于創(chuàng)建應(yīng)用程序的空白畫布來提供應(yīng)用程序的總控制。然而,在一些情況下,可向用戶提供模式以便他們能快速地使解決方案準(zhǔn)備并運(yùn)行以供測試以及進(jìn)一步迭代。設(shè)計界面可在工具欄中提供此類模式。通過將這些模式拖入畫布,應(yīng)用程序模型可用一組經(jīng)配置的組件和關(guān)系來預(yù)填充。這將允許用戶選擇應(yīng)用程序模式并創(chuàng)建所有針對該應(yīng)用程序的對應(yīng)人工產(chǎn)物。在一些情況下, 這可類似于其中用戶可選擇達(dá)成給定結(jié)果的某個模式的“以數(shù)字涂繪”的操作模型。
      應(yīng)用程序設(shè)計界面可被配置成在系統(tǒng)內(nèi)提供基于代碼的人工產(chǎn)物的表示。設(shè)計界面可包括作為清單的直接投影操作的編輯器。該編輯器提供被序列化為清單文件的對象圖的投影。這允許應(yīng)用程序設(shè)計界面保持與代碼顯示同步。
      在一些情況下,應(yīng)用程序界面可包括一組對IDE的擴(kuò)展,該擴(kuò)展跟蹤在整個文件系統(tǒng)中做出的變化并將那些變化反映到清單文件中。這些擴(kuò)展可構(gòu)成復(fù)合應(yīng)用程序中的清單和人工產(chǎn)物之間交互的單個點(diǎn)。另外,這些擴(kuò)展同樣可在其他方向操作,持續(xù)被通知清單內(nèi)的變化。這些擴(kuò)展隨后可用于對項(xiàng)目系統(tǒng)做出后續(xù)變化。例如,如果導(dǎo)入被配置在web 應(yīng)用程序上,則同步器可選擇并添加新的對于web應(yīng)用程序、注入代碼、或升級配置的匯編件引用以利用新的組件引用。
      在一些情況下,本文可稱為“同步器”的擴(kuò)展是本身可擴(kuò)展的。這些擴(kuò)展通過該組件的文件系統(tǒng)內(nèi)的變化和應(yīng)用程序清單內(nèi)的變化之間發(fā)生的同步向作者提供組件控制。例如,針對簡單對象訪問協(xié)議(SOAP) web服務(wù)組件的同步器能在該SOAP web服務(wù)中的文件上操作、讀取通信規(guī)范、并向清單報告如何與web服務(wù)組件進(jìn)行通信。同樣地,每個組件和組件的清單可被保持實(shí)時更新。
      在一些情況下,當(dāng)用戶已經(jīng)使用組件117的組合來創(chuàng)建復(fù)合應(yīng)用程序后,軟件代碼可被寫入以實(shí)現(xiàn)組件(例如,從另一應(yīng)用程序調(diào)用工作流)。在這類情況下,應(yīng)用程序設(shè)計界面直接利用應(yīng)用程序模型以不但向用戶呈現(xiàn)可被使用的一組類型,而且引導(dǎo)用戶實(shí)現(xiàn)可被用于應(yīng)用程序的組件以及與該組件相關(guān)的那些組件。因此,例如,如果緩存組件被有線連接到web應(yīng)用程序,可提供代碼助手或提示以在復(fù)合應(yīng)用程序中正確實(shí)現(xiàn)高速緩存組件。
      應(yīng)用程序設(shè)計界面還可為組件作者提供另一組擴(kuò)展以能定制某些人在使用其組件之際具有的開發(fā)者體驗(yàn)(例如,緩存組件可具有與web服務(wù)不同的開發(fā)者/用戶體驗(yàn))。 設(shè)計界面可提供用于鍵入代碼或做出組件選擇的上下文相關(guān)的選項(xiàng)。下面,分別針對圖2 和圖3的方法200和300,更詳細(xì)地解釋這些和其他概念。
      考慮到以上描述的系統(tǒng)和體系結(jié)構(gòu),參考圖2和圖3的流程圖將更好地理解根據(jù)所公開的主題實(shí)現(xiàn)的方法。為了解釋簡明起見,這些方法被示出和描述為一系列框。然而, 應(yīng)該理解和了解,所要求保護(hù)的主題不受框的次序的限制,因?yàn)橐恍┛蚩砂床煌拇涡蜻M(jìn)行和/或與此處所描繪和描述的其他框同時進(jìn)行。此外,并非全部所示的框都是實(shí)現(xiàn)下面所述的方法所必需的。
      圖2示出用于提供部署和管理復(fù)合應(yīng)用程序的應(yīng)用程序模型的方法200的流程圖?,F(xiàn)在將頻繁參照環(huán)境100的組件和數(shù)據(jù)來描述方法200。
      方法200包括實(shí)例化配置成顯示復(fù)合應(yīng)用程序組件和組件間的一個或多個關(guān)系的應(yīng)用程序設(shè)計界面的動作,其中每個組件包括指定如何與該組件進(jìn)行通信的信息(動作 210)。例如,應(yīng)用程序設(shè)計界面110可在計算機(jī)系統(tǒng)上被實(shí)例化。界面的顯示器120可被配置成示出應(yīng)用程序組件(例如,組件A、B、C和D(121A-D))以及組件間的關(guān)系。每個應(yīng)用程序組件可包括指定如何與該組件進(jìn)行通信(即,組件的導(dǎo)入和導(dǎo)出)的信息(例如,元數(shù)據(jù))。
      應(yīng)用程序設(shè)計界面可允許用戶編輯包括應(yīng)用程序定義、應(yīng)用程序清單以及復(fù)合模型的多個不同人工產(chǎn)物。應(yīng)用程序清單116可包括指示哪些組件117被包括在應(yīng)用程序中, 以及那些組件之間的相應(yīng)關(guān)系118的信息。用戶105可發(fā)送將被應(yīng)用于復(fù)合應(yīng)用程序115 和/或應(yīng)用程序的包括那些以上列出的各種人工產(chǎn)物的編輯106。經(jīng)編輯的人工產(chǎn)物可被發(fā)送至分布式運(yùn)行時以便它們將在執(zhí)行應(yīng)用程序期間使用。
      在一些情況下,可編輯的應(yīng)用程序人工產(chǎn)物可允許用戶改變復(fù)合應(yīng)用程序的部署時和運(yùn)行時行為。以此方式,用戶可具有對如何部署并執(zhí)行復(fù)合應(yīng)用程序的大量控制。在一些情況下,復(fù)合應(yīng)用程序115可使用清單文件116來配置和部署。同樣,在部署和執(zhí)行應(yīng)用程序時遵循清單中的指令。在運(yùn)行時,應(yīng)用程序組件可使用應(yīng)用程序清單中指示的關(guān)系彼此通信。
      方法200包括訪問包括應(yīng)用程序的組件和組件關(guān)系的應(yīng)用程序清單的動作(動作 220)。例如,應(yīng)用程序設(shè)計界面110可訪問標(biāo)識復(fù)合應(yīng)用程序的對應(yīng)組件117和組件關(guān)系 118的應(yīng)用程序清單116。在一些情況下,選擇哪些組件被用于給定應(yīng)用程序后,用戶可添加額外部分的軟件代碼以更改組件或如何一起使用組件。
      當(dāng)用戶正做出此類代碼變化或添加時,應(yīng)用程序接口可在該用戶鍵入時提供文本提示。該文本提示可為上下文的且可基于應(yīng)用程序清單。因此,文本提示可包括清單特定項(xiàng)的上下文列表。并且,文本提示可基于應(yīng)用程序清單中的組件關(guān)系僅示出兩個組件間的有效連接或關(guān)系。在此類情況下,如果用戶正鍵入關(guān)于組件A(121A)的代碼,文本提示可包括組件信息和特定于組件A的關(guān)系。隨著對軟件代碼做出改變,且隨著做出改變而添加或從應(yīng)用程序中移除組件,應(yīng)用程序清單可被動態(tài)更新以確保該清單保持最新。
      方法200包括根據(jù)應(yīng)用程序清單在實(shí)例化的可視應(yīng)用程序設(shè)計界面中顯示復(fù)合應(yīng)用程序的組件和組件關(guān)系的動作(動作230)。例如,顯示器120可基于應(yīng)用程序清單 116在應(yīng)用程序設(shè)計界面中顯示復(fù)合應(yīng)用程序115的組件117和組件關(guān)系118。在一些情況下,應(yīng)用程序設(shè)計界面可被配置成呈現(xiàn)經(jīng)部署的應(yīng)用程序以顯示由應(yīng)用程序清單定義的復(fù)合應(yīng)用程序的運(yùn)行時畫面。運(yùn)行時畫面可指示如何在運(yùn)行時執(zhí)行應(yīng)用程序。
      應(yīng)用程序設(shè)計界面也可被配置成提供允許用戶根據(jù)預(yù)定模式配置復(fù)合應(yīng)用程序的組件的一組規(guī)范應(yīng)用程序模式。例如,預(yù)定模式可包括N層模式。當(dāng)N層模式被應(yīng)用于復(fù)合應(yīng)用程序115時,以分層模式形成應(yīng)用程序。分層可包括,例如,后端服務(wù)器、web訪問和用戶界面。當(dāng)然,其他模式是可能的,且以上示例并不意圖限制以上示例。在一些情況下可將規(guī)范模式層疊在一起以根據(jù)多個不同模式配置應(yīng)用程序組件。在已經(jīng)應(yīng)用此規(guī)范模式后,可使用軟件代碼更改復(fù)合應(yīng)用程序。
      現(xiàn)在轉(zhuǎn)向圖3,圖3示出用于提供模型驅(qū)動軟件編碼助手的方法300的流程圖?,F(xiàn)在將頻繁參照環(huán)境400的組件和數(shù)據(jù)來描述方法300。
      方法300包括訪問包括軟件組件和組件間的一個或多個關(guān)系的應(yīng)用程序清單的動作,其中該清單是用戶可編輯的(動作310)。例如,可經(jīng)由應(yīng)用程序設(shè)計界面訪問應(yīng)用程序清單440且可由用戶405編輯。清單包括對對應(yīng)于復(fù)合應(yīng)用程序的軟件組件和組件間的組件關(guān)系的標(biāo)識。
      方法300包括接收指示多個組件的至少一個要被實(shí)現(xiàn)為復(fù)合應(yīng)用程序的一部分的用戶輸入的動作(動作320)。例如,用戶405可向應(yīng)用程序設(shè)計界面發(fā)送用戶輸入406。 該輸入指示一個或多個組件將彼此結(jié)合用于形成復(fù)合應(yīng)用程序。在一些情況下,應(yīng)用程序設(shè)計界面允許用戶選擇(或許從列表或其他分組中)哪些組件將被用于給定的復(fù)合應(yīng)用程序。當(dāng)用戶正選擇或更改已經(jīng)選擇的組件時,潛在實(shí)現(xiàn)選項(xiàng)可被呈現(xiàn)給用戶。
      方法300包括基于應(yīng)用程序清單的組件和關(guān)系確定將被作為可選選項(xiàng)呈現(xiàn)給用戶的潛在實(shí)現(xiàn)選項(xiàng)的動作(動作330)。例如,選項(xiàng)確定模塊445可訪問應(yīng)用程序清單440 以確定哪些組件和相應(yīng)關(guān)系對給定應(yīng)用程序是可用的。在其中用戶正編輯可選組件的情況中,選項(xiàng)確定模塊可返回特定于該組件的選項(xiàng)446。
      因此,在一個實(shí)例中,用戶405可能正編輯組件代碼430。用戶輸入406可被顯示在顯示器內(nèi),當(dāng)用戶鍵入文本時,選項(xiàng)框435 (或其他呈現(xiàn)形式)可緊臨用戶輸入顯示。選項(xiàng)框可包括包含選項(xiàng)A(436A)、選項(xiàng)B(436B)、選項(xiàng)C(436C)以及子選項(xiàng)436C1和436C2的各種不同選項(xiàng)。當(dāng)然可提供許多更多(或更少)選項(xiàng)。在一些情況下,潛在實(shí)現(xiàn)選項(xiàng)可在用戶正鍵入信息時被動態(tài)顯示。動態(tài)顯示的潛在組件可基于哪個復(fù)合應(yīng)用程序(或應(yīng)用程序組件)當(dāng)前正被編輯而不同。至少在一些情況下,僅那些上下文相關(guān)的實(shí)現(xiàn)選項(xiàng)被顯示給用戶。這些選項(xiàng)可以是可選選項(xiàng)列表的形式或其他某種(或許為用戶定制的)形式。
      方法300還包括顯示確定的潛在選項(xiàng)以供用戶選擇的動作(動作340)。例如,可向用戶顯示上下文相關(guān)選項(xiàng)436A-436C的每一個。該顯示可包括可選選項(xiàng)(其可包括組件名稱、功能名稱、屬性或其他數(shù)據(jù)),以及可用于確定如何更改應(yīng)用程序或應(yīng)用程序組件的其他息。
      因此,提供了可提供部署和管理復(fù)合應(yīng)用程序的應(yīng)用程序模型的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品。該應(yīng)用程序模型顯示并允許編輯復(fù)合應(yīng)用程序的組件和組件關(guān)系。并且, 提供了可提供模型驅(qū)動軟件編碼協(xié)助的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品。此種協(xié)助是上下文特定的且在用戶正向應(yīng)用程序模型提供輸入時被動態(tài)提供。
      本發(fā)明可具體化為其他具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書的范圍所涵蓋。
      權(quán)利要求
      1.一種在包括多個計算系統(tǒng)的計算機(jī)聯(lián)網(wǎng)環(huán)境中在包括至少一個處理器和存儲器的計算機(jī)系統(tǒng)處提供部署和管理復(fù)合應(yīng)用程序的計算機(jī)實(shí)現(xiàn)的方法,所述方法包括實(shí)例化配置成顯示復(fù)合應(yīng)用程序組件和所述組件間的一個或多個關(guān)系的應(yīng)用程序設(shè)計界面的動作,其中每個組件包括指定如何與所述組件進(jìn)行通信的信息;訪問包括所述應(yīng)用程序的組件和組件關(guān)系的應(yīng)用程序清單的動作;以及根據(jù)所述應(yīng)用程序清單在所述實(shí)例化的可視應(yīng)用程序設(shè)計界面內(nèi)顯示所述復(fù)合應(yīng)用程序的組件和組件關(guān)系的動作。
      2.如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用程序設(shè)計界面允許用戶編輯以下人工產(chǎn)物的至少一個應(yīng)用程序定義、應(yīng)用程序清單、以及復(fù)合模型。
      3.如權(quán)利要求2所述的方法,其特征在于,所述經(jīng)編輯人工產(chǎn)物被發(fā)送至分布式運(yùn)行時用于執(zhí)行所述應(yīng)用程序。
      4.如權(quán)利要求2所述的方法,其特征在于,所述人工產(chǎn)物允許用戶改變所述復(fù)合應(yīng)用程序的部署時和運(yùn)行時行為。
      5.如權(quán)利要求4所述的方法,其特征在于,使用所述清單文件配置和部署所述復(fù)合應(yīng)用程序。
      6.如權(quán)利要求4所述的方法,其特征在于,組件在運(yùn)行時使用所述應(yīng)用程序清單中指示的關(guān)系彼此通信。
      7.如權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用程序設(shè)計界面呈現(xiàn)經(jīng)部署的應(yīng)用程序以顯示由所述應(yīng)用程序清單定義的復(fù)合應(yīng)用程序的運(yùn)行時畫面。
      8.如權(quán)利要求1所述的方法,進(jìn)一步包括所述應(yīng)用程序設(shè)計界面提供允許用戶根據(jù)預(yù)定模式配置所述復(fù)合應(yīng)用程序的組件的一組規(guī)范應(yīng)用程序模式的動作。
      9.如權(quán)利要求8所述的方法,其特征在于,所述預(yù)定模式包括N層模式,由此一旦向所述復(fù)合應(yīng)用程序應(yīng)用所述N層模式,則以分層模式形成所述復(fù)合應(yīng)用程序。
      10.如權(quán)利要求9所述的方法,其特征在于,所述復(fù)合應(yīng)用程序在已經(jīng)使用軟件代碼來應(yīng)用所述規(guī)范模式后是可更改的。
      11.如權(quán)利要求8所述的方法,其特征在于,多個規(guī)范應(yīng)用程序模式被層疊在一起以配置所述復(fù)合應(yīng)用程序的所述組件。
      12.一種用于實(shí)現(xiàn)一種方法的計算機(jī)程序產(chǎn)品,所述方法用于提供模型驅(qū)動軟件編碼協(xié)助,所述計算機(jī)程序產(chǎn)品包括其上存儲有計算機(jī)可執(zhí)行指令的一個或多個計算機(jī)可讀存儲介質(zhì),所述指令在被計算系統(tǒng)的一個或多個處理器執(zhí)行時使得所述計算系統(tǒng)執(zhí)行所述方法,所述方法包括訪問包括軟件組件和所述組件間的一個或多個關(guān)系的應(yīng)用程序清單的動作,其中所述清單是用戶可編輯的(動作310);接收指示多個組件的至少一個要被實(shí)現(xiàn)為所述復(fù)合應(yīng)用程序的一部分的用戶輸入的動作;基于所述應(yīng)用程序清單的組件和關(guān)系確定將被作為可選選項(xiàng)呈現(xiàn)給用戶的潛在實(shí)現(xiàn)選項(xiàng)的動作;以及顯示確定的潛在選項(xiàng)以供用戶選擇的動作。
      13.如權(quán)利要求12所述的計算機(jī)程序產(chǎn)品,其特征在于,所述潛在實(shí)現(xiàn)選項(xiàng)可在用戶正鍵入信息時被動態(tài)顯示。
      14.如權(quán)利要求12所述的計算機(jī)程序產(chǎn)品,其特征在于,所述動態(tài)顯示的潛在組件基于哪個復(fù)合應(yīng)用程序當(dāng)前正被編輯而不同。
      15.一種計算機(jī)系統(tǒng),包括 一個或多個處理器;系統(tǒng)存儲器;其上存儲有計算機(jī)可執(zhí)行指令的一個或多個計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可執(zhí)行指令在由所述一個或多個處理器執(zhí)行時使得所述計算系統(tǒng)執(zhí)行一種用于提供部署和管理復(fù)合應(yīng)用程序的的方法,所述方法包括實(shí)例化配置成顯示復(fù)合應(yīng)用程序組件和所述組件間的一個或多個關(guān)系的應(yīng)用程序設(shè)計界面的動作,其中每個組件包括指定如何與所述組件進(jìn)行通信的信息; 訪問包括所述應(yīng)用程序的組件和組件關(guān)系的應(yīng)用程序清單的動作; 所述應(yīng)用程序設(shè)計界面提供允許用戶根據(jù)預(yù)定模式配置所述復(fù)合應(yīng)用程序的組件的一組規(guī)范應(yīng)用程序模式的動作,其中所述復(fù)合應(yīng)用程序在已經(jīng)使用軟件代碼來應(yīng)用所述規(guī)范模式后是可更改的;以及根據(jù)所述應(yīng)用程序清單在所述實(shí)例化的可視應(yīng)用程序設(shè)計界面內(nèi)顯示所述復(fù)合應(yīng)用程序的組件和組件關(guān)系的動作。
      全文摘要
      本發(fā)明涉及分布式應(yīng)用程序的設(shè)計平臺。各實(shí)施例涉及提供一種部署和管理復(fù)合應(yīng)用程序的應(yīng)用程序模型并提供模型驅(qū)動軟件編碼協(xié)助。在一個實(shí)施例中,計算機(jī)系統(tǒng)實(shí)例化配置成顯示復(fù)合應(yīng)用程序組件以及組件間的關(guān)系的應(yīng)用程序設(shè)計界面。每個組件包括指定如何與組件進(jìn)行通信的信息。計算機(jī)系統(tǒng)訪問包括應(yīng)用程序的組件和組件關(guān)系的應(yīng)用程序清單。計算機(jī)系統(tǒng)根據(jù)應(yīng)用程序清單在實(shí)例化的可視應(yīng)用程序設(shè)計界面內(nèi)顯示復(fù)合應(yīng)用程序的組件和組件關(guān)系。
      文檔編號G06F9/44GK102541556SQ20111044778
      公開日2012年7月4日 申請日期2011年12月28日 優(yōu)先權(quán)日2010年12月29日
      發(fā)明者A·G·班達(dá)卡, A·M·德賈納特, D·舒克拉, M·R·溫克勒, P·B·薩萊亞, R·巴拉蘇布拉馬尼亞姆, S·M·丹頓 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1