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

體驗構建學校開放API

2017-01-03 22:23:30金琦
中國信息技術教育 2016年23期
關鍵詞:數據庫學校教育

金琦

引言

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

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

我們再來觀察下頁圖3所示的處理程序map.php,原本的地圖功能,可能會讓讀者覺得程序代碼很繁雜,其實不然!這主要是因為有了Google Maps API的幫助,其中第4行就是載入一個Google Maps API;第7~14行定義一個initialize函數,負責地圖的初始化工作,建立屬于google.maps的相關類,并調用第15~28行codeAddress()函數。第32行的value就是用戶在bj.php頁面中選中的目標位置的地址,使得第16行就是利用這個元素獲取要在地圖上做標記的地址。

在我們對開放API有了初步體驗后,下面就構造了這樣一個情境模式:為適應移動辦公需要,對學校原有的Web郵件系統建立一個開放API,以方便移動應用開發公司調用作為范例來大致描述通過PHP連接原有數據庫、生成JSON格式的開放API、調用開放API這一過程。

過程示范

1.連接原有數據庫

創建一個連接學校現有MS SQL SERVER的func.php,圖4所示的關鍵代碼表明其是連接到數據庫服務器(10.8.32.89)上的SCHOOL_ERP的數據庫。在該數據庫中只需配給“apiuser”用戶讀取權限即可(注:PHP在高版本上需要使用sqlsrv擴展對Sql Server進行連接,安裝過程略)。

2.構建JSON格式的開放API

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

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

開放API的數據格式一般有JSON(JavaScript Object Notation)和XML(EXtensible Markup Language)兩種,考慮到簡潔性和輕量性,我們通常會使用JSON,它方便人們進行閱讀和編寫,同時也方便了機器進行解析和生成。讀者可以到http://json.cn網站了解和在線解析JSON結構(如圖7)。

3.通過AJAX構建終端顯示

通過使用AJAX(異步JavaScript和XML)異步獲取的方式調用上述的API,進而解析接口返回的JSON,就可以在相關Web App里顯示用戶頁面(如下頁圖8)。

以上是根據學校現有的動態網站進行了接口開發,以方便后繼應用進行開發,但還有一些情況是依靠學校現有條件無法進行后繼開發的,最為典型的就是短信應用,如我校微信報修平臺需要將維修信息發給修理師傅,除了微信通知外,為了能更及時傳送,又加上一條運營商維修短信通知,功能如下頁圖9所示。

這時我們可到國內在線某API數據供應商處進行體驗申請短信API。申請后,會在后臺看到該API的配置服務信息,需要指出的是,商業化的API請求通常為HTTP GET方式,返回數據為JSON格式,為了防止API被濫用或惡意使用,要求每個API使用者都要申請一個API Key,每個API Key對應唯一的一個API使用者,下頁圖10中的AppKey即為我校的一個API Key。

接下去可以創建一個短信模板,如“【報修平臺】收到的新的來自#name#的報修信息,分類為:#app#”,#號中間的變量由開發者自行定義(如圖11)。

然后根據圖12的主要代碼段創建一個短信通知頁面,這樣接到報修后可短信快速通知維修人員維修。第3行表示篩選出接收短信權限的對象,用戶報修后,數據庫會執行一條插入語句,進而觸發到第10行的短信供應商API接口處傳遞數據,第13~16行為具體的傳遞數據(API KEY、發送號碼、自定義的模板號和模板中顯示的變量數據)。

上例在演示學校構建自身基礎API的同時,還借用了成熟商業平臺的開放API,我想這種模式可能也正是開放API的意義所在。如果教育工作者能意識到這種開發模式是一種挑戰,一種創新,更是一種機會,有意識地讓學校開發的教育教學資源系統更符合這個時代需要的標準和規范,直接將標準化后的數據提供給開發者,將極大地提高開發者的工作效率,也將提高學校的信息化效率。如果還能在上級教育主管機構統籌規劃下,形成區域和校際間的一個完整、統一的教育教學數據開放API,則能讓區域乃至全國教育教學數據趨向完整、開放,進而真正做到直接交換和共享信息,勢必會開啟一個教育類創新的新時代。

猜你喜歡
數據庫學校教育
國外教育奇趣
華人時刊(2022年13期)2022-10-27 08:55:52
題解教育『三問』
當代陜西(2022年4期)2022-04-19 12:08:52
教育有道——關于閩派教育的一點思考
辦好人民滿意的首都教育
數據庫
財經(2017年2期)2017-03-10 14:35:35
學校推介
留學生(2016年6期)2016-07-25 17:55:29
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
奇妙學校
主站蜘蛛池模板: 成人综合久久综合| 国产在线自乱拍播放| 欧美日一级片| 91福利在线观看视频| 免费在线国产一区二区三区精品 | 日本三区视频| 女人18毛片一级毛片在线 | 欧美日韩中文国产| 国产午夜精品一区二区三区软件| 天天做天天爱夜夜爽毛片毛片| 亚洲AⅤ无码日韩AV无码网站| 精品人妻AV区| 精品一区二区无码av| 人妻丰满熟妇αv无码| 自慰网址在线观看| 亚洲无码视频一区二区三区| 国产日韩AV高潮在线| 欧美高清三区| 成人在线不卡视频| 亚洲精品动漫| 成人福利在线看| 综合久久久久久久综合网| 亚洲一级毛片免费看| 久久久亚洲色| 国产白浆在线| 九九久久精品国产av片囯产区| 亚洲国产欧美国产综合久久 | 波多野吉衣一区二区三区av| 国产黄在线免费观看| 中文天堂在线视频| 福利视频久久| 国产精品99在线观看| 精品色综合| 成人av手机在线观看| 国产一级一级毛片永久| 91美女视频在线观看| 国产日韩精品欧美一区灰| aⅴ免费在线观看| 亚洲综合第一区| 亚洲欧洲日韩国产综合在线二区| 国产99在线| 久久久国产精品免费视频| 中文字幕有乳无码| 精品久久久久久久久久久| 亚洲第一国产综合| 波多野结衣亚洲一区| 亚洲综合色婷婷中文字幕| 亚洲毛片一级带毛片基地| 中文字幕免费播放| 天天综合色天天综合网| 国模极品一区二区三区| 91啦中文字幕| 欧美日韩亚洲国产| 国产在线精品网址你懂的| 国产福利观看| 久久久久人妻一区精品| 亚洲无码四虎黄色网站| 免费无码又爽又黄又刺激网站 | 欧美视频在线第一页| 亚洲码一区二区三区| 国产一级毛片在线| 亚洲精品麻豆| 日本人又色又爽的视频| 国产无码精品在线播放| 在线播放国产99re| 日韩欧美中文字幕在线韩免费| 成人亚洲天堂| 国产精品爽爽va在线无码观看| 成人精品在线观看| 午夜一区二区三区| 亚洲人成色在线观看| 午夜福利在线观看入口| 国产日韩欧美一区二区三区在线| 最新亚洲人成无码网站欣赏网| 国产综合亚洲欧洲区精品无码| 久久青草精品一区二区三区| 免费不卡视频| 精品国产成人高清在线| 午夜天堂视频| 亚洲中字无码AV电影在线观看| 亚洲男人的天堂在线观看| 熟妇丰满人妻|