




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、簡介業(yè)務應用的需求總是隨著業(yè)務環(huán)境的變化趨勢而不斷地改變。決策很少是一成不變的,并且競爭壓力要求業(yè)務邏輯的設計和實現(xiàn)具有靈活性,以快速地適應不斷變化的需求。通常,對業(yè)務邏輯的更改必須由開發(fā)人員來完成,然后進行多次徹底的測試,而這將是一個很耗時的過程。在應用程序的修改工作完成后,需要將其重新部署到服務器,需要留出預定的停機時間,以防應用程序?qū)τ脩舨豢捎?。對于這個問題,更好的解決方案是通過應用程序之外的一組規(guī)則來實現(xiàn)某些業(yè)務決策。這些規(guī)則并沒有被編譯到應用程序中,而是在運行時讀取并應用。通過這種方式,無需更改代碼或者停止正在運行的應用程序就可以改變這些規(guī)則。WebLogic Portal包括一個基
2、本的規(guī)則引擎,用于使WebLogic Platform應用程序從規(guī)則獲益。盡管該引擎不是功能完備的產(chǎn)品,但我們將展示如何將其與WebLogic Integration Business Processes (JPDs)一起使用來為業(yè)務邏輯提供一種靈活且動態(tài)的實現(xiàn)機制,從而無需只為了修改規(guī)則而重新部署應用程序。首先先我們來來看一下下將在全全文中使使用的示示例應用用程序,然后介介紹如何何將規(guī)則則引擎注注入到WWLI流流程中以以實現(xiàn)業(yè)業(yè)務邏輯輯。然后后,我們們將更仔仔細地研研究這些些規(guī)則本本身以及及如何為為業(yè)務邏邏輯定義義這些規(guī)規(guī)則,最最后將描描述在運運行中的的系統(tǒng)中中更改業(yè)業(yè)務規(guī)則則所使用用的機制
3、制。示例例應用程程序我們們將開發(fā)發(fā)一個示示例交易易應用程程序作為為在業(yè)務務流程中中使用規(guī)規(guī)則的例例子。該該交易應應用程序序是一個個金融交交易流程程的簡化化版本,該流程程使用調(diào)調(diào)用規(guī)則則引擎的的JPDD業(yè)務流流程而構(gòu)構(gòu)建。該該示例應應用程序序采用了了不同的的有價證證券交易易集合,并根據(jù)據(jù)一組由由業(yè)務定定義的規(guī)規(guī)則將其其分組成成交易塊塊以便執(zhí)執(zhí)行,或或許是為為了減少少傭金。當然,這里給給出的應應用程序序并不完完整,但但它已經(jīng)經(jīng)足以展展示如何何在現(xiàn)實實世界應應用程序序中使用用規(guī)則引引擎。有有完整的的源代碼碼可供下下載,其其中的rreaddme文文件提供供了構(gòu)建建和運行行該應用用程序的的說明。在解解釋
4、如何何開發(fā)這這樣的應應用程序序之前,我們先先通過對對門戶規(guī)規(guī)則引擎擎的一些些特性的的簡要概概括來了了解其工工作方式式。這里里假定讀讀者熟悉悉一般的的規(guī)則技技術。規(guī)則則引擎及及其工作作方式圖11說明了了規(guī)則引引擎的基基本情況況。該引引擎根據(jù)據(jù)一組規(guī)規(guī)則來處處理初始始的事實實集,而而這些規(guī)規(guī)則由引引擎從外外部庫中中獲得。初始事事實用于于為該引引擎填充充工作內(nèi)內(nèi)存。由由規(guī)則來來對工作作內(nèi)存中中的事實實進行評評估,如如果滿足足某條規(guī)規(guī)則的條條件,則則將執(zhí)行行對應的的動作。通常,一個規(guī)規(guī)則動作作將向工工作內(nèi)存存中添加加一條新新的事實實,并重重復該流流程直到到應用完完所有的的規(guī)則。然后通通過可選選的過濾濾
5、器來選選擇特定定類的對對象以返返回給調(diào)調(diào)用方。可以通通過Coontrrolss界面訪訪問規(guī)則則引擎,還可以以用它來來設置屬屬性(比比如規(guī)則則集文件件的位置置)。 圖11:該規(guī)規(guī)則引擎擎是一個個由控件件包裝的的EJBB。儲存存庫中的的規(guī)則反反復地應應用于工工作內(nèi)存存中的事事實,以以獲得新新的事實實。在無無法進行行繼續(xù)推推理的情情況下,對工作作內(nèi)存進進行過濾濾以返回回感興趣趣的項目目。從WWLI流流程調(diào)用用規(guī)則引引擎讓我我們從被被實現(xiàn)為為JPDD的交易易業(yè)務流流程開始始,來看看看如何何添加對對規(guī)則引引擎的調(diào)調(diào)用。要要在WLLI流程程中添加加規(guī)則,可以使使用作為為WebbLoggic Porrtal
6、l的一部部分而提提供的RRulees EExeccutoor CConttroll(規(guī)則則執(zhí)行器器控件)。對于于本例,我們只只使用該該控件中中所提供供的方法法和特性性的一個個子集。關于規(guī)規(guī)則控件件的附加加說明文文檔可以以在參考考資料部部分找到到。此處處假定開開發(fā)人員員使用WWebLLogiic WWorkkshoop集成成開發(fā)環(huán)環(huán)境來創(chuàng)創(chuàng)建新的的流程應應用程序序。然后后可在該該應用程程序中創(chuàng)創(chuàng)建一個個流程項項目。因因為默認認情況下下門戶控控件在流流程項目目中不可可用,所所以需要要將這些些控件和和規(guī)則引引擎的EEJB導導入到應應用程序序。然后后,將控控件輸入入和輸出出插入到到JPDD中。在在WL
7、II流程中中使用門門戶規(guī)則則引擎的的基本步步驟如下下: 導入入規(guī)則引引擎到應應用程序序:在應用程程序中包包含規(guī)則則引擎。 將p133n_cconttrolls庫添添加到應應用程序序。 處理理輸入和和輸出:為輸入和和結(jié)果添添加變量量。 創(chuàng)建一個個Rulles Exeecuttor控控件。 在WLII流程中中添加一一個Coontrrol Sennd WWithh Reeturrn節(jié)點點。 為創(chuàng)建初初始數(shù)據(jù)據(jù)編寫JJavaa代碼。 添加一個個流程節(jié)節(jié)點以對對結(jié)果進進行迭代代。 創(chuàng)建規(guī)則則集。 后面面我們將將更詳細細地討論論其中的的每一個個步驟。在應應用程序序中包含含規(guī)則引引擎規(guī)則則引擎包包含在下下面
8、的文文件中:/wwebllogiic811/p113n/libb/p113n_ejbb.jaar要在在應用程程序中包包含該引引擎,請請右擊WWorkkshoop集成成開發(fā)環(huán)環(huán)境中的的Moddulees文件件夾,并并選擇AAdd Moddulee。導航航到該jjar文文件,并并選擇OOpenn。將pp13nn_coontrrolss庫添加加到應用用程序要使使得門戶戶規(guī)則控控件在應應用程序序中可用用,請右右擊Woorksshopp集成開開發(fā)環(huán)境境中的LLibrrariies文文件夾,并選擇擇Addd Liibraary。該控件件位于: RRulees EExeccutoor。為為控件鍵鍵入名稱稱,
9、并按按下Crreatte按鈕鈕。在WWLI流流程中添添加一個個Conntrool SSendd Wiith Retturnn節(jié)點將剛剛剛創(chuàng)建建的控件件拖放到到流程中中以創(chuàng)建建一個控控件節(jié)點點來實際際調(diào)用規(guī)規(guī)則引擎擎。在示示例中,我們將將使用控控件的eevalluatteRuuleSSet()方法法。從SSendd Daata面面板中,選擇前前面為方方法的輸輸入?yún)?shù)數(shù)而創(chuàng)建建的輸入入變量。使用RReceeivee Daata面面板選擇擇返回變變量來獲獲取規(guī)則則執(zhí)行的的結(jié)果。在Prropeertyy Edditoor窗口口中為控控件屬性性鍵入相相應的值值。為創(chuàng)創(chuàng)建初始始數(shù)據(jù)編編寫Jaava代代碼在
10、創(chuàng)創(chuàng)建了輸輸入變量量后,我我們還沒沒有對它它賦值,所以需需要編寫寫代碼來來完成該該任務。這個變變量是一一個Jaava對對象數(shù)組組,它提提供了輸輸入到規(guī)規(guī)則條件件中的初初始事實實。可以以創(chuàng)建一一個新的的Perrforrm節(jié)點點來初始始化該數(shù)數(shù)組,或或者通過過使用SSourrce Vieew在CConttroll Seend節(jié)節(jié)點中添添加代碼碼來設置置該變量量的值。添加加一個流流程節(jié)點點以對結(jié)結(jié)果進行行迭代Ruuless Exxecuutorr控件的的每一個個計算方方法都將將返回一一個結(jié)果果的迭代代器。編編寫代碼碼,使用用該值實實現(xiàn)對規(guī)規(guī)則執(zhí)行行結(jié)果的的迭代。如果沒沒有指定定過濾器器類,這這個迭代
11、代器將返返回規(guī)則則引擎工工作內(nèi)存存中的所所有值。其中包包括原始始輸入以以及任何何在執(zhí)行行滿足條條件的規(guī)規(guī)則的動動作時添添加到工工作內(nèi)存存中的值值。對于于添加的的對象,迭代器器返回一一個Reesullt類的的對象,該類的的gettObjjectt()方方法可以以返回在在規(guī)則動動作中所所添加的的實際對對象。創(chuàng)建建規(guī)則集集使用用XMLL編輯器器,在/METTA-IINF/datta目錄錄中創(chuàng)建建一個擴擴展名為為.rlls的文文件。規(guī)規(guī)則通常常添加到到子目錄錄rulleseets中中。業(yè)務務邏輯規(guī)規(guī)則我們們剛剛展展示了如如何在業(yè)業(yè)務流程程中插入入規(guī)則引引擎?,F(xiàn)現(xiàn)在讓我我們來看看看如何何利用該該規(guī)則引引
12、擎以及及如何編編寫映射射到業(yè)務務規(guī)則的的規(guī)則。規(guī)則則包括兩兩個部分分:應用用該規(guī)則則時必須須為真的的條件,以及當當條件滿滿足時將將執(zhí)行的的動作。因此,要在應應用程序序中使用用規(guī)則,設計人人員必須須首先定定義哪些些對象和和屬性在在測試規(guī)規(guī)則條件件時對規(guī)規(guī)則編寫寫者是可可見的。規(guī)則引引擎允許許在一個個條件中中調(diào)用任任意多個個方法。這種構(gòu)構(gòu)造方式式便于定定義JaavaBBeann作為組組成初始始事實集集合的對對象,規(guī)規(guī)則引擎擎使用這這些初始始事實來來進行推推理??煽梢允褂糜胋eaan的 gett方法來來獲得條條件測試試的值。規(guī)則則所引用用的Jaava對對象需要要從創(chuàng)建建它的WWLI流流程以及及從規(guī)則
13、則引擎本本身中都都可見。這就避避免了這這些對象象與流程程JPDD位于同同一包中中,更確確切地說說,它們們應該被被創(chuàng)建于于作為同同一應用用程序的的一部分分的Jaava項項目中。然后,這些對對象可以以通過ppackkagee.cllasss標記在在規(guī)則文文件(.rlss)和流流程JPPD中引引用。在我我們的交交易示例例中,將將把不同同的交易易分組以以便可以以成塊執(zhí)執(zhí)行。為為實現(xiàn)該該目標,我們定定義兩個個beaan來表表示相關關的對象象。第一一個是TTradde bbeann,它表表示單個個的交易易訂單。這個bbeann的屬性性表示交交易的份份額、股股份數(shù)目目以及所所期望的的價格等等。任何何對于決決
14、定交易易所屬的的塊來說說可能有有用的值值,都應應該作為為這個具具有公有有gett方法的的beaan的屬屬性,以以便能夠夠在規(guī)則則中使用用它。第第二個bbeann是Bllockk beean,通過它它可以存存儲所有有根據(jù)某某個屬性性集聚合合在一起起的不同同交易。這個bbeann的屬性性包括規(guī)規(guī)則中任任何可用用于判定定塊大得得足以執(zhí)執(zhí)行訂單單的的信信息。這這些屬性性可以是是平均價價格、交交易的總總美元數(shù)數(shù)或總的的份額數(shù)數(shù)等等。為了了在我們們的應用用程序中中實現(xiàn)塊塊功能,首先使使用規(guī)則則來定義義某項交交易是否否只需要要執(zhí)行其其自身就就足夠了了(也就就是說,它是僅僅包含單單個交易易的塊),或者者如果不
15、不是這樣樣的話,那么應應該使用用什么屬屬性將其其與其他他交易聚聚集以形形成一個個塊。在在一項交交易聚集集到適當當?shù)膲K中中后,就就會第二二次調(diào)用用規(guī)則引引擎來判判斷該塊塊是否完完成。例例如,假假設我們們想要得得到這樣樣的規(guī)則則:規(guī)則1:任何55,0000股及及以上的的單項交交易應該該作為一一個塊并并予以執(zhí)執(zhí)行。 規(guī)則2:由同一一個投資資管理者者定購的的具有相相同標記記的交易易應該聚聚集在一一起。 規(guī)則3:總價值值超過,0000的塊應應該予以以執(zhí)行。 調(diào)用用與規(guī)則則條件中中的對象象相關聯(lián)聯(lián)的方法法很容易易,如下下面的示示例所示示,這是是規(guī)則11的條件件: Beeanss.Trradee ggetQ
16、Quanntitty !- geetQuuanttityy (aand anyy ottherr beean prooperrty) taakess noo arrgummentts. Iff itt diid, theey woouldd goo heere . - 550000 在這這個示例例中,如如果在我我們的事事實中有有一個TTradde對象象,那么么規(guī)則引引擎就會會調(diào)用它它的geetQuuanttityy()方方法并且且將結(jié)果果與整型型50000進行行比較。如果它它大于或或等于550000,則該該條件為為真。規(guī)則則的第二二部分是是條件滿滿足時執(zhí)執(zhí)行的動動作的列列表。最最常見的的動作是
17、是:創(chuàng)建建一個新新對象,把它添添加到規(guī)規(guī)則引擎擎用來評評估條件件的事實實集中。規(guī)則引引擎繼續(xù)續(xù)對規(guī)則則進行迭迭代,直直到無法法從事實實中得出出更多的的推理;向動作作添加新新對象會會導致另另一輪的的條件評評估循環(huán)環(huán)。正如如我們將將要看到到的那樣樣,可以以創(chuàng)建任任意類型型的對象象,并定定義對應應用程序序具有特特定意義義的各種種類型。這里的的技巧是是,應用用程序設設計者可可以定義義一組足足夠豐富富的動作作,以包包含那些些可由規(guī)規(guī)則編寫寫者調(diào)用用以滿足足各種業(yè)業(yè)務需求求的任務務。在我我們的交交易應用用程序示示例中,所有動動作都會會創(chuàng)建將將添加到到由規(guī)則則引擎使使用的工工作集中中的新對對象。有有些規(guī)則則
18、向該集集合中添添加簡單單的Sttrinng對象象。這些些對象表表示了從從原始事事實中演演繹出來來的中間間事實,它們可可以在規(guī)規(guī)則引擎擎中得到到進一步步的推理理,但流流程JPPD不會會以任何何形式解解釋它們們。其他他的規(guī)則則將創(chuàng)建建Beaans.Acttionn類的對對象。這這些對象象包括當當規(guī)則條條件滿足足時流程程將執(zhí)行行的實際際命令。流程JJPD和和支持類類將實施施已知的的動作命命令來聚聚集交易易并執(zhí)行行塊交易易。在這這個簡單單的示例例中,實實際上只只有兩個個已知的的命令:創(chuàng)建(并執(zhí)行行)訂單單、使用用指定的的屬性聚聚集一項項交易。前面規(guī)規(guī)則2的的動作是是使用屬屬性syymbool和mman
19、aagerr來進行行聚集,該動作作如下: Beaans.Acttionn symmboll, mmanaagerr 響應應該動作作,流程程JPDD及其支支持類為為當前交交易查詢詢symmboll和投資資mannageer,找找出具有有相同的的symmboll和投資資mannageer的未未執(zhí)行交交易,并并將這些些交易聚聚集到相相同的塊塊。在完完成一項項交易的的聚集后后,將從從第二個個Rulles Exeecuttor控控件再次次調(diào)用規(guī)規(guī)則引擎擎,以評評估規(guī)則則,決定定是否應應該執(zhí)行行產(chǎn)生的的塊交易易。根據(jù)據(jù)業(yè)務規(guī)規(guī)則3,該規(guī)則則如下: Beeanss.Bllockk ggetAAmouunt
20、5500000.000 Beaans.Acttionn creeatee 這一一次,我我們分析析Beaans.Bloock對對象,獲獲取ammounnt屬性性并與閾閾值進行行比較。如果該該條件滿滿足,則則使用ccreaate命命令向工工作集中中添加一一個Beeanss.Acctioon對象象,這是是通知流流程執(zhí)行行該塊訂訂單的信信號。讓我我們仔細細分析一一下流程程JPDD。下面面有用于于調(diào)用規(guī)規(guī)則引擎擎的Coontrrol Sennd節(jié)點點的代碼碼。正如如我們可可以看到到的,該該節(jié)點使使用一個個Rulles Exeecuttor控控件來評評估規(guī)則則集,該該控件返返回一個個迭代器器。通過過其屬性
21、性(沒有有給出),控件件將過濾濾結(jié)果,僅返回回Beaans.Acttionn類的對對象。通通過這些些對象,代碼將將提取動動作命令令并執(zhí)行行所請求求的動作作。正如如前面所所提到的的,如果果動作是是聚集該該交易,則流程程將使用用更新后后的塊作作為輸入入,對規(guī)規(guī)則引擎擎開始第第二次調(diào)調(diào)用。通通過執(zhí)行行適當?shù)牡膭幼?,對結(jié)果果進行第第二次迭迭代循環(huán)環(huán)。publlic voiid rruleesExxecuutorrConntroolEvvaluuateeRulleSeet() thrrowss Exxcepptioon / Exeecutte tthe Rulles usiing faccts as t
22、hee innputt /#STAART: COODE GENNERAATEDD - PROOTECCTEDD SEECTIION - yyou cann saafelly / AAdd codde aabovve tthiss coommeent in thiis mmethhod. #/ / Inpput traansfformm / Retturnn meethood ccalll thiis.rresuultss = ruulessExeecuttorCConttroll.evvaluuateeRulleSeet(tthiss.faactss); / Outtputt trranssf
23、orrm / Outtputt asssiggnmeentss /#ENDD : COODE GENNERAATEDD - PROOTECCTEDD SEECTIION - yyou cann saafelly / AAdd codde bbeloow tthiss coommeent in thiis mmethhod. #/ /* Iteeratte ooverr thhe rresuultss off ruuless exxecuutioon. Thiis aassuumess thhat ressultts aare fillterred to retturnn onnly iteem
24、s of thee Beeanss.Acctioon cclasss. Thee coommaand prooperrty froom tthe Acttionn iss exxpecctedd too bee eiitheer tthe strringg ccreaate, iin wwhicch ccasee a Bloock traade cann bee exxecuutedd frrom thee siinglle ddisccrette TTradde, or it is exppectted to be a llistt off atttribbutees ddesccribbi
25、ngg thhe BBlocck tthatt thhis Traade shoouldd bee inccorpporaatedd innto. */ whiile (reesullts.hassNexxt() Sttrinng aactiion = (Acctioon)rresuultss.neext().gettCommmannd(); iff (aactiion.equualss(ccreaate) (neww Bllockk(trradee).exeecutte(); / sinnglee-trradee ellse / AAggrregaate traade intto aan i
26、inteermeediaate Bloock ttradde.aaggrregaate(bloockSStorragee, aactiion); /* Calll tthe rulles engginee a seccondd tiime, thhis timme uusinng thee reesulltinng BBlocck aas tthe onlly iinpuut. Thhis is to dettermminee iff thhe rresuultiing Bloock noww meeetss thhe ccritteriia to exeecutte tthe ordder.
27、 Aggainn, rresuultss arre aassuumedd too bee fillterred by thee coontrrol to retturnn onnly thee Acctioons. */ BBlocck bblocck = trradee.geetBllockk(); OObjeect bloockFFactts = neww Obbjecct11; bblocckFaactss0 = bloock; IIterratoor bblocckReesullts = bloockRRuleesCnntl.evaaluaateRRuleeSett(bllockkFa
28、ccts); wwhille (bloockRResuultss.haasNeext() acctioon = (AActiion)bloockRResuultss.neext().gettCommmannd(); iff (aactiion.equualss(ccreaate) bblocck.eexeccutee(); 動態(tài)態(tài)規(guī)則WeebLoogicc Poortaal的特特性之一一是Daatassyncc功能,通過它它可以將將修改后后的數(shù)據(jù)據(jù)重新部部署到集集群中的的門戶應應用程序序中。因因為門戶戶規(guī)則引引擎從DDataasynnc存儲儲區(qū)中獲獲得其規(guī)規(guī)則文件件,所以以應用程程序的業(yè)業(yè)務規(guī)
29、則則可以在在運行的的系統(tǒng)中中進行更更改,而而無需停停止應用用程序。關于DDataasynnc以及及用于更更新數(shù)據(jù)據(jù)的Daatassyncc Weeb應用用程序的的其他信信息,請請參閱WWebLLogiic PPorttal文文檔。默認認情況下下,Daatassyncc Weeb應用用程序?qū)⒉渴鹪谠诔R?guī)門門戶應用用程序中中。然而而,我們們的示例例應用程程序是一一個WLLI流程程應用程程序,因因此必須須在其中中手動地地包含DDataasynnc。要要在Woorksshopp集成開開發(fā)環(huán)境境中完成成這些工工作,請請右擊MModuuless文件夾夾,并選選擇Addd MModuule。然后,選擇下下面的文文件:/wwebllogiic811/p113n/libb/daatassyncc.waar在集集群中,Dattasyync應應用程序序應該僅僅部署到到管理服服務器。為了了闡明如如何在運運行中的的應用程程序中更更改規(guī)則則,示例例應用程程序中包包括了兩兩個不同同的規(guī)則則文件,這兩個個文件中中包括了了用于將將交易聚聚
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備土建基礎施工合同
- 倉儲物流服務合同細則
- 徹體工程勞務分包合同
- 牛羊肉采購合同
- 三人合伙開店合同
- 教材購銷合同
- 文化創(chuàng)意產(chǎn)業(yè)扶持合同
- 新材料研發(fā)及生產(chǎn)許可合同
- 江西師范大學科學技術學院《系統(tǒng)分析與建?!?023-2024學年第二學期期末試卷
- 河南經(jīng)貿(mào)職業(yè)學院《近現(xiàn)代建筑遺產(chǎn)保護》2023-2024學年第二學期期末試卷
- 辦公樓維修改造施工方案
- 2024年度教育軟件采購合同
- 2024年醫(yī)療器械經(jīng)營質(zhì)量管理規(guī)范培訓課件
- 廣電和通信設備電子裝接工(高級工)理論考試復習題庫(含答案)
- 2024年河南住戶調(diào)查業(yè)務題庫
- 天車安全操作培訓教材
- 《籃球運球》教案(共四篇)
- 國企關于違反“三重一大”決策制度責任追究辦法
- CRF病例報告表模板
- 九上下冊物理人教版九年級物理全冊第十九章《生活用電》第3節(jié)《安全用電》課件(42張)公開課教案
- 2024年計算機二級WPS考試題庫380題(含答案)
評論
0/150
提交評論