はじめに
前回は、CurlがJSONをサポートするようになった紹介も兼ねて、Javaで作成したサーバーサイドとJSON形式で通信を行うアプリケーションの作成を行いました。
今回は、JSON形式ではなく、「Curl ORB for Java」というOSSのライブラリを使用して、CurlアプリケーションからPOJO(Plain Old Java Object)のメソッドをコールするCurlアプリケーションを作成する手順を紹介します。
ただし、今回の内容は、既にCodeZineに類似記事(Curl ORB for javaによるサーバ連携)が存在するため、補足する内容や、DIコンテナにSeasar2を利用する場合の留意点等の紹介を行いたいと思います。
これまでの記事
Curl ORB for Java
Curl ORB for Javaとは
Curl ORB for Javaとは、POJO(Plain Old Java Object)として作成されたサーバサイドのJavaクラスをCurlから簡単にコールできるツールです。
ORBとは、Object Request Brokerの略で、分散コンピューティングにおいて、ネットワークを介してコンピュータ間でのプログラムの呼び出しを可能とするミドルウェアのことです。サーバからプッシュする機能はありませんが、BlazeDSやS2Flex2のような機能を提供すると言った方が分かりやすい読者もいるのではないかと思います。
主要機能としては、次の機能が挙げられています。
- サーバサイドオブジェクトのメソッド実行
- ハイパフォーマンス
- 複数データ型のサポート
- DIコンテナ統合
- ソースコード・ジェネレータ
Curl ORB for Javaは「Apache License 2.0」の下、オープンソース・ソフトウェアとして提供されており、SourceForge.netからダウンロードできます。執筆時点でのバージョンは、0.5 stableとなっています。
現在、Curl ORB for JavaとSeasar2を組み合わせて使用した際に、「Generator Wizardのリストにコンポーネントが表示されない」「Generator Wizardに表示されるクラス名が違う」などの問題が確認されております。この問題を解決したCurl ORB for Java最新版がCurl Developer Centerからダウンロードが可能です(ダウンロードページはこちら)。
開発手順
Curl ORB for Javaを使用した場合の、開発手順は次のようになると考えられます。
- Javaサービスクラスなどを作成
- web.xml等にCurl ORB for Javaの設定を行い、サーバを起動
- Curlクライアントを使用し、作成したJavaサービスクラス等からCurlサービスクラス等のコードを自動生成
- 作成したCurlサービスクラスのメソッドを呼び出すコードをCurl側に記述する