Hi Aleksandr,

> 1) Is SSL\TLS supported for binary client protocol?

It has no direct relation to the binary client protocol itself.
Just need to establish https connection.
But you need to setup Ignite to accept TLS (it's not trivial).
And generate certificates and keys.

Example of the Ignite cfg:
https://github.com/apache/ignite/blob/master/modules/platforms/cpp/odbc-test/config/queries-ssl.xml
Example of the SSL certificates and keys:
https://github.com/apache/ignite/tree/master/modules/platforms/cpp/odbc-test/config/ssl
Test for Java client:
https://github.com/apache/ignite/blob/master/modules/indexing/src/test/java/org/apache/ignite/client/SecurityTest.java#L57

> 2) Are authentication and authorization supported for binary client
> protocol?

Seems it's not documented yet.
But yes, it's supported since protocol version 1.1.0.

Handshake format:
[original handshake][username:String][password:String]

Example of implementation:
https://github.com/nobitlost/ignite/blob/master/modules/clients/nodejs/lib/internal/ClientSocket.js
method _handshakePayloadWriter()

In Ignite you need to switch authentication on by the flag IgniteConfiguration.authenticationEnabled

Example of the Ignite cfg:
https://github.com/apache/ignite/blob/master/modules/platforms/cpp/odbc-test/config/queries-auth.xml

Default user (username/password) : ignite/ignite

Regards,
-Alexey

30.04.2018 17:49, Aleksandr Sokolovskii пишет:
Hi Alexey,

Do you have info about the following:

1) Is SSL\TLS supported for binary client protocol?

2) Are authentication and authorization supported for binary client protocol?

Thanks,

Aleksandr

*From: *Aleksandr Sokolovskii <mailto:amso...@gmail.com>
*Sent: *25 апреля 2018 г. 16:37
*To: *dev@ignite.apache.org <mailto:dev@ignite.apache.org>
*Subject: *RE: Apache Ignite 2.4+ Go language client

Yes, it’s really challenge to write unit test for OP_QUERY_SQL. )))

Thanks,
Aleksandr

*From: *Alexey Kosenchuk <mailto:alexey.kosenc...@nobitlost.com>
*Sent: *25 апреля 2018 г. 16:33
*To: *dev@ignite.apache.org <mailto:dev@ignite.apache.org>
*Subject: *Re: Apache Ignite 2.4+ Go language client

No problem with OP_QUERY_SQL_FIELDS.

I mean OP_QUERY_SQL.

But I overlooked "OP_QUERY_SQL - Done without unit test. Need help to

develop unit test."

Sorry. I remove my question so far)))

Thanks,

-Alexey

25.04.2018 15:40, Aleksandr Sokolovskii пишет:

 > Hi Alexey,

 >

 >> Seems an important missed part is complex objects support.

 >> And it's the most difficult part.

 > Yes, you are absolutely right.

 > Complex object and binary types are not supported by my client now.

 > That’s why I’m here.

 > I plan to come back to this subject in the beginning of May.

 > I very much count on the community help.

 >

 >> Also, do you have a working example for SQL Query which first inserts

 >> cache entries and then selects them and successfully get the same values

 >> which were inserted ?

 > Yes, it works fine.

 > This one:

> https://github.com/amsokol/ignite-go-client/blob/master/binary/v1/client-sql-and-scan-queries_test.go#L89

 > It’s OP_QUERY_SQL_FIELDS operation unit test.

 > It you are familiar with Go it’s easy to run in debug mode.

 >

 > If you explain me your problem I can try to help you.

 > There some mistakes in binary protocol documentation.

