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

體驗(yàn)構(gòu)建學(xué)校開(kāi)放API

2017-01-03 22:23:30金琦
中國(guó)信息技術(shù)教育 2016年23期
關(guān)鍵詞:數(shù)據(jù)庫(kù)學(xué)校教育

金琦

引言

目前,眾多教學(xué)管理系統(tǒng)的涌現(xiàn),給學(xué)校教育帶來(lái)便利的同時(shí)也帶來(lái)了不少挑戰(zhàn)。很多學(xué)校多個(gè)信息系統(tǒng)由于時(shí)間和開(kāi)發(fā)公司的差異,造成各教育教學(xué)系統(tǒng)數(shù)據(jù)相互隔離,無(wú)法進(jìn)行共享。未來(lái),數(shù)據(jù)將是學(xué)校發(fā)展中最為重要的資源,目前這樣的態(tài)勢(shì)勢(shì)必會(huì)讓學(xué)校收集、分析、轉(zhuǎn)移教學(xué)數(shù)據(jù)消耗大量的人力物力,還要面對(duì)其間產(chǎn)生的各種錯(cuò)誤。因此,建設(shè)學(xué)校的新型架構(gòu)數(shù)據(jù)中心,向?qū)W校所有應(yīng)用提供基礎(chǔ)數(shù)據(jù),同時(shí)能接收學(xué)校所有應(yīng)用所產(chǎn)生的數(shù)據(jù),打通其中的數(shù)據(jù)通道,對(duì)數(shù)據(jù)進(jìn)行有效整理和挖掘,是每所有現(xiàn)代教育情懷的學(xué)校的努力方向。建立自己的開(kāi)放API就是一種有效的嘗試,API是應(yīng)用程序編程接口(Application Programming Interface)三個(gè)首字母的縮寫(xiě),而開(kāi)放API(Open API)是服務(wù)型網(wǎng)站常見(jiàn)的一種應(yīng)用,網(wǎng)站的服務(wù)商將自己的網(wǎng)站服務(wù)封裝成一系列API開(kāi)放出去,供第三方開(kāi)發(fā)者使用。Amazon和eBay等公司很早就有開(kāi)放API,但是對(duì)應(yīng)的數(shù)據(jù)往往集中在商品上,與人們的日常互聯(lián)網(wǎng)應(yīng)用有一定的距離。真正推動(dòng)整個(gè)互聯(lián)網(wǎng)開(kāi)放的發(fā)端,應(yīng)該算是Google在2005年開(kāi)放Google Maps的API,目前谷歌公司提供的API相對(duì)完整,大部分谷歌服務(wù)都有相對(duì)應(yīng)的API可以調(diào)用,下面我示范如何使用經(jīng)典的Google Maps API將谷歌地圖加入到網(wǎng)頁(yè)中(如圖1)。

考慮到PHP作為一種卓越的腳本語(yǔ)言,具有跨平臺(tái)(可運(yùn)行在UNIX、LINUX、Windows、Mac OS下)、低消耗(PHP消耗相當(dāng)少的系統(tǒng)資源)、運(yùn)行效率高等優(yōu)點(diǎn),本文中范例前后端網(wǎng)頁(yè)也由PHP來(lái)說(shuō)明:bj.php用來(lái)顯示復(fù)選列表,用戶(hù)只要選擇目標(biāo)位置,然后點(diǎn)擊瀏覽地圖,就會(huì)調(diào)用map.php,其中下頁(yè)圖2所示的bj.php第7~10行為PHP代碼,定義了一個(gè)名為bj_address的數(shù)組來(lái)存放目標(biāo)位置的地址信息,若景點(diǎn)個(gè)數(shù)多,此處也可以改用數(shù)據(jù)庫(kù)存放相關(guān)數(shù)據(jù)。第13~19行為插入一個(gè)表單,里面包含有四個(gè)位置的復(fù)選列表和一個(gè)瀏覽地圖按鈕,各個(gè)項(xiàng)目的value屬性被指定為各個(gè)位置的地址信息,當(dāng)用戶(hù)單擊“瀏覽地圖”按鈕后,就會(huì)執(zhí)行action屬性指定的map.php表單處理頁(yè)面。

