999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于四層架構J2ME移動課表查詢系統的開發設計

2011-01-04 02:07:26徐炳文
關鍵詞:數據庫信息系統

徐炳文

(廣東嶺南職業技術學院 電子信息工程學院,廣州 510663)

基于四層架構J2ME移動課表查詢系統的開發設計

徐炳文

(廣東嶺南職業技術學院 電子信息工程學院,廣州 510663)

隨著手機的智能化程度越來越高,為方便教師與學生利用手機隨時隨地對教務課表信息進行查詢,提出一種基于四層架構的J2ME移動課表查詢系統.系統劃分為客戶層、Web服務層、數據業務層和數據存儲層進行開發與設計.對系統的實現過程提出了一些改進方法,豐富了軟件系統開發的構架周期理論,有效解決了原有教務課表系統只能利用校園網在計算機上進行存儲與查詢的缺點.

四層架構;J2ME;課表;查詢

隨著GPRS技術的成熟與3G時代的到來,手機的智能化程度和擴展性隨之提高,手機的應用也越來越廣泛,這就需要開發越來越多的手機應用軟件系統來滿足用戶的需求.近幾年來,高校教務部門的信息化建設取得了長足的發展,幾乎所有高校都使用計算機信息系統來管理課表[1].但軟件系統在使用中仍存在一些不足,如教務排課系統形成的課表只能利用校園網在計算機上進行存儲與查詢,且不能滿足師生進行移動實時無線查詢課表信息的需要.本研究提出一種基于四層架構的J2ME移動課表查詢系統.J2ME是JAVA 2的一個組成部分,專為機頂盒和移動電話等嵌入式消費電子設備提供JAVA語言平臺,包括虛擬機和一系列標準化的JAVA AP[2].J2ME程序可以在PC機上開發和仿真運行,然后很容易地部署到目標機上,從而降低其開發、測試和發布的操作難度和成本.

1 J2ME課表查詢系統架構設計

開發一個能夠通過移動手機對教務課表信息隨時隨地按需要進行查詢的信息系統需要設計出移動手機終端查詢教務系統課表信息的方式.移動手機的數據傳輸與有線網絡的數據傳輸方式不同,既需要軟件支持也需要硬件設備支持.在開發時客戶端的手機數據傳輸方式采用GPRS方式,服務器端通過增加一個無線接口硬件設備來接收移動手機發來的查詢請求,然后通過有線網絡連接服務器.軟件的設計與實現主要分4大模塊:客戶層的移動終端、Web服務層的教務課表服務器端、數據業務層的教務課表服務器端和數據存儲層的課表信息數據庫系統.客戶層的移動終端用于接收用戶的查詢輸入和顯示查詢結果.Web服務層與數據業務層的教務課表服務器端主要負責接收來自移動手機終端的查詢請求,通過JDBC連接數據存儲層的后臺課表數據庫,并把查詢結果傳回客戶端的手機.數據存儲層的課表信息數據庫部分用于保存課表信息.根據系統需求分析,設計出四層架構J2ME課表查詢系統的整體層次架構如圖1所示.

圖1 J2ME課表查詢系統層次架構Figure 1 Architecture of J2ME school timetable query system

2 J2ME課表查詢系統的設計與實現

2.1 J2ME課表查詢系統的算法設計

本系統對應分成4部分進行開發設計:客戶層的J2ME客戶端、Web服務層的J2EE課表服務器端、數據業務層的J2EE課表服務器端和數據存儲層的后臺課表信息數據庫.具體J2ME-J2EE課表查詢系統算法流程如圖2所示.

圖2 J2ME課表查詢系統算法流程圖Figure 2 Algorithm of J2ME school timetable query system

2.2 客戶層多線程訪問控制的設計與實現

