新四季網

用於動態生成用戶界面的方法和系統的製作方法

2023-04-30 05:17:46

專利名稱:用於動態生成用戶界面的方法和系統的製作方法
技術領域:
本發明涉及一種用於為應用程式生成用戶界面的方法和系統,其中該用戶界面在至少一個目標系統上運行,並且可以包括多個顯示器。

背景技術:
在現有技術的早期系統中,用戶界面的實現是作為各應用程式代碼的組成部分。但是這導致在更改或更新代碼時還必須一起更改用戶界面。這增加了編程和維護的開銷。
為避免該缺陷,目前主要採用網頁瀏覽器和標記語言即超文本標記語言(HTML),從而能生成至少最大限度獨立於目標系統參數的用戶界面,該目標系統的參數例如是解析度或所採用的平臺。作為HTML基礎的機制是通過所謂的標籤預先給定應當如何表示一個應用程式(例如WWW瀏覽器)的文檔的特定部分。但是根據現有技術的基於HTML的方法需要較高的編程代價,因為從多方面來說HTML是有限的。
因此,必須由瀏覽器來解釋基於HTML的應用,而瀏覽器一般不是用於實施應用的。這導致處理時間很長。此外,基於HTML來生成用戶界面要求,必須應新用戶的變化的需要而利用界面的其它參數,如另一種解析度來為該新用戶改寫同一應用程式。
而且幾乎不可能生成可在應用程式運行時動態更改的用戶界面,或者只能在極高的代價和錯誤率下生成這種用戶界面。
因此目前的方法存在一些缺陷。


發明內容
因此本發明要解決的技術問題在於,提供一種方法,可以用來不依賴解析度和平臺地生成用戶界面,同時還可以動態更改和遠程配置用戶界面。
特別的,該技術問題是通過一種用於在至少一個目標系統上為一應用程式生成多顯示器用戶界面的方法來解決的,該方法訪問配置文件,其中該配置文件至少描述了待生成用戶界面的布局的組件,尤其是可視化組件,並且通過讀入和/或解釋該配置文件來生成所述用戶界面,其中用戶界面的生成在數據技術上是與目標系統和/或所述應用無關的,並且還可以在所述應用的運行時配置所生成的用戶界面。
此外,該技術問題還通過一種開始所述類型的系統解決的,尤其是通過一種用於在至少一個目標系統上為一應用生成多顯示器用戶界面的系統,該系統具有 -至少一個配置文件,該配置文件至少描述了待生成用戶界面的布局的組件,尤其是可視化組件, -至少一個具有多顯示器功能的布局引擎,該引擎讀入、解釋該配置文件和/或生成所述用戶界面,其中所述布局引擎在數據技術上是與目標系統和/或所述應用沒有聯繫的。
本發明的一個重要概念建立在這樣的基礎上,即中央機制,也就是所謂的布局引擎,是基於對可視化組件和涉及事件的組件的分配。換句話說就是在下列任務之間進行區分 要求定義應當如何顯示一個對象的任務,和 要求定義一個對象應當具有哪些意義或哪些內容的任務。
根據本發明,一般地提供了用於確定用戶界面的基本機制,並且該基本機制可以用於任何應用,因為這些基本機製作為模塊化的組成部分是與各特定應用沒有聯繫的。
在優選基於XML的配置文件的基礎上,布局引擎自動或至少半自動地、藉助附加輸入和/或用戶命令為各應用生成界面。
這優選響應該應用的詢問來進行,也就是說用戶界面的生成是在用戶觸發下進行的。
在本發明的優選擴展中,所述配製文件是由本發明系統或方法的組件在內部生成的,而在該優選的實施方式中只對外部生成的配置文件進行訪問,並提供合適的界面。
布局引擎沒有定義和包含應用語義或實施模型。因此根據本發明,封裝了用於生成用戶界面的邏輯,並且總的來說可以不依賴各應用情況地採用該邏輯。
通過本發明解決方案的模塊化體系結構,配置文件、布局引擎和/或應用邏輯可以駐留在基於伺服器的資源上。
此外,在其上生成或運行用戶界面的目標系統可以設置在不同於所述應用自身的另一位置。
在本發明的優選擴展中,通過SOAP協議向網頁服務傳遞由布局引擎生成的用戶界面控制。SOAP協議(簡單對象存取協議)是一種用於在分散的分布式環境中交換信息的協議,並且該協議因此適合於在本發明的模塊之間交換信息。
布局引擎優選通過HTTP協議加載XML文件。但在這兩種情況下都可以採用特殊定義的協議。
優選的,根據本發明生成的用戶界面是不依賴於目標系統的解析度和/或平臺而生成的,和/或配置文件是不依賴於用戶界面的程序庫而生成的。
在本發明的另一種優選結構中,自動生成配置文件和/或用戶界面。
此外優選的是,還可以遠程配置用戶界面,這提高了系統的靈活度。
在本發明的另一優選擴展中,配置文件包括映射規則,這些規則將一個控制事件分別對應一個同樣可配置的事件處理程序,其中該映射只是一般性的,並且不依賴於所述應用和/或目標系統。
在此,事件處理程序一方面可以在客戶機上本地執行,另一方面可以在伺服器上遠程執行。
本發明的優選實施方式建立在這樣的基礎上,即通過多個控制欄位、尤其是控制(Control)來定義用戶界面,其中本方法分為下列步驟 -創建控制欄位, -定位該控制欄位,和 -向可配置的控制處理程序傳遞該控制欄位。
本發明方法的上述實施方式還可以構成電腦程式產品,具有計算機可讀介質和電腦程式代碼裝置,並且在該電腦程式產品中,在加載了電腦程式之後促使計算機執行本發明的上述方法。
另一可選解決技術問題的方案是一種存儲介質,該介質用於存儲上述可用計算機實施的方法,並且可由計算機讀出。



