JavaとErlangを統合する

Erlang is an agitator to traditional enterprise development because it excels so well at concurrency, uptimes of five nines or more, and "hot deployment" of code. But there are valid reasons for why someone may not want to dive in head first. How many CIOs want to lose their investments in Java? Who wants to leave behind all the great libraries produced by the Java community?

最近、次の言語として注目を集めているErlangですが、、、、この記事の筆者が言うとおり、エンタープライズ向けに現在構築されているJavaの資産を捨てて、みんながErlangに流れるかっていうとそうではないですよね。

たぶん、比較的軽量なシステムを構築していてる人たちは、移行が早くできるかもしれないけど。重厚長大なシステムを作ってる人たちはそうでないような。

こういう場合、考えられるのは

  • Javaとは違ったパラダイムの言語だけど、何かインタフェースをかまして、既存のJavaのシステムを扱える
  • あるいは、JavaVM上で動作するとかなんとかで、既存のJavaのシステムと共存できる

とか?
記事では、(1)のパターンです。Jinterfaceとかいうのを使ってうまく連携させている模様。

Jinterfaceの使い方については檜山正幸さんの日記が詳しいようです。

Erlangのプロセス間ではメッセージ通信が容易に行えますが、JInterfaceライブラリを使うと、ErlangプロセスとJavaプログラムとのあいだでもメッセージ通信ができます。予備知識である分散Erlangから説明し、JInterfaceを紹介します。ちょっと長いので、前後編に分けて、今回の前編ではErlang側の話をします。