Old revisions Add to book Export to PDF Table of Contents Possible Integration Option 3 : G-SDK What is G-SDK? How G-SDK works? What is different from BioStar 2 Device SDK? What are the next features? Summary of G-SDK Book Creator Add this page to your book Book Creator Remove this page from your book Manage book (0 page(s)) Help This is an old revision of the document! Possible Integration Option 3 : G-SDK In addition to the integration method using BioStar2 SW API or BioStar2 Device SDK, G-SDK is recennly released as a new integration option for device management, user management, and log management. What is G-SDK? G-SDK is one of the integration options for communicating with BioStar 2 devices. It is a lightweight, scalable, and cross-platform solution which will expedite your development. How G-SDK works? [Figure 1. G-SDK architecture] G-SDK consists of Device Gateway in gRPC Server and gRPC Client Libraries. Based on gRPC, it supports many programming languages such as Java, C#, Python, Node.js, Go, etc. (gRPC (gRPC Remote Procedure Calls) is an open source remote procedure call (RPC) system initially developed at Google in 2015.) Multi-language support Language-neutral IDL Native client libraries Device Gateway that communicates with BioStar 2 device can be run on a server or cloud. Core modules use BioStar 2 protocols and written by GO language. [Figure 2. Device Gateway Structure] What is different from BioStar 2 Device SDK? Existing BioStar 2 Device SDK provides C++ library with C#. G-SDK is released to provide flexible development for those who would like to meet the requirements below. Let's take a look for an easy comparison between BioStar 2 Device SDK and G-SDK. [Figure 3. BioStar 2 Device SDK vs G-SDK] One of the biggest advantages of G-SDK compare to Device SDK is that it supports various languages. For the last years, Device SDK users have had difficulty using development language other than C++ or C# which is in the sample code. Since BioStar 2 Device SDK can communicate with C++ library, you have to use C++ language or need to marshall all the APIs and structures in the library into other languages. Currently BioStar 2 Device SDK provides only C# marshalling sample. This is a limitation of BioStar 2 Device SDK due to the structure. [Figure 4. BioStar 2 Device SDK structure] How G-SDK can support so many languages? It is because G-SDK is based on gRPC. gRPC is an open RPC framework that supports many languages developed by Google. Basically, the device gateway is the one that communicates with BioStar 2 device. Your client applications can connect to it using gRPC client libraries. [Figure 5. G-SDK structure] What are the next features? 1. Master Gateway G-SDK can support up to 1000 device connections with a Device gateway. Currently, Master gateway that will support up to 100,000 device connections is under development. Master Gateway helps you handle multiple Device gateways and it can be deployed on a cloud server or provide mobile direct accessibility too. [Figure 6. Device Gateway vs Master Gateway] 2. Advanced AC API G-SDK doesn't support advanced AC such as Zone, Wiegand or RS485 but it supports only simple configurations & features. In the future, G-SDK will support all the APIs that are supported in the BioStar 2 Device SDK : Zone, Wiegand, RS485, etc. 3. More language support samples G-SDK provides C#, Java, Python, Go and Node samples. Furthermore, G-SDK is planning to support Android, iOS, Ruby samples. Summary of G-SDK Supported OS Windows, x86/Arm Linux, Mac OS Maximum number of devices Up to 1,000 Supported Language C++, Java, Python, Go, Ruby, C#, Node.js, Android Java, Objective-C, PHP, Web Supported API The basic AC APIs(Access control, User management, Event log etc) except advanced features such as Zone, Wiegand, RS485 features. Supported Device All BioStar 2 devices Not Supported Device All BioStar 1 Devices (BioEntry Plus v2, BioEntry W v2, XPass v2, XPS2 v2, and BLN v2 are not supported.Gen 1 devices are not supported) Download https://github.com/biostar-dev/g-sdk/ Manual https://biostar-dev.github.io/g-sdk/