슈프리마 장치를 타사 시스템과 통합하기 위한 접근 방식에는 프로토콜, BioStar Device SDK, BioStar API 사용, 이렇게 세 가지가 있습니다.

  • BioStar Device SDK: 슈프리마에서 제공한 API를 사용하여 자체 애플리케이션을 개발하는 방법입니다. 이 방법은 서버와 통신할 수 없습니다(예: BioStar 서버). 개발자가 장치를 관리하고 제어하기 위한 기능을 구현해야 합니다. BioStar Device SDK는 Windows DLL 형식이므로 개발할 애플리케이션이 Windows 기반 애플리케이션이어야 합니다.
  • BioStar API(서버 API): BioStar 2 클라우드가 제공하는 RESTful API를 사용하여 자체 애플리케이션을 개발하는 방법입니다. BioStar API를 사용하면 BioStar 2 클라우드를 통해 로컬 BioStar 2 서버와 통신합니다.
  • 데이터베이스 연결: 통합할 두 개의 시스템 데이터베이스에 바로 액세스할 수 있는 자체 애플리케이션을 개발하는 방법입니다. 이 접근 방식에서는 BioStar 관련 API 또는 라이브러리를 사용할 필요가 없습니다. 대신 애플리케이션이 데이터베이스 레벨에서 두 시스템을 동기화합니다.


BioStar Device SDK

다음 시스템 다이어그램은 BioStar Device SDK의 기본 사용법을 나타냅니다.

여기서는 자체적인 근태 관리 애플리케이션을 보유하고 있다고 가정해 보겠습니다. 리더에서 근태 관리 애플리케이션으로 이벤트 데이터를 전송하면서, 실시간으로 근태 관리 애플리케이션에서 생성된 사용자를 근태 관리 애플리케이션에 자동 전송하고자 하는 경우를 생각해 봅시다.


[그림 1. 자동 사용자 전송]


[그림 2. 자동 이벤트 전송]


그림 1에서 볼 수 있듯이 SDK 기반 애플리케이션은 정기적으로 새로 생성된 사용자 목록을 가져오며 새롭게 생성된 사용자가 있으면 해당 사용자를 데이터베이스에 삽입합니다. 근태 관리 소프트웨어에서는 사용자 정보만 가져오기 때문에 사용자에게서 지문 템플릿을 받아야 합니다. 그러면 사용자를 장치로 전송할 수 있습니다.
그림 2는 리더에서 근태 관리 소프트웨어로 이벤트가 전송되는 방식을 보여줍니다. 사용자가 리더에서 자신을 식별하면 인증 이벤트가 장치에 저장됩니다. BioStar SDK 기반 애플리케이션이 특정 주기로 장치에서 이벤트를 가져옵니다. 새롭게 저장된 인증 이벤트가 있을 경우 애플리케이션이 이벤트를 근태 관리 소프트웨어의 데이터베이스에 삽입합니다. 근태 관리 소프트웨어가 서버 레벨 API를 제공하는 경우 SDK 기반 애플리케이션이 데이터베이스에 직접 액세스하고 않고 API를 호출합니다.


BioStar 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 vs BioStar API

지금까지 BioStar Device SDK 및 BioStar API에 대해 자세히 살펴봤고, 이제부터는 각 옵션의 장단점에 대해 알아보겠습니다.

BioStar Device SDK BioStar API
간단한 설치 3 1
손쉬운 개발 1 5
다양한 운영 체제 지원 3 5
다양한 프로그래밍 언어 지원 3 5
원활한 사용자 인터페이스 5 2
  • 간단한 설치: BioStar Device SDK를 사용하면 프로젝트에 필요한 기능을 구현할 수 있습니다. 즉, 사용이 간편하고 가벼운 슈프리마 리더 및 사용자 관리 도구를 생성할 수 있습니다. BioStar API를 사용할 경우 BioStar 2 서버를 설치하고 BioStar 클라우드를 설정해야 합니다.
  • 손쉬운 개발: 위에서 언급한 바와 같이 BioStar 2를 출입통제 시스템으로 사용할 수 있고 BioStar 2와 타사 시스템 간의 연결만 개발하면 되기 때문에 BioStar API로 애플리케이션을 개발하는 것이 훨씬 쉽습니다.
  • 다양한 운영 체제 지원: BioStar 2 서버가 Windows 및 Linux를 지원한다고는 하지만 운영 체제가 HTTP 통신을 지원하는 한 운영 체제에 상관 없이 애플리케이션을 생성할 수 있습니다. 예를 들어 Windows PC에 설치된 BioStar 서버와 통신하는 Android 모바일 애플리케이션을 생성할 수 있습니다. 이와 달리 BioStar Device SDK는 Windows DLL 및 Linux 라이브러리 형식으로 제공되기 때문에 BioStar Device SDK로는 모바일 애플리케이션을 생성할 수 없습니다.
  • 다양한 프로그래밍 언어 지원: BioStar Device SDK는 Windows DLL 및 Linux 라이브러리 형식으로 제공되기 때문에 C, C++, C#, Visual Basic 등으로 자체 애플리케이션을 구현할 수 있습니다. BioStar API는 웹 서비스 API이며 URL을 포함한 HTTP 메서드를 사용합니다. 즉, HTTP 메서드를 지원하는 모든 언어에서 자체 애플리케이션을 개발할 수 있습니다.
  • 원활한 사용자 인터페이스: BioStar Device SDK를 사용하여 자체 애플리케이션을 개발하는 경우 사용자에게 원활한 사용자 인터페이스를 제공할 수 있습니다. 특히 근태 관리 애플리케이션 같은 타사 애플리케이션을 수정할 수 있는 경우 슈프리마 장치와 통신하도록 타사 애플리케이션에 기능을 바로 포함시킬 수 있습니다. 이렇게 하면 두 개의 각기 다른 시스템을 관리할 필요 없이 원활하고 일관된 사용자 경험을 제공할 수 있습니다.