scripting languages base cases using swig

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

scripting languages base cases using swig

Evgeniy Stanilovskiy
Hi all.
Not so long ago i had to know that ignite had reduced functionality  
support in scripting languages.
So, idea was to take an existing C++ client and using SWIG  
(http://www.swig.org) as automatic wrapper, generate clients for absence  
scripting languages.
What do you think about this case ?

Thanks !
Reply | Threaded
Open this post in threaded view
|

Re: scripting languages base cases using swig

dmagda
Hi Evgeniy,

Presently we’re trying to fill this gap offering SQL Grid [1]. In a nutshell, you can connect to an Ignite cluster from your favorite language or tool with ODBC/JDBC drivers and work with the cluster using SQL SELECT, INSERT, UPDATE, DELETE statements.

Here is how everything works for PHP that is not natively supported by Ignite:
https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for

However, as for SWIG. Do you think it’s feasible to implement on top of Ignite.C++ client which is tightly coupled with JVM?

[1] https://apacheignite.readme.io/docs/sql-grid <https://apacheignite.readme.io/docs/sql-grid>


Denis

> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy <[hidden email]> wrote:
>
> Hi all.
> Not so long ago i had to know that ignite had reduced functionality support in scripting languages.
> So, idea was to take an existing C++ client and using SWIG (http://www.swig.org) as automatic wrapper, generate clients for absence scripting languages.
> What do you think about this case ?
>
> Thanks !

Reply | Threaded
Open this post in threaded view
|

Re: scripting languages base cases using swig

Evgeniy Stanilovskiy
Hi Denis,

I don`t see any problem here, i have to speak with @vozerov about this  
issue and he recommends me to write it into dev list. All problems that i  
have with swig is :
1. jni overhead (no miracle here ...)
2. light troubles with collections API wrapping, like std::map, std::list  
and so on.

Partially my open source FreeLing java wrapper you can see here
https://github.com/TALP-UPC/FreeLing/tree/master/APIs/java

std_list.i - little stub :) i have talking about.

> Hi Evgeniy,
>
> Presently we’re trying to fill this gap offering SQL Grid [1]. In a  
> nutshell, you can connect to an Ignite cluster from your favorite  
> language or tool with ODBC/JDBC drivers and work with the cluster using  
> SQL SELECT, INSERT, UPDATE, DELETE statements.
>
> Here is how everything works for PHP that is not natively supported by  
> Ignite:
> https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for
>
> However, as for SWIG. Do you think it’s feasible to implement on top of  
> Ignite.C++ client which is tightly coupled with JVM?
>
> [1] https://apacheignite.readme.io/docs/sql-grid 
> <https://apacheignite.readme.io/docs/sql-grid>
>
> —
> Denis
>
>> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy  
>> <[hidden email]> wrote:
>>
>> Hi all.
>> Not so long ago i had to know that ignite had reduced functionality  
>> support in scripting languages.
>> So, idea was to take an existing C++ client and using SWIG  
>> (http://www.swig.org) as automatic wrapper, generate clients for  
>> absence scripting languages.
>> What do you think about this case ?
>>
>> Thanks !
Reply | Threaded
Open this post in threaded view
|

Re: scripting languages base cases using swig

Sergi
I think its worth trying. Recently on userlist someone requested Golang
integration. If we can achieve this with SWIG relatively easy, then why not.

Sergi

2017-01-18 10:55 GMT+03:00 Evgeniy Stanilovskiy <[hidden email]>
:

> Hi Denis,
>
> I don`t see any problem here, i have to speak with @vozerov about this
> issue and he recommends me to write it into dev list. All problems that i
> have with swig is :
> 1. jni overhead (no miracle here ...)
> 2. light troubles with collections API wrapping, like std::map, std::list
> and so on.
>
> Partially my open source FreeLing java wrapper you can see here
> https://github.com/TALP-UPC/FreeLing/tree/master/APIs/java
>
> std_list.i - little stub :) i have talking about.
>
>
> Hi Evgeniy,
>>
>> Presently we’re trying to fill this gap offering SQL Grid [1]. In a
>> nutshell, you can connect to an Ignite cluster from your favorite language
>> or tool with ODBC/JDBC drivers and work with the cluster using SQL SELECT,
>> INSERT, UPDATE, DELETE statements.
>>
>> Here is how everything works for PHP that is not natively supported by
>> Ignite:
>> https://dzone.com/articles/apache-ignite-enables-full-fledge
>> d-sql-support-for
>>
>> However, as for SWIG. Do you think it’s feasible to implement on top of
>> Ignite.C++ client which is tightly coupled with JVM?
>>
>> [1] https://apacheignite.readme.io/docs/sql-grid <
>> https://apacheignite.readme.io/docs/sql-grid>
>>
>> —
>> Denis
>>
>> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy <
>>> [hidden email]> wrote:
>>>
>>> Hi all.
>>> Not so long ago i had to know that ignite had reduced functionality
>>> support in scripting languages.
>>> So, idea was to take an existing C++ client and using SWIG (
>>> http://www.swig.org) as automatic wrapper, generate clients for absence
>>> scripting languages.
>>> What do you think about this case ?
>>>
>>> Thanks !
>>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: scripting languages base cases using swig

dmagda
In reply to this post by Evgeniy Stanilovskiy
Sounds interesting. If SWIG does its job really well than agree it worth communities efforts to give it a try.

As a side note, I assume that somewhere in the future we will come to the point when Ignite will have its own Machine Learning API. For every ML lib it’s essential to support Python and R languages that are used by analysts, scientists and researches who train models and adjust algorithms before everything is deployed in production using Java or C++.

If SWIG can generate Ignite’s APIs for Python and R then it would be a big breakthrough for us because the platform will provide all required languages needed to adopt an ML lib among researchers and developers.

Could you take in charge of design and create respective JIRA tickets?


Denis

> On Jan 17, 2017, at 11:55 PM, Evgeniy Stanilovskiy <[hidden email]> wrote:
>
> Hi Denis,
>
> I don`t see any problem here, i have to speak with @vozerov about this issue and he recommends me to write it into dev list. All problems that i have with swig is :
> 1. jni overhead (no miracle here ...)
> 2. light troubles with collections API wrapping, like std::map, std::list and so on.
>
> Partially my open source FreeLing java wrapper you can see here
> https://github.com/TALP-UPC/FreeLing/tree/master/APIs/java
>
> std_list.i - little stub :) i have talking about.
>
>> Hi Evgeniy,
>>
>> Presently we’re trying to fill this gap offering SQL Grid [1]. In a nutshell, you can connect to an Ignite cluster from your favorite language or tool with ODBC/JDBC drivers and work with the cluster using SQL SELECT, INSERT, UPDATE, DELETE statements.
>>
>> Here is how everything works for PHP that is not natively supported by Ignite:
>> https://dzone.com/articles/apache-ignite-enables-full-fledged-sql-support-for
>>
>> However, as for SWIG. Do you think it’s feasible to implement on top of Ignite.C++ client which is tightly coupled with JVM?
>>
>> [1] https://apacheignite.readme.io/docs/sql-grid <https://apacheignite.readme.io/docs/sql-grid>
>>
>> —
>> Denis
>>
>>> On Jan 16, 2017, at 11:46 PM, Evgeniy Stanilovskiy <[hidden email]> wrote:
>>>
>>> Hi all.
>>> Not so long ago i had to know that ignite had reduced functionality support in scripting languages.
>>> So, idea was to take an existing C++ client and using SWIG (http://www.swig.org) as automatic wrapper, generate clients for absence scripting languages.
>>> What do you think about this case ?
>>>
>>> Thanks !