摘 要: 針對(duì)當(dāng)前高職計(jì)算機(jī)專(zhuān)業(yè)教學(xué)模式存在的問(wèn)題,提出計(jì)算機(jī)專(zhuān)業(yè)項(xiàng)目化課程資源整合的解決思路和實(shí)施方案。論述了SOA架構(gòu)的特點(diǎn),提出了基于SOA的通用課程資源平臺(tái)框架,并給出了利用該框架開(kāi)展項(xiàng)目化課程資源整合的實(shí)現(xiàn)方法。
關(guān)鍵詞: 項(xiàng)目化教學(xué); SOA; 課程資源; 整合
中圖分類(lèi)號(hào):G712 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)10-59-03
0 引言
高職院校的計(jì)算機(jī)專(zhuān)業(yè)依據(jù)不同崗位的工作性質(zhì)和不同職業(yè)發(fā)展的定位,一般細(xì)分成軟件、多媒體、網(wǎng)絡(luò)、電子等專(zhuān)業(yè),為更好貼近崗位技能要求,每個(gè)專(zhuān)業(yè)在學(xué)習(xí)的后期,教學(xué)上多采用項(xiàng)目教學(xué)法[1],載體一般為綜合性項(xiàng)目,以企業(yè)真實(shí)項(xiàng)目居多,涉及到項(xiàng)目分析、網(wǎng)頁(yè)設(shè)計(jì)、軟件開(kāi)發(fā)、網(wǎng)絡(luò)部署等多方面的專(zhuān)業(yè)知識(shí)。由于計(jì)算機(jī)專(zhuān)業(yè)學(xué)科知識(shí)技能有交叉的特點(diǎn),對(duì)綜合知識(shí)的運(yùn)用要求較高,如果僅靠一個(gè)任課教師指導(dǎo)完成一個(gè)完整的項(xiàng)目教學(xué),教師會(huì)顯得力不從心,也很難達(dá)到理想的教學(xué)效果,只能局限在本課程的綜合知識(shí)的復(fù)習(xí)和運(yùn)用,不能真正體現(xiàn)項(xiàng)目化教學(xué)的特點(diǎn)。此外,在模擬企業(yè)真實(shí)工作情境上顯得有所欠缺。
為改變這種局面,提出了計(jì)算機(jī)專(zhuān)業(yè)項(xiàng)目化課程資源共享和整合的思路:構(gòu)建統(tǒng)一的課程資源共享平臺(tái),該平臺(tái)能共享不同專(zhuān)業(yè)的課程資源,為師生提供項(xiàng)目化教學(xué)中需要的知識(shí)和資源。目前,由于不同課程資源平臺(tái)采用的開(kāi)發(fā)平臺(tái)、工具存在的異構(gòu)性和緊耦合性導(dǎo)致了各個(gè)資源系統(tǒng)之間不能互聯(lián)互通、資源共享與軟件復(fù)用[2],現(xiàn)有的課程資源其實(shí)已經(jīng)非常豐富,但大多存在“信息孤島”現(xiàn)象。將所有項(xiàng)目化教學(xué)涉及到的課程專(zhuān)家集合起來(lái)設(shè)計(jì)一個(gè)大而全的課程資源系統(tǒng)平臺(tái)還不太現(xiàn)實(shí),采用傳統(tǒng)方式整合現(xiàn)有的資源系統(tǒng)存在周期長(zhǎng)、投入大等問(wèn)題。研究如何有效地整序[3]、共享、整合、開(kāi)發(fā)課程資源,對(duì)提高項(xiàng)目化教學(xué)質(zhì)量有著積極的意義。
1 項(xiàng)目化課程資源整合方案
通過(guò)調(diào)研IT企業(yè)項(xiàng)目開(kāi)發(fā)的過(guò)程和歸納總結(jié),得到其一般遵循的幾個(gè)步驟:系統(tǒng)調(diào)研、需求分析、設(shè)計(jì)、開(kāi)發(fā)、部署、后期維護(hù),對(duì)照計(jì)算機(jī)專(zhuān)業(yè)開(kāi)設(shè)的課程,涉及到商務(wù)文秘、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)軟件、多媒體設(shè)計(jì)等相關(guān)專(zhuān)業(yè)方向的課程,項(xiàng)目化課程資源整合的依據(jù)和思路就是基于工作過(guò)程,解決如何有效整合相關(guān)課程,更好地實(shí)施綜合項(xiàng)目類(lèi)課程的教學(xué)。整合的核心工作是根據(jù)項(xiàng)目化的需要,合理選取不同專(zhuān)業(yè)方向的課程內(nèi)容,并做好課程間的銜接和過(guò)渡,有機(jī)整合成為一個(gè)整體,充分體現(xiàn)課程設(shè)置的目的以及在項(xiàng)目中的地位和作用,讓參與項(xiàng)目化教學(xué)的學(xué)生對(duì)課程有更深的體會(huì),更好地體現(xiàn)課程滿足崗位技能要求。
項(xiàng)目化課程資源整合可以歸結(jié)為設(shè)計(jì)跨計(jì)算機(jī)專(zhuān)業(yè)方向的綜合項(xiàng)目化課程,通過(guò)項(xiàng)目化課程資源平臺(tái)的建設(shè),將綜合項(xiàng)目課程所需要的課程內(nèi)容整合起來(lái),最終完成綜合項(xiàng)目的設(shè)計(jì)與開(kāi)發(fā)。首先,根據(jù)工作過(guò)程的每個(gè)實(shí)施階段,選取各專(zhuān)業(yè)現(xiàn)有課程中需用到的基本概念和重要知識(shí)點(diǎn)組成教學(xué)內(nèi)容,設(shè)計(jì)綜合通用性課程的課程標(biāo)準(zhǔn);其次,按照從簡(jiǎn)單到復(fù)雜的原則,采取案例教學(xué)為主授課,對(duì)相關(guān)課程知識(shí)點(diǎn)進(jìn)行講解的時(shí)候要注意符合高職學(xué)生的認(rèn)知規(guī)律;最后,將相關(guān)知識(shí)點(diǎn)和當(dāng)前項(xiàng)目化教學(xué)中的項(xiàng)目進(jìn)行對(duì)應(yīng),讓學(xué)生模仿案例完成實(shí)際項(xiàng)目的功能需求。
綜合通用性課程面向全體計(jì)算機(jī)專(zhuān)業(yè)學(xué)生,可以在綜合項(xiàng)目開(kāi)發(fā)、畢業(yè)設(shè)計(jì)等階段組成開(kāi)發(fā)團(tuán)隊(duì)進(jìn)行統(tǒng)一教學(xué),本專(zhuān)業(yè)的學(xué)生能具體了解學(xué)過(guò)的課程在實(shí)際項(xiàng)目中的具體應(yīng)用,跨專(zhuān)業(yè)的學(xué)生則對(duì)相關(guān)知識(shí)有一定的了解,學(xué)會(huì)如何進(jìn)行團(tuán)隊(duì)合作。該課程建設(shè)的核心工作是教學(xué)內(nèi)容的組織,表1為綜合項(xiàng)目教學(xué)的整體設(shè)計(jì)方案,羅列了采取項(xiàng)目化教學(xué)組織的課程內(nèi)容、能力要求及參考課時(shí)。
表1中,職業(yè)能力包含多門(mén)課程,如計(jì)算機(jī)網(wǎng)絡(luò)、服務(wù)器配置、電子商務(wù)、編程語(yǔ)言、數(shù)據(jù)庫(kù)技術(shù)、網(wǎng)頁(yè)設(shè)計(jì)、圖片處理等,需從不同課程中選取相關(guān)教學(xué)內(nèi)容,注重基礎(chǔ),強(qiáng)調(diào)應(yīng)用,由不同課程任課教師借助集成的項(xiàng)目化課程資源平臺(tái)為開(kāi)發(fā)團(tuán)隊(duì)提供更為詳細(xì)的講解。實(shí)施此類(lèi)綜合項(xiàng)目化課程,除了需不同專(zhuān)業(yè)教師合作外,項(xiàng)目團(tuán)隊(duì)可以由1名網(wǎng)絡(luò)專(zhuān)業(yè)、1名多媒體專(zhuān)業(yè)、1名營(yíng)銷(xiāo)專(zhuān)業(yè)、2名軟件專(zhuān)業(yè)的學(xué)生組成,更好地模擬企業(yè)真實(shí)工作情境。
2 基于SOA的項(xiàng)目化課程資源平臺(tái)框架設(shè)計(jì)與實(shí)施
2.1 SOA架構(gòu)
綜合項(xiàng)目化教學(xué)涉及到多門(mén)跨專(zhuān)業(yè)的課程內(nèi)容,且不同的項(xiàng)目涉及到的知識(shí)點(diǎn)也略有不同。盡管這些課程都建有各自的資源平臺(tái),但要實(shí)現(xiàn)它們之間的資源共享應(yīng)用存在許多困難。由于各課程資源系統(tǒng)建設(shè)的發(fā)展水平不平衡,存在數(shù)據(jù)多源、多態(tài)、異構(gòu)等問(wèn)題,采用傳統(tǒng)方式進(jìn)行整合比較困難,而一種面向服務(wù)的架構(gòu)SOA(Service-Oriented Architecture)能較好解決這個(gè)問(wèn)題。
SOA既不是軟件,也不是技術(shù),而是一種面向服務(wù)的軟件架構(gòu)模型。它可以根據(jù)需求對(duì)應(yīng)用組件進(jìn)行組合、使用和分布式部署。SOA通過(guò)良好的接口定義,實(shí)現(xiàn)接口與服務(wù)實(shí)現(xiàn)的分離,使服務(wù)的實(shí)現(xiàn)能夠獨(dú)立于硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言[4],因此,利用SOA封裝數(shù)據(jù)源,對(duì)外提供統(tǒng)一數(shù)據(jù)服務(wù)接口,使得基于SOA架構(gòu)的各種應(yīng)用系用可以通過(guò)統(tǒng)一和通用的服務(wù)接口方式進(jìn)行交互,是構(gòu)建通用課程資源平臺(tái)的有效途徑。
SOA的體系結(jié)構(gòu)如圖1所示。
與傳統(tǒng)的模式相比,SOA具有精確定義的標(biāo)準(zhǔn)化接口、粗粒度、松耦合的服務(wù)構(gòu)架及完好的封裝性和高度集成能力等特點(diǎn)。
2.2 項(xiàng)目化課程資源平臺(tái)架構(gòu)與設(shè)計(jì)
SOA架構(gòu)模型的核心思想就是對(duì)現(xiàn)有系統(tǒng)不做修改,而是把系統(tǒng)資源及功能封裝為彼此相對(duì)獨(dú)立的服務(wù),通過(guò)對(duì)這些服務(wù)的組合,整合信息資源。項(xiàng)目化課程資源平臺(tái)基本框架如圖2所示。
從圖2中可以看出,服務(wù)封裝[5]是該平臺(tái)框架的核心。盡管現(xiàn)有各個(gè)課程資源系統(tǒng)采用的平臺(tái)、技術(shù)、開(kāi)發(fā)語(yǔ)言、底層數(shù)據(jù)庫(kù)不同,但服務(wù)提供者只要把原有系統(tǒng)提供的功能分解成多個(gè)用WSDL(Web Service描述語(yǔ)言,基于XML的語(yǔ)言,用于描述Web Service及其函數(shù)、參數(shù)和返回值。)描述的Web服務(wù),在UDDI(Universal Description Discovery and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成協(xié)議,為Web Service提供的、信息注冊(cè)中心的實(shí)現(xiàn)標(biāo)準(zhǔn)規(guī)范)進(jìn)行發(fā)布和注冊(cè),即把WSDL文檔描述的內(nèi)容映射到UDDI課程資源庫(kù)中進(jìn)行分類(lèi)管理;服務(wù)請(qǐng)求者通過(guò)UDDI進(jìn)行查詢,找到所需的服務(wù)后,利用SOAP(Simple Object Access Protocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議,用于交換XML編碼信息)來(lái)綁定、調(diào)用這些服務(wù)。其中,XML是一種可擴(kuò)展標(biāo)記語(yǔ)言,是Web Service平臺(tái)中表示數(shù)據(jù)的基本格式。
3 基于SOA的項(xiàng)目化課程資源平臺(tái)的實(shí)現(xiàn)
用SOA思想構(gòu)建項(xiàng)目化課程資源平臺(tái)的主要工作位于平臺(tái)的業(yè)務(wù)需求和底層技術(shù)之間的服務(wù)層中,需獨(dú)立地對(duì)每一個(gè)服務(wù)功能模塊進(jìn)行定義,設(shè)計(jì)為Web服務(wù)并向外公布,使得這些課程資源服務(wù)模塊不依賴(lài)具體的開(kāi)發(fā)平臺(tái)和系統(tǒng),最終項(xiàng)目化課程資源平臺(tái)的功能需求通過(guò)調(diào)用不同的服務(wù)來(lái)實(shí)現(xiàn),從而實(shí)現(xiàn)對(duì)現(xiàn)有系統(tǒng)及資源的集成。
SOA架構(gòu)的具體實(shí)現(xiàn)包括Web Services、Session Bean、JINI等技術(shù),其中Web Services技術(shù)已經(jīng)成為實(shí)現(xiàn)SOA構(gòu)架的主要技術(shù),它為服務(wù)的訪問(wèn)提供了一個(gè)被廣泛接受的開(kāi)放標(biāo)準(zhǔn)?;赟OA的實(shí)現(xiàn)步驟主要是Web服務(wù)的創(chuàng)建、部署和客戶對(duì)Web服務(wù)的調(diào)用。
實(shí)現(xiàn)舉例:將現(xiàn)有課程資源系統(tǒng)分解為若干個(gè)功能,分別包裝成Web服務(wù)發(fā)布到服務(wù)器,項(xiàng)目化課程資源平臺(tái)作為服務(wù)使用者,查到這些Web服務(wù)后,按具體業(yè)務(wù)流程進(jìn)行組裝即可完成相應(yīng)的軟件功能。本系統(tǒng)Web服務(wù)和客戶端實(shí)現(xiàn)基于Java的J2SD開(kāi)發(fā)環(huán)境,Tomcat作為Web服務(wù)器,Web服務(wù)利用JAX-RPC技術(shù)創(chuàng)建,生成相應(yīng)的WSDL文檔并部署到Tomcat上,客戶端則利用JAX-RPC(Java API for XML-based RPC)提供的xrpcc工具生成Web服務(wù)的存根,用Servlet通過(guò)存根調(diào)用Web服務(wù)的方法實(shí)現(xiàn)服務(wù)使用者需要的功能。
課程資源信息Web服務(wù)的實(shí)現(xiàn)步驟:
⑴ 首先定義接口課程信息類(lèi)以及它的實(shí)現(xiàn)類(lèi),并且實(shí)現(xiàn)接口里的方法,如查詢課程信息;
⑵ 用JAX-RPC提供的xrpcc工具根據(jù)XML配置文件生成WSDL文檔和服務(wù)器配置文件XXXX.proper.ties;
⑶ 用deploytool工具將數(shù)據(jù)庫(kù)課程資源信息Web服務(wù)部署到Tomcat上。
客戶端調(diào)用Web服務(wù)的步驟:
⑴ 根據(jù)XML配置文件用xrpcc工具根據(jù)WSDL文檔生成Web服務(wù)的客戶端類(lèi);
⑵ 設(shè)計(jì)Servlet,通過(guò)JAX-RPC調(diào)用課程信息實(shí)現(xiàn)類(lèi)的方法,如查詢課程信息;
⑶ 設(shè)計(jì)HTML或JSP頁(yè)面,調(diào)用Servlet,取得數(shù)據(jù)庫(kù)課程資源信息。
當(dāng)前,J2EE框架技術(shù)為開(kāi)發(fā)Web Service提供了支持。通過(guò)使用IoC(Inversion of Control,控制反轉(zhuǎn)) 和AOP(Aspect Oriented Programming,面向切面) 等方法重構(gòu)Web Service的訪問(wèn)代碼,使業(yè)務(wù)邏輯與Web Service訪問(wèn)解耦,提供了一個(gè)更加靈活和易于擴(kuò)展的訪問(wèn)模式。如Spring框架對(duì)IoC和AOP提供了良好的支持,是當(dāng)前流行的輕量級(jí)容器,具有簡(jiǎn)單性、可測(cè)試性和松耦合性的特性,適用于開(kāi)發(fā)Web Service。
4 結(jié)束語(yǔ)
本文應(yīng)用SOA架構(gòu)所具有的與開(kāi)發(fā)技術(shù)、運(yùn)行平臺(tái)無(wú)關(guān)等特性,利用組件靈活組合滿足業(yè)務(wù)需求的服務(wù)模式,為實(shí)現(xiàn)課程資源系統(tǒng)的集成和復(fù)用提供了框架,該模式有利于快速集成項(xiàng)目化課程資源,提高項(xiàng)目化課程的教學(xué)效果和質(zhì)量,在教學(xué)資源整合方面具有廣闊的應(yīng)用前景。SOA具體的實(shí)現(xiàn)方法有很多,包括WebService、Session Bean、JINI等,需進(jìn)一步研究和探索其他實(shí)現(xiàn)技術(shù),總結(jié)各自的優(yōu)勢(shì)和適用范圍,通過(guò)采用不同的SOA實(shí)現(xiàn)手段,來(lái)提高課程資源整合的效率。
參考文獻(xiàn):
[1] 李萍.淺談項(xiàng)目教學(xué)法[J].企業(yè)導(dǎo)報(bào),2011.10:54-57
[2] (美)Eric Newcomer,Greg Lomow著,徐涵譯.Understanding SOA with Web Services[M].電子工業(yè)出版社,2006.
[3] 陳莊.信息資源組織與管理[M].清華大學(xué)出版社,2005.
[4] 關(guān)明,吉宏偉,楊雪君.基于SOA的數(shù)字城市管理業(yè)務(wù)系統(tǒng)的研究與設(shè)計(jì)[J].廣西大學(xué)學(xué)報(bào)自然科學(xué)版,2009(10):690-695
[5] 鄭偉,徐寶祥,徐波.面向服務(wù)架構(gòu)研究綜述[J].情報(bào)科學(xué),2009.27(8):1269-1274