在下面對附圖的詳細描述中,利用實施例的特徵和其它優點說明了非受限理解的實施例,該附圖描述應當與附圖聯繫起來閱讀。在圖中示出了 圖1示出了根據本發明的體系結構的示意性圖, 圖2示出了本發明優選實施例的流程圖。

具體實施例方式 對於應用程式A應當生成用戶界面UI。該用戶界面UI應當在目標系統Z上運行,該目標系統Z不需要與運行應用程式A的系統一致。根據本發明,這在訪問布局引擎LE的條件下進行,該布局引擎LE是模塊化構建的,並且其功能在應用程式A與目標系統Z上生成的用戶界面UI之間。
如圖1所示,根據本發明,從應用程式A出發生成XML配置文件10。配置文件10不依賴於UI庫地描述待生成的界面UI的布局。由此,根據本發明獲得了在目前現有技術的方法中不可能達到的自由度。這意味著,根據本發明生成的用戶界面UI提供了例如不同於1280×1024解析度的1024×786屏幕解析度的布局。還可以引入變量,例如2個或更多新按鈕控制12。如果存在多個布局區域(Layout Area),則可以在配置文件中定義多個布局說明。因此,多個布局說明允許布局引擎LE既不依賴解析度又能實現動態改變布局。
下面結合圖2說明本發明優選實施方式的運行 在此,布局引擎LE應要求讀入XML配置文件10。可選的,還可以按照可預先確定的時間間隔來檢查配置文件10的當前性,並自動將該配置文件10傳遞到布局引擎LE。
在讀入配置文件10之後,由布局引擎了LE來解釋該配置文件10。在此,布局引擎LE訪問同樣存放在配置文件10中的映射。
由此,布局引擎LE可以動態地生成一個布局,並對該映射進行訪問,或進行事件連接。
所述映射包括一系列規則,根據這些規則將控制事件對應於事件處理程序14。可以將控制12定義為用於生成用戶界面UI的控制欄位。本發明的一個特別的優點在於,即使在應用程式A運行時也可以向已存在的控制添加新的控制12。由此,可以動態更改和/或配置根據本發明生成的界面UI。
根據本發明的方法,可以處理任意類型的控制12,而在根據現有技術的基於HTML的方法中,只能有限地使用控制Control(或者包括有限的功能,或者必須以相對高的代價複製該控制Control,例如樹視圖控制TreeViewControl)。
XML配置文件可以放在全球資訊網伺服器上。由此可有利地極大簡化界面UI的安裝。甚至還可以完全配置事件處理程序14,因此事件處理程序14由可執行或可加載的代碼組成。然後,根據本發明不必在客戶機或目標系統Z上實施安裝過程。這顯著提高了系統的可操作性。
XML配置文件10除了特定於應用程式的數據之外還包括涉及界面的控制事件至腳本事件處理程序14(這些腳本事件處理程序可以例如用Javascript或Perl編寫)的映射(或連接),或例如直接至網頁服務的映射(連接)。由此根據本發明,用戶界面UI的邏輯完全包含在XML配置文件10中,而迄今為止一般是必須對該邏輯編程的(在訪問UI庫的條件下或在網頁應用伺服器中通過ASP.NET/或JSP)。
待編程的事件處理程序14用作封裝的模塊,並且完全與用戶界面UI的布局分離。此外,還可以不依賴於平臺地實現事件處理程序14,因為這些事件處理程序優選只與布局引擎LE的模塊通信。如果UI事件直接連接到一個或多個網頁服務(或者其他服務),則根據本發明不必再編程。
下面舉出XML配置文件10的例子 <UI><Layouts><Layout name=「1024×786」default=「」><Areas><!--Man kann verschiedene Areas definieren in denen die Controls plaziertwarden--><Area name=「area1「x=「0」y=「0」w=「100」h=「100」/><Area name=「area1「x=「101」y=「0」w=「100」h=「400」/></Areas><Controls><!--controls referenzieren eine Area die Koordinaten der Controls sindrelativ zurArea--><Control area=「area1」name=「Button1」type=「Button」x=「10」y=「10」<!-- SIPO -->w=「40」h=「20」><!--beliebige Properties des Controls knnen definiert werden--><Property name=「color」value=「red」/></Control><Control area=「area2」name=「Button2」type=「Button」x=「40」y=「10」w=「40」h=「20」/></Controls></Layout><!--ein altematives 2.Layout--><Layout name=「800×600」><Areas><Area name=「area1」x=「0」y=「0」w=「100」h=「100」/></Areas><Controls><Control area=「area1」name=「Button1」type=「Button」x=「10」</Controls></Layout><EventHandlers><!--Ein Event Handler.der an einen WebService verdrahtet ist--><Handler name=「Handler1」type=「WebService」><!--$1 ist ein Platzhalter,der dem ersten Parameter in der<map>definition entspricht--><connectionuri=「https//www.myserve r.corn/services/buttonclick.aspx?click=$1」/></Handler><!--Ein Event Handler,der inline Skript code enthlt--><Handler name=「Handler2」type=「Script」><script type=「inline」><!-- SIPO --><!--die bergabeparameter der Handler entsprechen den Parametern in der<map>definition--><code>function foo(id){alert(「you clicked me!」+id);}</code></script></Handler></EventHandlers><EventMapping><!--Verdrahtet das Button1「Click」Event mit Handler1 und bergibtdiesem Handler als Parameter die Property id des controls--><map name=「EventMap1」control=「Button1」event=「Click」han-dler=「Handler1」entry=「」><param value=「control.id」/></map><!--Verdrahtet das Button2「Click」Event mit Handler2 ruft dessenFunktion foo auf und bergibt den Parameter--><map name=「EventMap2」control=「Button2」event=「Click」handler=「Handler2」entry=「foo」><param value=「control.id」/></map></EventMapping></UI> 下面示例性給出根據本發明的「.Net Windows Forms」(縮寫為WinForms)的步驟 //省略XML語法分析//為XML配置中定義的、WinForm形式的區域和控制產生Control,//並將Form(myForm)添加到主程序Main中Areas[]theAreas=getAreas(xmlData);foreach(Area area in theAreas){<!-- SIPO -->Panel aPanel=new Panel;setPanelProperties(aPanel,area);//設置面板坐標和其它定義區域的特性myForm.Controls.Add(aPanel);//將面板添加到Form中XMLConfigControl[]theControls=getConttolsForArea(area);foreach(XMLConfigControl control in theControls){Control aControl=ControlFactory.createControl(control);//產生正確的//Control類型setControlProperties(aControl,control);//設置坐標和必要時定義的//Control的特性apanel.Controls.Add(aControl);}...//產生事件處理程序...//為腳本事件處理程序的每個函數返回一個單獨的EventHandlerEventHandler[]theEventHandlers=getEventHandler(xmlData);foreach(EventHandler evtHandler in theEventHandlers){Delegate aDelegate=null;if(evtHandler.type==EyentHandlerTypes.WEBSERVICE){aDelegate=createWebserviceDelegate(evtHandler,evtHandler.params);}else if(evtHandler.type==EventHandlerTypes.SCRIPT){aDelegate=createScriptDelegate(evtHandler,evtHandler.params);}addToEventHandlerCollection(aDelegate,evtHandler.name);}...//將控制事件和事件處理程序連接...EventMapping[]theEventMappings=getEventMappings(xmlData);foreach(EventMapping evtMap in theEventMappings){<!-- SIPO -->Control aControl=findControl(evtMap.control);EventInfo theEvent=getEvent(aControl,evtMap.event);Delegate aDelegate=findEventDelegate(evtMap.handler,evtMap.entry);//Control事件的參數不必與配置的事件處理程序的參數一致,因此事//件參數必須轉換為處理程序Delegate期望的參數Delegate aEvtDelegate=createTransformnEvtDelegate(aDelegate,evtMap.params,theEvent);theEvent.AddEventHandler(aControl,aEvtDelegate);}...
權利要求
1.一種用於在至少一個目標系統上為一應用程式(A)生成多顯示器用戶界面(UI)的方法,其中,該方法通過讀入和/或解釋一配置文件(10)來訪問該配置文件(10),所述配置文件(10)至少描述待生成用戶界面的布局的組件,尤其是可視化組件,其中所述用戶界面(UI)的生成在數據技術上是與目標系統(Z)和/或所述應用程式(A)無關的。
2.根據權利要求1所述的方法,其特徵在於,所生成的用戶界面(UI)在所述應用程式(A)的運行時也可以被動態配置。
3.根據權利要求1或2所述的方法,其特徵在於,所述用戶界面(UI)不依賴於目標系統(Z)的解析度和/或平臺而生成。
4.根據上述權利要求之一所述的方法,其特徵在於,所述配置文件(10)不依賴於用戶界面的程序庫而生成。
5.根據上述權利要求之一所述的方法,其特徵在於,所述配置文件(10)是基於XML協議的。
6.根據上述權利要求之一所述的方法,其特徵在於,所述配置文件(10)和/或所述用戶界面(UI)是自動生成的。
7.根據上述權利要求之一所述的方法,其特徵在於,所述配置文件(10)不是放置在所述目標系統(Z)中,而是特別放置在全球資訊網伺服器中。
8.根據上述權利要求之一所述的方法,其特徵在於,所述用戶界面(UI)還可以被遠程配置。
9.根據上述權利要求之一所述的方法,其特徵在於,所述配置文件(10)包括將控制事件與同樣可配置的事件處理程序(14)相對應的映射,其中,所述映射只是一般性的,並且不依賴於所述應用程式(A)和/或目標系統(Z)。
10.根據權利要求9所述的方法,其特徵在於,所述事件處理程序(14)可以在客戶機上本地執行,也可以在伺服器上遠程執行。
11.根據上述權利要求之一所述的方法,其特徵在於,所述用戶界面(UI)通過多個控制欄位,尤其是控制(12)來定義,其中所述方法分為下列步驟
-創建所述控制欄位,
-定位該控制欄位,和
-向可配置的控制處理程序(14)傳遞該控制欄位。
12.一種用於在至少一個目標系統(Z)上為應用程式(A)生成多顯示器用戶界面(UI)的系統,該系統具有
-至少一個配置文件(10),該配置文件至少描述待生成用戶界面(UI)的布局的組件,尤其是可視化組件,
-至少一個具有多顯示器功能的布局引擎(LE),該引擎讀入、解釋該配置文件(10)和/或生成所述用戶界面(UI),其中所述布局引擎(LE)在數據技術上是與所述應用(A)和/或目標系統(Z)無關的。
13.根據權利要求12所述的系統,其特徵在於,所述用戶界面(UI)不依賴於目標系統(Z)的解析度和/或平臺而生成。
14.根據權利要求12或13所述的系統,其特徵在於,所述配置文件(10)不依賴於用戶界面的程序庫而生成。
15.根據權利要求12至14中任一項所述的系統,其特徵在於,所述配置文件(10)是基於XML協議的。
16.根據權利要求12至15中任一項所述的系統,其特徵在於,所述配置文件(10)和/或所述用戶界面(UI)是自動生成的。
17.根據權利要求12至16中任一項所述的系統,其特徵在於,所述配置文件(10)不是放置在所述目標系統(Z)中,而是特別放置在全球資訊網伺服器中。
18.根據權利要求12至17中任一項所述的系統,其特徵在於,所述用戶界面(UI)還可以被遠程配置。
19.根據權利要求12至18中任一項所述的方法,其特徵在於,所述配置文件(10)包括將控制事件與同樣可配置的事件處理程序(14)相對應的映射,其中所述映射只是一般性的,並且不依賴於所述應用程式(A)和/或目標系統(Z)。
20.根據權利要求19所述的系統,其特徵在於,所述事件處理程序(14)可以在客戶機上本地執行,也可以在伺服器上遠程執行。
21.根據權利要求12至20中任一項所述的系統,其特徵在於,定義多個控制欄位,尤其是控制(12),其中該方法分為下列步驟
-創建所述控制欄位,
-定位該控制欄位,和
-向可配置的控制處理程序(14)傳遞該控制欄位。
全文摘要
本發明涉及一種用於為用戶(A)動態地、不依賴於解析度和平臺地生成用戶界面(UI)的方法和系統。其中讀入和解釋配置文件(10)。在訪問分別將一個控制事件與一個事件處理程序(14)對應的映射的條件下,布局引擎(LE)生成用戶界面(UI)。
文檔編號G06F9/44GK1614557SQ200410089780
公開日2005年5月11日 申請日期2004年11月4日 優先權日2003年11月4日
發明者卡爾海因茨·多恩, 克裡斯琴·沙夫, 麥可·施尼茨克, 漢斯-馬丁·馮斯託克豪森 申請人:西門子公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