專利名稱:提供虛擬用戶接口的方法與系統的制作方法
技術領域:
本申請涉及信息與數據管理系統與方法。本申請特別涉及信息技術監控。
背景技術:
許多信息與服務提供商使用戶能夠經由客戶機-服務器體系結構獲得信息與服務,例如使用諸如Java等語言編寫的基于網絡(Web)的應用程序。由這樣的應用程序所執行的許多功能為用戶可以周期性請求的例行功能,例如,檢查支票帳戶(checking account)的余額或向信用卡帳戶進行最小支付等。
當前,每當用戶希望執行這些例行功能之一時,用戶必須請求將要執行的功能,并為將要執行的功能提供所有的輸入。即使在對輸入進行了標準化,而且對各請求不發生變化的情況下,仍舊需要這樣做。
為了完成先前請求的功能而從用戶那里反復請求相同的信息是對用戶時間的低效率地使用。某些基于Web的應用程序通過提供存儲用戶優先選擇的能力,解決了這一低效率問題。然而,這一功能僅對特定的Web應用程序偶然可得,即那些設計為包括存儲和取消用戶優先選擇的特征的應用程序。
因此,存在對這樣一種系統與方法的需求,即這種系統與方法能夠減少用戶向例行程序提交對信息或服務的周期性請求所付的時間及精力。另外,還需要對與現有客戶機-服務器體系結構兼容的方案。
發明內容
以下給出了涉及記錄和重放與客戶機-服務器應用程序相關聯的交互,從而提供虛擬用戶接口的方法、系統以及計算機可讀介質的簡要概述。這一概述不是深入的綜述,也不旨在鑒別這些方法、系統、和/或介質的主要或關鍵內容,或詳細描述這些方法、系統、以及介質的范圍。作為以下所給出的更詳細描述的序言,這一概述以簡化的形式概念性地鑒別了這些方法、系統、以及介質。
這一公開的內容,提供了用于監控與計算機處理環境中客戶機服務器應用程序相關聯的交互的方法與系統。根據這一公開的內容的一個方面,公開了監控與客戶機-服務器應用程序相關聯的交互的方法。這一方法包括配置記錄、回放與分析參數。該方法還包括記錄與應用程序相關聯的控制流和服務器響應。該方法還包括重放控制流,把從服務器接收的對所記錄的控制流的響應與所記錄的服務器響應加以比較,以判斷是否存在警報條件。根據所配置的分析參數處理警報條件。
還公開了一種用于監控與應用程序相關聯的交互的系統。在實施例中,該系統包括用于定義和存儲配置數據的配置模塊。該系統還包括用于監控應用程序的客戶機-服務器交互的記錄模塊。記錄模塊還可進一步用于存儲代表被監控客戶機-服務器交互的控制流數據。該系統還包括回放模塊。回放模塊可用于重放所存儲的控制流數據的客戶機部分,分析服務器響應,以判斷和報告警報。另外,該系統還包括用于控制配置模塊、記錄模塊、以及回放模塊的控制模塊。
還公開了計算機可讀存儲介質,其包括用于實現所公開的方法的處理指令。
此處,結合以下的描述以及附圖描述這些方法、系統、以及計算機可讀存儲介質的一些直觀的方面。然而,這些方面僅說明了少數幾種可以使用這些方法、系統、以及介質的原理的不同的方式,因此,期望這些示例包括這樣的方面以及等價的方面。當結合附圖加以考慮時,通過以下的描述,其它的優點和新的特性將會變得十分明顯。
為了更全面地了本方法與系統,現在結合附圖,參照以下所進行的描述。在附圖中,相同的標號表示相同的特性,其中圖1是示例交互記錄系統的示意性的方框圖;圖2是說明用于使用圖1的交互記錄系統的示例方法的流程圖;圖3是本申請的示范實施例的初始窗口;
圖4是本申請的示范實施例的“新事件”窗口;圖5是本申請的示范實施例的控制流記錄窗口;圖6A-6G是根據本申請的示范實施例的步驟添加向導所呈現的各種窗口;以及圖7A-7D是用于本申請的示范實施例的起動方法確認配置的各種窗口。
具體實施例方式
現在,參照附圖描述示例方法、系統、以及計算機可讀存儲介質,其中總是使用相同的標號來指示相同的元件。在下面的描述中,為了說明的目的,陳述了許多特定的細節,以便于透徹地理解該方法和系統。然而,顯而易見,該方法和系統可以無需這些特定細節而實行。在其它示例中,以方框圖的形式展示了公知結構和器件,以便簡化說明。
本申請通過提供記錄、重放和分析用戶與應用程序之間的交互的能力,擴展了傳統的信息技術管理方案。在一個實施例中,這樣的交互可以代表出現在客戶機-服務器應用程序中的業務邏輯。盡管針對客戶機-服務器體系結構描述了這一示范系統,然而也可以使用其它的體系結構,例如對等體系結構等。
本申請描述了示范客戶機-服務器交互記錄器/播放器(“交互記錄器”),這一交互記錄器使用了用戶友好的基于向導的接口,以創建虛擬用戶。這一示范交互記錄器使用虛擬用戶模擬與企業爪哇豆(“EJB”,Enterprise JavaBeans)交互的人類用戶。然后,一個或多個虛擬用戶周期性地與相關聯的客戶機-服務器應用程序交互,以分析是否在根據規范執行交互或業務邏輯。這一分析被描述為按3級執行應用程序響應時間、返回值、以及例外,但以其它級進行分析也是可能的。
參照圖1,圖1說明了示例交互記錄系統100,用于監控、記錄、重放、以及分析應用程序客戶機110和應用程序服務器115之間的交互。示例交互記錄系統100使最終用戶或應用程序能夠捕獲和重放EJB客戶機與EJB服務器之間的交互。把所捕獲的交互或控制流作為數據存儲在存儲器120中。記錄模塊125監控和記錄由應用程序客戶機110所提供的數據以及由應用程序服務器115所返回的數據,作為控制流數據。回放模塊130使用所存儲的與應用程序客戶機110相關聯的控制流數據,使最終用戶、應用程序或智能代理能夠重放控制流。在控制流的重放處理期間,比較來自應用程序服務器115的響應與代表由應用程序服務器115最初提供的響應的所存儲的控制流數據。如果所存儲的響應與在重放控制流期間所提供的響應不一致,則回放模塊130報告警報。
在提供其它功能的同時,配置模塊135使最終用戶能夠定制回放模塊130的操作。將由最終用戶所確定的配置參數作為配置數據存儲在存儲器140中,其包括,例如括,警報范圍和通告消息內容。控制模塊145能夠使智能代理、最終用戶或應用程序能夠與系統100進行交互,并控制記錄、回放、以及配置模塊。
為了說明交互記錄系統100的功用,考慮示范銀行帳戶EJB應用程序,這一EJB應用程序提供了存款、取款以及檢查余額的方法。典型的用戶接口,(使用小服務程序建立)可以使用這樣的方法,來通過標準Web瀏覽器,提供類似ATM的功能。使用這一示范EJB應用程序,客戶能夠存錢、取錢、并隨時檢查用戶帳戶的余額。可以通過Web瀏覽器或直接使用EJB,而使用記錄模塊125記錄這一交互。
智能代理可以調用回放模塊130,以在特定的時間間隔之后,回放所記錄的控制流數據。在回放期間,回放模塊130可以判斷余額檢查方法是否正在返回非預期值。這一不符合可能導致向管理員發送即時警報消息,然后管理員可以檢查服務器和/或數據庫,以察看為什么會出現錯誤,并采取措施糾正問題。
在一個實施例中,控制模塊使用簡單的用戶接口,這一用戶接口提供了基于向導的范型,以捕獲客戶機交互和服務器響應。這一接口使最終用戶能夠指示記錄用戶交互和重放來自存儲器120的所記錄的控制流。該接口可以通過按最初監控的嚴格順序重復控制流步驟來模擬用戶的動作。這一接口還可以報告服務器響應的結果和最初記錄的數據。
圖2說明了可以通過使用圖1的交互記錄系統100來采用的示例方法200。在方框210處,最終用戶對示例交互記錄系統100進行配置。例如,配置交互記錄系統100可以包括定義回放間隔、定義警報條件、以及定義用于響應所檢測到的警報條件的動作。
在方框215處,使用記錄模塊125監控和記錄客戶機-服務器應用程序對話的控制流。所監控的控制流包括客戶機110和服務器115之間的交互,并將其作為控制流數據存儲在存儲器110中。在預定的回放間隔,在方框220處使用回放模塊130重放所記錄的對話的控制流。回放模塊130比較對從應用程序服務器115所接收的被重放的控制數據的響應與存儲在控制流數據存儲器120中的響應,以在方框230處判斷是否已出現警報條件。如果檢測到警報條件,則在方框235處處理這一警報條件,或者該方法結束。
現在參照圖3-7D,圖3-7D說明了可以由交互記錄系統100呈現給用戶以實現這些方法并操作本申請的系統的各種示例窗口。這一示范系統是設計為在由BEA Systems公司所提供的BEA WebLogic PlatformTM上執行的應用程序。圖3說明了使用戶能夠選擇專家代理的初始窗口300。為了開始記錄新的控制流,用戶從“WebLogic Business Logic Expert Agent(WebLogic業務邏輯專家代理)”樹上選擇“Instances(事件)”。可替換地,用戶也可以從“Tools(工具)”菜單選擇“Instances”。對“Instances”的選擇使用戶能夠添加、刪除或編輯所存儲的控制流事件。選擇“Add(添加)”使用戶能夠開始記錄新的控制流。
圖4描繪了“New Instance(新事件)”窗口400,“New Instance”窗口400使用戶能夠定義將記錄的控制流的某些特性。具體說來,用戶可以定義名稱,以這一名稱存儲控制流,以備以后參照。用戶還可以提供對控制流的文本描述。在所圖解的實施例中,服務器名稱可以從先前配置在WebLogic ServerExpert Agent下的數據庫中的WebLogic EJB服務器中選擇。根據WebLogicServer Expert Agent填充(populate)服務器連接參數,例如URL、用戶名、以及口令。
一旦定義了新控制流的特性,用戶可以選擇“Launch Recorder(起動記錄器)”以開始記錄應用程序對話的控制流。對“launch Recorder”的選擇指示記錄模塊125建立與WebLogic EJB服務器的連接,并顯示圖5中所示的控制流記錄窗口500。
這一示例控制流記錄窗口使用了熟悉的文檔處理接口設計,并使用附加的EJB特有選項對其加以擴充。這一接口擁有下列菜單選項File(文件)這一選項用于訪問文件處理功能。
New(新建)這一選項提示記錄模塊打開新控制流。如果此時另一個控制流在運行中(active),則提示用戶是否應保留該控制流。
Open(打開)這一選項提示回放模塊打開預先記錄的控制流。
Save(保存)這一選項以當前運行的控制流的當前名稱保存當前運行的控制流。
Save as(另存為)這一選項以不同的名稱保存當前運行的控制流。
Exit(退出)這一選項關閉交互記錄系統。
Connect(連接)這一選項用于連接到WebLogic EJB服務器。
Connect to Server(連接到服務器)這一選項向用戶提示服務器連接參數。
Record(記錄)這一選項允許用戶向當前運行的控制流添加新的步驟。
Start Recording(開始記錄)這一選項啟動控制流記錄,并用于開始記錄。
Add new step(添加新步驟)這一選項在運行中的控制流的末尾啟動添加新步驟的向導。
Play(播放)這一選項用于訪問播放預先記錄的控制流的全部或部分的功能。
Play Recording(播放記錄)這一選項從頭到尾播放當前運行的控制流。
Play Step(播放步驟)這一選項僅播放當前運行的控制流中的下一步。
每一個所記錄控制流可以由一個或多個單獨的步驟或多個部分的對話組成。現在參照圖6A-6G,圖6A-6G說明了當向控制流添加單個步驟時,記錄模塊所呈現的窗口。以“向導”的格式呈現相繼的窗口,向導輔助用戶記錄控制流的單個步驟。在每一個窗口中,用戶輸入數據,并選擇“Next(下一步)”按鈕614繼續向前,按“Back(返回)”按鈕613編輯先前輸入的選擇,或按“Cancel(取消)”按鈕615終止這一向導。
圖6A描繪了窗口610,該窗口允許用戶定義與將要記錄的步驟相關聯的名稱611。用戶也可以提供該步驟的文本描述612。
圖6B描繪了窗口620,該窗口向用戶呈現與該控制流相關聯的服務器中可得的EJB。用戶可以從選擇窗口621選擇未使用的EJB,或從選擇窗口622選擇控制流中已在使用的任何EJB。在選擇窗口622中,控制流中已在使用的任何EJB作為“Cached Beans(隱藏豆)”呈現。
圖6C描繪了窗口630,該窗口使用戶能夠選擇用于創建和/或發現JavaBean事件的EJB方法。用戶從選擇窗口631中選擇EJB方法。
圖6D描繪了窗口640,該窗口使用戶能夠定義將由創建方法使用來自窗口645的哪些參數(如果存在這樣的參數的話)。為了獲得信息,顯示每一參數的Java類型。
圖6E描繪了窗口650,該窗口使用戶能夠從下拉菜單655中選擇要執行的方法。
圖6F描繪了窗口640,該窗口使用戶能夠向窗口640中所定義的參數賦值。使用輸入窗口666進行賦值。
圖6G描繪了窗口670,該窗口顯示用戶使用窗口620、630、640、650、以及660預先定義的方法的執行結果。窗口670還使用戶能夠定義對方法結果的確認(validation)測試。用戶選擇“Validate...”按鈕675定義確認測試,選擇“Finish(結束)”按鈕677完成向控制流的步驟添加,選擇“Back”按鈕613編輯先前輸入的選擇,或選擇“Cancel”按鈕615退出對步驟的添加。
現在參照圖7A-7D,如果用戶選擇定義確認測試,那么配置模塊提供一系列窗口,使用戶能夠定義如何確認方法的結果。這些窗口根據3個因素定義確認1)該方法的實際返回值,如果有的話;2)執行該方法所用的時間;以及3)該方法所引發例外,如果有的話。確認可以包括針對這3個因素的一系列的測試。
圖7A描繪了選擇了“Result”標簽(tab)707的確認窗口700,這使得用戶能夠定義對該方法的結果的確認。這一示例系統支持各種類型的返回值,例如,包括串、整數、以及雙整數。當確認串時,該系統把預定義的模式與返回的串值進行比較。當確認數字時,該系統把預定義的一系列值與返回的數值進行比較。
窗口700圖解了對雙整數值的確認定義。在所說明的例子中,可以定義整個確認范圍的上、下限,以及這一范圍內的5個范疇(category)。可以對每一個范疇進行配置,以提供不同的警報消息。
每一個范疇擁有相關聯的“Detail(細目)”按鈕,例如按鈕702,可以選擇這一按鈕,以定義某些與該范疇相關聯的原因、含義、動作、以及通告參數。當結果落入特定的范疇范圍內時,這些關聯參數確定提供何種通告,如果有的話。
圖7B描繪了示例“Critical Detail(嚴重細目)”窗口720,如果用戶從窗口700選擇針對“Critical”范圍的按鈕702,則呈現這一窗口。當方法參數的返回結果落入預定義的嚴重范圍內時,回放模塊參照這些參數,確定將要采取的行動。如果選擇了通告參數722,則將警報通告傳送給通告接收者的電子郵件地址或尋呼機。通告路徑是預定義的,并使用配置模塊對其加以配置。嚴重警報的原因724、含義726和動作728并入警報消息中。
圖7C描繪了選擇了“Performance(性能)”標簽708的確認窗口700,這使得用戶能夠定義對該方法的性能的確認。在記錄期間所觀察到的執行時間可以用作定義性能警報級別的基準。具體說來,如果該方法的執行占用時間意外地長,則可能需要通知管理員。“Performance”標簽708使用戶能夠定義不同級別的性能。
當確認性能時,系統把用于處理方法的訪問時間與用戶使用窗口700的“Performance”標簽708所定義的極限進行比較。與“Result”標簽707一樣,“Performance”標簽708使用戶能夠定義訪問時間的范圍的上下限,以及這一范圍內的5個范疇。每一個范疇擁有相關聯的“Detail”按鈕,“Detail”按鈕使用戶能夠定義針對這一范疇可能希望采取的動作。
圖7D描繪了選擇了“Exception(例外)”標簽709的確認窗口700,這使得用戶能夠在處理該方法的期間,定義在出現例外的情況下的確認。總體上講,例外表示錯誤,然而,根據記錄控制流,例外可能是所期望的。可以基于例外消息,使用例外確認配置控制流的狀態。這一配置類似于串返回值確認。
以上所描述的包括幾個示例。當然,不可能為描述與業務過程策略數據相關聯的系統、方法、以及計算機可讀介質的目的而描述部件或方法的每一個可以想到的組合。然而,本領域的一般技術人員應該明白,進一步的組合和變化是可能的。因此,本申請期望包括落入所附權利要求范圍內的這樣的變更、修改、以及變化。此外,就“包括(include)”一詞在詳細描述或權利要求書中利用的范圍而言,該詞是包括性的,其使用方式與在權利要求書中作為劃界詞利用的“包括”具有同樣的解釋。
權利要求
1.一種用于監控與客戶機-服務器應用程序相關聯的交互的方法,包括配置記錄、回放與分析參數;記錄與應用程序相關聯的控制流和服務器響應;重放控制流;把對所重放的控制流的服務器響應與所記錄的服務器響應加以比較,以判斷是否存在警報條件;以及報告警報條件。
2.如權利要求1所述的方法,其中,配置包括確定回放間隔,并且按這一回放間隔進行重放。
3.如權利要求1所述的方法,其中,配置包括確定警報條件。
4.如權利要求1所述的方法,其中,配置包括確定報告警報條件時將要執行的動作。
5.如權利要求1所述的方法,其中,配置包括確定至少一個警報范圍。
6.如權利要求1所述的方法,其中,記錄包括向預先記錄的控制流添加步驟。
7.如權利要求1所述的方法,其中,報告包括構造和傳輸描述警報的電子郵件消息。
8.如權利要求1所述的方法,其中,報告包括構造和傳輸描述警報的尋呼機消息。
9.如一種用于監控與應用程序相關聯的交互的系統,包括用于定義和存儲配置數據的配置模塊;用于監控應用程序的客戶機-服務器交互以及用于在控制流數據的存儲器中存儲代表被監控客戶機-服務器交互的控制數據的記錄模塊;回放模塊,用于重放所存儲的控制流數據的客戶機部分,分析服務器響應,以報告警報;以及控制模塊,用于控制配置模塊、記錄模塊、以及回放模塊。
10.如權利要求9所述的系統,其中,配置模塊用于確定回放間隔,回放模塊用于按該回放間隔重放控制流。
11.如權利要求9所述的系統,其中,配置模塊用于定義警報條件。
12.如權利要求9所述的系統,其中,配置模塊用于定義報告警報條件時將要執行的動作。
13.如權利要求9所述的系統,其中,配置模塊用于定義至少一個警報范圍。
14.如權利要求9所述的系統,其中,記錄模塊用于向預先記錄的控制流添加步驟。
15.如權利要求9所述的系統,其中,回放模塊用于構造和傳輸描述警報的電子郵件消息。
16.如權利要求9所述的系統,其中,回放模塊用于構造和傳輸描述警報的尋呼機消息。
17.一種用于監控與應用程序相關聯的交互的系統,包括用于定義和存儲配置數據的裝置;用于監控應用程序的客戶機-服務器交互,并且用于存儲代表被監控客戶機-服務器交互的控制數據的裝置;用于重放所存儲的控制流數據的客戶機部分的裝置;用于分析服務器響應的裝置;以及用于基于服務器響應報告警報的裝置。
18.一種使用處理指令編碼以用于監控與客戶機-服務器應用程序相關聯的交互的計算機可讀存儲介質,包括用于配置記錄、回放與分析參數的計算機可讀指令,包括確定回放間隔;用于記錄與應用程序相關聯的控制流和服務器響應的計算機可讀指令;用于按回放間隔重放控制流的計算機可讀指令;用于把對所重放的控制流的服務器響應與所記錄的服務器響應加以比較,以判斷是否存在警報條件的計算機可讀指令;以及用于報告警報條件的計算機可讀指令。
全文摘要
提供了一種用于監控與應用程序相關聯的交互的方法。該方法包括配置記錄、回放與分析參數,以及記錄與應用程序相關聯的控制流和服務器響應(125)。該方法還包括重放控制流,以及把對所重放的控制流的服務器響應與所記錄的服務器響應加以比較,以判斷是否存在警報條件(130)。該方法還包括報告警報條件。而且還提供了制造商的系統和產品,以實現所描述的方法。
文檔編號H04L29/08GK1592891SQ02816647
公開日2005年3月9日 申請日期2002年7月8日 優先權日2001年7月6日
發明者D·D·甘古利, 賈揚特·潘迪特, 拉特維克·多希 申請人:電腦聯合想象公司