Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
en:possible_integration_options_3_in_biostar_2 [2020/04/14 13:41] yjjung created |
en:possible_integration_options_3_in_biostar_2 [2020/04/16 13:52] yjjung [How G-SDK works?] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ==== 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? ==== | ==== What is G-SDK? ==== | ||
- | G-SDK is a new way of communicating with BioStar devices. It is a lightweight, scalable, and cross-platform solution which will expedite your development. Based on gRPC, it supports many programming languages such as Java, C#, Python, Node.js, Go, etc. | + | 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. \\ |
- | + | \\ | |
- | ==== 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. | + | |
+ | ==== How G-SDK works? ==== | ||
+ | {{:en:gsdk_gsdkarchitecture.png?400|}} \\ | ||
+ | ** [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 ** | ** Multi-language support ** | ||
* Language-neutral IDL | * Language-neutral IDL | ||
* Native client libraries | * 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] ** \\ | ||
- | ** Mobile/cloud ready ** | + | \\ |
- | * Easily deployable on Cloud | + | |
- | * Accessible from mobile devices directly | + | ==== 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. \\ | Let's take a look for an easy comparison between BioStar 2 Device SDK and G-SDK. \\ | ||
{{:en:gsdk_comparison.png?600|}} \\ | {{:en:gsdk_comparison.png?600|}} \\ | ||
- | ** [Figure 1. BioStar 2 Device SDK vs 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. \\ | 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. \\ | ||
+ | {{:en:gsdk_devicesdkstructure.png?900|}} \\ | ||
+ | ** [Figure 4. BioStar 2 Device SDK structure] ** \\ | ||
+ | |||
\\ | \\ | ||
- | + | \\ | |
- | How G-SDK can support so many languages? \\ | + | ''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. \\ | 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 Suprema device. Your client applications can connect to it using gRPC client libraries.\\ | + | 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 \\ | ||
+ | \\ | ||
+ | ** 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/\\ | ||
+ | \\ | ||
\\ | \\ | ||