第三方應用通信api的制作方法
【技術領域】
[0001 ] 本發明涉及尤其包含第三方應用的在線應用以及它們的使用。
【背景技術】
[0002]存在許多商業可用網站建設系統以及能夠用于創建和編輯網站和其它在線應用的其它交互式應用建設工具。終端用戶能夠使用在多種不同平臺(例如,常規的個人計算機、智能電話、平板計算機和其它臺式或移動設備)上的客戶端軟件訪問這種網站。
[0003]這些網站建設系統可以是不同的配置,例如完全在線網站建設系統,其托管(host)在與互聯網連接的一個或多個服務器上,并且利用互聯網通信協議(例如,超文本傳輸協議(HTTP))對其進行訪問。創建、編輯和部署這些網站建設系統都是在線通過服務器直接工作執行的。
[0004]網站建設系統還可以部分在線或甚至有時完全離線。對于部分在線系統,在用戶的機器上本地執行網站編輯并稍后將其上傳到中央服務器或多個服務器進行部署。一旦上傳,這些網站建設系統以與完全在線網站建設系統相同的方式起作用。
[0005]網站建設系統具有內部數據架構,以便在系統內組織數據和元素。該架構可能與用戶所看到的正在討論的網站的外部視圖不同,并且還可能與將典型的超文本標記語言(HTML)頁面發送給瀏覽器的方式不同。例如,內部數據架構能夠包含頁面上每個元素的額外屬性(創建器、創建時間、訪問許可、到模板的鏈接等),其對于編輯和維護網站建設系統內的網站是重要的,但是對終端用戶(甚至對一些編輯用戶)不是外部可見的。用于基于網站建設系統的網站的典型架構可以由包含組件(例如,形狀組件、圖片組件、文本組件、包含迷你頁的單頁面和多頁面容器,等)的頁面組成。
[0006]組件可以是無內容的(content-less),例如星形,其不具有任何內部內容(盡管其具有顏色、尺寸、位置和一些其它屬性),或者可以具有內部內容(例如文本圖形組件),其內部內容包括所顯示的文本,以及字體、格式和布局信息。當然,該內容在文本圖形組件的例子之間可以是不同的。
[0007]利用這種網站建設系統的設計者可以根據草稿(以空白屏開始)設計出新的創建,或者可以依賴于設計者自己、系統創建者或設計者團隊所創建的預先定義的應用模板。網站建設系統可以支持僅僅是組件集合的模板,完成頁面(或迷你頁面)或者甚至是頁面集合并完成網站。
[0008]當提供了應用模板時,設計者能夠隨意進行定制一添加、移除或修改模板的所有元件以創建他或她的版本的模板。可以通過創建可修改版本的模板(其與模板有區別且分離)來實現這種定制。可選地,網站建設系統可以通過繼承類型機制(其保持到原始模板的鏈接)來應用定制,因此反應對模板做出的后期改變。
[0009]還可以利用第三方應用和嵌入其中的組件來擴展網站建設系統。這種第三方應用可以包含于網站建設系統設計環境中,或者可以單獨地通過多個分布機構購買(或獲得),例如從集成到網站建設系統中的應用程序商店(AppStore),或者從網站建設系統(WBS)供應商或另一實體所操作的單獨的基于網絡或獨立的應用倉庫(或AppStore)。第三方應用還可以直接從第三方應用供應商(通過或不通過AppStore)直接獲得一這將提供實際的安裝模塊,或者僅是激活或訪問代碼。
[0010]第三方應用可以包括前端(顯示)元件與后端辦公元件(其不是視覺網站顯示的一部分)的任意組合。第三方應用可以全部是后端辦公(即,不包括顯示元件)、全部是前端(即,僅在網站使用上下文中被激活)或者是兩者的組合。
[0011]第三方應用的后端辦公元件可以包括例如數據庫通信、外部更新選項等的功能。例如,博客第三方應用可以包括后端辦公元件,其允許從非人類源(例如,來自主要新聞服務的RSS新聞饋送)以及從與網站不相關的人類源(例如,允許提交博客條目的獨立的智能電話應用)接收更新。
[0012]可以用多種方式實現將第三方應用的視覺元件集成到包含的網站。微件型(widget-type)第三方應用可以作為組件嵌入到網站頁面中,而區段型第三方應用可以作為額外的一個或多個頁面添加到網站。
[0013]此外,第三方應用(微件和區段)可以是單頁面第三方應用或多頁面第三方應用(其具有表示為內部URL結構的內部迷你頁面)。系統可以實現任一個或所有四個可能的組合(微件或區段、單頁面或多頁面)。
[0014]多頁面第三方應用通常提供默認的“登陸”迷你頁面,其可以是開始頁面、特定內部迷你頁面(例如,在博客第三方應用中最近的博客條目)、迷你頁面選擇屏或一些其它的迷你頁面。
[0015]通過第三方應用實例來實現在基于網站建設系統的網站中使用第三方應用。網站建設系統可以支持多個層級的第三方應用的多種使用,例如允許單個第三方應用實例在整個網站,允許多個第三方應用的實例創建于網站內部(但是不多于任意給定的第三方應用的一個實例),以及允許創建多個第三方應用的多個實例,但不多于每個給定頁面一個實例。還可以允許組件第三方應用而不是區段第三方應用的每個頁面多個實例,并且還可以允許創建多個第三方應用的多個實例,而沒有對第三方應用實例的量、多樣性或位置的任何限制。
[0016]第三方應用實例可以具有實例特定內容。例如,電子商店第三方應用可以具有與特定實例相關聯的產品數據庫,其不同于與相同電子商店第三方應用(在相同位置或其它位置)的其它實例相關聯的產品數據庫。
[0017]出于討論的目的,包含第三方應用及其迷你頁面或元件(即,“包裝頁面”)的網站頁面(或迷你頁面)應該被認為是包含網頁并對于整個網站而言是主網站。顯示給用戶的集成頁面(包括主頁面和嵌入的TPA迷你頁面/組件)應被稱作組合頁面。對于區段型第三方應用,包含第三方應用的“虛擬頁面”將用作包含網絡頁面。
[0018]第三方應用通常部署在網站建設系統供應商服務器上、在第三方應用供應商服務器上、在外部(第四方)服務器上,或其任意組合。第三方應用還可以包括實際在終端用戶機器上運行的元件,例如靜態安裝的瀏覽器擴展或在網站建設系統客戶端代碼中運行的動態運行JavaScript組件,如現在引用的圖1所示。
[0019]網站建設系統供應商的服務器用作終端用戶的接觸點,并對應于請求(可能連接到第三方應用供應商的服務器上以接收所請求的信息)。網站建設系統例如當要求視頻流時,可以創建客戶端計算機和第三方應用供應商的服務器之間的直接連接(根據需要)。
[0020]所包含的第三方應用實例可以具有自己的內部內容,類似于常規組件包括內部內容的方式。第三方應用可以獨立于網站建設系統管理以及利用網站建設系統所生成的網站來管理該內容,如現在引用的圖2所示。(單個或多個第三方應用的)多個第三方應用實例可以具有共享的內容,例如在兩個單獨網站頁面中的兩個電子商店實例可以指同一產品數據庫。
[0021]所包含的第三方應用的輸出可以以多種方式集成到包含網絡頁面,例如:
[0022]服務器側處理:在現在引用的圖3中所示的該變型中,通過在第三方應用供應商的服務器[d]上運行的第三方應用服務器代碼[c],合并第三方應用[a](包括設計和顯示元件)和用戶特定第三方應用數據[b]。它們被通過通信介質[e]發送到網站建設系統服務器代碼[f],該網站建設系統服務器代碼[f]將其與包含網絡頁面信息[g]合并,并隨后發送它們以在用戶客戶端站[h]上顯示。
[0023]客戶端側處理:在現在引用的圖4中所示的該變型中,通過在第三方應用供應商的服務器[d]上運行的第三方應用服務器代碼[c],合并第三方應用[a](包括設計和顯示元件)和用戶特定第三方應用數據[b]。它們被通過通信介質[e]發送到客戶端側處理組件[h]。網站建設系統服務器代碼[f]將包含網絡頁面信息[g]發送給該客戶端側處理組件[h]。客戶端側處理組件[h]執行信息的兩個源的合并,并向瀏覽器(或其它客戶端代理)[i]呈現統一的應用。
[0024]IFrame包含:在現在引用的圖5中所示的該變型中,通過在第三方應用供應商的服務器[d]上運行的第三方應用服務器代碼[c],合并第三方應用[a](包括設計和顯示元件)和用戶特定第三方應用數據[b]。它們被通過通信介質[e]發送到在用戶代理(例如,網絡瀏覽器)[i]中運行的基于瀏覽器的應用[h]。網站建設系統服務器代碼[f]將包含網絡頁面信息[g]發送給該基于瀏覽器的應用[h]。包含網絡頁面被實現為如下的網絡頁面,其包含包括來自第三方應用服務器[d]的內容的一個或多個iframe指示。額外的和可選的方法也是可以適用的。
【發明內容】
[0025]根據本發明的優選實施例,提供一種用于網站建設系統的設備。所述設備包括:頁面編寫器,用于創建包含至少一個第三方應用的網站實例的頁面;以及配置器,用于定義在所述頁面和所述至少一個第三方應用之間或在所述至少一個第三方應用和至少一個其它第三方應用之間的雙向通信反向信道。所述設備還包括協調器,用于在查看或訪問所述頁面時,根據所述通信反向信道協調通信。
[0026]此外,根據本發明的優選實施例,所述設備實現于客戶端上。
[0027]此外,根據本發明的優選實施例,所述設備實現于服務器上。
[0028]另外,根據本發明的優選實施例,所述通信反向信道是以下中的至少一個:HTML5 (超文本標記語言5) PostMessage、消息的URL片段標識符、特定通信網絡服務、HTML5本地存儲、HTML5本地文件系統訪問API以及特定瀏覽器插件。
[0029]另外,根據本發明的優選實施例,所述協調器利用iframe嵌入在所述頁面中。
[0030]此外,根據本發明的優選實施例,所述至少一個第三方應用利用iframe嵌入到所述頁面中。
[0031]此外,根據本發明的優選實施例,所述至少一個第三方應用是多部分第三方應用和模塊化第三方應用兩者中的至少一個。
[0032]此外,根據本發明的優選實施例,所述協調器包括配置管理器,用于監控預先定義的所述至少一個第三方應用實例。
[0033]另外,根據本發明的優選實施例,所述協調器包括智能標識符和尋址器,用于識別并轉換所述通信的源或目標的符號地址和絕對地址。
[0034]此外,根據本發明的優選實施例,所述協調器包括通信策略實施器,用于在所述網站建設系統和所述至少一個第三方應用之間實施通信策略。
[0035]此外,根據本發明的優選實施例,所述協調器包括重定向器,用于在所述網站建設系統內將通信消息重路由到所述至少一個第三方應用以及從所述至少一個第三方應用重路由通信消息。
[0036]此外,根據本發明的優選實施例,所述協調器包括發起者驗證器,用于驗證來自所述至少一個第三方應用的消息的真實性。
[0037]另外,根據本發明的優選實施例,所述協調器包括協議轉換器,用于解決在所述網站建設系統和所述至少一個第三方應用之間以及在所述第三方應用和所述至少一個其它第三方應用之間的協議兼容性問題。
[0038]此外,根據本發明的優選實施例,所述協調器包括動態布局更新器,用于更新以下之間的動態布局改變:至少一個所述頁面和所述至少一個第三方應用、所述至少一個第三方應用和所述頁面、以及所述至少一個第三方應用和所述至少一個其它第三方應用。
[0039]此外,根據本發明的優選實施例,所述協調器包括更新器,用于更新以下中的至少一個:所述網站建設系統的全局屬性,所述至少一個第三方應用的控制許可,以及所述頁面的元件的布局、風格和內容。
[0040]根據本發明的優選實施例,提供了一種用于網站建設系統的設備,所述設備包括:第三方應用接收器,用于從外部源接收至少一個網站建設系統模板,其中第三方應用與所述至少一個網站建設系統模板相關聯。所述設備還包括安裝器,用于當在所述頁面中創建所述至少一個第三方應用的實例時,將所述模板安裝到網站頁面。
[0041]此外,根據本發明的優選實施例,所述設備實現于服務器和客戶端兩者中的至少一個上。
[0042]此外,根據本發明的優選實施例,所述模板是可編輯的。
[0043]此外,根據本發明的優選實施例,所述模板包含所述網站建設系統組件和多部分第三方應用中的至少一個。
[0044]另外,根據本發明的優選實施例,所述網站頁面是以下中的至少一個:現有頁面、現有迷你頁面、新創建的頁面以及新創建的迷你頁面。
[0045]此外,根據本發明的優選實施例,所述接收器保持參考完整性,并執行在所述至少一個第三方應用和所述頁面之間的接口方案。
[0046]根據本發明的優選實施例,提供一種用于網站建設系統的方法。所述方法包括:創建包含至少一個第三方應用的網站實例的頁面;以及定義在所述頁面和所述至少一個第三方應用之間或在所述至少一個第三方應