移動客戶端屬于客戶層,采用J2ME去開發設計,是系統用戶輸入查詢信息和顯示查詢結果的用戶界面.J2ME移動客戶端程序發出課表信息查詢請求并連接到J2EE服務器端程序,J2EE服務器經過一系列的處理后把查詢結果數據集傳回給移動客戶端.在設計實現時,客戶層的移動終端使用HttpConnection打開與Web層服務器的網絡連接,然后使用setRequestMethod(HttpConnection.POST)方法向服務器傳遞教師工號或學生班別號和第幾學期等信息.網絡連接成功后,使用open-DataOutputStream()方法和write.UTF()方法發送查詢請求內容給J2EE課表服務器,最后使用DataInputStream()方法和read.UTF()方法接收J2EE課表服務器傳回的課表查詢信息數據集.

客戶層移動終端的實現主要是開發MIDlet,使同樣的服務能夠被很好地移植到不同的移動客戶端[3].由于系統為J2ME-J2EE開發的C/S工作模式,客戶層的移動客戶端程序在運行時由于同樣需要執行網絡連接,如HTTP連接、UI調度等操作,可能會出現因競爭臨界資源而導致的死鎖現象.為了防止多個移動客戶端訪問網絡時的并發多線程出現死鎖,需要把其中一個線程設計為獨立線程[4].當移動客戶端程序想訪問網絡時,可通過調用notify()方法來喚醒訪問網絡的線程,當訪問完成退出網絡后,可通過調用wait()方法釋放“鎖旗標”使該線程進入等待狀態,則另外的線程能夠調用notify()方法進入網絡.客戶層的并發多線程訪問網絡控制的設計如圖3所示.

圖3 客戶層多線程訪問網絡控制Figure 3 Client layer multi-threaded access to the network control

在客戶層并發多線程訪問網絡控制中的P(S)與V(S)是2條原語操作,其中S為信號量,P(S)操作表示是否允許該線程訪問網絡,V(S)操作表示訪問完成后退出網絡,在具體編程語言中可以轉換為if()或while()語句實現.為了方便客戶層多線程訪問控制,把客戶層移動終端訪問網絡時的線程技術設計成一個獨立的CommandThread類,主要部分實現如下:

2.3 Web服務層與數據業務層的設計與實現

J2EE服務器由Web服務層和數據業務層構成.Web服務層使用Servlet容器處理來自移動客戶端的請求,然后再將這些請求發往數據業務層的企業級服務器,使用EJBs進行會話處理請求,并通過JDBC連接到數據存儲層的后臺課表數據庫.課表數據庫處理完SQL查詢后形成的查詢結果數據集被發往數據業務層的企業級服務器并提交給Web服務器,由Web服務器再傳回給客戶層的移動終端上顯示.J2EE課表服務器實現時使用的是Servlet,因此需要設計一個ServletAPP類.在ServletAPP類中使用doGet()和doPost()方法與J2EE課表服務器網頁交互信息,使用destroy()方法清除資源,對于移動終端程序的查詢請求則使用Request.getInputStream()方法接收,另外使用readUTF()方法從輸入流中讀取“教師工號或學生班別號”和“學期信息”等信息.Web服務器端的輸出流向移動終端傳回查詢處理結果信息,使用response.getOutputStream()方法處理響應,然后使用writeUTF()函數輸出返回字符串的數據流,通過無線網絡發送給移動終端接收.Web服務層與數據業務層主要部分實現如下:

(1)服務器端使用doGet(),doPost()和destroy()方法來實現接收移動終端的網絡連接請求.主要部分實現如下:

(2)服務器接收來自客戶端的請求,對服務器來說是輸入流.服務器端接收的移動終端查詢請求信息主要是教師工號ID或者學生班別號ID以及學期信息等.這些信息對于服務器來說是輸入流,服務器端接收查詢課表信息請求處理的主要部分實現如下:

(3)服務器處理移動終端發來的查詢請求后形成查詢結果數據集輸出流傳送給客戶端.主要部分實現如下:

2.4 數據存儲層的設計與實現