我們?cè)賮?lái)觀察下頁(yè)圖3所示的處理程序map.php,原本的地圖功能,可能會(huì)讓讀者覺(jué)得程序代碼很繁雜,其實(shí)不然!這主要是因?yàn)橛辛薌oogle Maps API的幫助,其中第4行就是載入一個(gè)Google Maps API;第7~14行定義一個(gè)initialize函數(shù),負(fù)責(zé)地圖的初始化工作,建立屬于google.maps的相關(guān)類(lèi),并調(diào)用第15~28行codeAddress()函數(shù)。第32行的value就是用戶(hù)在bj.php頁(yè)面中選中的目標(biāo)位置的地址,使得第16行就是利用這個(gè)元素獲取要在地圖上做標(biāo)記的地址。

在我們對(duì)開(kāi)放API有了初步體驗(yàn)后,下面就構(gòu)造了這樣一個(gè)情境模式:為適應(yīng)移動(dòng)辦公需要,對(duì)學(xué)校原有的Web郵件系統(tǒng)建立一個(gè)開(kāi)放API,以方便移動(dòng)應(yīng)用開(kāi)發(fā)公司調(diào)用作為范例來(lái)大致描述通過(guò)PHP連接原有數(shù)據(jù)庫(kù)、生成JSON格式的開(kāi)放API、調(diào)用開(kāi)放API這一過(guò)程。

過(guò)程示范

1.連接原有數(shù)據(jù)庫(kù)

創(chuàng)建一個(gè)連接學(xué)校現(xiàn)有MS SQL SERVER的func.php,圖4所示的關(guān)鍵代碼表明其是連接到數(shù)據(jù)庫(kù)服務(wù)器(10.8.32.89)上的SCHOOL_ERP的數(shù)據(jù)庫(kù)。在該數(shù)據(jù)庫(kù)中只需配給“apiuser”用戶(hù)讀取權(quán)限即可(注:PHP在高版本上需要使用sqlsrv擴(kuò)展對(duì)Sql Server進(jìn)行連接,安裝過(guò)程略)。

2.構(gòu)建JSON格式的開(kāi)放API

用readmail.php來(lái)構(gòu)建,下頁(yè)圖5截取了關(guān)鍵之處并做出解釋?zhuān)?~4行為應(yīng)用上一級(jí)目錄下的func.php,設(shè)置輸出到瀏覽器的類(lèi)型和編碼,第5行表示以GET方式獲取提供的教師姓名傳遞給name變量,轉(zhuǎn)換name的編碼為gbk,由于學(xué)校原始數(shù)據(jù)庫(kù)是微軟SQL Server,當(dāng)前編碼為gbk編碼,第10行是一句符合我們預(yù)期API調(diào)用的一條SQL查詢(xún)語(yǔ)句,第11~13行是為了防止SQL注入,創(chuàng)建一個(gè)預(yù)處理語(yǔ)句,將$name的值綁定到上面$sql變量里的“?”部分,第14行定義了一個(gè)數(shù)組,用于保存后面輸出的數(shù)據(jù)。第15~18行用while遍歷數(shù)據(jù),其中sqlsrv_fetch_array函數(shù)獲取了執(zhí)行后的結(jié)果,賦值到$result變量中,對(duì)數(shù)據(jù)中的send_dt數(shù)據(jù)進(jìn)行處理,把處理好的數(shù)據(jù)保存到$arr數(shù)組里。第19~20行將獲得的數(shù)據(jù)編碼轉(zhuǎn)換為utf8(防止輸出時(shí)數(shù)據(jù)亂碼),使用json_encode函數(shù),封裝獲得的結(jié)果,并且輸出。

