ロボットサービスの標準化を目指して

ロボットサービス開発ベースの作成

ライブラリーを使ったアプリケーションの開発ベースとなるプロジェクトを作成し、ライブラリ-の適用をします。

サービスアプリプロジェクトの作成

FJLIBでは下位通信のインフラとしてHTTPを利用しています。HTTP通信部分はServletを使ったWebサービスとして実装されライブラリー内に隠ぺいされていますが、プロジェクト自体はWebアプリケーション用のプロジェクトとして作成する必要があります。 以下の手順でサービスアプリプロジェクトを作成します。プロジェクト名は”ServiceSample”としています。

  1. Eclipseを起動し、JavaEEまたはJavaパースペクティブに切り替えます。
  2. メニューの「ファイル」-「新規」-「その他」を選択し、『新規』ダイアログを開きます。ウィザード欄で「Web」-「動的Web プロジェクト」を選択し、「次へ」ボタンを押します。
    サービスアプリプロジェクトの作成
  3. 「新規動的Web プロジェクト」ダイアログで、「プロジェクト名」に”ServiceSample”と入力します。他の設定はそのままでOKです。「次へ」ボタンを押します。
    サービスアプリプロジェクトの作成
  4. 必要に応じてWebモジュールの設定をします。ここではデフォルトのままとします。「完了」ボタンを押します。
    サービスアプリプロジェクトの作成
  5. 『プロジェクト・エクスプローラー』ビューにServiceSampleプロジェクトが表示されている事を確認してください。
    サービスアプリプロジェクトの作成
  6. 『プロジェクト・エクスプローラー』ビューで”ServiceSample”を選択・右クリックし、ポップアップメニューから「プロパティー」を選択します。『プロパティー』ダイアログが表示されるので、左ペインで「プロジェクト・ファセット」を選択し、右ペインの「プロジェクト・ファセット」ツリー欄で、「Axis2Webサービス」-「Axis2 Web サービス・コア」にチェックを入れた後、「OK」ボタンを押します。
    サービスアプリプロジェクトの作成
  7. RSNPSDK forServiceで提供されているライブラリファイル(rsnp-service-api-x.x.x.jar、rsnp-service-fjlib-x.x.x.jar)を、ServiceSampleプロジェクトのWebContent/WEB-INF/libにコピーします。
  8. RSNPSDK for Serviceで提供されているサービスライブラリ環境設定ファイル(rsnp-service-config.xml)を、ServiceSampleプロジェクトのsrcフォルダにコピーします。(Java EE パースペクティブのプロジェクト・エクスプローラーではコピーできません。Java パースペクティブに切り替えてコピーしてください。)
  9. RSNPSDK for Serviceで提供されているWebContent/WEB-INF/servicesフォルダを、ServiceSampleプロジェクトのWebContent/WEB-INF配下にそのままコピーします。⑥でWebContent/WEB-INF/servicesフォルダが作成されていますが、上書きしてください。
  10. WebContent/WEB-INF/web.xmlを編集しセッションリスナーを定義します。タグの内部に以下の内容を追記します。
  11. <listener>
    <listener-class>com.fujitsu.rsi.server.SessionListener</listener-class>
    </listener>
  12. 同じくWebContent/WEB-INF/web.xml にHTTPセッションの有効期限を設定します。タグの内部に以下の内容を追記します。 有効期限に指定する値は、サービスライブラリ環境設定ファイルの”self_timeout”より十分大きい値である必要があります。ただし、あまり大きすぎてもロボットがダウンした場合、サーバ上の不要なロボット接続状態の解放までに時間がかかることになります。ここでは5分を指定しておきます。
  13. <session-config>
    <session-timeout>5</session-timeout>
    </session-config>
  14. WebContent/WEB-INF/conf/axis2.xmlを編集しMTOMを有効にします。enableMTOMの値をtrueに設定してください。
  15. <parameter name=“enableMTOM”>true</parameter>
  16. 富士通研究所から発行されたFJLIBライセンスファイルを、プロジェクト内のクラスパスの通った場所(例:ソースフォルダの直下など)に配置します。 これでサービスアプリプロジェクトの開発用ベースが出来上がりました。

開発用ベースの動作確認

作成した開発用ベースの動作確認をします。

  1. 『サーバ』ビューで「ローカル・ホストのTomcat v6.0 サーバ」を選択、右クリックしてポップアップメニューを開き、「プロジェクトの追加および除去…」を選択し『プロジェクトの追加および除去』ダイアログを開きます。「使用可能なプロジェクト」からServiceSampleを選択し、「追加」ボタンを押すと、構成プロジェクトに追加されます。「完了」ボタンを押しダイアログを閉じます。
    サービスアプリプロジェクトの作成
  2. 『サーバ』ビューで「ローカル・ホストのTomcat v6.0 サーバ」を選択、右クリックしてポップアップメニューを開き、「開始」を選択します。『コンソール』ビューにエラーログが出されずに、『サーバ』ビューで状態が始動済みになることを確認します。
    サービスアプリプロジェクトの作成
  3. Webブラウザで、http://localhost:8080/ServiceSample/axis2-web/にアクセスするとApache Axis2のWelcome!ページが表示されます。ページ内のServicesリンクをクリックするとAvailable servicesページが表示されます。
    サービスアプリプロジェクトの作成
  4. そのページ内にDownChannelServiceリンクとUpChannelServiceリンクが表示されていることを確認します。
    サービスアプリプロジェクトの作成
  5. DownChannelServiceとUpChannelServiceをそれぞれクリックすると、それぞれのWSDLが表示されることを確認します。
    サービスアプリプロジェクトの作成
PAGETOP