教務課表信息存儲在數據存儲層的后臺課表數據庫,服務器接收到客戶端的查詢請求后通過JDBC連接后臺課表數據庫.JDBC連接數據庫主要分為3步工作:與數據庫建立起連接、向數據庫發出查詢請求和把處理結果從數據庫中取出來.為了實現這些工作,本系統設計一個訪問存儲課表信息的后臺Access數據庫公共類TimetableQuery和4個表:CourseTB表、StudentTB表、TeacherTB表和ClassroomTB表.其中,CourseTB表存儲與課程有關的信息,包括課程ID(主鍵)、課程Name、上課班別、講授教師、上課時間和上課課室等.StudentTB表存儲有關班別的課表信息,包括班別ID(主鍵)、上課課室、上課時間、上課課程和講授教師等.TeacherTB表存儲有關教師的課表信息,包括教師ID(主鍵)、上課課室、上課時間、上課課程和上課班別等.ClassroomTB表存儲有關課室的課表信息,包括課室ID(主鍵)、上課課程、上課時間、講授教師和上課班別等.CourseTB表、StudentTB表、TeacherTB表和ClassroomTB表在開發設計上基本相似,下面只給出CourseTB表的設計,如表1所示.

表1 CourseTB表Table 1 CourseTB table

課表信息存儲在排課系統形成的課表數據庫中,因此需要設計程序訪問后臺的數據庫.JDBC是JAVA數據庫連接技術的API的簡寫,它允許用戶從JAVA應用程序中訪問任何表格化的數據源.JDBC除提供更寬范圍的SQL數據庫的連接外,還允許用戶訪問其他數據庫(如Access)和電子表格的數據源等.本系統采用Access數據庫,連接數據庫的工作是通過JDBC的API來實現的.主要部分實現如下:

(1)注冊數據庫JDBC驅動:

(2)建立與數據存儲層Timetable Query數據庫的連接:(3)對課表進行查詢可以按教師工號、學生班別號、課程號、教室號或學期等信息進行,以下僅以教師工號進行課表查詢為例:

(4)把查詢的課表信息結果取出來:

//定義一個空的字符串變量,把查詢結果取出來

3 J2ME課表查詢系統主要界面的實現

由于移動手機受到存儲容量非常小、屏幕小和按鍵簡單等資源條件的限制,要開發能夠處理大量信息的、交互式的軟件,將使移動手機產生頻繁屏幕轉換,運行軟件力不從心.結合J2ME-J2EE的特點,系統分別使用Alert類、Form類、TextField類、List類、Ticker類和Command類等.其中使用Alert類在軟件啟動時顯示軟件版權,用戶通過在Form對象中放置的TextField對象輸入查詢請求的教師工號ID或學生班別號ID等信息,再通過List對象選擇查詢請求的學期信息,這些信息均作為客戶層移動終端查詢請求的內容輸入,處理結果形成的數據集在另外一個Form對象中.使用Ticker類顯示軟件幫助信息,使用Command對象類添加按鈕.

下載移動客戶端程序到手機上并裝載啟動后,在請按提示輸入查詢信息欄中輸入教師工號、學生班別號、課程號或課室號,然后選擇第幾學期的查詢請求內容,按“發送”按鈕把查詢請求信息傳遞到J2EE課表服務器端,經過一系列處理后傳回查詢結果數據集.使用教師工號查詢課表信息的主要操作界面如圖4所示.

圖4 J2ME課表查詢系統主要界面Figure 4 Main interfaces of J2ME schedule query system

4 結束語

測試與試用表明系統具有運行穩定、易于擴展和安裝簡便等良好性能.四層架構J2ME移動課表查詢系統的實現豐富了軟件系統開發的構架周期理論,設計過程中提出了一些改進方法,極大地方便了學生和老師對課表信息的查詢.J2ME憑借其開放的特性占據了絕對的移動軟件開發市場,商業市場中其他類似的應用十分廣泛,非常值得改造推廣.此外,移動軟件開發的難點之一就是要開發能夠處理大量交互信息、具有頻繁屏幕變換且不需要占用很大存儲空間的系統,但目前移動手機的存儲容量有限,屏幕小,要實現這些技術還需要進一步探索.

[1] 楊淑瑩,張樺.“數字圖像處理”教學軟件的開發設計[J].天津師范大學學報:自然科學版,2009,29(4):76-80.