這時(shí)就生成了一位教師的最近5封郵件信息的API接口“http://wx.ourschool.cn/cjcxcs/api/getemail.php”,在此我們可以嘗試直接將某位教師的姓名作為name變量傳遞參數(shù)代入,向開(kāi)放API發(fā)出GET請(qǐng)求。獲得JSON格式的文本后,將文本按照J(rèn)SON格式解碼,如圖6所示。

開(kāi)放API的數(shù)據(jù)格式一般有JSON(JavaScript Object Notation)和XML(EXtensible Markup Language)兩種,考慮到簡(jiǎn)潔性和輕量性,我們通常會(huì)使用JSON,它方便人們進(jìn)行閱讀和編寫(xiě),同時(shí)也方便了機(jī)器進(jìn)行解析和生成。讀者可以到http://json.cn網(wǎng)站了解和在線解析JSON結(jié)構(gòu)(如圖7)。

3.通過(guò)AJAX構(gòu)建終端顯示

通過(guò)使用AJAX(異步JavaScript和XML)異步獲取的方式調(diào)用上述的API,進(jìn)而解析接口返回的JSON,就可以在相關(guān)Web App里顯示用戶(hù)頁(yè)面(如下頁(yè)圖8)。

以上是根據(jù)學(xué)校現(xiàn)有的動(dòng)態(tài)網(wǎng)站進(jìn)行了接口開(kāi)發(fā),以方便后繼應(yīng)用進(jìn)行開(kāi)發(fā),但還有一些情況是依靠學(xué)校現(xiàn)有條件無(wú)法進(jìn)行后繼開(kāi)發(fā)的,最為典型的就是短信應(yīng)用,如我校微信報(bào)修平臺(tái)需要將維修信息發(fā)給修理師傅,除了微信通知外,為了能更及時(shí)傳送,又加上一條運(yùn)營(yíng)商維修短信通知,功能如下頁(yè)圖9所示。

這時(shí)我們可到國(guó)內(nèi)在線某API數(shù)據(jù)供應(yīng)商處進(jìn)行體驗(yàn)申請(qǐng)短信API。申請(qǐng)后,會(huì)在后臺(tái)看到該API的配置服務(wù)信息,需要指出的是,商業(yè)化的API請(qǐng)求通常為HTTP GET方式,返回?cái)?shù)據(jù)為JSON格式,為了防止API被濫用或惡意使用,要求每個(gè)API使用者都要申請(qǐng)一個(gè)API Key,每個(gè)API Key對(duì)應(yīng)唯一的一個(gè)API使用者,下頁(yè)圖10中的AppKey即為我校的一個(gè)API Key。

接下去可以創(chuàng)建一個(gè)短信模板,如“【報(bào)修平臺(tái)】收到的新的來(lái)自#name#的報(bào)修信息,分類(lèi)為:#app#”,#號(hào)中間的變量由開(kāi)發(fā)者自行定義(如圖11)。

然后根據(jù)圖12的主要代碼段創(chuàng)建一個(gè)短信通知頁(yè)面,這樣接到報(bào)修后可短信快速通知維修人員維修。第3行表示篩選出接收短信權(quán)限的對(duì)象,用戶(hù)報(bào)修后,數(shù)據(jù)庫(kù)會(huì)執(zhí)行一條插入語(yǔ)句,進(jìn)而觸發(fā)到第10行的短信供應(yīng)商API接口處傳遞數(shù)據(jù),第13~16行為具體的傳遞數(shù)據(jù)(API KEY、發(fā)送號(hào)碼、自定義的模板號(hào)和模板中顯示的變量數(shù)據(jù))。

