TW201621719A - 用於元資料驅動的使用者介面架構之系統及方法 - Google Patents
用於元資料驅動的使用者介面架構之系統及方法 Download PDFInfo
- Publication number
- TW201621719A TW201621719A TW104129322A TW104129322A TW201621719A TW 201621719 A TW201621719 A TW 201621719A TW 104129322 A TW104129322 A TW 104129322A TW 104129322 A TW104129322 A TW 104129322A TW 201621719 A TW201621719 A TW 201621719A
- Authority
- TW
- Taiwan
- Prior art keywords
- metadata
- activity
- web application
- request
- client
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
揭示的是提供用於網路應用程式之元資料驅動的使用者介面之方法和系統。系統包括主機構件、元資料解譯器(metadata interpreter)、呈現引擎(rendering engine)、回應構件。主機構件建構成從客戶端接收對於至少部分網路應用程式的請求。元資料解譯器建構成擷取描述網路應用程式之使用者介面的元資料。呈現引擎建構成基於元資料而呈現初始螢幕。初始螢幕是用於由客戶端來顯示相關於網路應用程式之活動。回應構件建構成發送元資料和初始螢幕給客戶端。
Description
本案關於以元資料來生成網路應用程式使用者介面(user interface,UI)的系統和方法。
網路應用程式允許軟體寄宿在伺服器上並且在客戶端裝置上存取和執行。舉例而言,網路應用程式一般而言包括可以在網路瀏覽器中執行的軟體。當把軟體分散和安裝在任何潛在的客戶端裝置上而變得困難或有負擔時,網路應用程式是特別有幫助的。舉例而言,網路應用程式可以在單一位置(譬如伺服器)來維持和更新,使得任何具有瀏覽器的客戶端可以存取和使用網路應用程式。
傳統的網路應用程式使用者介面(UI)是靜態的意義在於它們僅可以由具有對網路應用程式原始碼或檔案加以存取的開發者來改變。舉例而言,開發者必須將網路應用程式UI硬編碼。於某些情形,不同的承租者(譬如不同的商業個體或客戶端)可以想要有獨特的UI,包括UI導覽、程序或過程的群組化和類似者。為了提供獨特的UI,程式人員或開發者必須修改碼,這可以造成用於使用者之新的網路應用程式。於某些情形,用於每個承租者的獨特外觀和感覺可以是可能的而不用廣泛的編碼。然而,許多承租者想要將不同的程序群組在一起、程序以不同的次序來進行、經
過網路應用程式之不同的導覽或流程、或對網路應用程式UI之其他功能上而非美觀的改變。實施功能的和導覽的改變可以是特別昂貴,導致更大的寄宿和更大的程式化成本。因此,當成本有所禁止時,承租者常常卡在開發者已經判定將是最符合多數潛在承租者或客戶端之需求的UI功能性。
申請人已體認到需要(並且在此揭示)產生用於網路應用程式的UI而不須為了UI修改而硬編碼的系統和方法。本案揭示基於元資料而產生網路應用程式UI的系統、方法和設備。根據一具體態樣,伺服系統包括主機構件、元資料解譯器、呈現引擎、回應構件。主機構件建構成從客戶端接收對於至少部分網路應用程式的請求。元資料解譯器建構成擷取描述網路應用程式之UI的元資料。呈現引擎建構成基於元資料來呈現初始螢幕。初始螢幕包括由相關於網路應用程式的活動之客戶端來顯示的螢幕。回應構件建構成發送元資料和初始螢幕給客戶端。
根據另一具體態樣,客戶端系統包括請求構件、接收器構件、顯示構件、元資料解譯器。請求構件建構成發送對於至少部分網路應用程式的請求給伺服器。接收器構件建構成從伺服器接收對於請求的回應。回應包括描述網路應用程式之UI和用於初始螢幕之UI資產的元資料。顯示構件建構成在顯示器上顯示初始螢幕,並且元資料解譯器建構成處理元資料以提供用於網路應用程式的運轉時間操作。
100‧‧‧系統
102‧‧‧伺服器系統
104‧‧‧客戶端
106‧‧‧網路
202‧‧‧主機構件
204‧‧‧元資料解譯器
206‧‧‧呈現引擎
208‧‧‧回應構件
210‧‧‧網路應用程式使用者介面(UI)元資料儲存器
212‧‧‧核心活動類型儲存器
302‧‧‧請求構件
304‧‧‧接收器構件
306‧‧‧顯示構件
308‧‧‧網路瀏覽器
400‧‧‧活動階層
402~416‧‧‧活動
500‧‧‧方法
502~512‧‧‧步驟
600‧‧‧方法
602~610‧‧‧步驟
圖1是根據一具體態樣而提供元資料驅動的UI之系統的方塊圖。
圖2是根據一具體態樣而提供元資料驅動的UI之伺服器系統的示意方塊圖。
圖3是根據一具體態樣而提供元資料驅動的UI之客戶端的示意方塊圖。
圖4是根據一具體態樣而示範活動階層的方塊圖。
圖5是根據一具體態樣而提供元資料驅動的UI之方法的流程圖。
圖6是根據一具體態樣而提供元資料驅動的UI之另一方法的流程圖。
本揭示的具體態樣將藉由參考圖式而最好理解,其中全篇相同的元件被指定為相同的元件符號。於以下敘述,提供了許多特定的細節以徹底了解在此所述的具體態樣。然而,熟於此技藝者將體認到可以省略一或更多個特定的細節,或者可以使用其他的方法、構件或材料。於某些情形,沒有詳細顯示或描述操作以便避免模糊了本揭示更重要的方面。
此外,所述的特色、操作或特徵可以採取任何適合的方式而組合成一或更多個具體態樣。也將輕易了解關於揭示之具體態樣所述的方法之步驟或動作的次序可以改變,如熟於此技藝者會明白。因此,圖式或【實施方式】中的任何次序僅是為了示範,而不意謂要暗示所需的次序,除非指定需要次序。
具體態樣可以包括多樣的步驟,其可以具體實現成機器可執行的指令以由電腦系統所執行。電腦系統包括一或更多個通用或特用的電
腦(或其他電子裝置)。替代而言,電腦系統可以包括硬體構件,其包括特定的邏輯來進行步驟或者包括硬體、軟體和/或韌體的組合。
具體態樣也可以提供成電腦程式產品,其包括電腦可讀取的媒體而上面具有儲存的指令,而可以用於將電腦系統或其他電子裝置程式化以進行在此所述的過程。電腦可讀取的媒體可以包括但不限於:硬碟、軟碟、光碟、CD ROM、DVD ROM、ROM、RAM、EPROM、EEPROM、磁卡或光學卡、固態記憶裝置、或適合儲存電子指令之其他類型的媒體/電腦可讀取的媒體。
電腦系統和電腦系統中的電腦可以經由網路而連接。適合如在此所述之組態和/或用途的網路包括一或更多個區域網路、廣域網路、都會區域網路和/或網際網路或IP網路,例如全球資訊網、私人網際網路、安全網際網路、加值網路、虛擬私人網路、企業外網、企業內網、或甚至是獨立機器(其藉由實體傳輸媒體來與其他機器通訊,即所謂的「暗網」(sneakernet))。尤其,適合的網路可以由二或更多個其他網路的部分或整體所形成,包括使用不同硬體和網路通訊科技的網路。
一種適合的網路包括伺服器和幾個客戶端;其他適合的網路可以包含伺服器、客戶端和/或點對點節點的其他組合,並且給定的電腦系統之功能可以同時作為客戶端和伺服器。每個網路包括至少二個電腦或電腦系統,例如伺服器和/或客戶端。電腦系統可以包括工作站、膝上型電腦、可斷連的行動電腦、伺服器、大型電腦、叢集式電腦、所謂的「網路電腦」或「簡易終端機」(thin client)、平板、智慧型電話、個人數位助理或其他手持式計算裝置、「智慧型」消費者電子裝置或設備、醫療裝置或其組合。
網路可以包括通訊或連網軟體,例如可得自Novell、Microsoft、Artisoft和其他供應商的軟體,並且可以使用TCP/IP、SPX、IPX和其他協定而經由雙扭的或同軸的或光纖的纜線、電話線、衛星、微波中繼站、調變的交流(AC)電力線、實體的媒體轉移和/或熟於此技藝者已知的其他資料傳輸「線」(wire)來操作。網路可以涵蓋較小的網路以及/或者能夠經由閘道或類似的機制而連接到其他網路。
每個電腦系統至少包括處理器和記憶體;電腦系統也可以包括多樣的輸入裝置和/或輸出裝置。處理器可以包括通用裝置,例如Intel®、AMD®或其他「現有的」(off-the-shelf)微處理器。處理器可以包括特用處理裝置,例如ASIC、SoC、SiP、FPGA、PAL、PLA、FPLA、PLD或其他客製化或可程式化的裝置。記憶體可以包括靜態RAM、動態RAM、快閃記憶體、一或更多個正反器、ROM、CD-ROM、磁碟、磁帶、磁性記憶體、光學記憶體或其他的電腦儲存媒體。(多個)輸入裝置可以包括具有伴隨之韌體和/或軟體的鍵盤、滑鼠、觸控螢幕、光筆、平板、麥克風、感測器或其他硬體。(多個)輸出裝置可以包括具有伴隨之韌體和/或軟體的監視器或其他顯示器、印表機、語音或文字合成器、切換、訊號線或其他硬體。
電腦系統可以能夠使用軟碟機、磁帶機、光學機、磁光學機或其他手段來讀取儲存媒體。適合的儲存媒體包括具有特定實體組態的磁性、光學或其他電腦可讀取的儲存裝置。適合的儲存裝置包括軟碟、硬碟、磁帶、CD-ROM、DVD、PROM、RAM、快閃記憶體和其他的電腦系統儲存裝置。實體組態代表資料和指令,其使電腦系統以特定的和預先界定的方式來操作,如在此所述。
適合輔助實施本發明的的軟體是由熟於相關(多個)技藝的人士使用在此呈現的教導和程式語言及工具而輕易提供,該等程式語言及工具例如Java、Pascal、C++、C、資料庫語言、API、SDK、組合語言、韌體、微碼和/或其他語言及工具。適合的訊號格式可以具體實現成類比或數位的形式,而有或沒有熟於相關(多個)技藝的人士所輕易提供的錯誤偵測和/或修正位元、封包首部、特定格式的網路位址和/或其他支援資料。
所述具體態樣的幾個方面將示範成軟體模組或構件。如在此所用,軟體模組或構件可以包括位在記憶裝置裡之任何類型的電腦指令或電腦可執行的碼。軟體模組舉例來說可以包括電腦指令的一或更多個實體或邏輯區塊,其可以組織成常式、程式、物件、構件、資料結構……而進行一或更多個任務或實施特殊的抽象資料類型。
於特定的具體態樣,特殊的軟體模組可以包括儲存於記憶裝置的不同位置、不同的記憶裝置或不同的電腦之不同的指令,其一起實施所述之模組的功能性。的確,模組可以包括單一指令或許多指令,並且可以分散在幾個不同的碼區段、在不同的程式之間、跨越幾個記憶裝置。某些具體態樣可以實施於分散式計算環境,其中任務是由透過通訊網路所連結的遠端處理裝置來進行。於分散式計算環境,軟體模組可以位在本地和/或遠端的記憶儲存裝置。附帶而言,資料庫紀錄中被連結或呈現在一起的資料可以駐留在相同的記憶裝置中或跨越幾個記憶裝置,並且可以在跨越網路之資料庫的紀錄欄位中連結在一起。
根據本發明所可以使用的多數基礎架構已經是可得的,例如:通用電腦、電腦程式化工具和技術、電腦網路和連網科技、數位儲存
媒體、認證、存取控制以及由公開密鑰、加密、防火牆和/或其他手段所提供的其他安全工具和技術。
圖1是示範用於提供元資料驅動的UI之系統100的示意圖解。系統100包括伺服器系統102和客戶端104,它們在網路106上通訊。於一具體態樣,網路106可以包括多個網路,包括區域網路(LAN)、廣域網路(WAN)、網際網路或別的網路或通訊連接當中一或更多者。於一具體態樣,系統100可以用於提供用於網路應用程式之元資料驅動的UI,其中UI的行為基於元資料而產生。
伺服器系統102可以包括寄宿了網路應用程式的計算裝置或計算系統。伺服器系統102可以包括架置式伺服器或其他計算裝置,其可以由在網路106上的一或更多個客戶端104所存取。舉例而言,伺服器系統102可以在網際網路上是可存取的。於一具體態樣,伺服器系統102在允許存取網路應用程式之前可以要求授權。
於一具體態樣,伺服器系統102儲存關於網路應用程式的資訊,包括程式碼、描述網路應用程式之UI的元資料或類似者。於一具體態樣,伺服器系統102儲存用於元資料解譯器的碼,其可以解讀元資料以產生碼,例如可以由網路瀏覽器所解讀的碼。伺服器系統102也可以儲存用於呈現引擎的碼,其可以呈現用於網路應用程式之顯示螢幕或其他視覺介面的視覺顯示元件,例如UI資產。伺服器系統102可以回應於來自客戶端104對於網路應用程式的請求而提供對應於網路應用程式的碼、元資料或類似者給客戶端104。於一具體態樣,伺服器系統102可以呈現網路應用程式的初始螢幕以在客戶端104加速顯示初始螢幕。
客戶端104可以包括任何類型的計算裝置或系統,其可以存取伺服器系統102。舉例而言,客戶端104可以包括能夠存取電腦網路的膝上型電腦、桌上型電腦、平板電腦、智慧型電話、小筆電或任何其他計算裝置。於一具體態樣,客戶端104包括瀏覽器以存取網址和執行網路應用程式。於一具體態樣,客戶端104可以從伺服器系統102接收對應於網路應用程式的元資料、碼或其他資訊以於客戶端104的瀏覽器裡執行。於一具體態樣,元資料解譯器和/或呈現引擎的例子可以位在客戶端104以及伺服器系統102上。多個客戶端104可以能夠連接和存取伺服器系統102。
圖2是伺服器系統102的示意方塊圖,其提供具有元資料驅動的UI之網路應用程式。伺服器系統102包括主機構件202、元資料解譯器204、呈現引擎206、回應構件208、網路應用程式UI元資料儲存器210、核心活動類型儲存器212。構件202~212是以舉例方式而給出,並且可以不全包括在所有的具體態樣中。
主機構件202建構成從客戶端接收對於至少部分網路應用程式的請求。舉例而言,主機構件202可以回應於使用者打字或選擇對應於伺服器系統102所寄宿之網路應用程式的全球資源定位器(universal resource locator,URL)而接收請求。請求可以指出特定的網路應用程式或功能。請求可以包括指出客戶端104或使用者之身分的資訊。舉例而言,請求可以指出客戶端104所對應的承租者或個體。於一具體態樣,主機構件202可以判定請求是否為對於網路應用程式的初始請求。舉例而言,主機構件202可以基於客戶端104是否正在請求整個應用程式或僅網路應用程式的資源或資產而判定請求包括初始請求。於一具體態樣,請求可以指出請求
是否為初始請求或者可以指出在客戶端104之網路應用程式的目前狀態。舉例而言,請求可以指出網路應用程式目前在客戶端104乃處於特定的狀態(譬如處理特定的活動)。
於一具體態樣,主機構件202可以判定網路應用程式的哪一部分要發送給客戶端104。舉例而言,回應於對於網路應用程式的一般請求,主機構件202可以判定整個網路應用程式(和任何關聯的元資料或碼)應該發送給客戶端104。於一具體態樣,請求可以指出正被請求的網路應用程式之特定的活動或程序。於一具體態樣,如下面將討論,主機構件202支援「深度連結」(deep linking),其中使用者可以請求關聯於活動階層裡之活動的資源或活動。舉例而言,用於使用者請求的URL本地路徑可以代表活動階層,其描述使用者在UI流程裡的位置或在UI流程裡想要的開始點。主機構件202可以判定對應於活動階層之根活動的某些資訊也將發送給客戶端104,如果它對於所請求的活動是需要的話(譬如由通往對應子活動的URL路徑所指出)。
元資料解譯器204建構成擷取和/或解讀對應於網路應用程式的元資料。於一具體態樣,元資料解譯器204擷取對應於所請求之網路應用程式的元資料。舉例而言,每個網路應用程式可以具有描述網路應用程式之UI的對應元資料。元資料包括有關資料的資料;或更特定而言,於一具體態樣為關於所請求的網路應用程式之UI的宣示性資訊。元資料可以包括呈所需格式的參數或資料。元資料的範例性資料格式包括JavaScript物件註記(JavaScript object notation,JSON)格式、可擴展標記語言(extensible markup language,XML)格式、逗號分開值(comma separated values,CSV)格式
或其他的資料或元資料格式。於一具體態樣,元資料格式不包括可由瀏覽器讀取的格式或碼語言。舉例而言,元資料可以須要加以擷取和解讀/轉換以便獲得可以由客戶端104所執行的碼。
元資料可以儲存於和擷取自網路應用程式UI元資料儲存器210。於一具體態樣,元資料指出用於網路應用程式的運轉時間操作或運轉時間操作的次序,並且網路應用程式包括元資料驅動的運轉時間。舉例而言,元資料可以在運轉時間中使用以動態產生螢幕、判定接下來應該進行哪個程序或類似者。於一具體態樣,網路應用程式包括動態產生的UI,其中UI介面基於元資料而產生。於一具體態樣,元資料界定了在網路應用程式的UI裡所允許的導覽。舉例而言,元資料可以指出要進行的下一程序和/或程序須要使用者輸入什麼。
於一具體態樣,元資料解譯器204可以擷取特定於客戶端104的元資料。舉例而言,來自客戶端104的請求可以指出對應的承租者,並且元資料解譯器204可以檢查看看是否有用於該承租者之任何客製化的元資料。於某些具體態樣,工作流程和活動組態可以按照承租者來修改以提供用於每個承租者之客製化的UI外觀和行為。修改可以由伺服器系統102儲存在網路應用程式UI元資料儲存器210裡而成分開的元資料。一旦相關的UI元資料已經由元資料解譯器204所識別,則任何特定於該承租者的修改可以在預設的UI元資料被處理之前應用到預設的UI元資料。修改具有客戶端所特定的元資料之預設的元資料則可以允許網路應用程式的整個UI按照承租者來改變,而不重新部署或重新開始網路應用程式。組合或修改的元資料然後可以由回應構件208提供給客戶端104,或者可以提供給瀏覽
器或呈現引擎206而用於產生UI。
元資料解譯器204可以解讀元資料以產生碼或資訊,其可以由呈現引擎206所使用以產生視覺螢幕到瀏覽器來控制網路應用程式的操作或網路應用程式的UI。於一具體態樣,元資料包括指出網路應用程式裡之一或更多個活動或活動類型的資訊。如在此所用,活動一詞是要意謂代表網路應用程式之離散部分(例如網路應用程式之UI)的元資料。舉例來說,活動可以用於代表接收以下形式:來自使用者的輸入、圖表或圖形、對服務的呼叫、呈現一列要觀看/編輯之紀錄的操作、進行布林邏輯的操作或其他操作。每個活動對應於活動類型。活動類型連結到分類或模組,其負責執行該類型的活動。活動也是可組成的,因為每個活動可以包含子活動。舉例而言,任何類型的活動可以包括或參考任何其他類型的活動。
於一具體態樣,關於核心活動類型的資訊可以包括在核心活動類型儲存器212中。於一具體態樣,可以由任何網路應用程式使用之幾個內建的活動類型可以建造於系統並且由核心活動類型儲存器212所儲存。可以包括成核心活動類型的一些範例性活動類型包括:工作流程活動類型、步驟活動類型、條列活動類型、「組成」(compose)活動類型、「如果」(if)活動類型、應用程式活動類型、模式活動類型、看守活動類型。這條列僅以舉例方式而給出,並且可以在不同的具體態樣中做顯著的修改。
工作流程活動類型是用於序列式流程控制的活動。工作流程可以包括多個步驟活動類型。每個步驟活動類型可以包括在工作流程裡之活動的邏輯群組。步驟活動對於顯示使用者在工作流程中的進度而言是有有用的。每個步驟活動是由一或更多個活動所構成。於一具體態樣,步驟
活動中的至少一活動依慣例具有視覺構件,並且可以藉此代表UI導覽流程中的離散點。舉例而言,請求可以指出客戶端104所希望跳入網路應用程式中之工作流程的任何特定步驟活動。
條列活動類型是呈現一列紀錄給使用者並且允許使用者編輯記錄的活動。舉例而言,視覺條列可以呈現在螢幕上,並且使用者可以提供輸入以修改條列中的項目、刪除項目、增加項目、重排條列或類似者。
組成活動類型允許使用者或開發者生成多個活動所複合成的活動。於一具體態樣,組成活動的組態指定主要活動、包括要在主要活動之前執行之一列一或更多個活動的「之前」(before)性質、和/或包含要在主要活動之後執行之一列一或更多個活動的「之後」(after)性質。組成活動允許任意的之前和之後操作與具有視覺構件的活動(例如形式活動)綁在一起。於一具體態樣,主要活動可以要求包括視覺構件,並且條列在之前和之後區段中的活動可以限制為不具有視覺構件。
如果活動類型允許使用者生成分支邏輯。於一具體態樣,如果活動的組態指定了表達、「則」(then)活動和可選用的「其他」(else)活動。當評估時,該表達產生布林值(譬如真或偽)。當執行如果活動時,評估該表達。如果表達評估為布林真值,則執行則活動。如果表達評估為布林偽值,則執行其他活動,如果有指定其他活動的話。
應用程式活動類型可以用於非序列式流程控制。應用程式活動的範例是表列式布局,其中條列於應用程式活動之組態的每個活動對應於視覺製表構件。當使用者選擇視覺構件時,可以執行對應於該製表的子活動。注意應用程式活動與網路應用程式不是相同的東西,後者是指包羅
萬象的應用程式,其可以利用元資料驅動的UI架構以實施其UI。
模式活動類型可以用於執行單一子活動並且將它呈現於模式對話框中。由於活動可以包含任意的子活動階層,故模式活動可以用於模式化呈現複雜的UI構件。
看守活動包含無法越過的活動。舉例而言,看守活動類型可以包含非視覺活動,其檢查看看是否已經接收使用者所需的資訊。舉例而言,收集使用者所輸入之資料的形式活動可以接著做看守活動。在使用者選擇形式活動上的下一個選項之後,可以執行看守活動以判定是否已經提供所有所需的資訊。如果看守活動判定已經輸入所有所需的資訊,則看守活動可以允許客戶端104繼續到網路應用程式中的下一活動。如果看守活動判定尚未提供某些所需的資訊,則看守活動可以阻擋向前導覽,並且在表單上指出關於什麼欄位需要被填入或什麼選項需要被選擇。
形式活動類型可以界定視覺形式而呈現給使用者。形式活動的組態可以指出使用者可以提供輸入的一或更多個欄位。範例性欄位包括檢查方框、單選按鈕、下拉式條列、文字欄位或類似者。於一具體態樣,活動可以使用作為欄位類型。舉例而言,欄位可以對應於另一活動。形式活動可以用於接受來自使用者的輸入以供網路應用程式使用或供儲存。
如所言,上面的活動類型僅以舉例方式而給出。特定的應用程式可以皆具有多個活動,其具有其他的活動類型而在應用程式裡提供想要的功能性和操作。除了核心或內建的活動類型以外,還允許使用者或開發者延伸活動或生成客製化的活動類型。舉例而言,網路應用程式開發者可以生成他們自己客製化的活動類型。客製化的活動類型可以是全新的或
者可以延伸預先存在的活動類型。於一具體態樣,開發者可以生成應用於預先存在的活動類型之延伸。這讓開發者能夠客製化庫存活動類型的行為而不修改背後的碼。於一具體態樣,延伸既有的活動類型是藉由界定新的元資料和碼以用於蓋過延伸活動類型的行為而完成。於一具體態樣,延伸或客製化的活動類型可以特定於承租者而儲存。舉例而言,如果新的活動類型相關於承租者而生成,則新的活動類型和任何對應的碼可以分開儲存,如此則它僅相關於特定的承租者來使用。
於一具體態樣,每個活動參考活動類型。於一具體態樣,活動類型是包含要由系統所執行的碼以進行該類型之活動的模組。活動類型可以暴露可以用於修改活動類型碼之行為的一或更多個輸入性質。活動提供給這些輸入性質的數值則合起來稱為活動的組態。活動的組態是部分的活動元資料。於一具體態樣,元資料可以將資料參考成活動的輸入,而不將它明確包括成為部分的元資料。活動類型可以界定預設的組態,其將用於該類型之活動(譬如元資料)不界定自己組態的事件。
每個活動代表應該由系統進行的操作。時常而言,活動包括視覺構件,其指示系統以產生UI資產並且將它們送到瀏覽器。然而,活動可以代表不具有視覺構件的操作,例如呼叫服務和儲存回應。
使用者導覽經過UI則稱為流程。於一具體態樣,元資料藉由判定執行哪一活動來回應UI事件而控制使用者經過系統的流程。特定的活動類型做特定的設計以控制使用者經過UI的流程。這些流程控制之活動的一些範例是工作流程活動、應用程式活動、條列活動、模式活動、看守活動。當使用者觸發需要導覽的UI事件時,主動流程控制活動將判定接下
來執行哪個活動。舉例來說,如果給定的UI界定成工作流程活動而具有一序列的子形式活動,則它將依序執行第一形式活動,其轉而將呈現形式的視覺代表給使用者。如果使用者觸發UI事件以送出該形式,則一旦已經處理了該形式,則第一形式活動將發出它完成執行的訊號。此時,工作流程活動可以依序執行第二形式活動……。
活動也可以具有的一或更多個動作是回應於UI事件而觸發但不構成UI導覽。於一具體態樣,雖然活動類型可以界定預設的動作,但是活動的動作可以被蓋過。活動的動作可以是要執行另一活動。
於一具體態樣,具有視覺構件(例如形式活動)的每個活動代表UI流程中的離散點。雖然執行了不具有視覺構件的活動,但是可以不終止導覽。舉例來說,假設給定的UI界定為具有二個子活動的工作流程活動:形式活動和組成活動,後者建構成執行之前服務活動,然後再執行主要形式活動。於一具體態樣,當首次執行工作流程活動時,它將執行子形式活動,其轉而將呈現形式的視覺代表給使用者並且終止導覽操作。如果使用者觸發UI事件以送出形式,則一旦已經處理了該形式,第一形式活動將發出它完成執行的訊號。此時,工作流程活動將執行子組成活動。組成活動將首先執行之前服務活動。由於服務活動不具有視覺構件,故它的執行將不終止導覽操作。組成活動然後將執行主要形式活動,其轉而將呈現形式的視覺代表給使用者並且終止導覽操作。
如基於本揭示所將了解,元資料和活動可以生成活動的階層,其控制網路應用程式的UI和操作。舉例而言,根階層可以對應於網路應用程式的開始介面或螢幕,並且子活動可以形成分支階層,其中某些活
動是其他活動的下位。於一具體態樣,單純基於元資料,組合活動的彈性則允許網路應用程式的UI有複雜的變化。因此,使用者可以界定複雜的UI導覽和流程而不修改或生成碼。
圖4示範用於網路應用程式UI的範例性活動階層400。階層400包括多個視覺活動404~416,其可以在網路應用程式期間進行。階層400可以由元資料所界定。階層400包括根活動(活動A 402)和子活動,而子活動包括活動B 404、活動C 406、活動D 408。於一具體態樣,元資料可以界定活動402的組態,包括指出活動B 404、活動C 406、活動D 408是活動402的子活動之組態資訊。活動B 404的元資料組態可以將子活動界定成活動E 410和活動F 412。類似而言,活動E 410的元資料組態可以界定子活動H 416,並且活動C 406的元資料組態可以界定子活動G 414。因此,元資料可以允許使用者基於元資料而指定階層,包括UI導覽或流程。舉例而言,某一承租者可以想要活動G進行成活動H的子活動,並且可以指定元資料做此改變。因此,承租者可以得到所要的客製化UI,而其他的承租者將看不到改變。
返回圖2,元資料解譯器204可以藉由擷取對應於元資料的碼而解讀元資料。舉例而言,元資料解譯器204可以擷取對應於活動類型的碼。元資料解譯器204可以提供用於活動的碼和界定於元資料中的任何參數(亦即活動組態)給瀏覽器或呈現引擎206以供處理或執行。於一具體態樣,元資料解譯器204可以獲得目前活動的碼(如預設的活動類型所指出)、修改元資料以便修改預設的活動類型以及/或者客製化活動類型。舉例而言,在判定應該擷取什麼碼以用於活動之前,預設的元資料可以與承租者
所特定的元資料來組合。
根據一具體態樣,元資料所指定的每個活動可以在網路應用程式的操作期間包括二個階段:設立階段和運轉時間階段。設立階段可以包括元資料解譯器204擷取元資料、獲得對應於元資料的碼、獲得用於該碼的輸入,而運轉時間階段可以包括基於任何輸入來執行該碼。於一具體態樣,元資料解譯器204可以一個活動接著一個活動的來處理元資料。舉例而言,元資料解譯器204可以僅擷取用於目前活動或用於高達目前活動後面之預定數目的活動之碼。擷取的碼可以提供給呈現引擎或網路應用程式以供顯示/執行。舉例而言,當在伺服器系統102時,擷取的碼可以提供給呈現引擎206,但可以不呈現在伺服器系統102的顯示器上。
呈現引擎206建構成將元資料解譯器204所擷取的元資料和/或其他資訊轉換成UI資產以供顯示成UI介面的部分螢幕。UI資產可以包括可以由瀏覽器所解讀的資訊或碼。呈現引擎206所產生的UI資產可以包括標記,例如符合超文字標記語言(hypertext markup language,HTML)協定的文字或符號。UI資產也可以包括可以由瀏覽器解讀的碼,例如JavaScript。UI資產可以包括資源檔案或對資源檔案的參考,該等檔案例如影像檔、文字檔、視訊檔、音訊檔或其他檔案以顯示為部分的網頁或介面。
為了呈現UI,系統解讀UI元資料,並且動態產生必需的UI資產(譬如標記、碼、對資源檔案的參考)而將它們送到使用者的瀏覽器以供處理。於一具體態樣,呈現引擎206基於元資料解譯器204所擷取的元資料或碼來呈現螢幕。
根據一具體態樣,呈現引擎206的例子同時在伺服器系統
102和客戶端104的網路瀏覽器上執行。當使用者送出第一請求給主機的伺服器時,在主機伺服器上執行的呈現引擎206進行初始螢幕的呈現。產生的UI資產連同用於應用程式的UI元資料然後發送給使用者的瀏覽器以回應於使用者的請求。於某些情形,不需要與主機的伺服器做進一步通訊。在客戶端瀏覽器裡執行的呈現引擎206可以呈現出用於任何剩餘螢幕的UI元資料,並且將產生的UI資產送到瀏覽器。初始螢幕在伺服器上被處理,如此則瀏覽器一旦已經完成處理該回應,就立刻呈現可觀看的內容給使用者。如果初始螢幕不呈現在瀏覽器,則可以呈現空白螢幕給使用者,直到客戶端端的呈現引擎處理了用於初始螢幕的UI元資料為止。初始螢幕因此可以顯示得更快,因為客戶端104不須等候元資料解譯器204和/或呈現引擎206產生用於螢幕的UI資產。於一具體態樣,伺服器系統102的呈現引擎206回應於主機構件202判定請求是對於網路應用程式的初始請求而呈現初始螢幕。於一具體態樣,其他的螢幕可以呈現在客戶端104。
於一具體態樣,初始螢幕是將具有部分初始視覺呈現之所有活動的組合。舉例來說,如果用於第一活動的活動組態是工作流程活動,其界定一序列的幾個形式活動,則初始螢幕將包括工作流程容罩(控制、標題、文字),連同該序列中之第一形式活動的視覺代表。
於一具體態樣,每個活動組態(如元資料中所界定)指出它將呈現(多個)什麼視覺構件給使用者。於一具體態樣,用於活動之目前狀態的視覺代表是藉由遞迴地導覽活動的子活動階層並且建造用於完整活動樹的視覺上下文而判定。所得的視覺上下文然後可加以呈現以生成送到瀏覽器的UI資產。舉例而言,呈現引擎206可以建構成藉由以下來呈現UI的螢幕:
遞迴地評估活動和任何子活動以建造用於螢幕的視覺上下文,並且回應於完成建造視覺上下文而顯示該螢幕。
這遞迴地建造視覺上下文和一次呈現它的技術一般而言要比遞迴地呈現每個子活動來得快,因為瀏覽器的文件物件模型(document object model,DOM)僅更新一次。如果子活動被單獨的呈現,則它會觸發對瀏覽器之DOM的多個更新,這會顯著減緩呈現。呈現引擎206建構成藉由產生對應於初始螢幕的UI資產以供客戶端顯示而呈現初始螢幕。
回應構件208建構成發送包括對應於所請求的網路應用程式之元資料的回應給客戶端104。於一具體態樣,回應構件208發送資訊給客戶端104,如主機構件202所判定。舉例而言,回應可以包括用於整個網路應用程式的元資料。於一具體態樣,回應可以包括初始螢幕,如呈現引擎206所呈現。舉例而言,如果回應於對於網路應用程式的初始請求而發送回應,則回應可以包括用於初始螢幕的UI資產。根據一具體態樣,典型的情況是用於應用程式的所有UI元資料從主機的伺服器回應於初始請求而發送給客戶端104。然而,也有可能發送對於初始請求後面之額外UI元資料的後續請求給主機的伺服器(或第三方伺服器)。
圖3是客戶端104的示意方塊圖。客戶端104包括請求構件302、接收器構件304、顯示構件306、網路瀏覽器308。客戶端104也包括元資料解譯器204、呈現引擎206、核心活動類型儲存器212。於一具體態樣,元資料解譯器204、呈現引擎206、核心活動類型儲存器112是由伺服器系統102所提供以在客戶端104上執行,例如在客戶端104的網路瀏覽器308裡執行。
請求構件302建構成發送對於至少部分網路應用程式的請求。請求構件302可以回應於使用者選擇連結、輸入URL、或另外提供輸入來執行伺服器系統102所寄宿的網路應用程式而發送請求。請求可以包括對應於網路應用程式的URL。請求可以指出特定的網路應用程式或功能。請求可以包括指出客戶端104或使用者之身分的資訊。舉例而言,請求可以指出客戶端104所對應的承租者或個體。請求構件302所可以發送的請求包括請求是初始請求的指出。於一具體態樣,如果網路應用程式已經在客戶端104上執行,則請求構件302可以指出網路應用程式的目前狀態。
於一具體態樣,系統支援深度連結,其中使用者可以請求關聯於活動階層裡之活動的資源。舉例而言,客戶端104可以請求不是根活動的活動。參考圖4,深度連結可以包括請求活動B 404或活動階層400裡不是根活動(活動A 402)的任何其他活動。於一具體態樣,用於使用者請求之URL的本地路徑代表活動階層400裡的特定活動,其描述使用者在網路應用程式之UI流程裡的位置。於一具體態樣,如果請求了非根活動,則根活動(或活動階層中的其他活動)將把URL路徑的相關部分向下傳到對應的子活動。子活動將使用相關的路徑來判定其視覺代表,然後重複具有其子活動的過程……。這深度連結允許工作流程或網路應用程式的任何活動是系統行為的項目點。舉例而言,工作流程活動本身是活動類型。將工作流程特徵化為活動類型則可以較容易與遺留的系統做整合,其可以取決於工作流程。
於某些具體態樣,請求構件302可以發送初始請求的後續請求。舉例而言,請求構件302可以發送對於額外UI元資料的請求到伺服器
系統102(或第三方伺服器)。
接收器構件304建構成從伺服器系統102接收對應於所請求之網路應用程式的回應。回應可以包括上面討論而相關於伺服器系統102的任何資訊。回應可以包括用於整個網路應用程式的元資料。於一具體態樣,回應可以包括初始螢幕,如呈現引擎206在伺服器系統102所呈現。舉例而言,如果回應於對於網路應用程式的初始請求而發送回應,則該回應可以包括用於初始螢幕的UI資產。於一具體態樣,回應可以包括元資料解譯器204、呈現引擎206和/或核心活動類型儲存器212。
顯示構件306建構成顯示UI的一或更多個視覺構件。於一具體態樣,顯示構件306顯示螢幕,如呈現引擎206在瀏覽器視窗所呈現。舉例而言,顯示構件306可以顯示從伺服器系統102所接收之回應中的初始螢幕。於一具體態樣,顯示構件306可以顯示螢幕,如客戶端104的呈現引擎206所呈現。於一具體態樣,顯示構件306包括客戶端104的實體顯示器。
網路瀏覽器308可以包括應用程式或構件,其建構成基於連網協定而存取檔案和網址。舉例而言,網路瀏覽器308可以建構成基於網路應用程式、網址或類似者所用的通訊協定、標記語言、檔案類型或類似者當中一或更多者而瀏覽和存取網址及檔案。範例性瀏覽器包括行動或桌上型版本的Internet Explorer®、Safari®、Mozilla Firefox®、Google Chrome®和類似者。
元資料解譯器204可以包括元資料解譯器,如相關於圖2所述。舉例而言,客戶端104上的元資料解譯器204可以包括在伺服器系統102上之另一元資料解譯器204的例子。於一具體態樣,元資料解譯器204
可以用於在客戶端104解讀元資料以產生UI而用於網路應用程式、控制導覽或類似者。
呈現引擎206可以包括呈現引擎,如相關於圖2所述。舉例而言,客戶端104上的呈現引擎206可以包括在伺服器系統102上之另一呈現引擎206的例子。於一具體態樣,呈現引擎206可以用於呈現不呈現在伺服器系統102的任何螢幕。舉例而言,如果初始影像已經由伺服器系統102所呈現,則呈現引擎206可以不用於呈現初始影像。初始影像的後續影像可以由客戶端104本地的呈現引擎206來呈現。
客戶端104也可以包括核心活動類型儲存器212以儲存關於核心或內建的活動類型之資訊。舉例而言,核心活動類型儲存器212可以包括對應於元資料所建構之活動類型或活動的碼。
基於在此揭示的教導,以位在客戶端104的元資料解譯器204、呈現引擎206、核心活動類型儲存器212而言,客戶端104可以解讀元資料以動態產生用於對應之網路應用程式的UI。因此,客戶端104可以使用元資料以界定UI布局和內容以及UI行為和導覽。此外,開發者和使用者可以藉由編輯和延伸UI元資料而延伸和客製化UI。本發明可以自動應用UI改變,而不重新部署或重新開始(多個)應用程式伺服器。此外,相關於特定承租者所做的改變可加以隔離,如此則這些UI改變僅影響特定群組的末端使用者(例如對應於承租者的使用者)之經驗。
圖5是示範提供用於網路應用程式之元資料驅動的UI之方法500的示意流程圖解。於一具體態樣,方法500是由圖2的伺服器系統102所進行。
方法500開始,並且主機構件202接收502來自客戶端104的請求。請求可以指出對於伺服器系統102所寄宿之至少部分網路應用程式的請求。元資料解譯器204查詢504相關於所請求之網路應用程式的UI元資料。舉例而言,元資料解譯器204可以擷取對應於網路應用程式之預設活動的元資料。於一具體態樣,元資料解譯器204可以擷取特定於承租者的元資料。元資料解譯器204可以基於承租者所特定的元資料而修改預設的元資料。
主機構件202判定506從客戶端104所接收502的請求是否包括初始請求。如果該請求是初始請求(在506為是),則呈現引擎206基於元資料解譯器204所查詢504的元資料而呈現508初始螢幕。回應構件208發送510回應給客戶端104,該回應包括呈現引擎206所呈現508的任何UI資產和元資料解譯器204所擷取的UI元資料,並且方法500結束。如果該請求不是初始請求(在506為否),則回應構件208發送512元資料解譯器204所擷取的UI元資料,並且方法500結束。於一具體態樣,回應構件208可以發送包括用於網路應用程式之狀態構件的回應。舉例而言,該狀態可以指出是否已經呈現了初始螢幕。該狀態可以允許客戶端104拾取伺服器系統102停止之處而不用再次呈現初始螢幕。
圖6是示範提供用於網路應用程式之元資料驅動的UI之方法600的示意流程圖解。於一具體態樣,方法600是由圖3的客戶端104所進行。於一具體態樣,客戶端104可以搭配進行圖5方法500的伺服器系統102來進行方法600。
方法600開始,並且請求構件302發送602對於至少部分網
路應用程式的請求給伺服器系統102。接收器構件304接收604對於該請求的回應(例如在方法500期間所發送510或512的回應)。該回應可以包括用於網路應用程式的UI元資料和/或用於初始螢幕的UI資產。UI資產可以包括由伺服器系統102上之呈現引擎204所呈現的資產。
接收器構件304判定606請求構件302所發送602的請求是否為初始請求。舉例而言,接收器構件304可以判定606接收器構件304所接收604的回應是否包括用於初始螢幕的UI資產。舉另一例,接收器構件304可以基於回應中的狀態資訊而判定請求是否為初始請求。舉例而言,客戶端104可以基於回應所指出的狀態資訊而繼續執行網路應用程式。
如果該請求不是初始請求(在606為否),則呈現引擎206呈現608初始螢幕(譬如視覺上呈現出UI元資料),並且送出610用於所呈現之初始螢幕的UI資產給網路瀏覽器308以供顯示,並且方法600結束。如果該請求是初始請求(在606為是),則呈現引擎206送出610在回應中所接收604的UI資產給網路瀏覽器308以供顯示,並且方法600結束。
熟於此技藝者將明顯知道上述具體態樣的細節可以做出許多改變,而不偏離本揭示背後的原理。本揭示的範圍因此應僅由以下的申請專利範圍所決定。
102‧‧‧伺服器系統
202‧‧‧主機構件
204‧‧‧元資料解譯器
206‧‧‧呈現引擎
208‧‧‧回應構件
210‧‧‧網路應用程式使用者介面元資料
212‧‧‧核心活動類型
Claims (20)
- 一種系統,其包括:主機構件,其建構成從客戶端接收對於至少部分網路應用程式的請求;元資料解譯器,其建構成擷取描述該網路應用程式之使用者介面的元資料;呈現引擎(rendering engine),其建構成基於該元資料而呈現初始螢幕,該初始螢幕是用於由該客戶端來顯示相關於該網路應用程式之活動;以及回應構件,其建構成發送該元資料和該初始螢幕給該客戶端。
- 如申請專利範圍第1項的系統,其中該主機構件進一步建構成判定該請求是否包括初始請求,並且其中該呈現引擎建構成藉由回應於判定該請求包括了該初始請求來呈現而呈現該初始螢幕。
- 如申請專利範圍第1項的系統,其中該網路應用程式包括元資料驅動的運轉時間,並且其中該元資料解譯器擷取關聯於該網路應用程式的該元資料,其包括指出該網路應用程式之運轉時間操作的元資料。
- 如申請專利範圍第1項的系統,其中該網路應用程式包括動態產生的使用者介面,其中該使用者介面係基於該元資料而產生。
- 如申請專利範圍第1項的系統,其中該呈現引擎建構成藉由產生對應於用於由該客戶端顯示之該初始螢幕的使用者介面資產而呈現該初始螢幕。
- 如申請專利範圍第1項的系統,其中該元資料界定在該網路應用程式之該使用者介面裡的導覽。
- 如申請專利範圍第1項的系統,其中該回應構件建構成回應於該請 求而發送該元資料,其包括對應於該網路應用程式的所有元資料。
- 如申請專利範圍第1項的系統,其中該元資料解譯器擷取對應於一或更多個活動類型的元資料,並且擷取特定於對應該客戶端之承租者的元資料。
- 一種系統,其包括:請求構件,其建構成發送對於至少部分網路應用程式的請求給伺服器;接收器構件,其建構成從該伺服器接收對於該請求的回應,其中該回應包括描述該網路應用程式之使用者介面和用於初始螢幕之使用者介面資產的元資料;顯示構件,其建構成在顯示器上顯示該初始螢幕;以及元資料解譯器,其建構成處理該元資料以提供用於該網路應用程式的運轉時間操作。
- 如申請專利範圍第9項的系統,其中該元資料指出用於該網路應用程式之活動的一或更多個活動類型,其中該活動指出要進行的一或更多個程序。
- 如申請專利範圍第10項的系統,其中該元資料包括對應於該一或更多個活動類型的元資料和特定於承租者的元資料。
- 如申請專利範圍第11項的系統,其中該一或更多個活動類型包括客製化的活動類型,其中該客製化的活動類型界定成特定於該承租者。
- 如申請專利範圍第11項的系統,其進一步包括元資料解譯器,其建構成擷取用於執行具有該一或更多個活動類型的一或更多個活動的碼。
- 如申請專利範圍第10項的系統,其中該元資料進一步指出該活動和 具有該一或更多個活動類型之一或更多個額外活動的階層。
- 如申請專利範圍第14項的系統,其進一步包括呈現引擎,其建構成藉由以下來呈現該使用者介面的螢幕:遞迴地評估活動和任何子活動以建造用於該螢幕的視覺上下文;以及回應於完成建造該視覺上下文而顯示該螢幕。
- 如申請專利範圍第14項的系統,其中該請求指出該網路應用程式裡所請求的活動,其中該活動包括在該等活動的該階層裡而層級在根活動底下的活動。
- 如申請專利範圍第16項的系統,其中該回應中的該初始螢幕包括對應於該所請求之活動的螢幕。
- 一種非暫態之電腦可讀取的儲存媒體,其上面具有儲存之電腦可讀取的指令碼以供電腦系統進行方法,該方法包括:發送對於至少部分網路應用程式的請求給伺服器;從該伺服器接收對於該請求的回應,其中該回應包括描述該網路應用程式之使用者介面和用於初始螢幕之使用者介面資產的元資料;在顯示器上顯示該初始螢幕;以及處理該元資料以提供用於該網路應用程式的運轉時間操作。
- 如申請專利範圍第18項的非暫態之電腦可讀取的儲存媒體,其中該方法進一步包括基於該元資料而呈現一或更多個後續螢幕。
- 如申請專利範圍第18項的非暫態之電腦可讀取的儲存媒體,其中該元資料指出用於該網路應用程式之二或更多個活動的一或更多個活動類型和該一或更多個活動的階層,並且其中該請求指出該網路應用程式裡所請 求的活動,其中該活動包括在該等活動的該階層裡而層級在根活動底下的活動。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/482,437 US9729606B2 (en) | 2014-09-10 | 2014-09-10 | Systems and methods for a metadata driven user interface framework |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201621719A true TW201621719A (zh) | 2016-06-16 |
Family
ID=55437651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104129322A TW201621719A (zh) | 2014-09-10 | 2015-09-04 | 用於元資料驅動的使用者介面架構之系統及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9729606B2 (zh) |
JP (1) | JP2018500613A (zh) |
CN (1) | CN106796515A (zh) |
AU (1) | AU2015315578A1 (zh) |
CA (1) | CA2954316A1 (zh) |
TW (1) | TW201621719A (zh) |
WO (1) | WO2016040046A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160306503A1 (en) * | 2015-04-16 | 2016-10-20 | Vmware, Inc. | Workflow Guidance Widget with State-Indicating Buttons |
US10606450B2 (en) * | 2016-06-24 | 2020-03-31 | Accenture Global Solutions Limited | Method and system for visual requirements and component reuse driven rapid application composition |
US10318254B2 (en) | 2017-01-27 | 2019-06-11 | Oracle International Corporation | Integrating application features into a platform interface based on application metadata |
US10853347B2 (en) | 2017-03-31 | 2020-12-01 | Microsoft Technology Licensing, Llc | Dependency-based metadata retrieval and update |
US10795698B2 (en) | 2018-07-24 | 2020-10-06 | Microsoft Technology Licensing, Llc | User interface based on metadata |
JP6981566B1 (ja) * | 2021-04-16 | 2021-12-15 | 凸版印刷株式会社 | 制御システム、サーバ装置、制御方法、及びプログラム |
CN114371894B (zh) * | 2021-12-08 | 2023-11-17 | 贵州开放大学(贵州职业技术学院) | 一种管理元数据的方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7975239B2 (en) * | 2003-12-17 | 2011-07-05 | Palo Alto Research Center Incorporated | System and method for providing metadata interaction and visualization with task-related objects |
US20060010011A1 (en) * | 2004-02-10 | 2006-01-12 | James Ullom | Dynamic medical data acquisition |
US7805324B2 (en) | 2004-10-01 | 2010-09-28 | Microsoft Corporation | Unified model for authoring and executing flow-based and constraint-based workflows |
US7945531B2 (en) * | 2005-09-16 | 2011-05-17 | Microsoft Corporation | Interfaces for a productivity suite application and a hosted user interface |
WO2007106185A2 (en) * | 2005-11-22 | 2007-09-20 | Mashlogic, Inc. | Personalized content control |
US8095565B2 (en) | 2005-12-05 | 2012-01-10 | Microsoft Corporation | Metadata driven user interface |
US20070150820A1 (en) | 2005-12-22 | 2007-06-28 | Salvo Anthony C | Data-driven user interface |
US9753747B2 (en) | 2006-11-16 | 2017-09-05 | Oracle International Corporation | Dynamic generated web UI for configuration |
US8060525B2 (en) * | 2007-12-21 | 2011-11-15 | Napo Enterprises, Llc | Method and system for generating media recommendations in a distributed environment based on tagging play history information with location information |
US9224172B2 (en) * | 2008-12-02 | 2015-12-29 | Yahoo! Inc. | Customizable content for distribution in social networks |
US20100153175A1 (en) * | 2008-12-12 | 2010-06-17 | At&T Intellectual Property I, L.P. | Correlation of Psycho-Demographic Data and Social Network Data to Initiate an Action |
US8903850B2 (en) | 2010-07-22 | 2014-12-02 | Myspace Llc | Metadata ingestion to stream customization |
CN102054028B (zh) * | 2010-12-10 | 2013-12-25 | 黄斌 | 一种网络爬虫系统实现页面渲染功能的方法 |
US9026905B2 (en) * | 2010-12-17 | 2015-05-05 | Facebook, Inc. | Customization of mobile applications using web-based technology |
US20140096014A1 (en) | 2012-09-29 | 2014-04-03 | Oracle International Corporation | Method for enabling dynamic client user interfaces on multiple platforms from a common server application via metadata |
US10621276B2 (en) * | 2013-10-24 | 2020-04-14 | Wmware, Inc. | User interface virtualization for web applications |
-
2014
- 2014-09-10 US US14/482,437 patent/US9729606B2/en active Active
-
2015
- 2015-09-01 CN CN201580041664.5A patent/CN106796515A/zh active Pending
- 2015-09-01 JP JP2016574393A patent/JP2018500613A/ja active Pending
- 2015-09-01 AU AU2015315578A patent/AU2015315578A1/en not_active Abandoned
- 2015-09-01 WO PCT/US2015/047882 patent/WO2016040046A1/en active Application Filing
- 2015-09-01 CA CA2954316A patent/CA2954316A1/en not_active Abandoned
- 2015-09-04 TW TW104129322A patent/TW201621719A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US9729606B2 (en) | 2017-08-08 |
JP2018500613A (ja) | 2018-01-11 |
CN106796515A (zh) | 2017-05-31 |
WO2016040046A1 (en) | 2016-03-17 |
CA2954316A1 (en) | 2016-03-17 |
AU2015315578A1 (en) | 2017-01-12 |
US20160070680A1 (en) | 2016-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10248634B2 (en) | Model-driven data entry validation | |
TW201621719A (zh) | 用於元資料驅動的使用者介面架構之系統及方法 | |
US10223347B2 (en) | Date picker in excel | |
Galloway et al. | Professional ASP. NET MVC 4 | |
US8527939B2 (en) | GUI modeling of knowledge base in a modeling environment | |
CN107820701B (zh) | 开发者交换系统 | |
US10691299B2 (en) | Display of hierarchical datasets using high-water mark scrolling | |
US8381180B2 (en) | Visually exposing data services to analysts | |
US8862975B2 (en) | Web-based workflow service visualization and navigation | |
US20140096014A1 (en) | Method for enabling dynamic client user interfaces on multiple platforms from a common server application via metadata | |
US11635974B2 (en) | Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction | |
CN101866299B (zh) | 修改便携式电子设备上本地应用的执行的方法和系统 | |
US20160004668A1 (en) | Adfdi support for custom attribute properties | |
CN102187314B (zh) | 生成适用于数据集的资源脚本的方法和系统 | |
US20170115968A1 (en) | Application builder with automated data objects creation | |
JP6541647B2 (ja) | ランタイムカスタマイゼーションインフラストラクチャ | |
US20160098254A1 (en) | Rich tooling for rest application development | |
US20080244517A1 (en) | Horizontal and vertical filtering of multi-domain business application models | |
US20200125336A1 (en) | System and method for enhancing component based development models with auto-wiring | |
CN102939583A (zh) | 创建任务会话 | |
JP6332533B2 (ja) | 情報処理装置、その処理方法及びプログラム | |
US20120166983A1 (en) | Integrated metadata and nested authorizations in a user interface framework | |
US10268456B2 (en) | Standardized approach to contextual code identification in editors and IDEs | |
US9612805B2 (en) | Rapid mobile app generator | |
JP6552162B2 (ja) | 情報処理装置、情報処理方法、およびプログラム |