[infinispan-issues] [JBoss JIRA] Updated: (ISPN-508) ProtoBuf as portable serialization for Hot Rod

Galder Zamarreno (JIRA) jira-events at lists.jboss.org
Thu Jul 15 10:52:58 EDT 2010


     [ https://jira.jboss.org/browse/ISPN-508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Galder Zamarreno updated ISPN-508:
----------------------------------

    Attachment: thrift-sandbox.zip


I had a look at Thrift now and it has the same problem as protobufs. In fact, in this case you need build a new instance of the target type when reading, so you need the type when reading once again. So any potential solution would require clients to give us the byte[] directly and for them to serialize/deserialize. Please find attached some code showing what users would most likely need to code, in particular focus on GenericMarshallingThrift.
 
The advantage of Thrift over Protobufs though is the fact that it has many more generators, i.e. C++, C#, Erlang, Haskell, Java, Objective C/Cocoa, OCaml, Perl, PHP, Python, Ruby, and Squeak. This is compared to Java, C++ and Python that Protobufs only supports. The disadvantage of Thrift is that it looks less matured than Protobufs. I had to use a nightly build to build the thrift command needed to generate the classes. The latest available release (0.2.0 (released on 2009-12-11)) could not be built in my machine.

> ProtoBuf as portable serialization for Hot Rod
> ----------------------------------------------
>
>                 Key: ISPN-508
>                 URL: https://jira.jboss.org/browse/ISPN-508
>             Project: Infinispan
>          Issue Type: Feature Request
>          Components: Cache Server
>            Reporter: Galder Zamarreno
>            Assignee: Galder Zamarreno
>            Priority: Critical
>             Fix For: 5.0.0.BETA1, 5.0.0.Final
>
>         Attachments: thrift-sandbox.zip
>
>
> Consider using Google ProtoBufs as a way to serialize data into a wire so that a single Hot Rod server can simulatneously be accessed by clients written in different languages. At the moment, cos Java client uses standard serialization, only Java clients would really be able to understand the contents of it, unless there's a non-JVM implementation that can understand java serialization. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the infinispan-issues mailing list