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 Possible Integration Option 3 : G-SDK In addition to the integration method using BioStar2 SW API or BioStar2 Device SDK, G-SDK is recently 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 Recommended Requirements 2.0GHz CPU, 4GB(32bit) or 8GB(64bit) RAM Minimum Requirements 1.0GHz CPU, 1GB(32bit) or 2GB(64bit) RAM 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 Download https://github.com/biostar-dev/g-sdk/releases Manual https://biostar-dev.github.io/g-sdk/