Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:possible_integration_options_3_in_biostar_2 [2020/04/14 14:12] yjjung |
en:possible_integration_options_3_in_biostar_2 [2020/04/14 15:08] yjjung |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ==== Possible Integration Option 3 : G-SDK ==== | ||
+ | \\ | ||
+ | \\ | ||
==== G-SDK download link & Manual ==== | ==== G-SDK download link & Manual ==== | ||
Download : https://github.com/biostar-dev/g-sdk/ \\ | Download : https://github.com/biostar-dev/g-sdk/ \\ | ||
Manual : https://biostar-dev.github.io/g-sdk/ | Manual : https://biostar-dev.github.io/g-sdk/ | ||
\\ | \\ | ||
+ | ==== 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 except advanced features such as Zone, Wiegand, RS485 features. \\ | ||
+ | ** Supported Device ** \\ | ||
+ | All BioStar 2 devices \\ | ||
\\ | \\ | ||
- | ==== G-SDK Overview ==== | + | ==== What is G-SDK? ==== |
G-SDK is one of integration options for communicating with BioStar 2 devices. It is a lightweight, scalable, and cross-platform solution which will expedite your development. \\ | G-SDK is one of integration options for communicating with BioStar 2 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. \\ | + | Based on gRPC, it supports many programming languages such as Java, C#, Python, Node.js, Go, etc. \\ |
\\ | \\ | ||
** Multi-language support ** | ** Multi-language support ** | ||
Line 12: | Line 26: | ||
* Native client libraries | * Native client libraries | ||
- | ** Mobile/cloud ready ** | ||
- | * Easily deployable on Cloud | ||
- | * Accessible from mobile devices directly | ||
\\ | \\ | ||
- | |||
- | ''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_structure.png?400|}} \\ | ||
+ | ** [Figure 1. Device Gateway Structure] ** \\ | ||
\\ | \\ | ||
- | \\ | + | ** 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|}} \\ | + | |
- | ** [Figure 1. G-SDK Structure] ** \\ | + | |
- | \\ | + | |
- | The device Gateway that communicates with BioStar 2 device can be run on a server or cloud. The core modules use BioStar 2 protocols and written by GO language.\\ | + | |
- | + | ||
- | + | ||
Line 41: | Line 43: | ||
\\ | \\ | ||
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. \\ | ||
+ | {{:en:gsdk_devicesdkstructure.png?900|}} \\ | ||
+ | ** [Figure 3. BioStar 2 Device SDK structure] ** \\ | ||
+ | |||
+ | This is a limitation of BioStar 2 Device SDK due to the 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 4. 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 5. 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. \\ | ||
\\ | \\ | ||