Re: Ignite Thin clients for Node.js, Python, PHP

2018-03-02 Thread Denis Magda
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  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 
> 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  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 
> > > 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 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 <
> > > ilya.kasnach...@gmail.com
> > > > >
> > > > 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
> >  > > > 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
>


Re: Ignite Thin clients for Node.js, Python, PHP

2018-03-02 Thread Sergey Kozlov
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  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  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 
> > 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 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 <
> > ilya.kasnach...@gmail.com
> > > >
> > > 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
>  > > 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


Re: Ignite Thin clients for Node.js, Python, PHP

2018-03-01 Thread Pavel Tupitsyn
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  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 
> 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 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 <
> ilya.kasnach...@gmail.com
> > >
> > 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  > 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
> > > >
> > >
> >
>


Re: Ignite Thin clients for Node.js, Python, PHP

2018-03-01 Thread Denis Magda
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 
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 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  >
> 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  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
> > >
> >
>


Re: Ignite Thin clients for Node.js, Python, PHP

2018-03-01 Thread Vladimir Ozerov
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 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 
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  >:
>
> > 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
> >
>


Re: Ignite Thin clients for Node.js, Python, PHP

2018-03-01 Thread Ilya Kasnacheev
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 :

> 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
>


Re: Ignite Thin clients for Node.js, Python, PHP

2018-02-21 Thread Alexey Kosenchuk

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-) 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 <
alexey.kosenc...@nobitlost.com> 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





Re: Ignite Thin clients for Node.js, Python, PHP

2018-02-20 Thread Denis Magda
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  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 
> wrote:
>
> > Hi,
> >
> > As far as I know, Sergey Kozlov  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 <
> > kukushkinale...@gmail.com
> > > wrote:
> >
> > > Also, we could have a Hangouts call or something to share thin client
> > > development experience. You can reach me at kukushkinale...@gmail.com.
> > >
> >
>
>
>
> --
> Sergey Kozlov
> GridGain Systems
> www.gridgain.com
>


Re: Ignite Thin clients for Node.js, Python, PHP

2018-02-20 Thread Sergey Kozlov
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 
wrote:

> Hi,
>
> As far as I know, Sergey Kozlov  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 <
> kukushkinale...@gmail.com
> > wrote:
>
> > Also, we could have a Hangouts call or something to share thin client
> > development experience. You can reach me at kukushkinale...@gmail.com.
> >
>



-- 
Sergey Kozlov
GridGain Systems
www.gridgain.com


Re: Ignite Thin clients for Node.js, Python, PHP

2018-02-20 Thread Pavel Tupitsyn
Hi,

As far as I know, Sergey Kozlov  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  wrote:

> Also, we could have a Hangouts call or something to share thin client
> development experience. You can reach me at kukushkinale...@gmail.com.
>


Re: Ignite Thin clients for Node.js, Python, PHP

2018-02-19 Thread Alexey Kukushkin
Also, we could have a Hangouts call or something to share thin client
development experience. You can reach me at kukushkinale...@gmail.com.


Re: Ignite Thin clients for Node.js, Python, PHP

2018-02-19 Thread Alexey Kukushkin
Alexey, Ekaterina, Pavel,

These resources will be useful for you:

   - Thin client protocol spec
   
   - .NET thin client code
   

   - Java thin client code
   

(this
   is a work-in-progress in a development branch)

Please post your questions and ideas - the community will help.


Re: Ignite Thin clients for Node.js, Python, PHP

2018-02-19 Thread 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 <
alexey.kosenc...@nobitlost.com> 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
>


Ignite Thin clients for Node.js, Python, PHP

2018-02-19 Thread Alexey Kosenchuk

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