李波
摘要:《中間件技術(shù)及其應(yīng)用》是軟件工程等信息類專業(yè)的一門重要的專業(yè)選修課。中間件是隨著信息技術(shù)的發(fā)展,在軟件系統(tǒng)領(lǐng)域出現(xiàn)的一個重要的概念。文章通過對本門課程的教學(xué)改革探討,重點(diǎn)分析了實(shí)驗(yàn)環(huán)節(jié)在課程中的作用,提出了理論教學(xué)和實(shí)踐能力培養(yǎng)相結(jié)合,以實(shí)驗(yàn)為驅(qū)動、問題為導(dǎo)向的課堂教學(xué)策略,以提升教學(xué)效果。
關(guān)鍵詞:中間件;實(shí)驗(yàn)教學(xué);難度分級;問題導(dǎo)向
中圖分類號:G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2019)29-0197-02
一、中間件概念簡介
中間件技術(shù)是在互聯(lián)網(wǎng)發(fā)展及分布式應(yīng)用不斷擴(kuò)大、異質(zhì)異構(gòu)系統(tǒng)應(yīng)用需求不斷增加的背景下,產(chǎn)生和發(fā)展起來的一個軟件領(lǐng)域的重要概念。中間件處于系統(tǒng)軟件(操作系統(tǒng)和網(wǎng)絡(luò)軟件)與應(yīng)用軟件之間,它能使處于應(yīng)用層中的各應(yīng)用成分之間實(shí)現(xiàn)跨網(wǎng)絡(luò)的協(xié)同工作(也就是互操作),允許各應(yīng)用軟件之下所涉及的“系統(tǒng)結(jié)構(gòu)、操作系統(tǒng)、通信協(xié)議、數(shù)據(jù)庫和其他應(yīng)用服務(wù)”各不相同。
二、教學(xué)對象與課程目標(biāo)
本課的教學(xué)對象是我院軟件工程專業(yè)大三本科學(xué)生。本課程要求學(xué)生有一些先導(dǎo)課程,包括《操作系統(tǒng)原理》、《計(jì)算機(jī)網(wǎng)絡(luò)》等。本課教材為參考文獻(xiàn)[1-3]等。本課程的教學(xué)目的為幫助學(xué)生理解中間件的基本概念,掌握一些中間件的基本應(yīng)用和開發(fā)方法。課程的重點(diǎn)在分布式對象中間件。
三、教學(xué)模式改革
(一)教學(xué)策略與方法
1.精心設(shè)計(jì)實(shí)驗(yàn)內(nèi)容,區(qū)分實(shí)驗(yàn)難度層次。針對中間件范圍較廣、跨平臺的特點(diǎn),選擇合適的實(shí)驗(yàn)平臺、設(shè)計(jì)合適的實(shí)驗(yàn)內(nèi)容是非常重要的。由于本課程的側(cè)重點(diǎn)在于分布式對象中間件,比較主流的分布式中間件包括有三個:微軟公司提出的COM/DCOM/COM+系列、ORACLE公司(原SUN公司)提出的EJB、國際對象管理組織OMG的CORBA規(guī)范,這三者在業(yè)界均有一定的影響,因此我們考慮在實(shí)驗(yàn)中兼顧這三者。
我們對學(xué)生完成的實(shí)驗(yàn)難度進(jìn)行了區(qū)分,劃分了兩個層次,即基本要求級和拔高要求級?;疽蠹墝?shí)驗(yàn)要求學(xué)生必須掌握和完成,拔高要求級實(shí)驗(yàn)則要求學(xué)生盡量完成,完成后經(jīng)檢查合格后可以在實(shí)驗(yàn)部分成績中進(jìn)行獎勵。
2.以實(shí)驗(yàn)為驅(qū)動,以問題為導(dǎo)向幫助學(xué)生理解概念。本課程的概念涉及分布式系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)等概念,學(xué)生理解起來很抽象。只有通過和實(shí)驗(yàn)結(jié)合,讓學(xué)生在實(shí)驗(yàn)中去觀察實(shí)驗(yàn)結(jié)果、分析實(shí)驗(yàn)過程,才能真正幫助學(xué)生去很好地理解理論和概念。比如:中間件課程中討論較多的“服務(wù)器”和“客戶機(jī)”的概念,從課本中看到的是一個抽象的概念,但是當(dāng)我們在實(shí)驗(yàn)中,讓學(xué)生基于一個分布式中間件的規(guī)范實(shí)現(xiàn)了一個服務(wù)器和客戶機(jī)的通訊時,學(xué)生看到了兩端交互的中間過程和結(jié)果,這個結(jié)果很形象,學(xué)生也就容易理解了。有些實(shí)驗(yàn)要求學(xué)生先獨(dú)立在一臺電腦上完成實(shí)驗(yàn),然后在兩臺不同的電腦上再完成服務(wù)器和客戶機(jī)的實(shí)驗(yàn)。在實(shí)驗(yàn)中,我們強(qiáng)調(diào)通過問題來引導(dǎo)學(xué)生思考,這些問題可以布置在實(shí)驗(yàn)任務(wù)書中。學(xué)生對問題的回答需要寫到實(shí)驗(yàn)報(bào)告中。
(二)教學(xué)改革實(shí)施案例
1.實(shí)驗(yàn)內(nèi)容設(shè)計(jì)及難度分級。在實(shí)驗(yàn)內(nèi)容設(shè)計(jì)方面,我們對實(shí)驗(yàn)內(nèi)容進(jìn)行了仔細(xì)考慮和斟酌。實(shí)驗(yàn)設(shè)計(jì)如下表所示。
這五個實(shí)驗(yàn)涵蓋了三大類主流分布式對象中間件,即DCOM、EJB、CORBA,也涉及了比較底層的協(xié)議RMI。另外,我們的實(shí)驗(yàn)環(huán)境盡量兼顧不同平臺,讓學(xué)生能夠接觸到更多的實(shí)驗(yàn)環(huán)境,開闊視野。我們把DCOM作為拔高實(shí)驗(yàn)內(nèi)容,因?yàn)檫@個實(shí)驗(yàn)對學(xué)生而言難度相對較大,而其他實(shí)驗(yàn)作為基本實(shí)驗(yàn)內(nèi)容。在實(shí)驗(yàn)中,我們根據(jù)學(xué)生的情況對實(shí)驗(yàn)程序框架進(jìn)行了部分提示。
2.以實(shí)驗(yàn)驅(qū)動教學(xué),以問題引導(dǎo)學(xué)生思考。由于學(xué)生獨(dú)立完成實(shí)驗(yàn)有一定的難度,因此我們在實(shí)驗(yàn)任務(wù)中給出了基本實(shí)驗(yàn)步驟的提示,然后讓學(xué)生去具體實(shí)現(xiàn)。對有些實(shí)驗(yàn)中,我們通過提出若干問題來促進(jìn)學(xué)生思考,從而幫助學(xué)生來理解理論。例如,對于Corba實(shí)驗(yàn),實(shí)驗(yàn)任務(wù)書中提出了如下問題:(1)說明客戶端存根和服務(wù)器端的框架有哪些類?(2)Idl文件中的各模塊映射成了哪些新的文件?(3)請說明實(shí)現(xiàn)服務(wù)器端和客戶端的步驟是什么?通過這些問題去促使學(xué)生思考,結(jié)合實(shí)驗(yàn)結(jié)果去分析實(shí)驗(yàn)的原理和機(jī)制,從而對理論加深理解。
四、教學(xué)效果分析
經(jīng)過1學(xué)期的教學(xué)我們發(fā)現(xiàn),學(xué)生對理論課中的基本概念、模型、協(xié)議等的理解在初期存在一定的困難。經(jīng)過幾次實(shí)驗(yàn)課后,學(xué)生加深了對教材中基本概念和理論的理解。在實(shí)驗(yàn)結(jié)果檢查中,發(fā)現(xiàn)大多數(shù)學(xué)生能夠按時完成基本要求的實(shí)驗(yàn)部分,少數(shù)學(xué)生能完成拔高實(shí)驗(yàn)內(nèi)容。
在教學(xué)中我們發(fā)現(xiàn)還有一些問題需要改進(jìn),如可減少一些參考代碼,讓學(xué)生自主實(shí)驗(yàn)的空間更大;實(shí)驗(yàn)的綜合性有待提高,比如在EIB實(shí)驗(yàn)中,可以考慮通過實(shí)體Beans來關(guān)聯(lián)一個后臺數(shù)據(jù)庫,基于網(wǎng)頁來顯示結(jié)果。
五、結(jié)語
通過對《中間件技術(shù)及其應(yīng)用》課程的教學(xué)實(shí)踐,提出了以實(shí)驗(yàn)為驅(qū)動的教學(xué)策略,通過實(shí)驗(yàn)設(shè)計(jì)、難度分級、問題導(dǎo)向等策略來引導(dǎo)學(xué)生加強(qiáng)實(shí)驗(yàn)學(xué)習(xí),從而促進(jìn)課堂理論的學(xué)習(xí),提升教學(xué)效果。
參考文獻(xiàn):
[1]張?jiān)朴?,張智江,劉錦德,等.中間件技術(shù)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2004.
[2]吳卿,殷昱煜.面向普適環(huán)境的自適應(yīng)中間件模型與方法[M].杭州:浙江大學(xué)出版社,2010.
[3]楊放春,龍湘明,趙耀.異構(gòu)網(wǎng)絡(luò)中間件與開放式API技術(shù)[M].北京郵電大學(xué)出版社,2007.