Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:possible_integration_options_3_in_biostar_2 [2020/04/14 13:49]
yjjung [What is different from BioStar 2 Device SDK?]
en:possible_integration_options_3_in_biostar_2 [2020/06/18 08:42] (current)
yjjung [Summary of G-SDK]
Line 1: Line 1:
-==== What is G-SDK==== +==== Possible Integration Option 3 : G-SDK ====  
-G-SDK is a new way of communicating with BioStar devices. It is a lightweightscalable, and cross-platform solution which will expedite your developmentBased on gRPC, it supports many programming languages such as Java, C#, Python, Node.js, Go, etc. +\\ 
- +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 managementuser management, and log management. \\
-==== G-SDK download link & Manual ==== +
-Download : https://​github.com/​biostar-dev/​g-sdk/ ​\\ +
-Manual : https://​biostar-dev.github.io/​g-sdk/​+
  
 +==== 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. \\ 
 +\\
  
-==== G-SDK Overview ​==== +==== How G-SDK works? ​==== 
-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. \\  +{{:​en:​gsdk_gsdkarchitecture.png?​550|}} \\ 
-Based on gRPC, it supports many programming languages such as Java, C#, Python, Node.js, Go, etc. \\+** [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. \\
 +{{:​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 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 BioStar 2 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 ** \\ 
-==== What is different from BioStar 2 Device ​SDK? ==== +G-SDK can support up to 1000 device connections with a Device ​gateway\\ 
-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.  +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. \\ 
-Let's take a look for an easy comparison between BioStar 2 Device ​SDK and G-SDK. \\ +{{:en:gsdk_mastergateway.png?​600|}}\\ 
-{{:en:gsdk_comparison.png?600|}} \\ +** [Figure ​6. Device ​Gateway ​vs Master Gateway] ** \\ 
-** [Figure ​1BioStar 2 Device ​SDK vs G-SDK] ** \\ +
 \\ \\
  
-One of the biggest advantages of G-SDK compare to Device SDK is that it supports ​various languagesFor the last years, Device SDK users have had difficulty using development ​language ​other than C++ or C# which is in the sample code. \\+** 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 futureG-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/​\\
 +\\
 +\\