> So I spent a lot of time in Apache Ignite server source code analyzing )))

 >

 > Thanks,

 > Aleksandr

 >

 > From: Alexey Kosenchuk

 > Sent: 25 апреля 2018 г. 12:05

 > To: dev@ignite.apache.org

 > Subject: Re: Apache Ignite 2.4+ Go language client

 >

 > Hi Aleksandr,

 >

 > Seems an important missed part is complex objects support.

 > And it's the most difficult part.

 > Actually, it is not possible to implement it correctly basing on the

 > current protocol spec only.

 > If you decide to support it, you should either wait for an updated spec

 > or ask for help.

 >

 > The issues against the current protocol spec are summarized in

 > IGNITE-8039 [1] and IGNITE-8212 [2]. One more jira with the issues

 > against the rest of the spec will be submitted soon.

 > If you see more issues, please feel free to added them as comments to

 > that jiras.

 >

 > Also, do you have a working example for SQL Query which first inserts

 > cache entries and then selects them and successfully get the same values

 > which were inserted ?

 >

 > Thanks,

 > -Alexey

 >

 > [1] https://issues.apache.org/jira/browse/IGNITE-8039

 > [2] https://issues.apache.org/jira/browse/IGNITE-8212

 >

 > 25.04.2018 0:11, Aleksandr Sokolovskii пишет:

 >> ...forgot OP_RESOURCE_CLOSE that is implemented also.

 >>

 >> Thanks,

 >> Aleksandr

 >>

 >> Thanks,

 >> Aleksandr

 >>

