亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        高校信息門戶系統(tǒng)API設(shè)計(jì)

        2017-03-15 15:25:37宛寧
        電腦與電信 2017年10期
        關(guān)鍵詞:門戶終端數(shù)據(jù)庫

        宛寧

        (長(zhǎng)春工業(yè)大學(xué),吉林 長(zhǎng)春 130012)

        高校信息門戶系統(tǒng)API設(shè)計(jì)

        宛寧

        (長(zhǎng)春工業(yè)大學(xué),吉林 長(zhǎng)春 130012)

        為提升高校信息門戶系統(tǒng)底層數(shù)據(jù)交互的安全性、高效性、復(fù)用性,提出在信息門戶系統(tǒng)中通過API接口來取代數(shù)據(jù)庫接口獲取數(shù)據(jù)的傳統(tǒng)方式。并以長(zhǎng)春工業(yè)大學(xué)信息門戶系統(tǒng)數(shù)據(jù)層設(shè)計(jì)與實(shí)現(xiàn)為實(shí)例,制定信息門戶系統(tǒng)數(shù)據(jù)接口設(shè)計(jì)方案。

        信息門戶;API;數(shù)據(jù)格式標(biāo)準(zhǔn)

        1 引言

        傳統(tǒng)信息門戶與各業(yè)務(wù)系統(tǒng)接口或數(shù)據(jù)庫緊密連接,導(dǎo)致信息門戶系統(tǒng)的訪問對(duì)各業(yè)務(wù)系統(tǒng)造成了巨大負(fù)擔(dān)。移動(dòng)終端的出現(xiàn)對(duì)信息門戶有了更多的需求,數(shù)據(jù)展現(xiàn)的二次開發(fā)在所難免。為此,基于API的數(shù)據(jù)模型能夠更好地為新一代的信息門戶系統(tǒng)服務(wù)[1]。

        目前,普遍采用基于HTTP協(xié)議的數(shù)據(jù)接口,數(shù)據(jù)格式常采用XML或JSON。隨著API接口數(shù)量的增減,如沒有一個(gè)好的標(biāo)準(zhǔn)設(shè)計(jì)和數(shù)據(jù)規(guī)劃,不論使用哪種協(xié)議哪種格式,都將適得其反。為此,我們要將數(shù)據(jù)層面各個(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)交換到中間數(shù)據(jù)庫,隔絕應(yīng)用層與業(yè)務(wù)系統(tǒng)的直接關(guān)聯(lián)。應(yīng)用層直接訪問API,API直接訪問中間數(shù)據(jù)庫。

        2 需求分析

        我們知道,信息門戶不是一套獨(dú)立的系統(tǒng),本身不產(chǎn)任何數(shù)據(jù),也不對(duì)任何數(shù)據(jù)進(jìn)行轉(zhuǎn)化操作。它直接將最新的信息、重要的數(shù)據(jù)以Portal的形式展現(xiàn)出來,將各應(yīng)用系統(tǒng)的部分功能集成并提供服務(wù),根據(jù)不同角色展示不同的信息[2]。信息門戶可以比喻成電腦上的瀏覽器,如果沒有互聯(lián)網(wǎng),沒有各網(wǎng)站應(yīng)用,瀏覽器就是一個(gè)空殼。用戶訪問信息門戶系統(tǒng)并不關(guān)注信息門戶系統(tǒng)本身,關(guān)注的是里面的數(shù)據(jù)、信息、業(yè)務(wù)系統(tǒng)服務(wù)。在具備完整數(shù)據(jù)支持和技術(shù)支持的條件下,任何開源信息門戶系統(tǒng)還是商用信息門戶系統(tǒng)都能夠快速部署并投入使用[3]。因此,一個(gè)高校信息門戶系統(tǒng)好不好,體現(xiàn)在里面的數(shù)據(jù)和功能服務(wù)上。信息門戶系統(tǒng)的好壞直接體現(xiàn)高校信息化建設(shè)的程度。

        在高校中構(gòu)建API數(shù)據(jù)接口是最近幾年才流行起來的。過往我們的需求較為單一,沒有那么多的終端要求。但隨著數(shù)字化校園建設(shè)的提出,業(yè)務(wù)系統(tǒng)與業(yè)務(wù)系統(tǒng)之間、信息門戶與業(yè)務(wù)系統(tǒng)之間需要大量的數(shù)據(jù)關(guān)聯(lián)。一開始,各應(yīng)用系統(tǒng)都開發(fā)了基于SOA的各自獨(dú)立的數(shù)據(jù)接口。但這些接口都是私有接口,系統(tǒng)與系統(tǒng)間沒有統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范。隨著中間共享數(shù)據(jù)庫的建立,提取數(shù)據(jù)不再是從各個(gè)業(yè)務(wù)系統(tǒng)來獲取,導(dǎo)致需要定義新的API數(shù)據(jù)接口。

        隨著移動(dòng)終端的飛速發(fā)展,人們的互聯(lián)網(wǎng)生活習(xí)慣也發(fā)生了改變。上網(wǎng)不再是只能通過計(jì)算機(jī)進(jìn)行,還可以通過移動(dòng)終端隨時(shí)隨地進(jìn)行訪問。每個(gè)人習(xí)慣不同,有喜歡直接通過手機(jī)瀏覽器訪問的,有喜歡通過APP方式訪問的,還有喜歡用微信平臺(tái)訪問的。為此,我們需要開發(fā)多終端的信息門戶應(yīng)用程序來滿足用戶的需求。

        為了滿足上述需求,我們針對(duì)不同的終端需求開發(fā)新的信息門戶,開發(fā)過程中必然涉及到用PC端的信息門戶一樣的問題,即數(shù)據(jù)的獲取與交互的方式方法。以往的信息門戶僅考慮到PC端用戶的需求,所以在開發(fā)設(shè)計(jì)時(shí)數(shù)據(jù)的獲取與交互方式方法不一,有直接抓取過濾的,有直接連接數(shù)據(jù)庫的,還有直接連接業(yè)務(wù)系統(tǒng)接口的。這導(dǎo)致我們?cè)陂_發(fā)其他終端信息門戶系統(tǒng)時(shí)需要重寫程序,一旦源數(shù)據(jù)系統(tǒng)出現(xiàn)變動(dòng),所有的程序都要重新編寫。為此,我們需要一個(gè)統(tǒng)一的數(shù)據(jù)接口,所有終端系統(tǒng)采用統(tǒng)一的標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)的獲取與交互。未來如果新的應(yīng)用系統(tǒng)上線,我們構(gòu)建的API數(shù)據(jù)接口能夠快速提供數(shù)據(jù)服務(wù)支持。

        3 基于API的架構(gòu)分析

        早期的信息門戶系統(tǒng)與各業(yè)務(wù)系統(tǒng)是直接連接的。例如在信息門戶系統(tǒng)中訪問成績(jī)數(shù)據(jù),那么信息門戶服務(wù)器會(huì)直接訪問教務(wù)系統(tǒng)的數(shù)據(jù)庫。一旦教務(wù)系統(tǒng)出現(xiàn)故障,將直接導(dǎo)致信息門戶訪問受到限制。隨著數(shù)據(jù)交換和中間數(shù)據(jù)庫的提出,我們將業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)通過數(shù)據(jù)交換工具同步到中間數(shù)據(jù)庫中,中間數(shù)據(jù)庫與信息門戶相連,避免了上述問題,同時(shí)減輕了業(yè)務(wù)系統(tǒng)負(fù)擔(dān)。但從安全角度講,一旦信息門戶遭到入侵,學(xué)校重要數(shù)據(jù)有被竊取的危險(xiǎn)。

        為此我們提出基于API的無數(shù)據(jù)庫連接的信息門戶系統(tǒng)。信息門戶系統(tǒng)與數(shù)據(jù)層中間通過API數(shù)據(jù)接口進(jìn)行連接,API服務(wù)器與業(yè)務(wù)系統(tǒng)或中間數(shù)據(jù)庫進(jìn)行直連,通過自定義的接口方法進(jìn)行交互。因此,一個(gè)標(biāo)準(zhǔn)API結(jié)構(gòu)為:業(yè)務(wù)系統(tǒng)數(shù)據(jù)(業(yè)務(wù)層)-〉數(shù)據(jù)交換(數(shù)據(jù)交換層)-〉中間數(shù)據(jù)庫(中間數(shù)據(jù)層)-〉A(chǔ)PI數(shù)據(jù)接口(接口層)-〉信息門戶系統(tǒng)(訪問層)。

        4 數(shù)據(jù)接口標(biāo)準(zhǔn)設(shè)計(jì)

        由于信息門戶系統(tǒng)需要從各應(yīng)用系統(tǒng)獲取數(shù)據(jù),數(shù)據(jù)形式多種多樣,因此我們需要開發(fā)大量的API數(shù)據(jù)接口。為了使API接口更加規(guī)范有序,需要制定接口名稱標(biāo)準(zhǔn),數(shù)據(jù)格式標(biāo)準(zhǔn)。

        接口名稱標(biāo)準(zhǔn)。每組數(shù)據(jù)都來自各自的應(yīng)用系統(tǒng),因此建議先將校內(nèi)各應(yīng)用系統(tǒng)進(jìn)行名稱編碼。例如:通知通告系統(tǒng)10001、本??平虅?wù)系統(tǒng)為20001,科研處網(wǎng)站系統(tǒng)300001。這里前兩位代表系統(tǒng)類型,后三位表示系統(tǒng)序號(hào)。例如10表示全校范圍內(nèi)的信息發(fā)布系統(tǒng)類型,20表示各業(yè)務(wù)部門應(yīng)用系統(tǒng),30表示各部門網(wǎng)站系統(tǒng)。下一步是制定各個(gè)應(yīng)用系統(tǒng)的API數(shù)據(jù)接口編號(hào),一般由3到4位數(shù)字組成即可。下面的表格是本課題實(shí)施過程中為教務(wù)系統(tǒng)設(shè)計(jì)的API編碼標(biāo)準(zhǔn)部分片段,獲取數(shù)據(jù)時(shí)只需要通過URI格式為“http∶//IP/system_id/20001/api_id/a01/userid/20140013”就 可以直接獲取到學(xué)號(hào)為20140013的學(xué)生當(dāng)前學(xué)期的課程表了。然后就是輸出的數(shù)據(jù)格式標(biāo)準(zhǔn),在本課題實(shí)施中采用的是RESTful協(xié)議標(biāo)準(zhǔn),返回JSON格式的數(shù)據(jù),通過程序可以將獲取到的JSON數(shù)據(jù)直接格式化成數(shù)組或?qū)ο蟆?/p>

        API數(shù)據(jù)接口主要由三層結(jié)構(gòu)組成,分別是數(shù)據(jù)連接層、數(shù)據(jù)處理層、數(shù)據(jù)表示層。

        數(shù)據(jù)連接層主要負(fù)責(zé)API與中間數(shù)據(jù)庫、內(nèi)存數(shù)據(jù)庫、業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫進(jìn)行連接獲取原始數(shù)據(jù)。在設(shè)計(jì)時(shí)一般將所有數(shù)據(jù)連接類型歸為一個(gè)類,連接參數(shù)以配置文件方式進(jìn)行配置。參數(shù)中比較重要的是連接類型,連接類型決定使用數(shù)據(jù)連接類型類中的哪種方法。目前主要的連接有Mysql、Oracle、SqlServer、Webservice等等,要注意各類數(shù)據(jù)庫各版本的支持。

        數(shù)據(jù)處理層主要負(fù)責(zé)將獲取到的數(shù)據(jù)進(jìn)行加工整理。例如從中間數(shù)據(jù)庫獲取到某學(xué)生的基本信息,其中家庭信息是采用逗號(hào)和分號(hào)進(jìn)行分隔,數(shù)據(jù)處理層將數(shù)據(jù)進(jìn)行重新整理為數(shù)組格式。在設(shè)計(jì)時(shí)一般將每個(gè)業(yè)務(wù)系統(tǒng)作為一個(gè)類,類名最好包含系統(tǒng)的編碼。例如教務(wù)系統(tǒng)編碼為20001,那么就可以創(chuàng)建一個(gè)名為api_20001.class的類文件。各個(gè)類是相對(duì)獨(dú)立的,但經(jīng)常遇到一個(gè)功能請(qǐng)求需要多個(gè)業(yè)務(wù)系統(tǒng)數(shù)據(jù)組合的情況。例如需要得到某教師工資和人事基本信息表格,一種方法是生成兩個(gè)請(qǐng)求從兩個(gè)類中各取數(shù)據(jù),具體結(jié)果直接在信息門戶系統(tǒng)中完成;另一種是針對(duì)耦合請(qǐng)求創(chuàng)建接口(程序設(shè)計(jì)中面向?qū)ο蟮慕涌冢?,該接口連接工資系統(tǒng)API類和人事系統(tǒng)API類,進(jìn)而完成數(shù)據(jù)請(qǐng)求與處理。前一種方法會(huì)增加信息門戶系統(tǒng)的UI開發(fā)量,增加了新增終端的開發(fā)工作量,第二種方法可以在表示層進(jìn)行統(tǒng)一設(shè)計(jì),信息門戶終端直接獲取數(shù)據(jù)即可。

        數(shù)據(jù)表示層將信息門戶的HTTP接口請(qǐng)求進(jìn)行分析,根據(jù)分析到數(shù)據(jù)處理層獲取需要的數(shù)據(jù),將數(shù)據(jù)進(jìn)行格式化返回結(jié)果。例如數(shù)據(jù)表示層將一個(gè)請(qǐng)求分解為system_id=20001、api_id=a01、user_id=20171234,數(shù)據(jù)層立即引用 api_20001.class并創(chuàng)建一個(gè)對(duì)象,使用方法a01獲取學(xué)號(hào)為20171234的學(xué)生的當(dāng)前學(xué)期課表。獲取到的課表格式化為JSON格式返回給信息門戶。數(shù)據(jù)表示層除了格式化數(shù)據(jù)為XML、JSON、text格式外,還可以提供最為直接帶有UI的Web格式。在設(shè)計(jì)中,我們提供了WebAPI接口方法,只要采用該方法可以直接返回HTML5頁面展現(xiàn)信息,信息門戶僅提供URL可驗(yàn)證的安全跳轉(zhuǎn)即可。

        5 結(jié)論

        課題組經(jīng)過接近半年的時(shí)間,對(duì)學(xué)校信息系統(tǒng)數(shù)據(jù)進(jìn)行了重新整理,通過開源數(shù)據(jù)交換工具將數(shù)據(jù)集中到中間庫,通過輕量級(jí)的API為新版信息門戶、手機(jī)APP、微信企業(yè)號(hào)、服務(wù)號(hào)、訂閱號(hào)提供了各類應(yīng)用數(shù)據(jù)接口支持,效果明顯。但對(duì)于大數(shù)據(jù)例如個(gè)人消費(fèi)流水、日志信息等實(shí)現(xiàn)API到中間庫獲取的方式效率極低,有待日后優(yōu)化。

        [1]王平.統(tǒng)一信息門戶建設(shè)方案探討[J].科技視界,2015(35):172+208.

        [2]吳曉,李丹寧.基于SOA架構(gòu)的企業(yè)信息門戶實(shí)現(xiàn)[J].貴州科學(xué),2015(06):14-19. [3]鄧子龍.?dāng)?shù)字校園中基于Web Services數(shù)據(jù)交換平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安科技大學(xué),2014.

        [4]楊帆.基于SOA數(shù)據(jù)交換方法與技術(shù)的研究[D].西安:西安電子科技大學(xué),2014.

        API Design of University Information Portal System

        Wan Ning
        (Changchun University of Technology,Changchun 130012,Jilin)

        In order to improve the security,efficiency and reusability of the bottom data interaction in university information portal system,the way to obtain data through the API interface in the information portal system is put forward which replaces the traditional way through database interface.Taking the design and implementation of the data portal of the information portal system of Changchun University of Technology as an example,the data interface design scheme is made.

        information portal;API;data format standard

        TP393.09

        A

        1008-6609(2017)10-0063-02

        宛寧(1981-),男,吉林長(zhǎng)春人,碩士,工程師,研究方向?yàn)閿?shù)字化校園建設(shè)、數(shù)據(jù)中心設(shè)計(jì)與實(shí)施、應(yīng)用程序開發(fā)。

        猜你喜歡
        門戶終端數(shù)據(jù)庫
        關(guān)隘:要道門戶
        散文(2022年6期)2022-07-28 01:37:58
        西域門戶——兩關(guān)遺址
        X美術(shù)館首屆三年展:“終端〉_How Do We Begin?”
        通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
        基于內(nèi)外網(wǎng)門戶系統(tǒng)的研究
        電子制作(2018年10期)2018-08-04 03:24:34
        數(shù)據(jù)庫
        多功能北斗船載終端的開發(fā)應(yīng)用
        電子制作(2016年15期)2017-01-15 13:39:14
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        久久精品国产亚洲av成人无人区| 亚洲一区av无码少妇电影| 香蕉视频一级| 亚洲一道一本快点视频| 国产免费一区二区在线视频| 成人免费无遮挡在线播放| 亚洲精品毛片一区二区三区| 国产精品18久久久久久首页| 青青草视频视频在线观看| 日韩精品无码一区二区三区四区| 内谢少妇xxxxx8老少交| 亚洲欧洲日产国码久在线观看| 亚洲国产精品成人一区二区三区| 巨爆中文字幕巨爆区爆乳| 国产精品免费观看久久 | 日韩av一区二区毛片| 在线视频自拍视频激情| 欧美性生交活xxxxxdddd| 越南女子杂交内射bbwbbw| 亚洲Va中文字幕无码毛片下载| 午夜精品男人天堂av| 欧美最猛黑人xxxx黑人猛交| 亚洲av区无码字幕中文色| 人妻少妇精品一区二区三区| 成人久久黑人中出内射青草| 孕妇特级毛片ww无码内射| caoporen国产91在线| av免费网站不卡观看| 日韩人妻熟女中文字幕a美景之屋| 青草国产精品久久久久久| 亚洲精品乱码久久久久99| 一区二区三区中文字幕在线播放| 成人免费xxxxx在线观看| 日韩h网站| 日韩av一区二区无卡| 成人国产一区二区三区| 亚洲丁香五月激情综合| 中文字幕一二区中文字幕| 国产一区二区视频免费在线观看| 麻豆果冻传媒在线观看| 亚洲人成网站久久久综合|