高校信息门户系统API设计

2017-03-15 15:25宛宁
电脑与电信 2017年10期
关键词:门户终端数据库

宛宁

(长春工业大学,吉林 长春 130012)

高校信息门户系统API设计

宛宁

(长春工业大学,吉林 长春 130012)

为提升高校信息门户系统底层数据交互的安全性、高效性、复用性,提出在信息门户系统中通过API接口来取代数据库接口获取数据的传统方式。并以长春工业大学信息门户系统数据层设计与实现为实例,制定信息门户系统数据接口设计方案。

信息门户;API;数据格式标准

1 引言

传统信息门户与各业务系统接口或数据库紧密连接,导致信息门户系统的访问对各业务系统造成了巨大负担。移动终端的出现对信息门户有了更多的需求,数据展现的二次开发在所难免。为此,基于API的数据模型能够更好地为新一代的信息门户系统服务[1]。

目前,普遍采用基于HTTP协议的数据接口,数据格式常采用XML或JSON。随着API接口数量的增减,如没有一个好的标准设计和数据规划,不论使用哪种协议哪种格式,都将适得其反。为此,我们要将数据层面各个业务系统数据交换到中间数据库,隔绝应用层与业务系统的直接关联。应用层直接访问API,API直接访问中间数据库。

2 需求分析

我们知道,信息门户不是一套独立的系统,本身不产任何数据,也不对任何数据进行转化操作。它直接将最新的信息、重要的数据以Portal的形式展现出来,将各应用系统的部分功能集成并提供服务,根据不同角色展示不同的信息[2]。信息门户可以比喻成电脑上的浏览器,如果没有互联网,没有各网站应用,浏览器就是一个空壳。用户访问信息门户系统并不关注信息门户系统本身,关注的是里面的数据、信息、业务系统服务。在具备完整数据支持和技术支持的条件下,任何开源信息门户系统还是商用信息门户系统都能够快速部署并投入使用[3]。因此,一个高校信息门户系统好不好,体现在里面的数据和功能服务上。信息门户系统的好坏直接体现高校信息化建设的程度。

在高校中构建API数据接口是最近几年才流行起来的。过往我们的需求较为单一,没有那么多的终端要求。但随着数字化校园建设的提出,业务系统与业务系统之间、信息门户与业务系统之间需要大量的数据关联。一开始,各应用系统都开发了基于SOA的各自独立的数据接口。但这些接口都是私有接口,系统与系统间没有统一的标准和规范。随着中间共享数据库的建立,提取数据不再是从各个业务系统来获取,导致需要定义新的API数据接口。

随着移动终端的飞速发展,人们的互联网生活习惯也发生了改变。上网不再是只能通过计算机进行,还可以通过移动终端随时随地进行访问。每个人习惯不同,有喜欢直接通过手机浏览器访问的,有喜欢通过APP方式访问的,还有喜欢用微信平台访问的。为此,我们需要开发多终端的信息门户应用程序来满足用户的需求。

为了满足上述需求,我们针对不同的终端需求开发新的信息门户,开发过程中必然涉及到用PC端的信息门户一样的问题,即数据的获取与交互的方式方法。以往的信息门户仅考虑到PC端用户的需求,所以在开发设计时数据的获取与交互方式方法不一,有直接抓取过滤的,有直接连接数据库的,还有直接连接业务系统接口的。这导致我们在开发其他终端信息门户系统时需要重写程序,一旦源数据系统出现变动,所有的程序都要重新编写。为此,我们需要一个统一的数据接口,所有终端系统采用统一的标准进行数据的获取与交互。未来如果新的应用系统上线,我们构建的API数据接口能够快速提供数据服务支持。

3 基于API的架构分析

早期的信息门户系统与各业务系统是直接连接的。例如在信息门户系统中访问成绩数据,那么信息门户服务器会直接访问教务系统的数据库。一旦教务系统出现故障,将直接导致信息门户访问受到限制。随着数据交换和中间数据库的提出,我们将业务系统中的数据通过数据交换工具同步到中间数据库中,中间数据库与信息门户相连,避免了上述问题,同时减轻了业务系统负担。但从安全角度讲,一旦信息门户遭到入侵,学校重要数据有被窃取的危险。

为此我们提出基于API的无数据库连接的信息门户系统。信息门户系统与数据层中间通过API数据接口进行连接,API服务器与业务系统或中间数据库进行直连,通过自定义的接口方法进行交互。因此,一个标准API结构为:业务系统数据(业务层)-〉数据交换(数据交换层)-〉中间数据库(中间数据层)-〉API数据接口(接口层)-〉信息门户系统(访问层)。

