所谓互操作是指一种能力,使得分布的控制系统设备通过相关信息的数字交换,能够协调工作,从而达到一个共同的目标。传统上互操作是指“不同平台或编程语言之间交换和共享数据的能力(Interoperability is the ability to communicate and share data across programming languages and platforms)”。为了达到“平台或编程语言之间交换和共享数据”的目的,需要包括硬件、网络、操作系统、数据库系统、应用软件、数据格式、数据语义等不同层次的互操作,问题涉及运行环境、体系结构、应用流程、安全管理、操作控制、实现技术、数据模型等。
互操作类型
作为一种行为,信息系统之间的互操作可以分为设计时(design-time)互操作和进行时(run-time)互操作。顾名思义,设计时互操作是指系统之间的互操作在系统建立阶段已经根据明确的需求进行了设计,而进行时互操作需要等两个异构的系统有进行交互的需求的时候,例如检索提问式实时分发到不同的系统的时候,才进行互操作。可以看到,设计时互操作比较适用于封闭的、成熟的和集中式的信息系统或领域应用,其在数据格式、语法、语义、服务质量等方面都是可控的,而运行时互操作更加适合于开放系统,如数字图书馆所存在的互联网环境,相对来说实现起来非常困难,在还没有很好的解决方案。本研究的主要目的就是在建立数字图书馆领域应用设计时互操作架构的基础上,探索动态的运行时互操作的实现机制和方法。
这两种类型的互操作都需要建立在大量的标准规范的基础上,进行时互操作除了与设计时互操作一样要求有关数据结构、格式、语法、通信协议等静态的标准规范之外,还需要更多的服务过程、组合、注册、发现等方面体系规范。数字图书馆对于不同资源库的整合,实现统一检索或联邦检索,大多都是进行现有各种资源站点的系统层面的静态整合,整合结束之后,如果有新的系统加入,又要对原有整合系统进行调整,增加索引或修改服务器设置等。要实现“事后的”“动态的”运行时互操作,必须在体系架构和解决方案的模块设计方面进行整合(integrated solutions),而不能停留于系统层次(integrated systems)。