JavaからRalsのサーバに対して、リクエストをPOSTする機能が必要で、HttpClientでも使って実装しよっかなーって思ってたが、やはりここは時代に乗ってREST。
てことでJavaでRESTなフレームワーク探してみた。Railsは2.0からActiveResourceでRESTサポートをしてるけどJavaはどうかなと。
ぐーぐる先生に色々聞いてみるとRestletってオープンソースのフレームワークがある。
今回はこれを使ってみた。(まぁ、結局中ではHttpClientとか使ってるんだな。)
このRestlet、ServletAPIとServletコンテナのような関連を持ってて、REST APIとそのエンジンの実装が分かれてる。エンジンの実装はRestletが参照実装を含めて提供している。あと、HTTPやHTTPSといったプロトコルに対するコネクタも、Apache Commons HTTP Clientとか実装に応じた切り替えが可能になってる。
API公開で各実装は組み合わせ可能な構成をとってるみたい。
一応JavaもJAX-WSでSOAPのサポートをしているけど、今RESTもサポートしましょうってことでJAX-RSとしてRESTサポートをJavaEE6から公開する模様。最終的にRestletもJAX-RSの実装になるのかな。