>> On 25 April 2018 at 00:06, Aleksandr Sokolovskii <amso...@gmail.com> wrote:

 >>

 >>> Hello All,

 >>>

 >>> Besides the SQL driver I implemented the following operations also:

 >>> OP_CACHE_GET_NAMES

 >>> OP_CACHE_CREATE_WITH_NAME

 >>> OP_CACHE_GET_OR_CREATE_WITH_NAME

 >>> OP_CACHE_CREATE_WITH_CONFIGURATION

 >>> OP_CACHE_GET_OR_CREATE_WITH_CONFIGURATION

 >>> OP_CACHE_GET_CONFIGURATION

 >>> OP_CACHE_DESTROY

 >>> OP_CACHE_GET

 >>> OP_CACHE_PUT

 >>> OP_CACHE_PUT_IF_ABSENT

 >>> OP_CACHE_GET_ALL

 >>> OP_CACHE_PUT_ALL

 >>> OP_CACHE_GET_AND_PUT

 >>> OP_CACHE_GET_AND_REPLACE

 >>> OP_CACHE_GET_AND_REMOVE

 >>> OP_CACHE_GET_AND_PUT_IF_ABSENT

 >>> OP_CACHE_REPLACE

 >>> OP_CACHE_REPLACE_IF_EQUALS

 >>> OP_CACHE_CONTAINS_KEY

 >>> OP_CACHE_CONTAINS_KEYS

 >>> OP_CACHE_CLEAR

 >>> OP_CACHE_CLEAR_KEY

 >>> OP_CACHE_CLEAR_KEYS

 >>> OP_CACHE_REMOVE_KEY

 >>> OP_CACHE_REMOVE_IF_EQUALS

 >>> OP_CACHE_REMOVE_KEYS

 >>> OP_CACHE_REMOVE_ALL

 >>> OP_CACHE_GET_SIZE

 >>> OP_QUERY_SQL

 >>> OP_QUERY_SQL_CURSOR_GET_PAGE

 >>> OP_QUERY_SQL_FIELDS

 >>> OP_QUERY_SQL_FIELDS_CURSOR_GET_PAGE

 >>>

 >>> Look at the Client interface here:

 >>> https://github.com/amsokol/ignite-go-client/blob/master/

 >>> binary/v1/client.go

 >>>

 >>> But not all Apache Ignite types are supported now.

 >>> See README in https://github.com/amsokol/ignite-go-client for details.

 >>>

 >>> Thanks,

 >>> Aleksandr

 >>>

 >>>

 >>>

 >>> Thanks,

 >>> Aleksandr

 >>>

 >>> On 24 April 2018 at 13:16, Igor Sapego <isap...@apache.org> wrote:

 >>>

 >>>> Aleksandr,

 >>>>

 >>>> Great job! Do you have any plans on adding new features to

 >>>> your client?

 >>>>

 >>>> Pavel,

 >>>>

 >>>> There are  also CacheGet and CachePut [1] operations, as

 >>>> far as I can see.

 >>>>

 >>>> [1] -

 >>>> https://github.com/amsokol/ignite-go-client/blob/master/bina

 >>>> ry/v1/client.go#L120

 >>>>

 >>>> Best Regards,

 >>>> Igor

 >>>>

 >>>> On Tue, Apr 24, 2018 at 10:14 AM, Dmitriy Setrakyan <

 >>>> dsetrak...@apache.org>

 >>>> wrote:

 >>>>

 >>>>> Any chance we can add key-value support as well?

 >>>>>

 >>>>> On Tue, Apr 24, 2018, 2:48 PM Pavel Tupitsyn <ptupit...@apache.org>

 >>>> wrote:

 >>>>>

 >>>>>> Hi Aleksandr,

 >>>>>>

 >>>>>> This is awesome, thank you!

 >>>>>>

 >>>>>> However, let's make it clear that this client supports SQL only,

 >>>>>> and none of the other Thin Client protocol features.

 >>>>>>

 >>>>>> Pavel

 >>>>>>

 >>>>>> On Mon, Apr 23, 2018 at 10:41 PM, Aleksandr Sokolovskii <

 >>>>> amso...@gmail.com

 >>>>>>>

 >>>>>> wrote:

 >>>>>>

 >>>>>>> Hi Oleg,

 >>>>>>>

 >>>>>>> Thanks for your answer.

 >>>>>>>

 >>>>>>>> Community is currently working on formal test specification.

 >>>>>>> Great. Waiting for this one.

 >>>>>>>

 >>>>>>>> As far as NodeJS please note that it is already being developed by

 >>>>>>> community at the moment [1].

 >>>>>>> Cool. I stop my initiatives.

 >>>>>>>

 >>>>>>> Thanks,

 >>>>>>> Aleksandr

 >>>>>>>

 >>>>>>> From: Vladimir Ozerov

 >>>>>>> Sent: 23 апреля 2018 г. 22:35

 >>>>>>> To: dev@ignite.apache.org

 >>>>>>> Subject: Re: Apache Ignite 2.4+ Go language client

 >>>>>>>

 >>>>>>> Hi Alexander,

 >>>>>>>

 >>>>>>> Awesome thing! Please note that before accepting the client we need

 >>>> to

 >>>>>> make

 >>>>>>> sure it is operational. Community is currently working on formal

 >>>> test

 >>>>>>> specification. I hope it will be ready soon.

 >>>>>>>

 >>>>>>> As far as NodeJS please note that it is already being developed by

 >>>>>>> community at the moment [1]. We hope to have it in Apache Ignite

 >>>> 2.6.

 >>>>>>>

 >>>>>>> [1]

 >>>>>>> https://issues.apache.org/jira/browse/IGNITE-7777

 >>>>>>>

 >>>>>>> пн, 23 апр. 2018 г. в 22:24, Aleksandr Sokolovskii <

 >>>> amso...@gmail.com

 >>>>>> :

 >>>>>>>

 >>>>>>>> Hi All,

 >>>>>>>>

 >>>>>>>> I hope you are well.

 >>>>>>>>

 >>>>>>>> I released Apache Ignite 2.4+ Go language client:

 >>>>>>>> https://github.com/apache-ignite/go-client

 >>>>>>>>

 >>>>>>>> I updated link here:

 >>>>>>>> https://github.com/golang/go/wiki/SQLDrivers

 >>>>>>>>

 >>>>>>>> Is it possible to add link to my repo to this page?:

 >>>>>>>> https://apacheignite.readme.io/docs/binary-client-protocol

 >>>>>>>> or this page:

 >>>>>>>> https://apacheignite-net.readme.io/docs/thin-client

 >>>>>>>> Golang is much more easy to understand than Java or С#.

 >>>>>>>> It’s very easy to pull, build and run test for my library.

 >>>>>>>> I believe it helps another guys to write more thin clients.

 >>>>>>>>

 >>>>>>>> P.S.: I started developing Node.js client also.

 >>>>>>>>

 >>>>>>>> Thanks,

 >>>>>>>> Aleksandr

 >>>>>>>>

 >>>>>>>>

 >>>>>>>

 >>>>>>>

 >>>>>>

 >>>>>

 >>>>

 >>>

 >>>

 >>

 >

 >

Reply via email to