專利名稱:客戶機(jī)應(yīng)用程序和網(wǎng)頁(yè)集成的制作方法
客戶機(jī)應(yīng)用程序和網(wǎng)頁(yè)集成
背景技術(shù):
客戶機(jī)應(yīng)用程序和網(wǎng)頁(yè)集成是用于在基于web瀏覽器的功能與獨(dú)立應(yīng)用程序功能之間提供互操作性的方法。在一些情況下,基于客戶機(jī)的應(yīng)用程序可以在無(wú)需任何網(wǎng)絡(luò)支持的情況下在計(jì)算機(jī)上執(zhí)行,而基于瀏覽器的應(yīng)用程序可以在web瀏覽器內(nèi)執(zhí)行,從而減輕了將應(yīng)用程序安裝在客戶機(jī)上的需求。然而,這可造成工作重復(fù),要開(kāi)發(fā)類似功能的兩個(gè)單獨(dú)版本。此外,這兩個(gè)不同的應(yīng)用程序會(huì)呈現(xiàn)不一致的用戶體驗(yàn),并且不能同時(shí)利用對(duì)客戶機(jī)應(yīng)用程序和web瀏覽器功能可用的本地資源。這可對(duì)在客戶機(jī)應(yīng)用程序和基于瀏覽器的應(yīng)用程序之間切換的用戶造成混淆和低效。常規(guī)策略是分開(kāi)開(kāi)發(fā)這兩個(gè)應(yīng)用程序,但這通常造成問(wèn)題,因?yàn)槌R?guī)策略不允許這兩個(gè)版本之間的集成、互操作性、以及一致的用戶體驗(yàn)。概述 提供了客戶機(jī)應(yīng)用程序和網(wǎng)頁(yè)集成。提供本概述是為了以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并非旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征。本概述亦非旨在用于限制所要求保護(hù)的主題的范圍。提供了應(yīng)用程序集成。第一應(yīng)用程序可以在客戶機(jī)計(jì)算機(jī)上執(zhí)行。該第一應(yīng)用程序可連接到諸如基于瀏覽器的應(yīng)用程序等第二應(yīng)用程序。該第一應(yīng)用程序可以標(biāo)識(shí)與第二應(yīng)用程序相關(guān)聯(lián)的至少一個(gè)功能,并在該第一應(yīng)用程序內(nèi)顯示與該至少一個(gè)功能相關(guān)聯(lián)的用戶界面元素。前述概括描述和以下詳細(xì)描述兩者都提供示例且都只是說(shuō)明性的。因此,前述概括描述和以下詳細(xì)描述不應(yīng)被認(rèn)為是限制性的。此外,除了此處所闡明的那些之外還可提供其他特征或變型。例如,各實(shí)施方式可涉及在具體實(shí)施方式
中描述的各種特征組合和子組合。附圖
簡(jiǎn)述合并在本發(fā)明中并構(gòu)成其一部分的附圖示出本發(fā)明的各種實(shí)施方式。在附圖中圖I是一操作環(huán)境的框圖;圖2A-2B是7]^例應(yīng)用程序的框圖;圖3是集成客戶機(jī)應(yīng)用程序的框圖;圖4是用于提供應(yīng)用程序集成的方法的流程圖;以及圖5是包括計(jì)算設(shè)備的系統(tǒng)的框圖。詳細(xì)描述以下詳細(xì)描述參考各個(gè)附圖。只要可能,就在附圖和以下描述中使用相同的附圖標(biāo)記來(lái)指示相同或類似的要素。盡管可能描述了本發(fā)明的各實(shí)施方式,但修改、改編和其他實(shí)現(xiàn)也是可能的。例如,可以對(duì)附圖中所示出的要素進(jìn)行置換、添加、或修改,且可以通過(guò)對(duì)所公開(kāi)的方法置換、重新排序、或添加階段來(lái)修改此處所描述的方法。因此,以下詳細(xì)描述并不限制本發(fā)明。相反,本發(fā)明的正確范圍由所附權(quán)利要求書(shū)確定。提供了客戶機(jī)應(yīng)用程序和網(wǎng)頁(yè)集成。根據(jù)本發(fā)明的各實(shí)施方式,一種用于在基于瀏覽器的和基于客戶機(jī)的應(yīng)用程序之間提供互操作性的設(shè)計(jì)。該設(shè)計(jì)可以將相關(guān)的基于瀏覽器的應(yīng)用程序上可用的動(dòng)作通知給基于客戶機(jī)的應(yīng)用程序,以使這些動(dòng)作可以在基于客戶機(jī)應(yīng)用程序的用戶界面(UI)上動(dòng)態(tài)地展示。用戶可以通過(guò)基于客戶機(jī)的應(yīng)用程序的Π來(lái)采取動(dòng)作,但這些動(dòng)作可對(duì)與基于瀏覽器的應(yīng)用程序相關(guān)聯(lián)的數(shù)據(jù)起作用。在調(diào)用從基于瀏覽器的應(yīng)用程序展示的動(dòng)作之前或之后,基于客戶機(jī)的應(yīng)用程序還可以執(zhí)行該基于客戶機(jī)的應(yīng)用程序可用,但不在基于瀏覽器的應(yīng)用程序中可用的附加商務(wù)邏輯。例如,一公司可以開(kāi)發(fā)兩個(gè)工資單應(yīng)用程序。一個(gè)應(yīng)用程序可包括基于客戶機(jī)的應(yīng)用程序并且可以由會(huì)計(jì)用來(lái)向雇員的銀行賬戶中轉(zhuǎn)賬工資。另一應(yīng)用程序可以被開(kāi)發(fā)成用于生成工資單報(bào)告并允許雇員通過(guò)web瀏覽器檢查它們的基于瀏覽器的應(yīng)用程序。這兩個(gè)應(yīng)用程序都可以正確地運(yùn)作,但集成這些應(yīng)用程序可允許公司添加附加商務(wù)邏輯。這樣的邏輯可包括例如允許在轉(zhuǎn)賬工資后立即生成工資單報(bào)告。工資單報(bào)告隨后可被直接發(fā)送給雇員。圖I是一操作環(huán)境100的框圖。操作環(huán)境100可包括客戶機(jī)110、網(wǎng)絡(luò)120、以及多個(gè)web服務(wù)器130 (A) - (B)。網(wǎng)絡(luò)120可包括例如諸如企業(yè)內(nèi)聯(lián)網(wǎng)等專有網(wǎng)絡(luò)和/或諸如 因特網(wǎng)等公共網(wǎng)絡(luò)。web服務(wù)器130(A)-(B)可包括可用于接收例如來(lái)自客戶機(jī)110的網(wǎng)頁(yè)請(qǐng)求并用所請(qǐng)求的網(wǎng)頁(yè)進(jìn)行響應(yīng)的計(jì)算機(jī)。web服務(wù)器130 (A)-(B)還可用于為基于瀏覽器的應(yīng)用程序提供執(zhí)行框架。例如,客戶機(jī)110可以經(jīng)由web瀏覽器應(yīng)用程序請(qǐng)求包括基于瀏覽器的工資單報(bào)告應(yīng)用程序的網(wǎng)頁(yè)。例如,web服務(wù)器130㈧可以用該網(wǎng)頁(yè)和相關(guān)聯(lián)的應(yīng)用程序?qū)υ撜?qǐng)求進(jìn)行響應(yīng)??蛻魴C(jī)110隨后可以經(jīng)由與web瀏覽器應(yīng)用程序的交互來(lái)請(qǐng)求web服務(wù)器130(A)執(zhí)行與該基于瀏覽器的應(yīng)用程序相關(guān)聯(lián)的功能。圖2A是示例的基于瀏覽器的應(yīng)用程序200的框圖?;跒g覽器的應(yīng)用程序200可包括包含菜單欄210、第一功能Π元素230、以及第二功能Π元素240的用戶界面(UI)。例如,基于瀏覽器的應(yīng)用程序200可包括財(cái)務(wù)應(yīng)用程序,該財(cái)務(wù)應(yīng)用程序包含雇員數(shù)據(jù)以及與第一功能UI元素230相關(guān)聯(lián)的用于生成報(bào)告的功能、和/或與第二功能UI元素240相關(guān)聯(lián)的用于通知雇員事務(wù)已經(jīng)完成的功能。圖2B是客戶機(jī)應(yīng)用程序250的框圖??蛻魴C(jī)應(yīng)用程序250可包括包含多個(gè)UI動(dòng)作元素260 (A)-(C)的用戶界面帶狀條(ribbon) 265??蛻魴C(jī)應(yīng)用程序250可包括例如包含雇員數(shù)據(jù)和用于執(zhí)行將資金轉(zhuǎn)賬到與雇員相關(guān)聯(lián)的賬戶的功能的會(huì)計(jì)應(yīng)用程序。圖3是集成客戶機(jī)應(yīng)用程序300的框圖。集成客戶機(jī)應(yīng)用程序可包括包含多個(gè)Π動(dòng)作元素260 (A)-(C)和多個(gè)集成Π元素310 (A)-(B)的用戶界面帶狀條265。集成Π元素310(A)-(B)可以基于由基于瀏覽器的應(yīng)用程序200所展示的功能來(lái)集成到用戶界面帶狀條265中。根據(jù)本發(fā)明的各實(shí)施方式,集成客戶機(jī)應(yīng)用程序300可用于訪問(wèn)、修改、和/或同步與基于瀏覽器的應(yīng)用程序200相關(guān)聯(lián)的雇員數(shù)據(jù)。并非與現(xiàn)有Π分開(kāi)呈現(xiàn)網(wǎng)頁(yè),集成客戶機(jī)應(yīng)用程序300可以集成基于瀏覽器的應(yīng)用程序200所展示的動(dòng)作以實(shí)現(xiàn)一致的用戶體驗(yàn)。例如,根據(jù)與集成客戶機(jī)應(yīng)用程序300相關(guān)聯(lián)的視覺(jué)外觀,可以在用戶界面帶狀條265中顯示與第一功能UI元素230和/或第二功能UI元素240相關(guān)聯(lián)的功能。該視覺(jué)外觀可包括諸如色彩、文本樣式、位置、圖標(biāo)、和/或菜單布置等配置細(xì)節(jié)。根據(jù)本發(fā)明的各實(shí)施方式,集成客戶機(jī)應(yīng)用程序300可在用戶請(qǐng)求打開(kāi)該應(yīng)用程序時(shí)初始化。集成客戶機(jī)應(yīng)用程序300可以根據(jù)與集成客戶機(jī)應(yīng)用程序300的配置相關(guān)聯(lián)的統(tǒng)一資源定位符(URL)來(lái)加載網(wǎng)頁(yè)。web瀏覽器控件可包括例如用.NET框架發(fā)布的標(biāo)準(zhǔn)ActiveX 控件或托管控件,并可以允許集成客戶機(jī)應(yīng)用程序300訪問(wèn)與常規(guī)web瀏覽器應(yīng)用程序相似的基于瀏覽器的應(yīng)用程序200。在加載網(wǎng)頁(yè)之后,該網(wǎng)頁(yè)可以將其內(nèi)容展示給集成客戶機(jī)應(yīng)用程序300。對(duì)于上述示例財(cái)務(wù)應(yīng)用程序,可以將與基于瀏覽器的應(yīng)用程序200相關(guān)聯(lián)的“生成報(bào)告”和“通知”功能和/或雇員數(shù)據(jù)展示給基于客戶機(jī)的應(yīng)用程序。所展示的數(shù)據(jù)的其他示例可包括幫助文本、主題索引、和/或方法調(diào)用地址或名稱。例如,可以通過(guò)使基于瀏覽器的應(yīng)用程序200調(diào)用在集成客戶機(jī)應(yīng)用程序300中實(shí)現(xiàn)的方法來(lái)展示與基于瀏覽器的應(yīng)用程序200相關(guān)聯(lián)的數(shù)據(jù)和功能?;跒g覽器的應(yīng)用程序200隨后可以將數(shù)據(jù)和/或功能引用交換到集成客戶機(jī)應(yīng)用程序300?;跒g覽器的應(yīng)用程序200可以負(fù)責(zé)將所有必要信息構(gòu)建成串并將該串傳遞到集成客戶機(jī)應(yīng)用程序300?!ぴ摻粨Q可包括若干片段。例如,每一片段可包括標(biāo)題(例如,“HelpId (幫助Id)”)和/或值串(例如,“〈HelpID〉”)。該值串可以標(biāo)識(shí)與該片段相關(guān)聯(lián)的類別,其可用來(lái)配置與該片段相關(guān)聯(lián)的用戶界面元素在集成客戶機(jī)應(yīng)用程序300內(nèi)的視覺(jué)外觀。在HelpID片段中,該值可包括數(shù)據(jù)串。在諸如方法列表片段等另一示例中,該值可包括可將方法映射到它的名稱并允許稍后對(duì)它的調(diào)用的多個(gè)方法名和方法地址對(duì)?;跒g覽器的應(yīng)用程序200可通過(guò)調(diào)用包括在與基于瀏覽器的應(yīng)用程序200相關(guān)聯(lián)的網(wǎng)頁(yè)中的諸如javascript方法“window, external. Expose (segmentString); ”等方法來(lái)將這些片段傳遞給集成客戶機(jī)應(yīng)用程序300。根據(jù)本發(fā)明的各實(shí)施方式,還可以通過(guò)擴(kuò)展HTML以添加用于展示數(shù)據(jù)和功能的附加標(biāo)簽來(lái)展示這些數(shù)據(jù)和功能。網(wǎng)頁(yè)可以指定哪些數(shù)據(jù)和/或功能可在HTML中展示,并且集成客戶機(jī)應(yīng)用程序300可以解析這些標(biāo)簽。集成客戶機(jī)應(yīng)用程序300隨后可以向其工具欄、上下文菜單、和/或標(biāo)簽所指定的其他控件(如Π帶狀條265)展示相關(guān)聯(lián)的動(dòng)作。標(biāo)簽的句法可包括例如〈Toolbar〉〈button name=,,Generate a report,,onclick=,,GenerateReport (),,/>〈/Toolbar〉在該工具欄標(biāo)簽內(nèi),數(shù)據(jù)和諸如GenerateReport (生成報(bào)告)等功能可以展示給集成客戶機(jī)應(yīng)用程序300。該標(biāo)簽還可以指定哪一控件可表示該功能。在以上這一示例中,在解析該HTML之后,可以向集成客戶機(jī)應(yīng)用程序300的帶狀條Π 265添加按鈕。集成客戶機(jī)應(yīng)用程序300的用戶可以點(diǎn)擊UI帶狀條265中的“生成報(bào)告”按鈕(例如,集成UI元素310(A))以使基于瀏覽器的應(yīng)用程序200生成報(bào)告。另外,集成客戶機(jī)應(yīng)用程序300在調(diào)用基于瀏覽器的功能之前和/或之后可以執(zhí)行預(yù)調(diào)用和/或后調(diào)用功能。集成客戶機(jī)應(yīng)用程序300所調(diào)用的動(dòng)作或方法可由基于瀏覽器的應(yīng)用程序200來(lái)執(zhí)行?;跒g覽器的應(yīng)用程序200隨后可以向集成客戶機(jī)應(yīng)用程序300發(fā)送包括成功/失敗結(jié)果和/或附加數(shù)據(jù)的完成通知。圖4是闡明根據(jù)本發(fā)明的一實(shí)施方式的用于提供應(yīng)用程序集成的方法400中所涉及的各概括階段的流程圖。方法400可使用如將在以下參考圖5更詳細(xì)地描述的計(jì)算設(shè)備500來(lái)實(shí)現(xiàn)。以下將更詳細(xì)地描述實(shí)現(xiàn)方法400的各階段的方式。方法400可開(kāi)始于起始框405并繼續(xù)至階段410,在此計(jì)算設(shè)備500可初始化客戶機(jī)應(yīng)用程序并連接到基于瀏覽器的應(yīng)用程序。例如,客戶機(jī)100可以從用戶接收初始化客戶機(jī)應(yīng)用程序250的請(qǐng)求。客戶機(jī)應(yīng)用程序250隨后可根據(jù)諸如URL等與客戶機(jī)應(yīng)用程序250的配置相關(guān)聯(lián)的web位置連接到基于瀏覽器的應(yīng)用程序200。從階段410,方法400可前進(jìn)到階段415,在此計(jì)算設(shè)備500可以確定基于瀏覽器的應(yīng)用程序是否包括任何展示的數(shù)據(jù)和/或功能。例如,基于瀏覽器的應(yīng)用程序200可以執(zhí)行用于向客戶機(jī)應(yīng)用程序250展示數(shù)據(jù)和/或功能的javascript方法。根據(jù)本發(fā)明的各實(shí)施方式,客戶機(jī)應(yīng)用程序250可以解析基于瀏覽器的應(yīng)用程序200的網(wǎng)頁(yè)來(lái)標(biāo)識(shí)任何展示的數(shù)據(jù)和/或功能。如果在階段415標(biāo)識(shí)了所展示的元素,則方法400可前進(jìn)到階段420,在此計(jì)算設(shè)備500可以向客戶機(jī)應(yīng)用程序添加用戶界面元素。例如,客戶機(jī)應(yīng)用程序250可以添加與基于瀏覽器的應(yīng)用程序200的所展示的功能相關(guān)聯(lián)的多個(gè)集成UI元素310 (A) - (B),從而得到集成客戶機(jī)應(yīng)用程序300的用戶界面。集成客戶機(jī)應(yīng)用程序300可以將與客戶機(jī)應(yīng)用程序250相關(guān)聯(lián)的視覺(jué)樣式應(yīng)用于集成UI元素310 (A) - (B),以向集成客戶機(jī)應(yīng)用程序300的用戶提供一致的用戶體驗(yàn)?!碾A段420,或如果在階段415沒(méi)有標(biāo)識(shí)所展示的數(shù)據(jù)和/或功能,則方法400可前進(jìn)到階段425,在此計(jì)算設(shè)備500可以確定是否有任何附加網(wǎng)頁(yè)和/或基于瀏覽器的應(yīng)用程序與客戶機(jī)應(yīng)用程序200相關(guān)聯(lián)。如果有,則方法400可返回到階段415并確定其他頁(yè)面/應(yīng)用程序中的每一個(gè)是否展示要集成到集成客戶機(jī)應(yīng)用程序300的數(shù)據(jù)和/或功能。一旦不需要訪問(wèn)更多的基于瀏覽器的頁(yè)面/應(yīng)用程序來(lái)尋找展示的數(shù)據(jù)/功能,則方法400可前進(jìn)到階段430,在此計(jì)算設(shè)備500可以接收?qǐng)?zhí)行所展示的功能的請(qǐng)求。例如,用戶可以選擇集成Π元素310(A)來(lái)生成報(bào)告。方法400隨后可前進(jìn)到階段435,在此計(jì)算設(shè)備500可確定是否定義了任何預(yù)執(zhí)行功能。例如,集成客戶機(jī)應(yīng)用程序300可以定義執(zhí)行與集成UI元素310(A)相關(guān)聯(lián)的所展示的功能之前的功能,諸如驗(yàn)證所有待決轉(zhuǎn)賬已在財(cái)務(wù)應(yīng)用程序內(nèi)完成。如果定義了預(yù)執(zhí)行功能,則方法400可前進(jìn)到階段440,在此計(jì)算設(shè)備500可以執(zhí)行該預(yù)執(zhí)行功能。例如,集成客戶機(jī)應(yīng)用程序300可以調(diào)用上述驗(yàn)證功能。根據(jù)本發(fā)明的各實(shí)施方式,如果預(yù)執(zhí)行功能失敗,則方法400可在階段470處結(jié)束并向用戶顯示諸如出錯(cuò)和/或失敗通知等消息。在階段400執(zhí)行了預(yù)執(zhí)行功能后,或如果在階段435確定沒(méi)有定義預(yù)執(zhí)行功能,則方法400可前進(jìn)至階段445,在此計(jì)算設(shè)備500可以請(qǐng)求基于瀏覽器的應(yīng)用程序執(zhí)行所展示的功能。例如,集成客戶機(jī)應(yīng)用程序300可以向基于瀏覽器的應(yīng)用程序200發(fā)送調(diào)用所展示的功能的請(qǐng)求。根據(jù)本發(fā)明的各實(shí)施方式,作為接收?qǐng)?zhí)行所展示的功能的請(qǐng)求的補(bǔ)充和/或替換,集成客戶機(jī)應(yīng)用程序300可用于接收對(duì)基于瀏覽器的應(yīng)用程序所展示的數(shù)據(jù)的改變。因此,在階段445,集成客戶機(jī)應(yīng)用程序300可以將對(duì)數(shù)據(jù)的改變通知給基于瀏覽器的應(yīng)用程序200,并且基于瀏覽器的應(yīng)用程序200可以將經(jīng)改變的數(shù)據(jù)保存到與基于瀏覽器的應(yīng)用程序200相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)中。從階段445,方法400可前進(jìn)到階段450,在此計(jì)算設(shè)備500可以接收與對(duì)所展示的功能的調(diào)用相關(guān)聯(lián)的結(jié)果。例如,基于瀏覽器的應(yīng)用程序200可以向集成客戶機(jī)應(yīng)用程序300發(fā)送成功/失敗消息和/或與執(zhí)行該功能相關(guān)聯(lián)的附加數(shù)據(jù)。從階段450,方法400可前進(jìn)到階段455,在此計(jì)算設(shè)備500可以向用戶顯示與對(duì)所展示的功能的調(diào)用相關(guān)聯(lián)的通知。例如,集成客戶機(jī)應(yīng)用程序300可以顯示指示所展示的功能的執(zhí)行已經(jīng)完成的圖標(biāo)、文本顯示、對(duì)話框、和/或其他用戶界面元素,并可以指示在通知中提供的動(dòng)作的成功或失敗。方法400隨后可前進(jìn)到階段460,在此計(jì)算設(shè)備500可確定是否定義了任何后執(zhí)行功能。例如,集成客戶機(jī)應(yīng)用程序300可以定義執(zhí)行了與集成Π元素310(A)相關(guān)聯(lián)的所展示的功能后的功能,諸如創(chuàng)建日志條目。如果定義了后執(zhí)行功能,則方法400可前進(jìn)到階段465,在此計(jì)算設(shè)備500可以執(zhí)行該后執(zhí)行功能。例如,集成客戶機(jī)應(yīng)用程序300可以調(diào)用上述日志記錄功能。在階段465執(zhí)行了后執(zhí)行功能后,或如果在階段460確定沒(méi)有定義后執(zhí)行功能,則方法400在階段470 結(jié)束。根據(jù)本發(fā)明的一實(shí)施方式可包括一種用于提供應(yīng)用程序集成的系統(tǒng)。該系統(tǒng)可包括存儲(chǔ)器存儲(chǔ)和耦合到該存儲(chǔ)器存儲(chǔ)的處理單元。該處理單元可用于執(zhí)行第一應(yīng)用程序,從第一應(yīng)用程序連接到第二應(yīng)用程序,標(biāo)識(shí)與該第二應(yīng)用程序相關(guān)聯(lián)的至少一個(gè)功能,以及在第一應(yīng)用程序內(nèi)顯示與該至少一個(gè)功能相關(guān)聯(lián)的用戶界面元素。該處理單元還可用于標(biāo)識(shí)與該至少一個(gè)功能相關(guān)聯(lián)的動(dòng)作類別,并向用戶界面元素分配與該動(dòng)作類別相關(guān)聯(lián)的視覺(jué)外觀。例如,如果所展示的數(shù)據(jù)包括幫助主題,則處理單元可在幫助菜單內(nèi)向該幫助主題分配一個(gè)位置和/或向可用于訪問(wèn)該幫助主題的UI元素分配問(wèn)號(hào)圖標(biāo)。根據(jù)本發(fā)明的另一實(shí)施方式可包括一種用于提供應(yīng)用程序集成的系統(tǒng)。該系統(tǒng)可包括存儲(chǔ)器存儲(chǔ)和耦合到該存儲(chǔ)器存儲(chǔ)的處理單元。該處理單元可用于初始化第一應(yīng)用程序并確定至少一個(gè)第二應(yīng)用程序是否包括展示的元素。如果是,則處理單元可用于在第一應(yīng)用程序的用戶界面內(nèi)顯示該至少一個(gè)第二應(yīng)用程序的所展示的元素可供該第一應(yīng)用程序的用戶使用的指示。根據(jù)本發(fā)明的又一實(shí)施方式可包括一種用于提供應(yīng)用程序集成的系統(tǒng)。該系統(tǒng)可包括存儲(chǔ)器存儲(chǔ)和耦合到該存儲(chǔ)器存儲(chǔ)的處理單元。該處理單元可用于從基于客戶機(jī)的應(yīng)用程序連接到至少一個(gè)基于瀏覽器的應(yīng)用程序,標(biāo)識(shí)與該至少一個(gè)基于瀏覽器的應(yīng)用程序相關(guān)聯(lián)的至少一個(gè)所展示的功能,在基于客戶機(jī)的應(yīng)用程序內(nèi)顯示與該至少一個(gè)所展示的功能相關(guān)聯(lián)的用戶界面元素,接收?qǐng)?zhí)行該至少一個(gè)所展示的功能的請(qǐng)求,以及確定基于客戶機(jī)的應(yīng)用程序是否包括與該至少一個(gè)所展示的功能相關(guān)聯(lián)的預(yù)執(zhí)行功能。如果基于客戶機(jī)的應(yīng)用程序包括預(yù)執(zhí)行功能,則處理單元可用于執(zhí)行該預(yù)執(zhí)行功能。處理單元隨后可向該至少一個(gè)基于瀏覽器的應(yīng)用程序發(fā)送執(zhí)行該至少一個(gè)所展示的功能的請(qǐng)求,從該至少一個(gè)基于瀏覽器的應(yīng)用程序接收與由該至少一個(gè)基于瀏覽器的應(yīng)用程序執(zhí)行該至少一個(gè)所展示的功能的請(qǐng)求相關(guān)聯(lián)的結(jié)果,向基于客戶機(jī)的應(yīng)用程序的用戶顯示與接收到的結(jié)果相關(guān)聯(lián)的通知,以及確定該基于客戶機(jī)的應(yīng)用程序是否包括與該至少一個(gè)所展示的功能相關(guān)聯(lián)的后執(zhí)行功能。如果是,則處理單元可用于執(zhí)行該后執(zhí)行功能。圖5是包括計(jì)算設(shè)備500的系統(tǒng)的框圖。根據(jù)本發(fā)明的一個(gè)實(shí)施方式,上述存儲(chǔ)器存儲(chǔ)和處理單元可以在諸如圖5的計(jì)算設(shè)備500等計(jì)算設(shè)備中實(shí)現(xiàn)??梢允褂糜布④浖蚬碳娜魏魏线m的組合來(lái)實(shí)現(xiàn)該存儲(chǔ)器存儲(chǔ)和處理單元。例如,存儲(chǔ)器存儲(chǔ)和處理單元可以用計(jì)算設(shè)備500或結(jié)合計(jì)算設(shè)備500的其他計(jì)算設(shè)備518中的任意一個(gè)來(lái)實(shí)現(xiàn)。根據(jù)本發(fā)明的各實(shí)施方式,上述系統(tǒng)、設(shè)備和處理器是示例,而其他系統(tǒng)、設(shè)備和處理器可以包括上述存儲(chǔ)器存儲(chǔ)和處理單元。參考圖5,根據(jù)本發(fā)明的一實(shí)施方式的系統(tǒng)可包括計(jì)算設(shè)備,諸如計(jì)算設(shè)備500。在一基本配置中,計(jì)算設(shè)備500可以包括至少一個(gè)處理單元502和系統(tǒng)存儲(chǔ)器504。取決于計(jì)算設(shè)備的配置和類型,系統(tǒng)存儲(chǔ)器504可以包括,但不限于,易失性存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器(RAM))、非易失性存儲(chǔ)器(例如,只讀存儲(chǔ)器(ROM))、閃存或任何組合。系統(tǒng)存儲(chǔ)器504可以包括操作系統(tǒng)505、一個(gè)或多個(gè)編程模塊506,且可以包括客戶機(jī)應(yīng)用程序507。例如,操作系統(tǒng)505可適用于控制計(jì)算設(shè)備500的操作。在一個(gè)實(shí)施方式中,編程模塊506可包括web瀏覽器應(yīng)用程序520。此外,本發(fā)明的各實(shí)施方式可以結(jié)合圖形庫(kù)、其他操作系統(tǒng)、或任何其他應(yīng)用程序來(lái)實(shí)踐,且不限于任何特定應(yīng)用程序或系統(tǒng)。該基本配置在圖5中由虛線508內(nèi)的組件示出。計(jì)算設(shè)備500還可具有附加特征或功能。例如,計(jì)算設(shè)備500還可包括附加數(shù)據(jù) 存儲(chǔ)設(shè)備(可移動(dòng)和/或不可移動(dòng)),諸如,例如磁盤、光盤或磁帶。這些附加存儲(chǔ)在圖5中由可移動(dòng)存儲(chǔ)509和不可移動(dòng)存儲(chǔ)510示出。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器504、可移動(dòng)存儲(chǔ)509和不可移動(dòng)存儲(chǔ)510都是計(jì)算機(jī)存儲(chǔ)介質(zhì)(即,存儲(chǔ)器存儲(chǔ))的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)可以包括,但不限于,RAM、R0M、電可擦除只讀存儲(chǔ)器(EEPR0M)、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備、或可用于存儲(chǔ)信息且可以由計(jì)算設(shè)備500訪問(wèn)的任何其他介質(zhì)。任何這樣的存儲(chǔ)介質(zhì)都可以是設(shè)備500的一部分并可包括非臨時(shí)性存儲(chǔ)介質(zhì)。計(jì)算設(shè)備500還可以具有輸入設(shè)備512,如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。還可包括諸如顯示器、揚(yáng)聲器、打印機(jī)等輸出設(shè)備514。上述設(shè)備是示例且可以使用其他設(shè)備。計(jì)算設(shè)備500還可包含可允許設(shè)備500諸如通過(guò)例如內(nèi)聯(lián)網(wǎng)或因特網(wǎng)等分布式計(jì)算環(huán)境中的網(wǎng)絡(luò)來(lái)與其他計(jì)算設(shè)備518進(jìn)行通信的通信連接516。通信連接516是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常由諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來(lái)體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”可以描述以對(duì)該信號(hào)中的信息進(jìn)行編碼的方式設(shè)定或者改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接等有線介質(zhì),以及諸如聲學(xué)、射頻(RF)、紅外線和其他無(wú)線介質(zhì)等無(wú)線介質(zhì)。如此處所使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)“可以包括存儲(chǔ)介質(zhì)和通信介質(zhì)兩者。如上所述,可以在系統(tǒng)存儲(chǔ)器504中存儲(chǔ)包括操作系統(tǒng)505在內(nèi)的多個(gè)程序模塊和數(shù)據(jù)文件。當(dāng)在處理單元502上執(zhí)行時(shí),編程模塊506 (例如,web瀏覽器應(yīng)用程序520)可執(zhí)行各個(gè)進(jìn)程,包括例如,如上所述的方法400的各階段中的一個(gè)或多個(gè)。前述進(jìn)程是示例,且處理單元502可執(zhí)行其他進(jìn)程。根據(jù)本發(fā)明的各實(shí)施方式可以使用的其他編程模塊可以包括電子郵件和聯(lián)系人應(yīng)用程序、文字處理應(yīng)用程序、電子表格應(yīng)用程序、數(shù)據(jù)庫(kù)應(yīng)用程序、幻燈片演示應(yīng)用程序、繪圖或計(jì)算機(jī)輔助應(yīng)用程序等。
一般而言,根據(jù)本發(fā)明的各實(shí)施方式,程序模塊可以包括可以執(zhí)行特定任務(wù)或可以實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本發(fā)明的各實(shí)施方式可用其他計(jì)算機(jī)系統(tǒng)配置來(lái)實(shí)踐,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)或可編程消費(fèi)電子產(chǎn)品、小型機(jī)、大型計(jì)算機(jī)等。本發(fā)明的各實(shí)施方式也可以在其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。此外,本發(fā)明的各實(shí)施方式可在包括分立電子元件的電路、包含邏輯門的封裝或集成電子芯片、利用微處理器的電路、或在包含電子元件或微處理器的單個(gè)芯片上實(shí)現(xiàn)。本發(fā)明的各實(shí)施方式還可以使用能夠執(zhí)行諸如,例如,AND (與)、0R (或)和NOT (非)等邏輯運(yùn)算的其他技術(shù)來(lái)實(shí)踐,包括但不限于,機(jī)械、光學(xué)、流體和量子技術(shù)。另外,本發(fā)明的各實(shí)施方式可以在通用計(jì)算機(jī)或任何其他電路或系統(tǒng)中實(shí)現(xiàn)。例如,本發(fā)明的各實(shí)施方式可被實(shí)現(xiàn)為計(jì)算機(jī)進(jìn)程(方法)、計(jì)算系統(tǒng)或諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)等制品。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)系統(tǒng)可讀并編碼了用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)程序產(chǎn)品還可以是計(jì)算 系統(tǒng)可讀并編碼了用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的載波上的傳播信號(hào)。因此,本發(fā)明能以硬件和/或軟件(包括固件、常駐軟件、微碼等)來(lái)具體化。換言之,本發(fā)明的各實(shí)施方式可以采用其上包含有供指令執(zhí)行系統(tǒng)使用或結(jié)合其使用的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式。計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是可包含、存儲(chǔ)、通信、傳播、或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或結(jié)合其使用的任何介質(zhì)。計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是,例如,但不限于,電、磁、光、電磁、紅外、或半導(dǎo)體系統(tǒng)、裝置、設(shè)備或傳播介質(zhì)。更具體的計(jì)算機(jī)可讀介質(zhì)示例(非窮盡列表),計(jì)算機(jī)可讀介質(zhì)可以包括以下具有一條或多條導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、和便攜式壓縮盤只讀存儲(chǔ)器(CD-ROM)。注意,計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)甚至可以是其上打印有程序的紙張或另一合適的介質(zhì),因?yàn)槌绦蚩梢越?jīng)由例如對(duì)紙張或其他介質(zhì)的光學(xué)掃描而電子地捕獲,隨后如有必要被編譯、解釋,或以其他合適的方式處理,并隨后存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。以上參考例如根據(jù)本發(fā)明的各實(shí)施方式的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的框圖和/或操作圖示描述了本發(fā)明的各實(shí)施方式??蛑兴⒚鞯母鞴δ?動(dòng)作可以按不同于任何流程圖所示的次序出現(xiàn)。例如,取決于所涉及的功能/動(dòng)作,連續(xù)示出的兩個(gè)框?qū)嶋H上可以基本上同時(shí)執(zhí)行,或者這些框有時(shí)可以按相反的次序來(lái)執(zhí)行。盡管已經(jīng)描述了本發(fā)明的某些實(shí)施方式,但也可能存在其他實(shí)施方式。此外,雖然本發(fā)明的各實(shí)施方式被描述為與存儲(chǔ)在存儲(chǔ)器和其他存儲(chǔ)介質(zhì)中的數(shù)據(jù)相關(guān)聯(lián),但數(shù)據(jù)還可以被存儲(chǔ)在或讀取自其他類型的計(jì)算機(jī)可讀介質(zhì),如輔助存儲(chǔ)設(shè)備,像硬盤、軟盤、或CD-ROM ;來(lái)自因特網(wǎng)的載波;或其他形式的RAM或ROM。此外,所公開(kāi)的各方法的各階段可以按任何方式來(lái)修改,包括通過(guò)對(duì)各階段重新排序和/或插入或刪除階段,而不背離本發(fā)明。包括此處所包括的代碼中的版權(quán)在內(nèi)的所有權(quán)利都?xì)w屬于申請(qǐng)人并且是本申請(qǐng)人的財(cái)產(chǎn)。申請(qǐng)人保持并保留此處所包括的代碼中的所有權(quán)利,并授予僅關(guān)于所授權(quán)的專利的再現(xiàn)且未出于其他目的再現(xiàn)該材料的許可。雖然本說(shuō)明書(shū)包括各示例,但本發(fā)明的范圍由所附權(quán)利要求書(shū)來(lái)指示。此外,盡管用對(duì)結(jié)構(gòu)特征和 /或方法動(dòng)作專用的語(yǔ)言描述了本說(shuō)明書(shū),但權(quán)利要求書(shū)并不限于上述特征或動(dòng)作。相反,上述具體特征和動(dòng)作是作為本發(fā)明的各實(shí)施方式的示例來(lái)公開(kāi)的。
權(quán)利要求
1.一種用于提供應(yīng)用程序集成的方法,所述方法包括 執(zhí)行第一應(yīng)用程序; 從所述第一應(yīng)用程序連接到第二應(yīng)用程序; 標(biāo)識(shí)與所述第二應(yīng)用 程序相關(guān)聯(lián)的至少一個(gè)功能;以及 在所述第一應(yīng)用程序內(nèi)顯示與所述至少一個(gè)功能相關(guān)聯(lián)的用戶界面元素。
2.如權(quán)利要求I所述的方法,其特征在于,還包括 接收所述第一應(yīng)用程序的用戶對(duì)所顯示的用戶界面元素的選擇;以及 調(diào)用與所述第二應(yīng)用程序相關(guān)聯(lián)的所述至少一個(gè)功能。
3.如權(quán)利要求3所述的方法,其特征在于,還包括 確定至少一個(gè)第二功能是否由所述第一應(yīng)用程序提供并與調(diào)用所述至少一個(gè)功能相關(guān)聯(lián);以及 響應(yīng)于確定至少一個(gè)第二功能由所述第一應(yīng)用程序提供并與調(diào)用所述至少一個(gè)功能相關(guān)聯(lián),所述第一應(yīng)用程序調(diào)用所述至少一個(gè)第二功能。
4.如權(quán)利要求3所述的方法,其特征在于,還包括 所述第一應(yīng)用程序從所述第二應(yīng)用程序接收結(jié)果通知;以及 向所述第一應(yīng)用程序的用戶顯示結(jié)果通知。
5.如權(quán)利要求I所述的方法,其特征在于,在所述第一應(yīng)用程序內(nèi)顯示與所述至少一個(gè)功能相關(guān)聯(lián)的用戶界面元素包括 標(biāo)識(shí)與所述至少一個(gè)功能相關(guān)聯(lián)的動(dòng)作類別;以及 向所述用戶界面元素分配與所述動(dòng)作類別相關(guān)聯(lián)的視覺(jué)外觀。
6.一種存儲(chǔ)一組指令的計(jì)算機(jī)可讀介質(zhì),所述一組指令在被執(zhí)行時(shí)執(zhí)行一種用于提供應(yīng)用程序集成的方法,由所述一組指令執(zhí)行的方法包括 初始化第一應(yīng)用程序; 確定至少一個(gè)第二應(yīng)用程序是否包括所展示的元素;以及 響應(yīng)于確定所述至少一個(gè)第二應(yīng)用程序包括所展示的元素,在所述第一應(yīng)用程序的用戶界面內(nèi)顯示所述至少一個(gè)第二應(yīng)用程序的所展示的元素可供所述第一應(yīng)用程序的用戶使用的指示。
7.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括 接收所述第一應(yīng)用程序的用戶所請(qǐng)求的動(dòng)作; 確定所述第一應(yīng)用程序的用戶所請(qǐng)求的動(dòng)作是否包括對(duì)所展示的元素的改變,其中所展示的元素包括數(shù)據(jù)元素;以及 響應(yīng)于確定所述第一應(yīng)用程序的用戶所請(qǐng)求的動(dòng)作包括對(duì)所述數(shù)據(jù)元素的改變,將對(duì)所述數(shù)據(jù)元素的改變通知給所述至少一個(gè)第二應(yīng)用程序。
8.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所展示的元素包括幫助主題。
9.如權(quán)利要求8所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,在所述第一應(yīng)用程序的用戶界面內(nèi)顯示所述至少一個(gè)第二應(yīng)用程序的所展示的元素可供所述第一應(yīng)用程序的用戶使用的指示包括將所述幫助主題添加到與所述第一應(yīng)用程序相關(guān)聯(lián)的幫助菜單。
10.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,所展示的元素包括功能。
11.如權(quán)利要求10所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,在所述第一應(yīng)用程序的用戶界面內(nèi)顯示所述至少一個(gè)第二應(yīng)用程序的所展示的元素可供所述第一應(yīng)用程序的用戶使用的指示包括將至少一個(gè)動(dòng)作元素添加到與所述第一應(yīng)用程序相關(guān)聯(lián)的用戶界面。
12.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括 接收所述第一應(yīng)用程序的用戶對(duì)所述至少一個(gè)動(dòng)作元素的選擇;以及 調(diào)用所述至少一個(gè)第二應(yīng)用程序上的功能。
13.如權(quán)利要求12所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括 響應(yīng)于調(diào)用所述功能,從所述至少一個(gè)第二應(yīng)用程序接收結(jié)果通知;以及向所述第一應(yīng)用程序的用戶顯示與從所述至少一個(gè)第二應(yīng)用程序接收到的結(jié)果通知相關(guān)聯(lián)的消息。
14.如權(quán)利要求6所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,還包括 標(biāo)識(shí)多個(gè)所展示的元素,其中所述多個(gè)所展示的元素中的每一個(gè)與多個(gè)基于瀏覽器的應(yīng)用程序中的至少一個(gè)相關(guān)聯(lián);以及 在所述第一應(yīng)用程序的用戶界面內(nèi)創(chuàng)建與所述多個(gè)所展示的元素中的每一個(gè)相關(guān)聯(lián)的元素。
15.一種用于提供應(yīng)用程序集成的系統(tǒng),所述系統(tǒng)包括 存儲(chǔ)器存儲(chǔ);以及 耦合到所述存儲(chǔ)器存儲(chǔ)的處理單元,其中所述處理單元用于 從基于客戶機(jī)的應(yīng)用程序連接到至少一個(gè)基于瀏覽器的應(yīng)用程序, 標(biāo)識(shí)與所述至少一個(gè)基于瀏覽器的應(yīng)用程序相關(guān)聯(lián)的至少一個(gè)所展示的功能, 在所述基于客戶機(jī)的應(yīng)用程序內(nèi)顯示用戶界面元素,其中所述用戶界面元素與所述至少一個(gè)所展示的功能相關(guān)聯(lián), 經(jīng)由所述用戶界面元素從所述基于客戶機(jī)的應(yīng)用程序的用戶接收對(duì)執(zhí)行所述至少一個(gè)所展示的功能的請(qǐng)求, 確定所述基于客戶機(jī)的應(yīng)用程序是否包括與所述至少一個(gè)所展示的功能相關(guān)聯(lián)的預(yù)執(zhí)行功能, 響應(yīng)于確定所述基于客戶機(jī)的應(yīng)用程序包括與所述至少一個(gè)所展示的功能相關(guān)聯(lián)的預(yù)執(zhí)行功能,執(zhí)行所述預(yù)執(zhí)行功能, 向所述至少一個(gè)基于瀏覽器的應(yīng)用程序發(fā)送執(zhí)行所述至少一個(gè)所展示的功能的請(qǐng)求,從所述至少一個(gè)基于瀏覽器的應(yīng)用程序接收與由所述至少一個(gè)基于瀏覽器的應(yīng)用程序執(zhí)行所述至少一個(gè)所展示的功能的請(qǐng)求相關(guān)聯(lián)的結(jié)果, 向所述基于客戶機(jī)的應(yīng)用程序的用戶顯示與所接收到的結(jié)果相關(guān)聯(lián)的通知, 確定所述基于客戶機(jī)的應(yīng)用程序是否包括與所述至少一個(gè)所展示的功能相關(guān)聯(lián)的后執(zhí)行功能,以及 響應(yīng)于確定所述基于客戶機(jī)的應(yīng)用程序包括與所述至少一個(gè)所展示的功能相關(guān)聯(lián)的后執(zhí)行功能,執(zhí)行所述后執(zhí)行功能。
全文摘要
提供了應(yīng)用程序集成。第一應(yīng)用程序可以在客戶機(jī)計(jì)算機(jī)上執(zhí)行。該第一應(yīng)用程序可連接到諸如基于瀏覽器的應(yīng)用程序等第二應(yīng)用程序。該第一應(yīng)用程序可以標(biāo)識(shí)與第二應(yīng)用程序相關(guān)聯(lián)的至少一個(gè)功能,并在該第一應(yīng)用程序內(nèi)顯示與該至少一個(gè)功能相關(guān)聯(lián)的用戶界面元素。
文檔編號(hào)G06F9/44GK102884507SQ201180020848
公開(kāi)日2013年1月16日 申請(qǐng)日期2011年4月11日 優(yōu)先權(quán)日2010年4月28日
發(fā)明者司馬云瑞, 陳宏 , 董穎濤, 張繼超 申請(qǐng)人:微軟公司