Hi All!
Let us join the party, please ;) As we see, there is Binary Client Protocol to communicate with Ignite cluster and a concept of Thin (lightweight) client. If there are no objections or duplicated plans, we would like to develop Thin Client libs for: - Node.js - Python - PHP Please add us as contributors and provide access to the Ignite Jira components. Usernames in the Apache Jira: alexey.kosenchuk ekaterina.vergizova pavel.petroshenko Thanks! -Alexey |
Hi Alexey and welcome to all of you! Look forward to seeing the clients in
Ignite codebase ;) Granted contributors access to all of you in JIRA. Feel free to assign existing tickets to yourself or create new ones. However, before you're getting down to the implementation, please share the design and architectural ideas around the clients. Plus, it will be reasonable to start with one client first and then add the rest once you find out how the community works and Ignite is architectured. Pavel T., Alex K., as creators of .NET and Java thin clients, please share pointers that might be useful for Alexey. -- Denis On Mon, Feb 19, 2018 at 1:23 PM, Alexey Kosenchuk < [hidden email]> wrote: > Hi All! > > Let us join the party, please ;) > > As we see, there is Binary Client Protocol to communicate with Ignite > cluster and a concept of Thin (lightweight) client. > > If there are no objections or duplicated plans, we would like to develop > Thin Client libs for: > - Node.js > - Python > - PHP > > Please add us as contributors and provide access to the Ignite Jira > components. > > Usernames in the Apache Jira: > alexey.kosenchuk > ekaterina.vergizova > pavel.petroshenko > > Thanks! > -Alexey > |
Alexey, Ekaterina, Pavel,
These resources will be useful for you: - Thin client protocol spec <https://apacheignite.readme.io/docs/binary-client-protocol> - .NET thin client code <https://github.com/apache/ignite/tree/master/modules/platforms/dotnet/Apache.Ignite.Core/Impl/Client> - Java thin client code <https://github.com/gridgain/apache-ignite/tree/ignite-7421/modules/thinclient> (this is a work-in-progress in a development branch) Please post your questions and ideas - the community will help. |
Also, we could have a Hangouts call or something to share thin client
development experience. You can reach me at [hidden email]. |
Hi,
As far as I know, Sergey Kozlov <[hidden email]> already has some Python thin client implementation, not sure how much functionality is in there, but it may be a good start. Sergey, can you share something with us? Thanks, Pavel On Tue, Feb 20, 2018 at 1:34 AM, Alexey Kukushkin <[hidden email] > wrote: > Also, we could have a Hangouts call or something to share thin client > development experience. You can reach me at [hidden email]. > |
Hi
Yes, I've a prototype of python client supporting cache operations only. I plan to share that after official AI 2.4 release providing thin client implementation. On Tue, Feb 20, 2018 at 11:40 AM, Pavel Tupitsyn <[hidden email]> wrote: > Hi, > > As far as I know, Sergey Kozlov <[hidden email]> already has some > Python thin client implementation, > not sure how much functionality is in there, but it may be a good start. > > Sergey, can you share something with us? > > Thanks, > Pavel > > On Tue, Feb 20, 2018 at 1:34 AM, Alexey Kukushkin < > [hidden email] > > wrote: > > > Also, we could have a Hangouts call or something to share thin client > > development experience. You can reach me at [hidden email]. > > > -- Sergey Kozlov GridGain Systems www.gridgain.com |
Sergey,
Excellent, please share the branch once you're ready. As I understand, the guys can take it as a basis and support all the APIs available in the protocol On Tue, Feb 20, 2018 at 5:31 AM, Sergey Kozlov <[hidden email]> wrote: > Hi > > Yes, I've a prototype of python client supporting cache operations only. > > I plan to share that after official AI 2.4 release providing thin client > implementation. > > On Tue, Feb 20, 2018 at 11:40 AM, Pavel Tupitsyn <[hidden email]> > wrote: > > > Hi, > > > > As far as I know, Sergey Kozlov <[hidden email]> already has some > > Python thin client implementation, > > not sure how much functionality is in there, but it may be a good start. > > > > Sergey, can you share something with us? > > > > Thanks, > > Pavel > > > > On Tue, Feb 20, 2018 at 1:34 AM, Alexey Kukushkin < > > [hidden email] > > > wrote: > > > > > Also, we could have a Hangouts call or something to share thin client > > > development experience. You can reach me at [hidden email]. > > > > > > > > > -- > Sergey Kozlov > GridGain Systems > www.gridgain.com > |
In reply to this post by dmagda
Denis, Alexey, Pavel, Sergey, thanks for info.
We will start from Node.js lib. I've created Jira (https://issues.apache.org/jira/browse/IGNITE-7777) to track it's scope and status. Sure, we will provide the main ideas / API for review first, etc. according to the process. -Alexey 20.02.2018 1:09, Denis Magda пишет: > Hi Alexey and welcome to all of you! Look forward to seeing the clients in > Ignite codebase ;) > > Granted contributors access to all of you in JIRA. Feel free to assign > existing tickets to yourself or create new ones. > > However, before you're getting down to the implementation, please share the > design and architectural ideas around the clients. Plus, it will be > reasonable to start with one client first and then add the rest once you > find out how the community works and Ignite is architectured. > > Pavel T., Alex K., as creators of .NET and Java thin clients, please share > pointers that might be useful for Alexey. > > -- > Denis > > > On Mon, Feb 19, 2018 at 1:23 PM, Alexey Kosenchuk < > [hidden email]> wrote: > >> Hi All! >> >> Let us join the party, please ;) >> >> As we see, there is Binary Client Protocol to communicate with Ignite >> cluster and a concept of Thin (lightweight) client. >> >> If there are no objections or duplicated plans, we would like to develop >> Thin Client libs for: >> - Node.js >> - Python >> - PHP >> >> Please add us as contributors and provide access to the Ignite Jira >> components. >> >> Usernames in the Apache Jira: >> alexey.kosenchuk >> ekaterina.vergizova >> pavel.petroshenko >> >> Thanks! >> -Alexey >> > |
In reply to this post by Alexey Kosenchuk
With regards of thin clients for dynamically typed languages, I think
Ignite needs two following features to shine: - Ability to pass JSON to such clients, turn JSON Objects into a BinaryObjects, which will give ability to index top-level keys in such JSON with SQL Indexing. Of course this should be integrated with QueryEntities. - Ability to pass JavaScript snippets to invoke() and affinityCall() families of calls. On Server node they should be interpreted by Nashorn (since we've upgraded to Java 8). We should also cache such snippets pre-interpreted, in this case it can be pretty fast since Nashorn compile to JVM bytecode. WDYT? -- Ilya Kasnacheev 2018-02-20 0:23 GMT+03:00 Alexey Kosenchuk <[hidden email]>: > Hi All! > > Let us join the party, please ;) > > As we see, there is Binary Client Protocol to communicate with Ignite > cluster and a concept of Thin (lightweight) client. > > If there are no objections or duplicated plans, we would like to develop > Thin Client libs for: > - Node.js > - Python > - PHP > > Please add us as contributors and provide access to the Ignite Jira > components. > > Usernames in the Apache Jira: > alexey.kosenchuk > ekaterina.vergizova > pavel.petroshenko > > Thanks! > -Alexey > |
I would extract compute tasks into separate scope. It is better to keep
focus on protocol things and basic language support for now. Once we have basic client API in production-ready state, we could consider adding JavaScript to our core compute feature set and then extend it to the clients (which should be trivial provided that core part is ready). We should be ready to spend considerable efforts to prior R&D because dynamic code execution is not very simple thing, especially in terms of security, native compilation, etc.. On Thu, Mar 1, 2018 at 5:17 PM, Ilya Kasnacheev <[hidden email]> wrote: > With regards of thin clients for dynamically typed languages, I think > Ignite needs two following features to shine: > > - Ability to pass JSON to such clients, turn JSON Objects into a > BinaryObjects, which will give ability to index top-level keys in such JSON > with SQL Indexing. Of course this should be integrated with QueryEntities. > - Ability to pass JavaScript snippets to invoke() and affinityCall() > families of calls. On Server node they should be interpreted by Nashorn > (since we've upgraded to Java 8). We should also cache such snippets > pre-interpreted, in this case it can be pretty fast since Nashorn compile > to JVM bytecode. > > WDYT? > > -- > Ilya Kasnacheev > > 2018-02-20 0:23 GMT+03:00 Alexey Kosenchuk <[hidden email] > >: > > > Hi All! > > > > Let us join the party, please ;) > > > > As we see, there is Binary Client Protocol to communicate with Ignite > > cluster and a concept of Thin (lightweight) client. > > > > If there are no objections or duplicated plans, we would like to develop > > Thin Client libs for: > > - Node.js > > - Python > > - PHP > > > > Please add us as contributors and provide access to the Ignite Jira > > components. > > > > Usernames in the Apache Jira: > > alexey.kosenchuk > > ekaterina.vergizova > > pavel.petroshenko > > > > Thanks! > > -Alexey > > > |
Totally share Vladimir's stance. Let's support the scope that already
exists in the protocol and think about the future later. The users will definitely guide us to a right direction :) -- Denis On Thu, Mar 1, 2018 at 7:12 AM, Vladimir Ozerov <[hidden email]> wrote: > I would extract compute tasks into separate scope. It is better to keep > focus on protocol things and basic language support for now. Once we have > basic client API in production-ready state, we could consider adding > JavaScript to our core compute feature set and then extend it to the > clients (which should be trivial provided that core part is ready). We > should > be ready to spend considerable efforts to prior R&D because dynamic code > execution is not very simple thing, especially in terms of security, native > compilation, etc.. > > > > On Thu, Mar 1, 2018 at 5:17 PM, Ilya Kasnacheev <[hidden email] > > > wrote: > > > With regards of thin clients for dynamically typed languages, I think > > Ignite needs two following features to shine: > > > > - Ability to pass JSON to such clients, turn JSON Objects into a > > BinaryObjects, which will give ability to index top-level keys in such > JSON > > with SQL Indexing. Of course this should be integrated with > QueryEntities. > > - Ability to pass JavaScript snippets to invoke() and affinityCall() > > families of calls. On Server node they should be interpreted by Nashorn > > (since we've upgraded to Java 8). We should also cache such snippets > > pre-interpreted, in this case it can be pretty fast since Nashorn compile > > to JVM bytecode. > > > > WDYT? > > > > -- > > Ilya Kasnacheev > > > > 2018-02-20 0:23 GMT+03:00 Alexey Kosenchuk <alexey.kosenchuk@nobitlost. > com > > >: > > > > > Hi All! > > > > > > Let us join the party, please ;) > > > > > > As we see, there is Binary Client Protocol to communicate with Ignite > > > cluster and a concept of Thin (lightweight) client. > > > > > > If there are no objections or duplicated plans, we would like to > develop > > > Thin Client libs for: > > > - Node.js > > > - Python > > > - PHP > > > > > > Please add us as contributors and provide access to the Ignite Jira > > > components. > > > > > > Usernames in the Apache Jira: > > > alexey.kosenchuk > > > ekaterina.vergizova > > > pavel.petroshenko > > > > > > Thanks! > > > -Alexey > > > > > > |
Agree with Vladimir and Denis.
I don't think JSON has any place in the thin client protocol, which is a binary protocol designed to be efficient, with clearly defined data format. We already have JSON in "REST" client. On Thu, Mar 1, 2018 at 8:15 PM, Denis Magda <[hidden email]> wrote: > Totally share Vladimir's stance. Let's support the scope that already > exists in the protocol and think about the future later. The users will > definitely guide us to a right direction :) > > -- > Denis > > On Thu, Mar 1, 2018 at 7:12 AM, Vladimir Ozerov <[hidden email]> > wrote: > > > I would extract compute tasks into separate scope. It is better to keep > > focus on protocol things and basic language support for now. Once we have > > basic client API in production-ready state, we could consider adding > > JavaScript to our core compute feature set and then extend it to the > > clients (which should be trivial provided that core part is ready). We > > should > > be ready to spend considerable efforts to prior R&D because dynamic code > > execution is not very simple thing, especially in terms of security, > native > > compilation, etc.. > > > > > > > > On Thu, Mar 1, 2018 at 5:17 PM, Ilya Kasnacheev < > [hidden email] > > > > > wrote: > > > > > With regards of thin clients for dynamically typed languages, I think > > > Ignite needs two following features to shine: > > > > > > - Ability to pass JSON to such clients, turn JSON Objects into a > > > BinaryObjects, which will give ability to index top-level keys in such > > JSON > > > with SQL Indexing. Of course this should be integrated with > > QueryEntities. > > > - Ability to pass JavaScript snippets to invoke() and affinityCall() > > > families of calls. On Server node they should be interpreted by Nashorn > > > (since we've upgraded to Java 8). We should also cache such snippets > > > pre-interpreted, in this case it can be pretty fast since Nashorn > compile > > > to JVM bytecode. > > > > > > WDYT? > > > > > > -- > > > Ilya Kasnacheev > > > > > > 2018-02-20 0:23 GMT+03:00 Alexey Kosenchuk <alexey.kosenchuk@nobitlost. > > com > > > >: > > > > > > > Hi All! > > > > > > > > Let us join the party, please ;) > > > > > > > > As we see, there is Binary Client Protocol to communicate with Ignite > > > > cluster and a concept of Thin (lightweight) client. > > > > > > > > If there are no objections or duplicated plans, we would like to > > develop > > > > Thin Client libs for: > > > > - Node.js > > > > - Python > > > > - PHP > > > > > > > > Please add us as contributors and provide access to the Ignite Jira > > > > components. > > > > > > > > Usernames in the Apache Jira: > > > > alexey.kosenchuk > > > > ekaterina.vergizova > > > > pavel.petroshenko > > > > > > > > Thanks! > > > > -Alexey > > > > > > > > > > |
Hi Igniters
Due to some delay for release 2.4 and personal circumstances I decided to public the prototype of Python Client [1]. Feel free to use it as a base if it makes sense. [1] https://github.com/skozlov-gridgain/apache-ignite-python-thin-client On Thu, Mar 1, 2018 at 8:17 PM, Pavel Tupitsyn <[hidden email]> wrote: > Agree with Vladimir and Denis. > > I don't think JSON has any place in the thin client protocol, > which is a binary protocol designed to be efficient, with clearly defined > data format. > > We already have JSON in "REST" client. > > > On Thu, Mar 1, 2018 at 8:15 PM, Denis Magda <[hidden email]> wrote: > > > Totally share Vladimir's stance. Let's support the scope that already > > exists in the protocol and think about the future later. The users will > > definitely guide us to a right direction :) > > > > -- > > Denis > > > > On Thu, Mar 1, 2018 at 7:12 AM, Vladimir Ozerov <[hidden email]> > > wrote: > > > > > I would extract compute tasks into separate scope. It is better to keep > > > focus on protocol things and basic language support for now. Once we > have > > > basic client API in production-ready state, we could consider adding > > > JavaScript to our core compute feature set and then extend it to the > > > clients (which should be trivial provided that core part is ready). We > > > should > > > be ready to spend considerable efforts to prior R&D because dynamic > code > > > execution is not very simple thing, especially in terms of security, > > native > > > compilation, etc.. > > > > > > > > > > > > On Thu, Mar 1, 2018 at 5:17 PM, Ilya Kasnacheev < > > [hidden email] > > > > > > > wrote: > > > > > > > With regards of thin clients for dynamically typed languages, I think > > > > Ignite needs two following features to shine: > > > > > > > > - Ability to pass JSON to such clients, turn JSON Objects into a > > > > BinaryObjects, which will give ability to index top-level keys in > such > > > JSON > > > > with SQL Indexing. Of course this should be integrated with > > > QueryEntities. > > > > - Ability to pass JavaScript snippets to invoke() and affinityCall() > > > > families of calls. On Server node they should be interpreted by > Nashorn > > > > (since we've upgraded to Java 8). We should also cache such snippets > > > > pre-interpreted, in this case it can be pretty fast since Nashorn > > compile > > > > to JVM bytecode. > > > > > > > > WDYT? > > > > > > > > -- > > > > Ilya Kasnacheev > > > > > > > > 2018-02-20 0:23 GMT+03:00 Alexey Kosenchuk > <alexey.kosenchuk@nobitlost. > > > com > > > > >: > > > > > > > > > Hi All! > > > > > > > > > > Let us join the party, please ;) > > > > > > > > > > As we see, there is Binary Client Protocol to communicate with > Ignite > > > > > cluster and a concept of Thin (lightweight) client. > > > > > > > > > > If there are no objections or duplicated plans, we would like to > > > develop > > > > > Thin Client libs for: > > > > > - Node.js > > > > > - Python > > > > > - PHP > > > > > > > > > > Please add us as contributors and provide access to the Ignite Jira > > > > > components. > > > > > > > > > > Usernames in the Apache Jira: > > > > > alexey.kosenchuk > > > > > ekaterina.vergizova > > > > > pavel.petroshenko > > > > > > > > > > Thanks! > > > > > -Alexey > > > > > > > > > > > > > > > -- Sergey Kozlov GridGain Systems www.gridgain.com |
Thanks, Sergey! It's a really robust foundation. My guess that the guys can
take your client, support the rest of APIs the protocol has and eventually merge it to Ignite code base. -- Denis On Fri, Mar 2, 2018 at 2:40 AM, Sergey Kozlov <[hidden email]> wrote: > Hi Igniters > > Due to some delay for release 2.4 and personal circumstances I decided to > public the prototype of Python Client [1]. > > Feel free to use it as a base if it makes sense. > > [1] https://github.com/skozlov-gridgain/apache-ignite-python-thin-client > > > On Thu, Mar 1, 2018 at 8:17 PM, Pavel Tupitsyn <[hidden email]> > wrote: > > > Agree with Vladimir and Denis. > > > > I don't think JSON has any place in the thin client protocol, > > which is a binary protocol designed to be efficient, with clearly defined > > data format. > > > > We already have JSON in "REST" client. > > > > > > On Thu, Mar 1, 2018 at 8:15 PM, Denis Magda <[hidden email]> wrote: > > > > > Totally share Vladimir's stance. Let's support the scope that already > > > exists in the protocol and think about the future later. The users will > > > definitely guide us to a right direction :) > > > > > > -- > > > Denis > > > > > > On Thu, Mar 1, 2018 at 7:12 AM, Vladimir Ozerov <[hidden email]> > > > wrote: > > > > > > > I would extract compute tasks into separate scope. It is better to > keep > > > > focus on protocol things and basic language support for now. Once we > > have > > > > basic client API in production-ready state, we could consider adding > > > > JavaScript to our core compute feature set and then extend it to the > > > > clients (which should be trivial provided that core part is ready). > We > > > > should > > > > be ready to spend considerable efforts to prior R&D because dynamic > > code > > > > execution is not very simple thing, especially in terms of security, > > > native > > > > compilation, etc.. > > > > > > > > > > > > > > > > On Thu, Mar 1, 2018 at 5:17 PM, Ilya Kasnacheev < > > > [hidden email] > > > > > > > > > wrote: > > > > > > > > > With regards of thin clients for dynamically typed languages, I > think > > > > > Ignite needs two following features to shine: > > > > > > > > > > - Ability to pass JSON to such clients, turn JSON Objects into a > > > > > BinaryObjects, which will give ability to index top-level keys in > > such > > > > JSON > > > > > with SQL Indexing. Of course this should be integrated with > > > > QueryEntities. > > > > > - Ability to pass JavaScript snippets to invoke() and > affinityCall() > > > > > families of calls. On Server node they should be interpreted by > > Nashorn > > > > > (since we've upgraded to Java 8). We should also cache such > snippets > > > > > pre-interpreted, in this case it can be pretty fast since Nashorn > > > compile > > > > > to JVM bytecode. > > > > > > > > > > WDYT? > > > > > > > > > > -- > > > > > Ilya Kasnacheev > > > > > > > > > > 2018-02-20 0:23 GMT+03:00 Alexey Kosenchuk > > <alexey.kosenchuk@nobitlost. > > > > com > > > > > >: > > > > > > > > > > > Hi All! > > > > > > > > > > > > Let us join the party, please ;) > > > > > > > > > > > > As we see, there is Binary Client Protocol to communicate with > > Ignite > > > > > > cluster and a concept of Thin (lightweight) client. > > > > > > > > > > > > If there are no objections or duplicated plans, we would like to > > > > develop > > > > > > Thin Client libs for: > > > > > > - Node.js > > > > > > - Python > > > > > > - PHP > > > > > > > > > > > > Please add us as contributors and provide access to the Ignite > Jira > > > > > > components. > > > > > > > > > > > > Usernames in the Apache Jira: > > > > > > alexey.kosenchuk > > > > > > ekaterina.vergizova > > > > > > pavel.petroshenko > > > > > > > > > > > > Thanks! > > > > > > -Alexey > > > > > > > > > > > > > > > > > > > > > > > > -- > Sergey Kozlov > GridGain Systems > www.gridgain.com > |
Free forum by Nabble | Edit this page |