“校校通”工程的实施,对各个学校教育信息系统之间的互操作提出了挑战,统一的数据标准和接口规范成为学校与学校之间,学校与教育管理部门之间信息互通的关键。
应用互联关键焦点
教育管理信息系统之间的互操作有两个层面:一是学校内部各管理部门之间的信息系统互操作问题,二是学校与上级教育管理部门之间以及学校与学校之间的信息系统互操作问题。
第一个层面的问题,也是基于校园网的信息系统需要解决的问题。由于国内各级各类学校的校园网发展不平衡,在信息系统方面三种模式并存:即单机管理模式、部门局域网管理模式、校园网上的全校管理模式。前两种模式下的信息系统相对封闭、各自独立运行,都存在数据重复录入、统计数据不一致的现象,难以进行信息交换、共享、统计、分析等加工处理,因而难以形成决策依据,严重制约了信息的有效利用。而基于校园网的全校信息系统,是以各部门管理系统为基础,不但满足部门内部管理的需要,还通过部门管理系统的互操作为其他部门甚至全校师生员工提供信息服务,便于各部门之间的信息共享与交流,是信息系统发展的趋势,其实现的前提是在不同时期建立起来的部门应用系统按照一定的规范来实现数据共享与数据互换。
对于第二个层面的问题,即学校与学校之间,学校与教育管理部门之间的互操作问题,目前主要存在两种解决方案。
一种是在软件的采购上采用了一刀切的办法,要求所有学校的教育管理机构都采用统一的软件。这种解决办法,虽然解决了数据传递的问题,但同时也带来了行业垄断的危机。因为在后续的系统完善中,软件更新的控制权掌握在同一软件提供商手中,这样必然失去竞争和激励机制,从而导致行业垄断,难以保证持续的优质服务。同时,教育管理信息系统还应该允许一定的个性化,不能抹煞各个学校自己管理方面的特点。因此一个地区采用统一管理软件并不是解决互操作问题的好方案。
另一种就是为不同教育管理信息系统之间的互操作建立接口。由于没有使用标准的数据格式,必须事先为当前系统之间的数据交互编写专用脚本,以使被提取数据能转换为其他程序的数据库能理解的格式。大多数厂商也确实提供了应用程序接口(API)存取数据。然而,API往往是专用接口并且要求专业知识,每次当软件升级时,必须重新编写脚本,这样做既费时又费钱。在一般情况下,是由两个厂商合作提供一致的数据接口,编写点对点转换数据的脚本,然而,如果增加第三个厂商,就需要与前两个厂商分别编写接口程序,增加的厂商越多,这种实现就越复杂。
应用软件之间实现互操作或信息交换,无非是希望能够扩充应用软件的功能,提高信息管理的效率,从而达到利用信息手段建立一种“安全、可靠、自动、流程化的教育信息管理模式”的思想。若要实现这样一种理想模式,必须在教育信息系统应用领域建立起一系列教育信息管理规范,并使之成为行业标准,这是实现的基础。
互操作中的关键问题解决
应用系统之间实现互操作是非常复杂的,还涉及到很多关键的技术问题,如果不提出解决方案,也会对EMIF规范的实施带来困难。
死锁问题
报文在代理和ZIS之间传递时,会出现死锁现象。所谓死锁是指两个或两个以上进程都无限期地等待永远不会出现的事件而发生的一种状态。比如某代理收到了某个事件报文A,但不能立即处理报文A,因为处理报文A的前提是必须先处理报文B,而在ZIS中的该代理报文处理序列中,报文B又排在报文A之后,必须等报文A处理完成后才能发送报文B,这时就会发生死锁。
解决报文死锁的办法有两种,要么改变ZIS中某代理的报文发送顺序,让需要先处理的报文先发送;要么在代理的本地也建立一个报文队列,将不能处理的报文储存起来,而ZIS仍然按顺序释放报文。
前面的方法叫做选择性报文锁定机制,后面的方法叫代理当地队列机制。选择性报文锁定机制属于ZIS的功能,而代理当地队列机制属于代理的功能,考虑到不增加代理开发的负担,EMIF规范规定ZIS必须具有选择性报文锁定机制,而代理则可以具备代理当地队列功能,也可以不具备。
传输中断的解决
报文在传输中,会由于多种原因发生传输的中断。比如服务器死机、网络中断等。一旦发生这种情况,原有的报文传输状态就会被打破,导致传输错误。而这种状况又是无法避免的,所以需要通过一些技术手段,使得发生传输错误后能够及时恢复,避免数据的丢失,这可以通过制定如下系统控制报文来避免由于传输中断发生的错误。
安全保护
由于EMIF的报文传输是通过HTTPs协议传递的,如果没有相应的安全保护措施,数据很容易遭到截取或破坏,EMIF从加密保护、身份验证和访问控制三个方面制定了相应的安全措施。
加密保护的机制是:只有特定的发送者和收件人可以看到报文的内容。在完全的安全模式下,代理和ZIS 之间所有的通信都需要加密保护。EMIF采用 HTTPs 协议提供了数据交换中的加密保护,所有代理和ZIS 必须支持。
身份验证的作用是确认报文的作者是实际的作者,它可以避免区域外的代理伪造报文来改变EMIF数据。另一个很重要的作用是确保报文能够符合EMIF的有效性检验,并且能够正确传递到目的地。
访问控制是指EMIF对不同应用程序的访问权限进行的控制。例如,一个EMIF管理员可以决定哪些应用程序可以加入EMIF,他们可以提供或请求哪些数据对象,可以发布或预约哪些事件。