现在我们接着上一次的话题来看看其它的质量属性。
互操作性 (Interoperability)
互操作性指的是系统内或者系统之间不同的组件可以有效地进行信息交换,通常是以服务(Service)的形式来进行的。互操作性的关键因素包括通信协议,接口定义,数据格式的定义等等,而标准化是实现互操作性的重要手段。
实现互操作性的主要挑战有以下这些方面:
-
系统内部或者和已有的旧系统(legacy system)之间的数据定义不一致
-
系统的边界模糊,模块之间耦合严重,导致数据冗余
-
缺乏标准,或者各方对标准的实现和认识不一致
我现在所在的商务智能团队的总架构师(Chief Architect)就一直在部门间推动对数据文档统一格式标准的定义和实现。这本身对于我们产品内部的互操作性是非常有必要的,然而BI的团队分布在各个大洲(主要是德国,法国,加拿大,中国和印度),每个部门对各自产品优先级的认识不一致,在加上对旧系统兼容性的要求,这项工作的进展非常非常的缓慢。BI的各个产品仍然很难互操作。
我之前开发过通信网管,当时做的产品是统一网管平台,就是把各个厂商(华为,中兴,朗讯等等)的电信设备统一的管理起来。当时已经有了相当成熟的电信网管理标准(TMF,ISO等标准)和技术标准(Q3,Corba)。然而理解的不同,厂商对标准的实现千奇百怪,所以实际上需要给每一个厂商定制不同的接口适配器。我当时就在负责一些这样的接