Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-7777

Thin Client lib: Node.js

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.7
    • thin client
    • None

    Description

      Implement Thin (lightweight) Client lib in Node.js programming language for Ignite Binary Client Protocol.

      Examples of other Thin Clients:
      .net https://github.com/apache/ignite/tree/master/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client
      java https://github.com/gridgain/apache-ignite/tree/ignite-7421
      https://apacheignite.readme.io/v2.3/docs/java-thin-client

      Scope of work
      -------------

      Functionality:

      Support all operations of the Ignite Binary Client Protocol 2.4:
      https://apacheignite.readme.io/v2.4/docs/binary-client-protocol
      Except:
      OP_QUERY_SCAN (requires changes on the server side)
      OP_REGISTER_BINARY_TYPE_NAME, OP_GET_BINARY_TYPE_NAME (not applicable)

      Support name/password authentication (not in the protocol yet).
      Support optional SSL/TLS communication.

      Support failover/reconnect algorithm:
      https://issues.apache.org/jira/browse/IGNITE-7282
      http://apache-ignite-developers.2346864.n4.nabble.com/Thin-client-failover-mechanism-ODBC-JDBC-td26553.html

      Minimal Node.js version - 8.0
      Promise asynch/await to be used.

      Examples:
      Cover all basic features - Key-value API, SQL queries, Cluster configuration/management, Authentication, SSL/TLS.

      Tests:
      Jasmine tests for all API methods and all basic features.
      Simple Jasmine tests to start examples.
      The tests should call external commands/scripts to start/stop the nodes.

      Docs:
      Auto-generated API spec from jsdoc comments:
      http://usejsdoc.org/
      https://www.npmjs.com/package/jsdoc

      Readme for the lib.
      Simple instruction to setup/run examples.
      Simple instruction to setup/run Jasmine tests.

      Docs should be on readme.io or in github - TBD

      Released as NPM module on https://www.npmjs.com

       

      Attachments

        Issue Links

          Activity

            People

              alexey.kosenchuk Alexey Kosenchuk
              alexey.kosenchuk Alexey Kosenchuk
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m