[2] 許立春,陳勇,李傳之.基于J2ME-GPRS學生信息管理系統的設計與實現[J].計算機工程與設計,2009,30(23):5415-5418.

[3] 金英,李澤鵬,張晶.多線程Java程序安全行為模型的靜態檢查方法[J].計算機學報,2009,32(9):1856-1868.

[4] 池瑞楠.基于J2ME和J2EE的移動電子商務系統研究[J].微計算機信息,2007,23(12):60-62,79.

Design and implementation of a four-layer J2ME-based mobile phone on school timetable query system

XUBingwen
(College of Electronic and Information Engineering,Guangdong Lingnan Institute of Technology,Guangzhou 510663,China)

A four-layer J2ME-based mobile phone on school timetable query system is presented for the convenience of teachers and students to query schedule at all times and places with the increasing intelligence and scalability of mobile phone.The four-layer J2ME-based mobile phone on school timetable query system is designed and implemented in accordance with four layers:client layer,Web service layer,data services layer and data storage layer.By using some improved method the architecture of software system development cycle theory is enriched in the implementation process of system.The system effectively overcomes the shortcomings of the original system that can only use the campus network to storage and query.

four-layer;J2ME;school timetable;query

TP311.5

A

1671-1114(2011)02-0059-05

2011-01-28

徐炳文(1977—),男,高級工程師,講師,主要從事計算機管理軟件開發方面的研究.

(責任編校 紀翠榮)

猜你喜歡
數據庫信息系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 免费中文字幕在在线不卡| 久久香蕉国产线看观| 亚洲男人在线| 日本不卡在线播放| 国产美女精品在线| 免费一级α片在线观看| 国产日韩欧美在线视频免费观看| 第九色区aⅴ天堂久久香| 久久99精品久久久久纯品| 精品久久高清| 久久精品丝袜高跟鞋| 亚洲天堂在线免费| 亚洲色图综合在线| 国产成人精品无码一区二| 亚州AV秘 一区二区三区| 黄色三级毛片网站| 中文字幕永久视频| 在线视频97| 日韩中文字幕亚洲无线码| 亚洲视频色图| 伊人久久大香线蕉aⅴ色| 欧美午夜视频| 无码'专区第一页| 天天爽免费视频| 国产精品永久不卡免费视频| 国产免费人成视频网| 亚洲av无码片一区二区三区| 伊人福利视频| 四虎亚洲精品| 亚洲高清中文字幕在线看不卡| 91日本在线观看亚洲精品| 色综合婷婷| 亚洲中文字幕97久久精品少妇| 日本不卡在线视频| 久久网综合| 日韩视频福利| 精品無碼一區在線觀看 | 九九这里只有精品视频| 色婷婷色丁香| 国产污视频在线观看| 国产精品手机在线播放| 午夜福利网址| 亚洲大尺码专区影院| 在线日韩日本国产亚洲| 国产高清不卡视频| 亚洲三级成人| 日韩欧美91| 免费观看国产小粉嫩喷水| 免费不卡视频| 精品国产美女福到在线直播| 欧美三级视频在线播放| 99在线观看免费视频| 国产丝袜无码一区二区视频| 国产性猛交XXXX免费看| 久久久久中文字幕精品视频| 999国产精品| 国产区网址| 2021国产v亚洲v天堂无码| 久久久久亚洲Av片无码观看| 国产大片黄在线观看| 国产女人水多毛片18| 成人国产精品一级毛片天堂| 亚洲成年人片| 韩国v欧美v亚洲v日本v| 狠狠色婷婷丁香综合久久韩国| 国产精品爆乳99久久| 国产手机在线观看| 亚洲精品中文字幕无乱码| 91视频99| 亚洲精品无码在线播放网站| 国产精品高清国产三级囯产AV| 欧美视频二区| 美女无遮挡免费视频网站| 免费观看成人久久网免费观看| 国产精品丝袜视频| 精品五夜婷香蕉国产线看观看| 精品福利视频网| 久久国产精品77777| 亚洲小视频网站| 亚洲精品福利网站| 91无码视频在线观看| 欧美午夜理伦三级在线观看|