4 数据接口标准设计

由于信息门户系统需要从各应用系统获取数据,数据形式多种多样,因此我们需要开发大量的API数据接口。为了使API接口更加规范有序,需要制定接口名称标准,数据格式标准。

接口名称标准。每组数据都来自各自的应用系统,因此建议先将校内各应用系统进行名称编码。例如:通知通告系统10001、本专科教务系统为20001,科研处网站系统300001。这里前两位代表系统类型,后三位表示系统序号。例如10表示全校范围内的信息发布系统类型,20表示各业务部门应用系统,30表示各部门网站系统。下一步是制定各个应用系统的API数据接口编号,一般由3到4位数字组成即可。下面的表格是本课题实施过程中为教务系统设计的API编码标准部分片段,获取数据时只需要通过URI格式为“http∶//IP/system_id/20001/api_id/a01/userid/20140013”就 可以直接获取到学号为20140013的学生当前学期的课程表了。然后就是输出的数据格式标准,在本课题实施中采用的是RESTful协议标准,返回JSON格式的数据,通过程序可以将获取到的JSON数据直接格式化成数组或对象。

API数据接口主要由三层结构组成,分别是数据连接层、数据处理层、数据表示层。

数据连接层主要负责API与中间数据库、内存数据库、业务系统数据库进行连接获取原始数据。在设计时一般将所有数据连接类型归为一个类,连接参数以配置文件方式进行配置。参数中比较重要的是连接类型,连接类型决定使用数据连接类型类中的哪种方法。目前主要的连接有Mysql、Oracle、SqlServer、Webservice等等,要注意各类数据库各版本的支持。

数据处理层主要负责将获取到的数据进行加工整理。例如从中间数据库获取到某学生的基本信息,其中家庭信息是采用逗号和分号进行分隔,数据处理层将数据进行重新整理为数组格式。在设计时一般将每个业务系统作为一个类,类名最好包含系统的编码。例如教务系统编码为20001,那么就可以创建一个名为api_20001.class的类文件。各个类是相对独立的,但经常遇到一个功能请求需要多个业务系统数据组合的情况。例如需要得到某教师工资和人事基本信息表格,一种方法是生成两个请求从两个类中各取数据,具体结果直接在信息门户系统中完成;另一种是针对耦合请求创建接口(程序设计中面向对象的接口),该接口连接工资系统API类和人事系统API类,进而完成数据请求与处理。前一种方法会增加信息门户系统的UI开发量,增加了新增终端的开发工作量,第二种方法可以在表示层进行统一设计,信息门户终端直接获取数据即可。

数据表示层将信息门户的HTTP接口请求进行分析,根据分析到数据处理层获取需要的数据,将数据进行格式化返回结果。例如数据表示层将一个请求分解为system_id=20001、api_id=a01、user_id=20171234,数据层立即引用 api_20001.class并创建一个对象,使用方法a01获取学号为20171234的学生的当前学期课表。获取到的课表格式化为JSON格式返回给信息门户。数据表示层除了格式化数据为XML、JSON、text格式外,还可以提供最为直接带有UI的Web格式。在设计中,我们提供了WebAPI接口方法,只要采用该方法可以直接返回HTML5页面展现信息,信息门户仅提供URL可验证的安全跳转即可。

5 结论

课题组经过接近半年的时间,对学校信息系统数据进行了重新整理,通过开源数据交换工具将数据集中到中间库,通过轻量级的API为新版信息门户、手机APP、微信企业号、服务号、订阅号提供了各类应用数据接口支持,效果明显。但对于大数据例如个人消费流水、日志信息等实现API到中间库获取的方式效率极低,有待日后优化。

[1]王平.统一信息门户建设方案探讨[J].科技视界,2015(35):172+208.

[2]吴晓,李丹宁.基于SOA架构的企业信息门户实现[J].贵州科学,2015(06):14-19. [3]邓子龙.数字校园中基于Web Services数据交换平台的设计与实现[D].西安:西安科技大学,2014.

[4]杨帆.基于SOA数据交换方法与技术的研究[D].西安:西安电子科技大学,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-),男,吉林长春人,硕士,工程师,研究方向为数字化校园建设、数据中心设计与实施、应用程序开发。

猜你喜欢
门户终端数据库
关隘:要道门户
西域门户——两关遗址
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
基于内外网门户系统的研究
GSM-R手持终端呼叫FAS失败案例分析
数据库
数据库
数据库
数据库