[erlang-questions] [ANN] Piqi-0.5.5 release: Multi-format data serialization and calling Erlang functions over HTTP

Anton Lavrik alavrik@REDACTED
Tue Apr 12 09:30:19 CEST 2011


Hello all,

It is my pleasure to announce several new Piqi features:

With this release, Piqi adds the ability to serialize/deserialize data in
JSON, XML, Protocol Buffers and Piq data formats. It provides a universal
serialization interface for each user-defined data type and an additional
parameter controls which format to use.

This is how it looks like:
https://github.com/alavrik/piqi/blob/master/examples/erlang/io_json_xml_pb.erl

Of course, it is unlikely that in practice one needs that many formats at
once. But even if we look at JSON serialization, any other approach that I'm
aware of involves writing additional code (sometimes, a lot of code!) to
convert JSON AST into Erlang records and the other way around. In contrast,
Piqi does all that automatically and in addition performs data validation.

Another new piece is called Piqi-RPC. It gives Erlang developers a
convenient and reliable way to connect services written in Erlang with
non-Erlang clients using JSON, XML and Protocol Buffers over plain HTTP. In
addition to HTTP interface, it includes a command-line client for calling
remote Erlang functions using idiomatic command-line interface (still over
HTTP). The client even prints command-line help about remote functions!

Basically, Piqi-RPC acts as an HTTP gateway for Erlang functions, taking
care of parsing and validating input, generating output in requested format,
communicating over HTTP, parsing and validating command-line options, etc.
When Erlang implementation function is called, it doesn't have to deal with
all that stuff. Even more, -- it doesn't know anything about what's
happening under the hood and always works with input and output represented
as native Erlang data structures.

You can find more information about the project and the recent additions
here: http://piqi.org/blog/2011/04/12/piqi-0-5-5-released/

Comments, suggestions and pull requests are very welcome!

Thanks,
Anton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20110412/765415c0/attachment.htm>


More information about the erlang-questions mailing list