Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
en:possible_integration_options_3_in_biostar_2 [2025/08/20 09:26] mwkim created |
en:possible_integration_options_3_in_biostar_2 [2025/08/20 10:03] (current) mwkim |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ==== Possible Integration Option 3 : G-SDK ==== | ==== 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? ==== | ||
| + | {{:en:gsdk_gsdkarchitecture.png?550|}} \\ | ||
| + | ** [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.\\ | ||
| + | {{:en:gsdk_structure.png?400|}} \\ | ||
| + | ** [Figure 2. Device Gateway Structure] ** \\ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ==== What is different from BioStar 2 Device SDK? ==== | ||
| + | Existing BioStar 2 Device SDK provides <nowiki>C++</nowiki> 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. \\ | ||
| + | {{:en:gsdk_comparison.png?600|}} \\ | ||
| + | ** [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 <nowiki>C++</nowiki> or C# which is in the sample code. \\ | ||
| + | Since BioStar 2 Device SDK can communicate with <nowiki>C++</nowiki> library, you have to use <nowiki>C++</nowiki> 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. \\ | ||
| + | {{:en:gsdk_devicesdkstructure.png?900|}} \\ | ||
| + | ** [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.\\ | ||
| + | \\ | ||
| + | |||
| + | {{:en:gsdk_gsdkstructure.png?900|}} \\ | ||
| + | ** [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. \\ | ||
| + | {{:en:gsdk_mastergateway.png?600|}}\\ | ||
| + | ** [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 ** \\ | ||
| + | <nowiki>C++</nowiki>, 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/\\ | ||
| + | \\ | ||
| + | \\ | ||