Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
🧩 BS ISO/IEC 30106 是 BSI 采纳 ISO/IEC 30106 国际标准形成的英国标准系列,规定了面向对象 BioAPI(Object Oriented BioAPI)。该系列由 ISO/IEC JTC 1 下属的 SC 37(生物特征识别)分技术委员会负责制定,英国方面由技术委员会 IST/44(生物特征识别)参与起草并发布实施。相较于传统 BioAPI(ISO/IEC 19784)所采用的 C 风格函数式接口,面向对象 BioAPI 以类、接口、命名空间等面向对象方式封装生物识别能力,提供更符合现代编程范式、更易于扩展与维护的应用编程接口,并针对 Java 与 C# 两类主流面向对象语言分别给出具体实现,使不同平台、不同厂商的生物识别服务可以在统一的对象契约下集成与互操作。
本批次收录的 BS ISO/IEC 30106 系列共有三个部分,均为 2016 年发布的第一版:第 1 部分:总体架构(Architecture)、第 2 部分:Java 实现(Java implementation)以及第 3 部分:C# 实现(C# implementation)。英国分别于 2016 年 3 月与 4 月正式采纳,对应的国际标准参考号为 ISO/IEC 30106-1:2016、ISO/IEC 30106-2:2016 与 ISO/IEC 30106-3:2016,ICS 分类号为 35.040。三个部分的分工清晰:第 1 部分定义架构与通用概念,为后续语言绑定奠定统一的设计基础;第 2、3 部分分别提供 Java 与 C# 语言的具体实现规范。
从标准生态看,面向对象 BioAPI 与 ISO/IEC 19784(BioAPI)共同构成生物识别应用接口的完整体系。19784 定义 C 语言的函数式接口与 BSP 框架,30106 则在其基础上提供面向对象的封装与语言绑定;二者既可协同使用,也可根据开发语言与项目需求单独选择。此外,该系列还与生物特征数据格式(ISO/IEC 19785 CBEFF)、生物特征信息保护(ISO/IEC 24745)等标准相互配合,共同支撑生物识别系统的开发、测试与部署。
| 标准号 | 分部主题 | 版本信息 | 核心内容 |
|---|---|---|---|
| BS ISO/IEC 30106-1:2016 | 总体架构(Architecture) | 第一版,2016-03 | BioAPI 架构总结、对象模型、兼容性要求与 GUI 处理 |
| BS ISO/IEC 30106-2:2016 | Java 实现 | 第一版,2016-03 | Java 包结构与 org.bioapi 命名空间、类与接口定义 |
| BS ISO/IEC 30106-3:2016 | C# 实现 | 第一版,2016-03 | C# 命名空间结构与 BioAPI.BioAPI.Data 命名空间定义 |
值得注意的是,三个部分虽然技术内容各有侧重,但都遵循”接口与实现分离、事件驱动、可扩展”的共同设计原则,确保不同语言绑定之间的语义一致。应用开发者可以根据目标平台选择对应分部,同时保持业务逻辑与生物识别细节的解耦。
第 1 部分定义了面向对象 BioAPI 的总体架构,是整套系列的基础。其核心章节”面向对象 BioAPI 架构”(第 5 章)给出了 BioAPI 架构的完整总结,内容包括:BioAPI 对象模型(对象、接口与事件的组织方式)、BioAPI 兼容性要求(不同实现之间互操作的约束)、以及图形用户界面(GUI)处理(生物识别交互界面如何在应用与 BSP 之间协调)。架构层还说明了面向对象封装如何映射生物特征处理流程——采集、处理、匹配、存储等操作以对象方法的形式暴露给应用。
兼容性要求是架构部分的重要内容。标准明确了同一对象契约下,BSP 之间的行为一致性要求,包括功能注册、会话管理、数据交换格式与错误处理等方面的约定。这部分内容确保:只要 BSP 遵循 30106-1 的架构与兼容性条款,应用即可在不修改代码的情况下替换或混用不同的生物识别供应商实现。GUI 处理则规定了交互界面由哪一方呈现、如何传输交互消息,为指纹仪、摄像头等需要人机交互的设备提供统一的处理框架。
第 2 部分提供面向对象 BioAPI 的 Java 实现规范,定义了 Java 的包结构与类库构成。标准明确规定了 org.bioapi 与 org.bioapi.data 两个核心包的描述与结构:前者承载 BioAPI 的核心接口与功能提供者接口,定义生物识别操作的抽象;后者承载生物特征数据的 Java 表示,包括生物特征样本、模板与人口统计数据等数据类型。Java 开发者通过实现或调用这些接口,即可以标准化的方式接入生物识别能力。
Java 实现还规范了面向对象接口的若干关键技术点:包结构的划分原则、核心类与接口的继承关系、事件与回调机制的 Java 表达、异常类型的组织方式,以及生物特征数据在 Java 内存模型中的表示。由于 Java 拥有庞大的企业级生态,面向对象 BioAPI 的 Java 实现使生物识别功能可以较为顺畅地集成到 Spring、Java EE 等主流框架与容器环境中,降低系统集成门槛。
第 3 部分提供面向对象 BioAPI 的 C# 实现规范,定义了 C# 的命名空间结构。标准明确了 BioAPI 命名空间及其子命名空间 BioAPI.Data 的组织方式:BioAPI 命名空间承载核心接口、事件与功能提供者定义,BioAPI.Data 命名空间承载生物特征数据的 .NET 表示。规范涵盖了命名空间的整体结构、命名空间描述、核心类与接口、属性与事件、同步/异步调用模型等内容,使 .NET 平台(Windows 桌面、服务端与跨平台 .NET)的开发者能以标准方式使用生物识别能力。
与 Java 实现类似,C# 实现也遵循第 1 部分的统一架构,但按 .NET 的语言约定表达:例如以接口与属性替代部分方法调用、以事件委托组织回调、以 .NET 异常体系表达错误。这种”语义一致、语法本地化”的做法正是系列标准的设计意图——同一套生物识别逻辑可以在不同语言生态中获得一致且自然的编程体验。