上例在演示學(xué)校構(gòu)建自身基礎(chǔ)API的同時(shí),還借用了成熟商業(yè)平臺(tái)的開(kāi)放API,我想這種模式可能也正是開(kāi)放API的意義所在。如果教育工作者能意識(shí)到這種開(kāi)發(fā)模式是一種挑戰(zhàn),一種創(chuàng)新,更是一種機(jī)會(huì),有意識(shí)地讓學(xué)校開(kāi)發(fā)的教育教學(xué)資源系統(tǒng)更符合這個(gè)時(shí)代需要的標(biāo)準(zhǔn)和規(guī)范,直接將標(biāo)準(zhǔn)化后的數(shù)據(jù)提供給開(kāi)發(fā)者,將極大地提高開(kāi)發(fā)者的工作效率,也將提高學(xué)校的信息化效率。如果還能在上級(jí)教育主管機(jī)構(gòu)統(tǒng)籌規(guī)劃下,形成區(qū)域和校際間的一個(gè)完整、統(tǒng)一的教育教學(xué)數(shù)據(jù)開(kāi)放API,則能讓區(qū)域乃至全國(guó)教育教學(xué)數(shù)據(jù)趨向完整、開(kāi)放,進(jìn)而真正做到直接交換和共享信息,勢(shì)必會(huì)開(kāi)啟一個(gè)教育類(lèi)創(chuàng)新的新時(shí)代。

猜你喜歡
數(shù)據(jù)庫(kù)學(xué)校教育
國(guó)外教育奇趣
題解教育『三問(wèn)』
教育有道——關(guān)于閩派教育的一點(diǎn)思考
辦好人民滿(mǎn)意的首都教育
數(shù)據(jù)庫(kù)
學(xué)校推介
留學(xué)生(2016年6期)2016-07-25 17:55:29
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
奇妙學(xué)校
主站蜘蛛池模板: 免费 国产 无码久久久| 日韩在线第三页| 国产视频a| 亚洲人妖在线| 免费观看三级毛片| 亚洲中文无码h在线观看| 99re经典视频在线| 精品视频一区在线观看| 国产欧美日韩在线一区| 一区二区三区国产精品视频| 欧美成人一区午夜福利在线| 国产成人综合网在线观看| 国产福利免费在线观看| 国产爽爽视频| 极品私人尤物在线精品首页 | 狠狠久久综合伊人不卡| 日本人真淫视频一区二区三区| 91青青视频| 亚洲欧洲免费视频| 欧美日本在线| 亚洲第一页在线观看| 1769国产精品视频免费观看| 亚洲免费人成影院| 国产精品尤物在线| 中文字幕永久在线看| 亚洲色图综合在线| 精品无码一区二区三区电影| 亚洲美女高潮久久久久久久| 五月综合色婷婷| 国产高清精品在线91| 在线精品视频成人网| 亚洲视频色图| 久久精品人妻中文系列| 国产浮力第一页永久地址| 99久久亚洲精品影院| 澳门av无码| 无码精油按摩潮喷在线播放| 伊在人亚洲香蕉精品播放| julia中文字幕久久亚洲| 国产精品女同一区三区五区| 国产av色站网站| 2021最新国产精品网站| 国产成人午夜福利免费无码r| 国产高清在线精品一区二区三区 | 亚洲电影天堂在线国语对白| 亚洲国产综合精品一区| 亚洲av色吊丝无码| 无码免费视频| 亚洲91在线精品| 亚洲乱伦视频| 亚洲国产清纯| 亚洲国产日韩在线成人蜜芽| 亚洲午夜18| 幺女国产一级毛片| 中国一级特黄视频| 丰满人妻久久中文字幕| 毛片免费视频| 亚洲品质国产精品无码| 在线观看av永久| 日韩国产另类| 欧美精品综合视频一区二区| 一区二区午夜| 91精品啪在线观看国产91| 成人国产精品网站在线看| 国产欧美日韩视频怡春院| 又粗又大又爽又紧免费视频| 国产噜噜在线视频观看| 91精品福利自产拍在线观看| 午夜小视频在线| 亚洲国产高清精品线久久| 啪啪免费视频一区二区| 欧美日韩激情在线| 欧美精品成人一区二区视频一| 秘书高跟黑色丝袜国产91在线| 国产日韩欧美成人| 素人激情视频福利| 青青久视频| 无码高清专区| 嫩草影院在线观看精品视频| 欧美日韩在线亚洲国产人| 午夜天堂视频| 日韩精品成人网页视频在线|