專利名稱:一種獲取業(yè)務(wù)邏輯的方法及系統(tǒng)的制作方法
一種獲取業(yè)務(wù)邏輯的方法及系統(tǒng)技術(shù)領(lǐng)城本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種獲取業(yè)務(wù)邏輯的方法及系統(tǒng)。
技術(shù)背景一個(gè)典型的業(yè)務(wù)系統(tǒng)可以劃分為三層視圖層,業(yè)務(wù)層和數(shù)據(jù)層。視圖層 用于實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)與用戶的交互;業(yè)務(wù)層通常由若干相互協(xié)作的組織構(gòu)成,用 來(lái)完成業(yè)務(wù)操作;數(shù)據(jù)層既可以是數(shù)據(jù)庫(kù)也可以是其他類型的資源,用于存儲(chǔ) 業(yè)務(wù)系統(tǒng)所需要的數(shù)據(jù)。了解一個(gè)業(yè)務(wù)系統(tǒng)時(shí),常常需要了解業(yè)務(wù)操作過(guò)程中調(diào)用到的所有類和方 法,以便理清業(yè)務(wù)邏輯。目前,通常是通過(guò)直接閱讀業(yè)務(wù)操作流程的源代碼來(lái)理清業(yè)務(wù)邏輯。但是 業(yè)務(wù)系統(tǒng)一般而言比較龐大,邏輯也比較復(fù)雜,每個(gè)業(yè)務(wù)操作都會(huì)引發(fā)一連串 的事件鏈,事件鏈?zhǔn)侵疙樞驁?zhí)行業(yè)務(wù)操作過(guò)程中調(diào)用到的所有類和方法,因此 該方法比較復(fù)雜,不易操作,必須花費(fèi)大量的時(shí)間才能理清業(yè)務(wù)邏輯,實(shí)用性 不強(qiáng),尤其對(duì)于一個(gè)剛接觸該業(yè)務(wù)系統(tǒng)的人來(lái)說(shuō),很難直接從源代碼中掌握業(yè) 務(wù)邏輯,業(yè)務(wù)邏輯在此為業(yè)務(wù)操作過(guò)程中事件鏈的調(diào)用過(guò)程,也就是對(duì)所有類 和方法的調(diào)用過(guò)程。另外,可以通過(guò)察看業(yè)務(wù)系統(tǒng)的技術(shù)文檔來(lái)了解業(yè)務(wù)邏輯,由于技術(shù)文檔 不能完全、清晰地描述整個(gè)業(yè)務(wù)操作的業(yè)務(wù)邏輯,使得業(yè)務(wù)操作流程與技術(shù)文 檔脫節(jié),因此,通過(guò)該方法也無(wú)法有效獲取業(yè)務(wù)邏輯。此外,環(huán)球網(wǎng)(World Wide web, WEB)應(yīng)用的視圖層中,在WEB服務(wù) 器中設(shè)置一個(gè)Servlet過(guò)濾器,Servlet過(guò)濾器能使用戶請(qǐng)求在被傳給對(duì)應(yīng)的業(yè) 務(wù)處理單元之前被截獲,完成諸如權(quán)限檢查等功能。在過(guò)濾器中可以攔截到用戶i奮求的全J求資源定^立器(Uniform Resource Locator, URL)和去于裝的一些凄t 據(jù),但由于受超文本傳輸協(xié)議(Hypertext Transfer Protocol, HTTP)的限定, Servlet過(guò)濾器只能應(yīng)用于WEB應(yīng)用的碎見(jiàn)圖層,而且只能用于JAVA語(yǔ)言平臺(tái), 如圖1中所示,其為現(xiàn)有4支術(shù)中Servlet過(guò)濾器所處的業(yè)務(wù)系統(tǒng),可見(jiàn)Servlet 過(guò)濾器僅能攔截WEB層的資源,不能用于圖形用戶界面(Graphic User Interface, GUI)應(yīng)用和業(yè)務(wù)層。綜上所述,根據(jù)現(xiàn)有提供的方法均無(wú)法快速有效地獲取業(yè)務(wù)邏輯。發(fā)明內(nèi)容有鑒于此,本發(fā)明提供一種獲取業(yè)務(wù)邏輯的方法及系統(tǒng),以快速有效地獲 取業(yè)務(wù)邏輯。本發(fā)明提供的一種獲取業(yè)務(wù)邏輯的系統(tǒng),該系統(tǒng)包括視圖管理器、攔截 器和存儲(chǔ)單元,其中,所述視圖管理器用于收到用戶請(qǐng)求結(jié)果時(shí)調(diào)用存儲(chǔ)單元 中的關(guān)鍵業(yè)務(wù)邏輯信息,根據(jù)該關(guān)鍵業(yè)務(wù)邏輯信息生成業(yè)務(wù)邏輯視圖;所述攔 截器用于根據(jù)設(shè)置的攔截規(guī)則獲取業(yè)務(wù)操作過(guò)程中的關(guān)鍵業(yè)務(wù)邏輯信息;所述 存儲(chǔ)單元用于存儲(chǔ)所述關(guān)鍵業(yè)務(wù)邏輯信息。上述獲取業(yè)務(wù)邏輯的系統(tǒng)進(jìn)一步包括業(yè)務(wù)執(zhí)行單元,用于接收用戶請(qǐng)求, 并將此用戶請(qǐng)求按業(yè)務(wù)邏輯執(zhí)行業(yè)務(wù)操作,向視圖管理器提供用戶請(qǐng)求結(jié)果。上述系統(tǒng)進(jìn)一步包括客戶端,所述視圖管理器進(jìn)一步用于向所述客戶端 提供所述業(yè)務(wù)邏輯視圖;所述客戶端用于發(fā)起關(guān)于業(yè)務(wù)的用戶請(qǐng)求,并將該用 戶請(qǐng)求提供給視圖管理器,接收視圖管理器返回的業(yè)務(wù)邏輯視圖。對(duì)于上述系統(tǒng),所述視圖管理器進(jìn)一步用于向所述業(yè)務(wù)執(zhí)行單元提供用戶 請(qǐng)求;或者,所述視圖管理器進(jìn)一步用于向所述攔截器提供用戶請(qǐng)求,所述攔 截器進(jìn)一步用于向所述業(yè)務(wù)執(zhí)行單元提供用戶請(qǐng)求。再進(jìn)一步,上述系統(tǒng)中任一系統(tǒng)所述存儲(chǔ)單元包括文件生成器和文件解 析器,其中,所述文件生成器用于將所述關(guān)鍵業(yè)務(wù)邏輯信息生成特定格式的存儲(chǔ)文件;所述文件解析器用于將特定格式的存儲(chǔ)文件解析為關(guān)鍵業(yè)務(wù)邏輯信 息,并向視圖管理器提供該關(guān)鍵業(yè)務(wù)邏輯信息。本發(fā)明提供的一種獲取業(yè)務(wù)邏輯的方法,該方法包括A、 在業(yè)務(wù)操作過(guò)程中,根據(jù)設(shè)置的攔截規(guī)則獲取關(guān)鍵業(yè)務(wù)邏輯信息并進(jìn) 行存儲(chǔ);B、 當(dāng)業(yè)務(wù)操作執(zhí)行完畢后,根據(jù)存儲(chǔ)的關(guān)鍵業(yè)務(wù)邏輯信息生成業(yè)務(wù)邏輯 視圖。所述步驟B之前進(jìn)一步包括確定用戶請(qǐng)求的應(yīng)用類型;步驟B中所述 生成業(yè)務(wù)邏輯視圖,包括生成對(duì)應(yīng)于應(yīng)用類型的業(yè)務(wù)邏輯視圖。步驟A中所述存儲(chǔ)關(guān)鍵業(yè)務(wù)邏輯信息,包括將所述關(guān)鍵業(yè)務(wù)邏輯信息生 成特定格式的存儲(chǔ)文件;所述步驟B之前進(jìn)一步包括將所述特定格式的存儲(chǔ) 文件解析為關(guān)鍵業(yè)務(wù)邏輯信息。步驟B中所述生成業(yè)務(wù)邏輯視圖,包括調(diào)用內(nèi)部插件,由該內(nèi)部插件將 所述關(guān)鍵業(yè)務(wù)邏輯信息轉(zhuǎn)化成業(yè)務(wù)邏輯^f見(jiàn)圖。所述步驟B進(jìn)一步包括得到針對(duì)本次業(yè)務(wù)操作的用戶請(qǐng)求生成的用戶請(qǐng) 求結(jié)果,根據(jù)該用戶請(qǐng)求結(jié)果生成請(qǐng)求結(jié)果視圖。相對(duì)于現(xiàn)有技術(shù),本發(fā)明具有以下有益效果1、 通過(guò)本發(fā)明中的技術(shù)方案,用戶能獲得針對(duì)關(guān)鍵業(yè)務(wù)邏輯信息得到的 業(yè)務(wù)邏輯視圖,這種視圖比現(xiàn)有技術(shù)簡(jiǎn)單、直觀,并且可以使用戶準(zhǔn)確定位業(yè) 務(wù)操作過(guò)程中用戶所關(guān)心的所有類和方法以及它們之間的調(diào)用關(guān)系。便于用戶 分析業(yè)務(wù)系統(tǒng)運(yùn)行流程,方便問(wèn)題追蹤。2、 本發(fā)明中使用了攔截器,將其設(shè)置于業(yè)務(wù)層中,因此本發(fā)明適用于客 戶端的所有應(yīng)用類型,如WEB應(yīng)用和GUI應(yīng)用都適用,此外攔截器對(duì)整個(gè)業(yè) 務(wù)層的業(yè)務(wù)操作過(guò)程都可以起到監(jiān)控作用,在獲取關(guān)鍵業(yè)務(wù)邏輯信息的同時(shí)不 影響業(yè)務(wù)操作過(guò)程。3、 因?yàn)榇蠖鄶?shù)計(jì)算機(jī)語(yǔ)言都能直接或間接實(shí)現(xiàn)攔截功能,所以本發(fā)明在使用了攔截器后,本發(fā)明提供的獲取業(yè)務(wù)邏輯的系統(tǒng)適用于多種計(jì)算機(jī)語(yǔ)言平 臺(tái),具有很強(qiáng)的通用性。4、 本發(fā)明中可以以多種形式存儲(chǔ)業(yè)務(wù)操作過(guò)程中的關(guān)鍵業(yè)務(wù)邏輯信息, 適應(yīng)于不同業(yè)務(wù)系統(tǒng)的要求,這些不同形式的關(guān)鍵業(yè)務(wù)邏輯信息能給用戶提供 多種用途。例如,用可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language, XML)文 件作為存儲(chǔ)文件時(shí),由于XML是一種可擴(kuò)展的標(biāo)記語(yǔ)言,通用性非常強(qiáng),可 以容易地與其他系統(tǒng)集成,該XML文件經(jīng)過(guò)系統(tǒng)特殊程序的處理,可以方便 的以可視化圖形界面或者通過(guò)瀏覽器來(lái)展現(xiàn)。5、 由于視圖管理器生成了關(guān)鍵業(yè)務(wù)邏輯信息的業(yè)務(wù)邏輯視圖,使得用戶 無(wú)需特意去查看眾多業(yè)務(wù)邏輯的源代碼,而可以通過(guò)多種方式對(duì)源代碼進(jìn)行提 取。
圖1為現(xiàn)有技術(shù)中Servlet過(guò)濾器在業(yè)務(wù)系統(tǒng)中的位置示意圖; 圖2為本發(fā)明中獲取業(yè)務(wù)邏輯的系統(tǒng)的結(jié)構(gòu)示意圖; 圖3為為本發(fā)明中使用XML文件作為存儲(chǔ)形式的獲取業(yè)務(wù)邏輯的系統(tǒng)的 結(jié)構(gòu)示意圖;圖4為本發(fā)明獲取業(yè)務(wù)邏輯的流程圖;圖5為本發(fā)明中攔截器獲取到的執(zhí)行業(yè)務(wù)操作過(guò)程中的事件鏈及其在存儲(chǔ) 單元中的存儲(chǔ)狀態(tài)示意圖。
具體實(shí)施方式
本發(fā)明提供一種獲取業(yè)務(wù)邏輯的系統(tǒng),包括視圖管理器、攔截器和存儲(chǔ) 單元,其中,所述視圖管理器用于收到用戶請(qǐng)求結(jié)果時(shí)調(diào)用存儲(chǔ)單元中的關(guān)鍵 業(yè)務(wù)邏輯信息,根據(jù)該關(guān)鍵業(yè)務(wù)邏輯信息生成業(yè)務(wù)邏輯視圖;所述攔截器用于 根據(jù)設(shè)置的攔截規(guī)則獲取業(yè)務(wù)操作過(guò)程中的關(guān)鍵業(yè)務(wù)邏輯信息;所述存儲(chǔ)單元用于存儲(chǔ)所述關(guān)鍵業(yè)務(wù)邏輯信息。更為詳細(xì)的獲取業(yè)務(wù)邏輯的系統(tǒng)包括客戶端、視圖管理器、攔截器、存 儲(chǔ)羊元和業(yè)務(wù)執(zhí)行單元。具體如圖2所示。客戶端用于發(fā)起關(guān)于業(yè)務(wù)的用戶請(qǐng)求,并將該用戶請(qǐng)求提供給視圖管理 器,接收視圖管理器返回的用戶請(qǐng)求結(jié)果,并可進(jìn)一步接收視圖管理器返回的 業(yè)務(wù)邏輯-f見(jiàn)圖向用戶顯示。視圖管理器用于根據(jù)確定出的用戶請(qǐng)求的應(yīng)用類型初始化環(huán)境,該處理即 為確定應(yīng)用類型的過(guò)程,例如,視圖管理器根據(jù)確定出的WEB應(yīng)用類型將環(huán) 境初始化為WEB應(yīng)用環(huán)境,視圖管理器根據(jù)確定出的GUI應(yīng)用類型將環(huán)境初 始化為GUI應(yīng)用環(huán)境,并將用戶請(qǐng)求轉(zhuǎn)發(fā)至業(yè)務(wù)執(zhí)行單元;此外,視圖管理器 用于在收到業(yè)務(wù)執(zhí)行單元返回的用戶請(qǐng)求結(jié)果后,調(diào)用存儲(chǔ)單元中的關(guān)鍵業(yè)務(wù) 邏輯信息,根據(jù)該關(guān)鍵業(yè)務(wù)邏輯信息生成對(duì)應(yīng)于應(yīng)用類型的業(yè)務(wù)邏輯視圖,并 可進(jìn)一步將該業(yè)務(wù)邏輯視圖提供給客戶端。視圖管理器可直接向業(yè)務(wù)執(zhí)行單元 轉(zhuǎn)發(fā)用戶請(qǐng)求,也可通過(guò)攔截器轉(zhuǎn)發(fā)用戶請(qǐng)求。進(jìn)一步地,視圖管理器用于根 據(jù)業(yè)務(wù)執(zhí)行單元返回的用戶請(qǐng)求結(jié)果生成請(qǐng)求結(jié)果視圖,并向客戶端提供該請(qǐng) 求結(jié)果視圖,客戶端用于向用戶顯示收到的請(qǐng)求結(jié)果視圖。攔截器用于根據(jù)設(shè)置的攔截規(guī)則獲取業(yè)務(wù)操作過(guò)程中的關(guān)鍵業(yè)務(wù)邏輯信 息,并將這些關(guān)鍵業(yè)務(wù)邏輯信息提供給存儲(chǔ)單元。此外,攔截器還用來(lái)接收視 圖管理器轉(zhuǎn)發(fā)過(guò)來(lái)的用戶請(qǐng)求并將該請(qǐng)求轉(zhuǎn)發(fā)至業(yè)務(wù)執(zhí)行單元,此時(shí)攔截器不 對(duì)用戶請(qǐng)求進(jìn)行任何處理。對(duì)于攔截器中設(shè)置的攔截規(guī)則,用戶可根據(jù)自己關(guān) 心的信息對(duì)其進(jìn)行設(shè)置,攔截器在攔截過(guò)程中根據(jù)攔截規(guī)則來(lái)獲取相應(yīng)的關(guān)鍵 業(yè)務(wù)邏輯信息,運(yùn)行的時(shí)候并不打斷正常的業(yè)務(wù)操作流程。業(yè)務(wù)執(zhí)行單元用于接收用戶請(qǐng)求,并將此用戶請(qǐng)求按業(yè)務(wù)邏輯執(zhí)行業(yè)務(wù)操 作,向視圖管理器提供用戶請(qǐng)求結(jié)果。業(yè)務(wù)執(zhí)行單元收到的用戶請(qǐng)求可來(lái)自于 視圖管理器,也可來(lái)自于攔截器。存儲(chǔ)單元用于存儲(chǔ)接收到的關(guān)鍵業(yè)務(wù)邏輯信息,并向視圖管理器提供存儲(chǔ)的關(guān)鍵業(yè)務(wù)邏輯信息。上述視圖管理器可以生成兩類視圖第一類是關(guān)于用戶請(qǐng)求結(jié)果的視圖, 即請(qǐng)求結(jié)果視圖;第二類是關(guān)于業(yè)務(wù)邏輯的源代碼的鏈接視圖,即業(yè)務(wù)邏輯視 圖。第一類視圖與一般的業(yè)務(wù)操作的結(jié)果視圖相同;對(duì)于第二類視圖,可以將 關(guān)鍵業(yè)務(wù)邏輯以視圖鏈接的形式來(lái)表現(xiàn),即提供用戶關(guān)心的所有業(yè)務(wù)邏輯的源 代碼的鏈接。本發(fā)明中,視圖管理器讀取存儲(chǔ)單元中保存的本次業(yè)務(wù)操作的關(guān) 鍵業(yè)務(wù)邏輯的信息,然后根據(jù)讀取到的這些關(guān)鍵業(yè)務(wù)邏輯信息生成相應(yīng)的源代 碼以及業(yè)務(wù)邏輯;現(xiàn)圖,4艮據(jù)應(yīng)用類型以不同形式顯示。例如對(duì)于WEB應(yīng)用, 視圖管理器會(huì)生成頁(yè)面形式的源代碼鏈接給用戶,而對(duì)于GUI應(yīng)用,視圖管理 器會(huì)生成GUI圖形界面形式的源代碼鏈接給用戶。用戶點(diǎn)擊視圖上顯示的某個(gè) 類和方法的鏈接,即可通過(guò)不同方式提取源代碼后查看到有關(guān)這個(gè)類和方法的 完整調(diào)用過(guò)程。圖2所示的結(jié)構(gòu)中,由于存儲(chǔ)單元中存儲(chǔ)的信息的表現(xiàn)形式的不同,可以 實(shí)現(xiàn)多種獲取業(yè)務(wù)邏輯的系統(tǒng),即根據(jù)用戶對(duì)不同業(yè)務(wù)系統(tǒng)的不同需要,存儲(chǔ) 單元以不同方式存儲(chǔ)關(guān)鍵業(yè)務(wù)邏輯信息,最后每個(gè)具體的系統(tǒng)會(huì)根據(jù)其關(guān)鍵業(yè) 務(wù)邏輯信息生成相應(yīng)的視圖。例如,根據(jù)實(shí)際需要可在存儲(chǔ)單元中以XML文 件、數(shù)據(jù)庫(kù)、文本文檔等表現(xiàn)形式對(duì)關(guān)鍵業(yè)務(wù)邏輯信息進(jìn)行存儲(chǔ),滿足不同業(yè) 務(wù)系統(tǒng)的需要,從而實(shí)現(xiàn)多種用途。這樣,進(jìn)一步地,存儲(chǔ)單元包括文件生成器和文件解析器。其中,文件 生成器用于將收到的關(guān)鍵業(yè)務(wù)邏輯信息生成特定格式的存儲(chǔ)文件,文件解析器 用于將特定格式的存儲(chǔ)文件解析為關(guān)鍵業(yè)務(wù)邏輯信息,并向視圖管理器提供上 述關(guān)鍵業(yè)務(wù)邏輯信息。以使用XML文件作為存儲(chǔ)方式為例,如圖3所示,本 發(fā)明中獲取業(yè)務(wù)邏輯的系統(tǒng)的結(jié)構(gòu)中包括XML生成器和XML解析器。其中, XML生成器用于將收到的關(guān)鍵業(yè)務(wù)邏輯信息生成標(biāo)準(zhǔn)的XML文件,該XML 文件起到存儲(chǔ)關(guān)鍵業(yè)務(wù)邏輯信息的作用,當(dāng)視圖管理器接收到用戶請(qǐng)求結(jié)果時(shí) 調(diào)用XML解析器,XML解析器將前面生成的XML文件解析為關(guān)鍵業(yè)務(wù)邏輯信息,然后提供給視圖管理器。本發(fā)明中,攔截器根據(jù)設(shè)置的攔截規(guī)則獲取業(yè)務(wù)操作過(guò)程中的關(guān)鍵業(yè)務(wù)邏 輯信息,存儲(chǔ)單元存儲(chǔ)上述關(guān)鍵業(yè)務(wù)邏輯信息,當(dāng)業(yè)務(wù)4栗作4丸行完畢后,用戶 請(qǐng)求結(jié)果返回至視圖管理器,則視圖管理器調(diào)用已存儲(chǔ)的關(guān)鍵業(yè)務(wù)邏輯信息, 根據(jù)該關(guān)鍵業(yè)務(wù)邏輯信息生成對(duì)應(yīng)的業(yè)務(wù)邏輯視圖,同時(shí),視圖管理器可進(jìn)一 步根據(jù)用戶請(qǐng)求結(jié)果生成請(qǐng)求結(jié)果視圖,最后,視圖管理器可以向客戶端提供 業(yè)務(wù)邏輯視圖、或請(qǐng)求結(jié)果視圖和業(yè)務(wù)邏輯視圖,最終由客戶端將收到的視圖顯示給用戶。具體的處理流程如圖4所示S100-S101:客戶端發(fā)起的關(guān)于業(yè)務(wù)的用戶請(qǐng)求到達(dá)視圖管理器,視圖管 理器根據(jù)確定出的用戶請(qǐng)求的應(yīng)用類型初始化環(huán)境,例如,圖管理器根據(jù)確定 出的WEB應(yīng)用類型將環(huán)境初始化為WEB應(yīng)用環(huán)境,視圖管理器根據(jù)確定出 的GUI應(yīng)用類型將環(huán)境初始化為GUI應(yīng)用環(huán)境,然后視圖管理器將用戶請(qǐng)求 轉(zhuǎn)發(fā)至業(yè)務(wù)執(zhí)行單元,視圖管理器可直接向業(yè)務(wù)執(zhí)行單元轉(zhuǎn)發(fā)用戶請(qǐng)求,也可 通過(guò)攔截器轉(zhuǎn)發(fā)用戶請(qǐng)求,此時(shí)攔截器不對(duì)用戶請(qǐng)求進(jìn)行任何處理。S102-S103:業(yè)務(wù)執(zhí)行單元按用戶請(qǐng)求的業(yè)務(wù)邏輯執(zhí)行業(yè)務(wù)操作,同時(shí)攔 截器根據(jù)設(shè)置的攔截規(guī)則獲取業(yè)務(wù)操作過(guò)程中的關(guān)鍵業(yè)務(wù)邏輯信息,這些關(guān)鍵 業(yè)務(wù)邏輯信息能夠體現(xiàn)出類和方法的調(diào)用過(guò)程順序,攔截器將這些關(guān)鍵業(yè)務(wù)邏 輯信息存儲(chǔ)在存儲(chǔ)單元中。在此過(guò)程中,對(duì)于攔截器中設(shè)置的攔截規(guī)則,用戶可根據(jù)自己關(guān)心的信息 對(duì)其進(jìn)行設(shè)置,存儲(chǔ)單元中可以存儲(chǔ)不同表現(xiàn)形式的關(guān)鍵業(yè)務(wù)邏輯信息,如 XML文件、文本文檔等。對(duì)關(guān)鍵業(yè)務(wù)邏輯信息進(jìn)行存儲(chǔ)時(shí),將該關(guān)鍵業(yè)務(wù)邏 輯信息生成特定格式的存儲(chǔ)文件,視圖管理器需要調(diào)用關(guān)鍵業(yè)務(wù)邏輯信息時(shí), 將特定格式的存儲(chǔ)文件解析為關(guān)鍵業(yè)務(wù)邏輯信息。S104:業(yè)務(wù)操作執(zhí)行完畢后,業(yè)務(wù)執(zhí)行單元將用戶請(qǐng)求結(jié)果直接返回至視 圖管理器,此用戶請(qǐng)求結(jié)果相當(dāng)于對(duì)于用戶請(qǐng)求的一個(gè)響應(yīng)。S105-S106:視圖管理器接收到用戶請(qǐng)求結(jié)果時(shí),以此響應(yīng)為觸發(fā)去調(diào)用存儲(chǔ)于存儲(chǔ)單元中的關(guān)鍵業(yè)務(wù)邏輯信息,根據(jù)該關(guān)鍵業(yè)務(wù)邏輯信息生成對(duì)應(yīng)的 業(yè)務(wù)邏輯視圖,并可進(jìn)一步根據(jù)用戶請(qǐng)求結(jié)果生成請(qǐng)求結(jié)果視圖。視圖管理器 向客戶端提供業(yè)務(wù)邏輯視圖、或請(qǐng)求結(jié)果視圖和業(yè)務(wù)邏輯視圖,最終由客戶端 將收到的視圖顯示給用戶。在上述過(guò)程中,視圖管理器接收到用戶請(qǐng)求結(jié)果后,視圖管理器根據(jù)用戶 請(qǐng)求結(jié)果生成了請(qǐng)求結(jié)果視圖,即業(yè)務(wù)的執(zhí)行結(jié)果圖。同時(shí)視圖管理器調(diào)用關(guān)鍵業(yè)務(wù)邏輯信息生成業(yè)務(wù)邏輯視圖,即視圖管理器調(diào)用內(nèi)部插件,如WEB插 件或GUI插件,將關(guān)4走業(yè)務(wù)邏輯信息轉(zhuǎn)化成業(yè)務(wù)邏輯;f見(jiàn)圖。對(duì)于WEB應(yīng)用, 視圖管理器會(huì)生成頁(yè)面形式的源代碼鏈接;而對(duì)于GUI應(yīng)用,視圖管理器會(huì)生 成GUI圖形界面形式的源代碼鏈接。其中視圖管理器使用何種插件生成何種形 式的業(yè)務(wù)邏輯視圖取決于視圖管理器初始化環(huán)境的結(jié)果,即使用的插件以及生 成的業(yè)務(wù)邏輯3見(jiàn)圖的形式應(yīng)和初始化環(huán)境時(shí)的應(yīng)用類型相一致。其中,客戶端將業(yè)務(wù)邏輯視圖顯示給用戶后,對(duì)視圖中業(yè)務(wù)邏輯的源代碼 的提取可以有很多種方式,例如提供源程序的存放路徑,然后通過(guò)搜索定位 找到對(duì)應(yīng)的文件,或是提供一個(gè)WEB服務(wù),允許以URL方式請(qǐng)求尋找源程序 并返回結(jié)果,再或是利用JAVA程序可以反編譯的特性,直接反編譯對(duì)應(yīng)的 CLASS文件等等。圖5為本發(fā)明中攔截器獲取到的執(zhí)行業(yè)務(wù)操作過(guò)程中的事件鏈及其在存儲(chǔ) 單元中的存儲(chǔ)狀態(tài)示意圖。由圖5可直觀看出攔截器獲取到的業(yè)務(wù)操作過(guò)程中 的一系列類和方法的調(diào)用過(guò)程,存儲(chǔ)單元按業(yè)務(wù)邏輯依次存儲(chǔ)這些類和方法。 用戶根據(jù)自己關(guān)心的內(nèi)容對(duì)攔截器提前做好需要攔截內(nèi)容的設(shè)置,即設(shè)置攔截 規(guī)則,因此上述類和方法也就是與攔截規(guī)則相關(guān)的關(guān)鍵業(yè)務(wù)邏輯信息。明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1. 一種獲取業(yè)務(wù)邏輯的系統(tǒng),其特征在于,該系統(tǒng)包括視圖管理器、攔截器和存儲(chǔ)單元,其中,所述視圖管理器用于收到用戶請(qǐng)求結(jié)果時(shí)調(diào)用存儲(chǔ)單元中的關(guān)鍵業(yè)務(wù)邏輯信息,根據(jù)該關(guān)鍵業(yè)務(wù)邏輯信息生成業(yè)務(wù)邏輯視圖;所述攔截器用于根據(jù)設(shè)置的攔截規(guī)則獲取業(yè)務(wù)操作過(guò)程中的關(guān)鍵業(yè)務(wù)邏輯信息;所述存儲(chǔ)單元用于存儲(chǔ)所述關(guān)鍵業(yè)務(wù)邏輯信息。
2、 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)進(jìn)一步包括業(yè)務(wù)執(zhí) 行單元,用于接收用戶請(qǐng)求,并將此用戶請(qǐng)求按業(yè)務(wù)邏輯執(zhí)行業(yè)務(wù)操作,向視 圖管理器提供用戶請(qǐng)求結(jié)果。
3、 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述系統(tǒng)進(jìn)一步包括客戶端,所述視圖管理器進(jìn)一步用于向所述客戶端提供所述業(yè)務(wù)邏輯視圖; 所述客戶端用于發(fā)起關(guān)于業(yè)務(wù)的用戶請(qǐng)求,并將該用戶請(qǐng)求提供給視圖管 理器,接收視圖管理器返回的業(yè)務(wù)邏輯視圖。
4、 如權(quán)利要求3所述的系統(tǒng),其特征在于,所述視圖管理器進(jìn)一步用于向所述業(yè)務(wù)執(zhí)行單元提供用戶請(qǐng)求;或者, 所述視圖管理器進(jìn)一步用于向所述攔截器提供用戶請(qǐng)求,所述攔截器進(jìn)一 步用于向所述業(yè)務(wù)執(zhí)行單元提供用戶請(qǐng)求。
5、 如權(quán)利要求1至4任一所述的系統(tǒng),其特征在于,所述存儲(chǔ)單元包括 文件生成器和文件解析器,其中,所述文件生成器用于將所述關(guān)鍵業(yè)務(wù)邏輯信息生成特定格式的存儲(chǔ)文件; 所述文件解析器用于將特定格式的存儲(chǔ)文件解析為關(guān)鍵業(yè)務(wù)邏輯信息,并 向視圖管理器提供該關(guān)鍵業(yè)務(wù)邏輯信息。
6、 一種獲取業(yè)務(wù)邏輯的方法,其特征在于,該方法包括A、 在業(yè)務(wù)操作過(guò)程中,根據(jù)設(shè)置的攔截規(guī)則獲取關(guān)鍵業(yè)務(wù)邏輯信息并進(jìn) 行存儲(chǔ);B、 當(dāng)業(yè)務(wù)操作執(zhí)行完畢后,根據(jù)存儲(chǔ)的關(guān)鍵業(yè)務(wù)邏輯信息生成業(yè)務(wù)邏輯 視圖。
7、 如權(quán)利要求6所述的方法,其特征在于, 所述步驟B之前進(jìn)一步包括確定用戶請(qǐng)求的應(yīng)用類型;步驟B中所述生成業(yè)務(wù)邏輯視圖,包括生成對(duì)應(yīng)于應(yīng)用類型的業(yè)務(wù)邏輯 視圖。
8、 如權(quán)利要求6所述的方法,其特征在于,步驟A中所述存儲(chǔ)關(guān)鍵業(yè)務(wù)邏輯信息,包括將所述關(guān)鍵業(yè)務(wù)邏輯信息生 成特定格式的存儲(chǔ)文件;所述步驟B之前進(jìn)一步包括將所述特定格式的存儲(chǔ)文件解析為關(guān)鍵業(yè)務(wù) 邏輯信息。
9、 如權(quán)利要求6所述的方法,其特征在于,步驟B中所述生成業(yè)務(wù)邏輯 視圖,包括調(diào)用內(nèi)部插件,由該內(nèi)部插件將所述關(guān)^;業(yè)務(wù)邏輯信息轉(zhuǎn)化成業(yè) 務(wù)邏輯視圖。
10、 如權(quán)利要求6至9任一所述的方法,其特征在于,所述步驟B進(jìn)一步 包括得到針對(duì)本次業(yè)務(wù)操作的用戶請(qǐng)求生成的用戶請(qǐng)求結(jié)果,根據(jù)該用戶請(qǐng) 求結(jié)果生成請(qǐng)求結(jié)果^見(jiàn)圖。
全文摘要
本發(fā)明公開了一種獲取業(yè)務(wù)邏輯的方法及系統(tǒng),能有效地解決現(xiàn)有技術(shù)中了解業(yè)務(wù)系統(tǒng)的操作時(shí)需要去查看文檔和源代碼的局限性和復(fù)雜性。本發(fā)明提供的方法中包括在業(yè)務(wù)操作過(guò)程中,攔截器獲取關(guān)鍵業(yè)務(wù)邏輯信息,存儲(chǔ)單元存儲(chǔ)上述關(guān)鍵業(yè)務(wù)邏輯信息;當(dāng)業(yè)務(wù)操作執(zhí)行完畢后,用戶請(qǐng)求結(jié)果返回至視圖管理器;視圖管理器調(diào)用已存儲(chǔ)的關(guān)鍵業(yè)務(wù)邏輯信息,并將此信息追加到用戶請(qǐng)求結(jié)果中生成請(qǐng)求結(jié)果視圖和關(guān)鍵業(yè)務(wù)邏輯視圖,最終將視圖顯示給用戶。
文檔編號(hào)G06F9/44GK101236490SQ20071000282
公開日2008年8月6日 申請(qǐng)日期2007年2月1日 優(yōu)先權(quán)日2007年2月1日
發(fā)明者尤占濤, 立 程, 翔 趙 申請(qǐng)人:阿里巴巴公司