專利名稱:軟件開發環境的制作方法
技術領域:
本發明涉及軟件開發環境,并且更具體地涉及與移動通信有關的軟件的軟件開發環境。
背景技術:
如圖1所示,移動通信環境包括在其間傳輸數據的幾個不同方。終端TE表示業務的用戶。業務由業務提供者SP和網絡MNW(例如,移動網絡)提供。該環境還可以包括內容提供者CP,它提供的內容被業務提供者SP或者網絡MNW提供到終端TE。例如,為了得到新聞,從終端TE發送短消息到移動網絡MNW,后者將短消息轉發到天氣業務提供者SP。該業務提供者SP根據從提供天氣預報的內容提供者CP處獲得的天氣數據產生多媒體消息。該多媒體消息被轉發到移動網絡MNW,后者將之轉發到終端TE。如果不能建立到移動站TE的連接,則移動網絡可以將多媒體消息存儲在消息中心并且當TE再次連接到網絡時立即發送該消息。當為終端TE開發新的業務時,當開發了新的終端TE或者網絡元件時,以及當為終端TE或者網絡元件開發了新的功能時,需要測試所開發的軟件環境的功能。
軟件組件可以在軟件開發環境中的開發階段被測試,因此不需要實際的裝置,而是可以只借助例如一臺計算機、完全用軟件進行測試。已經開發了終端仿真器,它完全地或者部分地模型化一個終端的運行。這種應用開發環境的優點是不需要為了測試應用的功能而將這些應用加載到實際的設備中。在美國公布的專利申請號20020169591中示例了利用仿真器的應用開發環境。終端仿真器可以被加載到軟件開發環境中,并且可使用它來測試應用的運行,以便例如象在終端中那樣去測試由服務所發送的是什么消息。通常,特殊軟件開發環境適應于不同的技術,但是不可能將環境互相連接。例如,對于不同通信應用存在特定的軟件開發環境,以及對于因特網瀏覽器應用存在特定的軟件開發環境。即使可以將幾個不同終端仿真器加載到一個軟件開發環境中,被開發的軟件組件也必須在單獨的測試過程中對每個終端仿真器進行測試。這樣做的一個實例是,軟件開發者必須分開地為每個電話模型加載一個仿真器,并且把由應用創建的多媒體消息單獨發送給這些仿真器中的每一個。
發明內容
因而,本發明的目的是改善軟件組件的連通性。本發明的該目的可以通過一種方法、數據系統、數據處理設備、軟件產品、數據存儲介質和信號來實現,其特征正如獨立權利要求中所記載的。在從屬權利要求中描述了本發明的優選實施例。
本發明基于數據系統,其包括用于不同軟件組件的適配器以及用于在不同適配器之間傳輸數據的代理組件(broker component),其中適配器為至少一個連接到該適配器的軟件組件提供了到代理組件的接口,并且其中在代理組件中保持關于數據系統中該適配器的尋址信息。在數據系統中,該數據系統中的第一適配器被激活用于第一軟件組件,而第二適配器用于第二軟件組件,以響應在第一軟件組件和第二軟件組件之間傳輸數據的需要。數據根據該尋址信息,而在第一適配器和第二適配器之間的代理組件中傳輸。適配器通常是指在軟件組件和代理組件之間使能數據傳輸的功能性。
本發明這種安排的一個優點是,提供了一個通用通信平臺,支持很多不同技術種類的軟件組件可以被連接到該平臺上并且可以在這些軟件組件之間安排數據傳輸。該適配器使得由代理組件提供的數據傳輸功能性對于該軟件組件是隱蔽的,并且,另一方面,支持不同技術的軟件組件可以被連接到代理組件上。對于每個軟件組件只需要一個適配器。這允許例如內容提供者只使用一個到代理組件的接口來在各種終端仿真器中測試它的內容。本發明允許更加簡單和快速地測試移動通信應用的運行,因為經由代理組件和適配器可以將所有的、到需要的軟件組件的數據傳輸安排在相同的軟件開發環境中。
根據本發明的優選實施例,適配器提供了到移動系統的數據傳輸應用的接口,該應用允許把從代理組件和適配器接收到的消息進一步傳輸到第二移動站或者移動網絡。該實施例提供了優點,例如可以通過使用一個實際設備來安排測試,或者安排數據傳輸例如從軟件開發環境到移動網絡中的實際元件。多個軟件組件可以被同時測試,并且它們可以都駐留在實際終端中或者終端仿真器中。
以下,將參照附錄1和附圖詳細來描述本發明的優選實施例,在附圖中圖1概括地示出了移動通信環境中的不同方;圖2示出了本發明優選實施例的軟件開發環境;圖3示例了數據處理設備;圖4示例了本發明優選實施例的適配器的層;圖5示例了本發明優選實施例的代理組件的層;以及圖6示例了依照本發明優選實施例的方法。
具體實施例方式
圖2示例了依照本發明優選實施例的數據系統200。該數據系統200可以作為軟件開發環境工作,至少使能不同軟件組件201的測試。軟件組件201可以是例如移動通信應用軟件開發工具、終端、系統或者業務仿真器、內容開發工具、測試工具、或者外部系統或者設備的應用。數據系統200包括一些適配器203,它們為至少一個與其連接的軟件組件201提供了接口。特別是,適配器203將(外部)軟件組件201連接到代理組件202,后者在適配器之間起到數據傳輸網關的作用。代理組件202照看適配器203之間,且因而也是軟件組件201之間的所有數據傳輸。該代理組件202是數據系統200的通信中心,并且照看適配器203之間的所有數據傳輸。適配器203和代理組件202構成外部軟件組件201的代理功能性。
數據系統200還包括一個自適應監督程序(daemon)組件207,一個控制臺組件208、以及優選地還包括一個濾波器組件206和與之相關聯的濾波器適配器205。該自適應監督程序組件207管理在本地工作站中可執行的軟件組件201、206,代理組件202、濾波器203、205,控制臺組件208并且維護一個本地的日志文件。控制臺組件208是一個圖形用戶接口工具(GUI工具),利用它,用戶能夠獲得有關系統200的信息,并且管理系統200的功能,諸如適配器203,205以及經由代理組件202的數據傳輸。濾波器適配器205使能監控、分析或者還可能改變在代理組件202中傳輸的數據。代理組件202可經由濾波器適配器205在給定的適配器203之間傳輸業務,以便在濾波器組件206中分析。數據系統200可以在一個數據處理設備中執行或者在幾個例如經由TCP/IP網絡彼此連接的數據處理設備中執行。要注意的是,圖2中所示的系統只是實施本發明的一種方式,例如控制臺組件208和自適應監督程序組件207的功能可以在一個組件中執行。
圖3示例了數據處理設備301,其中實現了數據系統200的至少一部分。該數據處理設備301包括存儲器302、用戶接口304、用于安排外部數據傳輸的I/O裝置305、以及包含一個或者多個處理器的中央處理單元303 CPU。存儲器302包括一個非易失性部分,用于存儲控制該中央處理單元303的應用及其它要被存儲的數據,還包括一個易失性部分用于臨時的數據處理。在中央處理單元303中執行的計算機程序代碼可以使得數據處理設備301實現圖2中所示的功能,以及稍后在圖3、4、5和6中所示的功能,例如一個或者多個軟件組件201、適配器203、205、自適應監督程序組件207、控制臺組件208和代理組件202。計算機程序代碼可以被存儲在任意一個或者多個存儲器裝置中,例如PC中的硬盤、存儲卡、或者CD ROM,從其中將計算機程序代碼加載到執行它們的設備301的存儲器302中。例如,計算機程序代碼還可使用TCP/IP協議棧(傳輸控制協議/網際協議)經由網絡加載。也可以至少部分地利用硬件方案來實現該創造性的裝置。
還應指出,圖2中所示的功能可以在幾個彼此通信的數據處理設備301中執行。在這種情況下,數據系統200可以是分布式的,且移動應用的開發和測試可以在例如幾個分開的設備301中進行。在這種情況下,代理組件202可以由不同設備中的實體實現;這些實體使用任意的數據傳輸協議通信,例如TCP/IP協議棧。在一個分布式數據系統中,可以安排遠程使用,由此可以從第一數據處理設備的軟件組件201、207、208激活第二數據處理設備的軟件組件201。數據處理設備301可以是能夠執行幾種可能甚至很大的軟件組件的任意設備。根據優選實施例,系統200利用基于Java的功能,在設備301中執行的JavaTM運行時環境。以下,將參照此實施例;然而還應指出也可以使用其它編程技術來實現本發明。
圖4示例了依照優選實施例的適配器203、205的層。適配器203、205是將(外部)軟件組件201、206連接到代理組件202的組件。適配器203、205由以下部分組成到軟件組件201的應用程序接口、用于在軟件組件201和應用程序接口之間的數據傳輸的適配代碼、以及執行該適配代碼的部分。適配器203、205公布了用于在不同軟件組件201和代理組件202之間指定適配代碼的接口,公布了用于將自適應監督程序組件207和控制臺組件208連接到代理組件202的系統接口,并且適配器203、205還保持一個到代理組件202的連接。適配器203、205對軟件組件201、207和208隱藏代理組件202的功能性。可以通過使用可再用的組件來實現適配器203、205,以便使能對不同適配類型的適配。在這種情況下,為各種平臺而生成的適配器(例如)可以利用相同的組件。
適配器203包含一個適配層,后者由框架接口(框架IF)407、業務接口(業務IF)406以及點到點接口(P2P IF)405組成。在適配層之下是實施層,它包括框架應用程序接口(框架API)402、業務應用程序接口(業務API)403、以及點到點應用程序接口(點到點API)404。在實施層下面是傳輸層,它包括通信應用程序接口(通信API)401。適配層405、406、407是用于將外部軟件連接到代理組件202的基本適配接口;它將實施層402、403、404連接到有關的技術上。適配層是在適配器203被開發用于新技術時不得不被修改的唯一的層。框架接口407是用于將適配器203連接到代理組件202的主要接口,并且它包括通常的和適配器有關的功能,諸如點對點的注冊。業務接口406照看基于事件的數據的同步和異步傳輸及接收(即,事件)。點對點接口405包括與點對點連接(即P2P連接)的管理相關的功能。當另一個適配器203希望打開連接時,它通知適配器203,它使能打開和關閉對一個連接到代理組件202的適配器203的輸入流和輸出流。相似地,適配層的塊405、406和407使用實施層的應用程序接口404、403、402。根據優選實施例,適配層405、406和407是獨立于平臺的Java實現。傳輸層,即通信應用程序接口401將適配器203連接到代理組件202。它照看連接、連接錯誤以及自動連接重新建立。根據優選實施例,在適配器203和代理組件202之間的數據傳輸是基于RMI(遠程方法調用)的,傳輸層對其它的塊隱藏了RMI功能性。
有兩種不同的方式來實現軟件組件201、206和代理組件202之間的適配通過軟件適配或者通過通信適配。在軟件適配中,軟件組件201被軟件401到407使用API調用(應用程序接口調用)而直接地集成到適配接口。因此,適配器203的適配邏輯和圖4中所示的功能可以在軟件組件201進程中執行。這種實施方式提供的優點在于軟件組件201還可以被從數據系統200(從自適應監督程序組件207)來管理。
在通信適配中,軟件組件201使用一些數據傳輸協議和適配器203通信。適配器203和軟件組件201是彼此完全分開的分開進程。傳輸協議可以是底層操作系統和編程語言所支持的任何協議,例如,基于TCP/IP的協議或者文件傳輸。對于通信適配,可以在適配器203中規定各種通常的數據傳輸組件,例如發送器組件408和接收器組件409,它們根據其地址數據來照看軟件組件201和適配器203之間的數據傳輸。其實例有用于從規定的TCP/IP端口接收數據的接收器組件和用于在規定的目錄和文件中寫入的發送器組件408。除了數據傳輸組件之外,通信適配還使用內容處理機組件410,其正確地解釋規定的內容并且照看內容傳輸,例如HTTP命令的傳輸。通信適配使能通過利用軟件組件201的現有組件來實施適配器203,這樣無需修改軟件組件的代碼。
對于可以被稱為產品的不同軟件組件201,已配置的適配器203是基于模板而被規定的。一個模板表示一個被安裝的(外部)軟件組件201,并且包括與安排數據傳輸所需要的屬性有關的信息。為了集成軟件組件201,該模板包括一個通常的規定,可以被用來為有關的軟件組件201精確地配置適配器203。該模板還特別規定了用于標識適配器以及用于規定它的諸如業務類型標識符的屬性的元素。該模板還優選地包括用于規定主機地址的元素,它可以被用來(例如)激活不同設備中的適配器。該模板還可包括與該適配器的管理相關的元素,以及與通信適配相關的元素,例如用于發送器和接收器類名稱的元素。每個被配置的適配器203基于存儲在適配器配置中的標識符而被識別。該標識符是一個字符串,例如電話號碼。已配置的適配器被連接到代理組件202上,此后數據可以經由它傳輸。該模板也可以在控制臺組件208中使用,以便向用戶表示安裝在該系統中的軟件組件201。根據優選實施例,該模板包括一個或者多個XML文件以及一個JAR文件,前者包含信息,后者包含適配器特定的Java類和資源。為不同的軟件組件創建獨立的模板,例如每個移動站仿真器具有一個特殊的移動站模型特定的模板。附錄1示例了模板的DTD定義(文檔類型定義),即它示例了可以被包含在依照實施例的模板中以及其中定義的配置中的元素。根據優選實施例,同一模板可以被用來在數據系統200中配置多個適配器203,使得能夠例如在系統200中安排幾個相同的并行移動站仿真器。
一旦知道了軟件組件201的特性,就很容易創建模板。首先規定適配機制,即所關心的是軟件適配還是通信適配。基于此,創建模板,即規定要使用的元素并且賦予這些元素缺省值。在通信適配中要求使用和軟件適配中不同的元素,特別是還額外需要設置那些使能安排數據傳輸的組件408、409以及410。在軟件適配中,模板被集成到軟件組件201中。所創建的模板被用于創建安裝文件,以便在數據系統200中安裝該模板。例如,可以使用附錄1中所示例的元素,其中規定了用于這些元素的缺省值。
圖5示例了依照優選實施例的代理組件202的層。代理組件202作為軟件開發系統200中的通信平臺運行。它執行以下功能維持已安裝模板的列表506,管理與其連接的適配器203、205的列表507以及它們的屬性,管理適配器203、205的尋址信息,管理適配器203、205之間基于事件和基于流的數據傳輸,為適配器203、205提供命令接口以便實施命令,例如用于斷開連接適配器203、205或者用于獲得已連接適配器的列表,以及將可用模板、配置以及適配器狀態中的變化通知給適配器203、205。
代理組件202包括包含多個接口的接口層、代理接口(代理IF)502、事件回調接口503、點到點管道接口(P2P管道IF)504。接口502包括與代理組件202相關的通用功能,例如傳輸功能。接口503包括基于事件的數據傳輸功能,用于安排與適配器203、205之間基于事件的數據傳輸。接口504包括用于處理輸入和輸出流的功能。根據優選實施例,代理組件202的實施層包括代理實施類;代理501和點到點管道功能性(P2P管道)505。代理組件202的配置最好存儲在XML文件中。該配置包括代理組件202的通用設置,諸如廣播號碼和RMI端口。
通常,代理組件202將消息直接從一個適配器203路由到另一個。消息也可以經由濾波器適配器205和濾波器組件206傳送。這使濾波器組件206在該消息中干預并且例如模擬要被傳輸的消息的數據傳輸錯誤。發送和接收適配器203不去檢測該干預的濾波器適配器205。在該代理組件202中也可以使用靜態路由。在這種情況下,代理組件202例如對于測試情況來設定路由表中的條目,根據該條目,來自第一適配器203的消息被自動轉發到指定的第二適配器203,由此要被傳輸的分組甚至不需要目的地地址。
指定給適配器203、205的標識符可以被用作代理組件202中的通信地址。當一個P2P連接被激活時,這允許第一適配器203、205指示第二適配器203、205的標識符,通信是利用該標識符進行的。在代理組件202中,目的地適配器還可以根據要被傳輸的數據條目規定。例如,適配器203根據要被發送的短消息的目的地號碼字段來指定目的地電話號碼。該目的地電話號碼對于該代理組件202被設定為用于包括要被發送的短消息在內的數據分組的目的地地址,并且基于此,代理組件202將數據分組發送到適配器203、205,后者的指定標識符(在列表507中)為所述電話號碼。如前面提到的,根據一個實施例,適配器203、205和代理組件202之間的數據傳輸使用通用的RMI功能實現,由此適配器203、205具有到代理組件202的特殊RMI接口(邏輯端口)。
系統200還可以包括廣播或者多播地址。如果消息被發送到一個廣播地址,則代理組件202發送該消息的拷貝到所有操作中的適配器203。根據優選實施例,代理組件202還在列表507中維持與已連接適配器203的屬性(即由它們所表示的軟件組件201的屬性)有關的信息,并且當一個事件被發送或者一個到它的連接正在被建立時檢查軟件組件201的這些屬性。這允許代理組件將數據傳輸只安排在適配器203和能夠彼此傳輸數據的相應軟件組件201之間。例如,在需要時,消息可以在系統中被發送到支持MMS技術(多媒體消息業務)的所有軟件組件201。對于這種編組傳輸,可以使用例如特殊業務類型特定的地址,根據該地址,代理組件202知道所涉及的是指向給定業務類型之軟件組件的編組傳輸。在這種情況下,代理組件202根據已連接適配器的列表507,檢查在適配器配置中哪個適配器203的業務類型被定義為MMS。代理組件202然后將消息發送到支持這種MMS業務的所有適配器203上。
還應指出在圖4和5中所示的適配器202和代理組件203的功能只是在數據系統200中實現它們的一種方式。并非圖4和5中的所有功能都是必需的,并且另一方面可以增加新功能到適配器202和/或代理組件203中。
以下,參照附圖6示例了將新軟件組件201連接到軟件開發環境的數據系統以便例如測試該軟件組件。當要將新的軟件組件201連接到系統200時,根據模板而為之創建一個已配置的適配器203。在系統200中,可以通過控制臺組件208激活安裝程序,以便在系統200中安裝新軟件組件201和為其創建的模板601。自適應監督程序207檢測到新模板并將它通知給代理組件202。如果需要,則代理組件202把有關新模板的信息廣播給控制臺組件208。
通過控制臺組件208從用戶接收的輸入602可以被用來通過把用戶的設置附加603到所取的該模板的拷貝上、至少為適配器203設定一個標識符,而根據該模板來創建一個已配置的適配器203。由用戶給出的任何設定代替了從該模板中獲得的缺省設定。該已配置的適配器203將該標識符賦給該系統200中的軟件組件201;它可能包括與該軟件組件201相關的各種指定參數,諸如文件名和目錄路徑。代理組件202存儲604該配置以便稍后使用。根據優選實施例,該配置被存儲為XML文件(來自XML形式的模板)。適配器202現在被指定用于該新的軟件組件,因此它可以被用于安排該組件的、經由代理組件到其它軟件組件的數據傳輸連接。
當該已配置的適配器203被連接到代理組件202,特別是連接到由它保持的、有關已連接適配器的列表507時,該適配器203(以及由它指定的軟件組件201)變成數據系統200的部分。在這種情況下,諸如其主機的運行時設置也可以與適配器203相關聯。通過控制臺組件208,用戶能夠根據與軟件組件201相關聯的標識符1111來激活該軟件組件201,例如,由此而將命令605轉發到自適應監督程序組件207,以便也連接該適配器203。自適應監督程序組件207激活軟件組件201和適配器203。然后可以從適配器203向代理組件202發送請求,以便連接由標識符1111所標識的適配器,由此,代理組件202(代理501)根據標識符1111檢索606該適配器的配置。代理組件202把同標識符1111相關聯的配置轉發到適配器203,并且把適配器203添加到它所保持的、有關已連接的適配器的列表507,即把適配器203連接607到代理組件202。
然后可以通過已連接適配器203來安排去向/來自軟件組件201的數據傳輸。當響應于從與其連接的軟件組件201或者從代理組件202接收的命令608,需要通過已連接的適配器203傳輸數據時,適配器203被激活609。當用戶在由軟件組件201提供的用戶接口中選擇給其它軟件組件的數據傳輸時,通常會激活適配器203。在適配器203的激活609中,所需要的資源被設置,例如接收/發送數據的P2P接口405。然后可以通過代理組件202在適配器203和另一適配器203之間傳輸610數據。
系統200的用戶能夠通過控制臺組件208以及適配器203的框架接口407跟蹤工作的適配器203、205。在這種情況下,根據由代理組件202所保持的、有關已連接到該系統上的適配器的列表507,而給出可用適配器(和/或特別是與其連接的軟件組件201)的通知。
以下,將詳細描述通過適配器203和代理組件202安排數據傳輸(即圖6的步驟609和610)的不同方式。如前所述,適配器203、205之間的數據傳輸可以是面向連接的或者是基于事件的,即無連接的。
在基于事件的數據傳輸中,適配器203、205通過框架接口407獲得業務接口實例403、406。如果業務接口實例403、406還不存在,則發送適配器也可以獲得它。適配器203、205兩者將一個用于將來的事件的監聽者加到業務接口403、406。適配器203把從軟件組件201所接收的、將要發送的內容打包作為事件,其具有傳輸標識符和接收適配器203、205的標識符。事件被發送到代理組件202,后者查找其保持的、用于接收適配器203的列表507,以查明該接收適配器是否被激活并且能夠處理此類事件。如果是,則代理組件202將該事件發送到被尋址的接收適配器203。被尋址的接收適配器203通過監聽者接收該事件,并將該事件的內容轉發給軟件組件201。如果是同步事件,則接收適配器203發送響應事件給該發送適配器203。
對于P2P數據傳輸,初始適配器203通過接口407發送一個打開連接的請求。P2P接口405被安排用于該連接,并且它將該連接表示給該連接的第二端點,即被呼叫適配器203。代理組件202將請求轉發給第二適配器203,以便打開一個P2P連接,該第二適配器203通過一個監聽接口來接收請求。兩個適配器的接口405都被設置為發送和/或接收數據流。根據優選實施例,數據流可以是通常的java.io流;任意數據流本身都可以通過代理組件202所提供的P2P連接傳送。
根據實施例,檢測功能在數據系統200中實現,優選地在自適應監督程序組件207中實現,該功能自動檢測一個新的軟件組件201,例如安裝在數據處理設備301中的終端仿真器。在檢測到新的軟件組件后,該檢測功能可以執行圖6所示的功能,并將軟件組件連接到數據系統200,即為它安排適配器203以便連接到代理組件202。
根據又一實施例,在數據系統200中通過控制臺組件208提供數據系統拓撲的拓撲,特別是軟件組件201的拓撲給用戶。此處,用戶通過使用圖形圖標而獲得數據系統200的示例性的總體視圖。該用戶可被提供通過繪圖而在已有組件之間指定新組件或者接口的機會。例如,如果用戶在兩個軟件組件201之間畫了一條線,則可以自動激活它們的適配器203并且可以在它們之間安排一條數據傳輸連接。當用戶通過增加新軟件組件201的圖標到圖片中來增加該新軟件組件201到數據系統200時,可以執行與該軟件組件201及其適配器203的配置和連接相關聯的所有功能,即可執行圖6中的步驟601到607。該實施例還改善了軟件開發環境的可用性,因為新組件的增加和修改對于用戶來說十分容易。
因此,在依照優選實施例的數據系統200中,通過適配器203和代理組件202可以互連非常不同的軟件組件201。以下,給出在不同拓撲中安排數據傳輸以及怎樣在不同的軟件開發環境中利用上述數據系統200的例子。
在第一個例子中,數據傳輸被安排用于為SMS/MMS(短消息業務)中的服務器的軟件開發提供測試。此處,為該服務器開發MMS應用的應用開發人員通過不同的終端仿真器可很容易地測試應用的功能。短消息從終端仿真器經由適配器203被發送到代理組件202。該代理組件202檢測到SMS服務器仿真環境已經通過與該SMS服務器仿真器相連接的適配器203連接至代理組件202,并把該消息路由到代理組件202。代理組件202將短消息轉發到SMS服務器仿真器(SMSC仿真器;短消息業務中心),即,轉發到仿真網絡短消息業務的一個功能上。SMS服務器仿真器把該短消息轉發到要被測試的外部MMS應用,例如使用CIMD協議(到消息分布的計算機接口)。MMS應用接收該短消息的指示。在本例中,應用邏輯創建一個MMS消息,并將其發回到發送該短消息的終端仿真器。MMS應用通過使用例如EAIF協議(外部應用接口)將MMS消息發送到MMS服務器仿真器,即仿真MMS功能的軟件組件。MMS服務器仿真器通過與之連接的適配器203將該消息轉發到代理組件202。代理組件202根據由它保持的尋址數據,通過與它相連的適配器203把該消息轉發到正確的終端仿真器。適配器203(與短消息發送中的適配器相同或者不同)把該MMS消息發送到終端仿真器201,其中MMS消息可以被查看并檢查它是否與想要的相一致。在該實施例中,軟件開發人員一方面可以測試所開發的應用的運行并查找其中的錯誤,另一方面可以測試在相同的軟件開發環境中由不同終端的應用所創建的消息的正確性。
在第二個例子中,內容開發人員能夠輕松地將內容轉發到不同終端仿真器和/或實際終端,并且發現該內容在不同終端如何呈現。內容開發人員的內容開發軟件組件(201)的內容(例如MMS消息)只使用一個接口轉發,即通過與內容開發軟件組件相連的適配器203、經由代理組件202以及與終端仿真器相連的適配器203而被轉發到不同的終端仿真器。該內容還可以被轉發到實際的無線終端,例如通過提供到藍牙環境(藍牙應用)的接口的適配器203。此類適配器將MMS消息適配為經由藍牙連接傳送的形式,此后,開發該內容的數據處理設備的藍牙應用能夠將該消息轉發到實際終端。這使能同時測試幾個軟件組件,這些軟件組件即可以在實際終端中也可以在終端仿真器中。適配器203還可以被連接到代理組件202,并且經由該適配器安排一個到遠程操作員網絡的接口,例如到3GPP(第三代合作項目)系統的MMS中繼功能性,通過它可以將內容中繼到實際的終端TE或者移動網絡MNW。
在第三個例子中,應用開發人員可以通過使用終端仿真器、適配器203、代理組件202以及藍牙環境模擬器,來在一個數據處理設備中測試和/或模擬藍牙應用。在軟件開發環境(201)中開發藍牙應用。所開發的應用的軟件可以經由應用開發組件的適配器203、代理組件202以及終端仿真器的適配器203被傳送到終端仿真器。被接收的應用可以在終端仿真器中被執行,并且通過使用為它們所安排的適配器203與藍牙環境的模擬器和/或實際的藍牙環境一起測試。
在第四個例子中,在軟件開發環境中開發端到端短消息傳送應用,通過該軟件開發環境的適配器203和代理組件202,應用可以被傳送到終端仿真器和短消息中心仿真器(或者服務器仿真器)。然后可以根據所傳送的應用邏輯在終端仿真器(客戶端)和短消息中心仿真器或者服務器仿真器之間中繼消息,允許在甚至使用一個數據處理設備的情況下測試該應用邏輯的功能。
如基于以上例子所見,本發明的方案使能測試端到端的應用,而不管可用的技術。例如,在Java仿真器(201)中執行的應用經由Java接口(Java API)發送短消息SMS,所述短消息SMS經由適配器(203)和代理組件(202)被傳送到系統中的服務(201)。該服務監聽SMS消息,并且在接收SMS消息之后創建MMS消息,后者經由與該服務相連的適配器203和代理組件202被發送到環境中的MMS軟件組件(例如仿真器、MMSC、MMSC模擬器)。換而言之,本發明的方案允許“鏈式化”應用以便測試它們的運行。這些應用自然可以使用其它編程語言實現,例如C、C++或者Pascal語音。代替短消息,IP形式的消息、MMS消息或者依照HTTP協議的消息都可以被傳送,即傳輸協議可以是任意的現有協議或者將來開發的協議。可用的傳輸信道包括短距離無線電連接、諸如GPRS或者UMTS連接的蜂窩連接、或者諸如紅外的光連接。
對于本領域技術人員來說,顯然本發明的技術改進、基本思想可以用多種方式實現。本發明及其實施例因而不限于上述例子,而是可以在權利要求的范圍內有各種變化。
附錄1DTD定義<pre listing-type="program-listing"> <?xml version=″1.0″ encoding=″ISO-8859-1″?> <!ELEMENT Property EMPTY> <!ATTLIST Property Id ID #IMPLIED Name CDATA #REQUIRED Value CDATA #REQUIRED > <!ELEMENT ClassName(#PCDATA)> <!ELEMENT Description(#PCDATA)> <!ELEMENT FrameworkConfiguration (AdapterConfiguration|AdapterUI- Configuration)> <!ELEMENT AdapterConfiguration(ClassName?,AdapterHosting,AdapterI- dentification,InstanceSettings?,ServiceSupports,ProductManage- ment?,Property*)> <!ELEMENT AdapterHosting EMPTY> <!ATTLIST AdapterHosting HostAddress CDATA #IMPLIED Autostart(TRUE|FALSE)#REQUIRED > <!ELEMENT InstanceSettings EMPTY> <!ATTLIST InstanceSettings MaxCount CDATA #REQUIRED ActionWhenViolated(NONE|KILL)#REQUIRED > <!ELEMENT ServiceSupports(ServiceSupport+)> <!ELEMENT ServiceSupport(ServiceType,ServiceVersion,ContentHan- dlers?,Senders?,Receivers?)> <!ATTLIST ServiceSupport ServiceID ID #REQUIRED CanReceive(TRUE|FALSE)#REQUIRED Filtering(TRUE|FALSE)#REQUIRED > <!ELEMENT ServiceType(#PCDATA)> <!ELEMENT ServiceVersion(#PCDATA)> <!ELEMENT ContentHandlers(ContentHandler+)> <!ELEMENT ContentHandler(ClassName,Property*)> <!ELEMENT Senders(Sender*)> <!ELEMENT Sender(ClassName,Property*)> <!ELEMENT Receivers(Receiver*)> <!ELEMENT Receiver(ClassName,Property*)> <!ELEMENT AdapterIdentification(AdapterGroup,AdapterType,AdapterD- escription,AliasIDs?)> <!ATTLIST AdapterIdentification AdapterID CDATA #REQUIRED InitialCreationMethod(USER|SYSTEM) #REQUIRED > <!ELEMENT AliasIDs(AliasIDRange*,AliasID*)> <!ELEMENT AliasIDRange EMPTY> <!ATTLIST AliasIDRange Min CDATA #REQUIRED Max CDATA #REQUIRED > <!ELEMENT AliasID EMPTY> <!ATTLIST AliasID<!-- SIPO <DP n="14"> --><dp n="d14"/> Value CDATA #REQUIRED<br/> > <!ELEMENT AdapterGroup(#PCDATA)> <!ELEMENT AdapterType(#PCDATA)> <!ELEMENT AdapterDescription(#PCDATA)> <!ELEMENT ProductManagement(ProductStarter?,ProductStopper?,Pro- ductDetector?,ProductConfigurator?)> <!ELEMENT ProductStarter(ClassName,Property*)> <!ELEMENT ProductStopper(ClassName,Property*)> <!ELEMENT ProductDetector(ClassName,Property*)> <!ELEMENT ProductConfigurator (ClassName,Property*)> <!ELEMENT DefaultAdapterID(#PCDATA)> <!ELEMENT Framework(ClassName,Identification,Property*)> <!ELEMENT Identification(Description)> <!ELEMENT AdapterUIConfiguration(Component+)> <!ELEMENT Component EMPTY> <!ATTLIST Component Id ID #REQUIRED Label CDATA #REQUIRED LabelKey CDATA #IMPLIED ></pre>
權利要求
1.一種在軟件開發環境中、在實施移動通信應用的軟件組件之間安排數據系統中的數據傳輸的方法,該數據系統至少包含第一軟件組件和第二軟件組件,至少一個軟件組件包含用于控制移動站的程序代碼,其特征在于該數據系統包含用于不同軟件組件的適配器和用于在不同適配器之間傳輸數據的代理組件,其中,適配器為與之相連的至少一個軟件組件提供到該代理組件的接口,以及其中,與數據系統中的適配器有關的尋址信息被保持在代理組件中,在該方法中在該數據系統中第一適配器被激活用于該第一軟件組件并且第二適配器用于該第二軟件組件,以響應在第一軟件組件和第二軟件組件之間傳輸數據的需要,以及數據根據該尋址信息而在第一適配器和第二適配器之間的代理組件中傳輸。
2.如權利要求1所述的方法,其特征在于為該第一適配器和第二適配器安排到代理組件的接口,用于面向連接或者無連接的數據傳輸,以響應在第一軟件組件和第二軟件組件之間傳輸數據的需要。
3.如權利要求1或者2所述的方法,其特征在于在代理組件中保持該第一適配器和第二適配器的標識符以及有關這些適配器屬性的信息,以響應第一適配器和第二適配器被連接到該代理組件上,以及基于該標識符和該適配器的屬性而在該代理組件中檢查在該第一適配器和第二適配器之間數據傳輸是否可能,以響應在該第一軟件組件和第二軟件組件之間傳輸數據的需要。
4.如以上任一權利要求所述的方法,其特征在于該數據系統具有至少一個被存儲的模板,該模板包含有關該第一軟件組件的屬性的信息,以便為該第一軟件組件指定一個適配器,由此基于該模板而指定第一適配器的配置,該第一適配器的配置被存儲在該數據系統中,以及當該第一適配器被連接到該代理組件時,檢索第一適配器的配置。
5.如以上任一權利要求所述的方法,其特征在于使用軟件適配來安排由適配器所提供的適配功能性,該適配器在軟件組件進程中實施,或者使用通信適配來安排由適配器所提供的適配功能性,該適配器在單獨的進程中實施,以及通過使用數據傳輸協議來安排在適配器和軟件組件進程之間的數據傳輸。
6.如以上任一權利要求所述的方法,其特征在于該系統還包括與代理組件相連的至少一個濾波器適配器,由此,在第一軟件組件和第二軟件組件之間的數據傳輸被安排通過該濾波器適配器,以及與在第一軟件組件和第二軟件組件之間所傳輸的信息有關的信息在濾波器適配器中被收集。
7.如以上任一權利要求所述的方法,其特征在于第一適配器提供接口到移動通信系統的數據傳輸應用,該應用為該第一軟件組件。
8.一種數據系統,至少包含第一軟件組件和第二軟件組件,至少一個軟件組件包含用于控制移動站的程序代碼,其特征在于,該數據系統還包含用于不同軟件組件的適配器以及在不同適配器之間傳輸數據的代理組件,其中,該適配器為與之相連的至少一個軟件組件提供到該代理組件的接口,以及其中,該代理組件被安排用來保持有關該數據系統中的適配器的尋址信息,在該數據系統中安排第一適配器為該第一軟件組件而被激活并且安排第二適配器為該第二軟件組件而被激活,以響應在該第一軟件組件和第二軟件組件之間傳輸數據的需要,以及該代理組件被安排用來在該第一適配器和第二適配器之間根據尋址信息而傳輸數據。
9.一種數據處理設備,其特征在于該數據處理設備包含依照權利要求8的數據系統。
10.一種用于控制一個或者多個數據處理設備的計算機程序產品,以便在第一軟件組件和第二軟件組件之間安排數據傳輸,至少一個軟件組件包含用于控制移動站的程序代碼,其特征在于該計算機程序產品包含用于為不同軟件組件實現適配器的程序代碼部分,其中該適配器為與之連接的至少一個軟件組件提供到代理組件的接口,用于為不同適配器之間的數據傳輸實現代理組件的程序代碼部分,該代理組件被安排用于保持與該數據系統中的適配器有關的尋址信息,用于控制數據處理設備的程序代碼部分,以便為該第一軟件組件激活第一適配器并為第二軟件組件激活第二適配器,以響應在第一軟件組件和第二軟件組件之間傳輸數據的需要,用于控制數據處理設備去設定代理組件的程序代碼部分,以便根據尋址信息在第一適配器和第二適配器之間傳輸數據。
11.一種數據處理設備可讀的數據存儲介質,其特征在于該數據存儲介質包含依照權利要求10的計算機程序產品。
12.一種信號,其特征在于該信號包含依照權利要求10的計算機程序產品。
全文摘要
本發明涉及在軟件開發環境中、在實施移動通信應用的軟件組件之間安排數據系統中的數據傳輸。該數據系統包含用于不同軟件組件的適配器和用于在不同適配器之間傳輸數據的代理組件,其中,該適配器為與之相連的至少一個軟件組件提供到代理組件的接口。與數據系統中的適配器有關的尋址信息被保持在代理組件中。數據系統中的第一適配器被激活用于第一軟件組件并且第二適配器用于第二軟件組件,以響應在第一軟件組件和第二軟件組件之間傳輸數據的需要。根據尋址信息而在第一適配器和第二適配器之間的代理組件中傳輸數據。
文檔編號H04M1/00GK1523917SQ20041000525
公開日2004年8月25日 申請日期2004年2月17日 優先權日2003年2月17日
發明者K·拉卡里寧, J·托爾克利, K 拉卡里寧, 死 申請人:諾基亞有限公司