슈프리마 장치를 타사 시스템과 통합하기 위한 접근 방식에는 프로토콜, BioStar Device SDK, BioStar API 사용, 이렇게 세 가지가 있습니다.
다음 시스템 다이어그램은 BioStar Device SDK의 기본 사용법을 나타냅니다.
여기서는 자체적인 근태 관리 애플리케이션을 보유하고 있다고 가정해 보겠습니다. 리더에서 근태 관리 애플리케이션으로 이벤트 데이터를 전송하면서, 실시간으로 근태 관리 애플리케이션에서 생성된 사용자를 근태 관리 애플리케이션에 자동 전송하고자 하는 경우를 생각해 봅시다.
[그림 1. 자동 사용자 전송]
[그림 2. 자동 이벤트 전송]
그림 1에서 볼 수 있듯이 SDK 기반 애플리케이션은 정기적으로 새로 생성된 사용자 목록을 가져오며 새롭게 생성된 사용자가 있으면 해당 사용자를 데이터베이스에 삽입합니다. 근태 관리 소프트웨어에서는 사용자 정보만 가져오기 때문에 사용자에게서 지문 템플릿을 받아야 합니다. 그러면 사용자를 장치로 전송할 수 있습니다.
그림 2는 리더에서 근태 관리 소프트웨어로 이벤트가 전송되는 방식을 보여줍니다. 사용자가 리더에서 자신을 식별하면 인증 이벤트가 장치에 저장됩니다. BioStar SDK 기반 애플리케이션이 특정 주기로 장치에서 이벤트를 가져옵니다. 새롭게 저장된 인증 이벤트가 있을 경우 애플리케이션이 이벤트를 근태 관리 소프트웨어의 데이터베이스에 삽입합니다. 근태 관리 소프트웨어가 서버 레벨 API를 제공하는 경우 SDK 기반 애플리케이션이 데이터베이스에 직접 액세스하고 않고 API를 호출합니다.
지금까지 BioStar Device SDK에 대해 살펴봤습니다. BioStar 1 시스템에는 BioStar Device SDK밖에 없었기 때문에 BioStar 1 서버 또는 서버에 연결된 제어 장치에서 명령을 서버로 전송하여 데이터를 요청할 수 없었습니다. 즉, 항상 장치를 직접 처리해야 했습니다. 사용자 및 장치 관리를 자체적으로 구현해야 하기 때문에 장치를 직접 처리하는 것은 쉬운 작업이 아닙니다. 출입 그룹 같은 고급 출입통제 규칙을 사용해야 하는 경우 상황은 더욱 복잡해집니다.
이러한 어려움을 해소하기 위해 슈프리마는 BioStar 2 서버와 통신할 수 있는 BioStar API, 서버 레벨 RESTful API를 제공합니다. 이를 통해 사용자는 서버에서 데이터를 가져오고, 사용자를 생성하고, 출입 그룹 및 시간 스케줄 같은 제어 속성에 액세스할 수 있습니다. 또한 BioStar API를 통해 장치를 제어할 수도 있습니다. RESTful API는 이 문서 범위에 해당하지 않기 때문에 여기서는 다루지 않습니다. Wikipedia에서 RESTful API에 대한 자세한 내용을 확인할 수 있습니다(https://en.wikipedia.org/wiki/Representational_state
_transfer).
서버 레벨 API를 사용하면 사용자/장치/출입통제 관리 같이 복잡한 작업은 모두 BioStar 2 서버에 맡기고 자신에게 필요한 로직에만 집중할 수 있습니다. 이를 통해 개발 시간을 크게 절감할 수 있습니다.
[그림 3. 자동 사용자 전송]
[그림 4. 자동 이벤트 전송]
그림 3을 보면 미들웨어가 장치를 처리하지 않고 BioStar 2 서버와 통신하는 것을 볼 수 있습니다. 즉, 시간이 많이 소요되는 사용자 및 장치 관리 기능을 구현할 필요가 없다는 의미입니다. 구현해야 하는 기능은 근태 관리 소프트웨어에서 새롭게 생성된 사용자를 가져오고 BioStar 사용자 등록 API를 호출하여 BioStar 2에 삽입하는 것이 전부입니다.
그림 4는 BioStar 2에서 근태 관리 소프트웨어로 인증 이벤트가 전송되는 방식을 보여줍니다. 사용자가 자신을 인증하면 인증 이벤트가 기본적으로 BioStar 2에 자동으로 전송됩니다. 미들웨어는 특정 시간이 지난 후 이벤트를 전송하도록 BioStar 2 서버에 요청할 수 있습니다. 그러면 미들웨어가 근태 관리 소프트웨어의 데이터베이스에 이벤트를 삽입합니다.
지금까지 BioStar Device SDK 및 BioStar API에 대해 자세히 살펴봤고, 이제부터는 각 옵션의 장단점에 대해 알아보겠습니다.
BioStar Device SDK | BioStar API | ||
---|---|---|---|
간단한 설치 | 3 | 1 | |
손쉬운 개발 | 1 | 5 | |
다양한 운영 체제 지원 | 3 | 5 | |
다양한 프로그래밍 언어 지원 | 3 | 5 | |
원활한 사용자 인터페이스 | 5 | 2 |