Shashank, Dmitriy, In principle it should be possible to use 3rd party marshalling frameworks, but with some limitations.
Java side expects objects in certain format. At the very high level it looks like [HEADER][BODY][FOOTER]. This is enough for Java to process the object. While you *MUST* marshal an object with proper header and footer which follows our binary format, you are allowed to marshal body as you want. We already employ this trick in some edge cases in Java and .NET when binary marshalling cannot be used. The only drawback is that you will loose interoperability: if object body doesn't follow Ignite's binary format, it will be impossible to read it's fields on other platforms. Also you will not be able to use these objects in SQL queries. To summarize: you can implement only part of Ignite's binary protocol at the cost of some intrinsic limitations. Vladimir. On Thu, Jan 26, 2017 at 1:42 AM, Dmitriy Setrakyan <dsetrak...@apache.org> wrote: > On Wed, Jan 25, 2017 at 1:12 AM, Shashank Gandham < > shashankgand...@gmail.com > > wrote: > > > So if we have to make full-fledged python platform for ignite. We can use > > C++ common API to integrate and have an high level API of Python. Object > > serialisation can be achieved in python using libraries like marshal, > > pickle, shelve or something similar. Theoretically speaking this should > be > > possible, or am I missing something? > > > > As Vladimir mention, to add a new interoperable client in Python, you will > need to implement the BinaryMarshaller in Python in the same way we already > do in C++ and .NET. As a suggestion, you may be able to use Ignite C++ APIs > for Python integration. This way you will not have to worry about > marshalling. Python does support C callbacks as far as I know. > > D. >