По состоянию на ноябрь 2011 года я рекомендую использовать JSON в качестве формата сериализации, а не zeromq в качестве транспорта. Применяется очевидный отказ от ответственности: «Мне нужно больше информации, чтобы дать лучший ответ».
JSON - это простой и широко поддерживаемый стандарт. Zeromq - это абстракция того, что делают сокеты, которые должны прозрачно взаимодействовать между двумя процессами, написанными на разных платформах / стеках, без необходимости иметь дело с низкоуровневыми проблемами, такими как буферизация, при работе непосредственно с сокетами.
На стороне OCaml лучше всего выглядит привязка Caravan zeromq.
https://github.com/bashi-bazouk/Caravan
На стороне java все, что рекомендуется на сайте Zeromq.
Для JSON есть хорошая библиотека JSON для Ocaml:
http://martin.jambon.free.fr/yojson.html
Но JSON настолько тривиален, что вы можете просто написать свой собственный наивный анализатор, если типы данных, которые вы будете отправлять взад и вперед, относительно малы.
JSON на стороне Java. У меня нет рекомендаций, но есть много библиотек.
Thrift, Avro или Google ProtoBuffers, вероятно, будут быстрее, чем JSON в их двоичной форме, но риск в них заключается в том, находятся ли привязки Ocaml в приличной форме (лично я понятия не имею, если они есть).