PEXA Serviceについて

チュートリアル

テストツール

定義ファイル

基本プロセス

拡張プロセス

Condition

セッション

モデル

リファレンス

環境設定

目次

  1. はじめに
  2. Serviceの作成
  3. Serviceの実行準備
  4. ServiceClientからの呼出で実行
  5. サービスの実行ログ出力
  6. プロセスのステップ実行


はじめに

このドキュメントは、PEXAサービスフレームワーク上でサービスを実行して動作確認を行うまでの流れを説明した物です。 ここで説明する内容は、サービス自体の単体テストでも、他のフレームワークと組み合わせてのアプリケーション全体での テストでも有効です。必要に応じて活用して下さい。


Serviceの作成

サービスはサービス定義ファイルという形式で記述して作成します。
このファイルの中身はテキストファイルとなりますので、好みのテキストエディタやEclipse等で作成して下さい。

サービス定義ファイルは拡張子を".service"として作成してください。
(サービステンプレートを利用する場合は".services"となります。)

作成したサービス定義ファイルはプロジェクトワークスペースの以下のフォルダ配下に配置して下さい。

    src/service
上記のフォルダ配下であれば、サブフォルダを作成してカテゴリ別に分けて配置しても構いません。


Serviceの実行準備

サービスを作成してプロジェクトワークスペースに配置したら、ビルドを行って実行環境に配置します。
プロジェクトのトップフォルダにあるbuild.xmlを使用して、antでビルドを実行します。

 ant application
上記のように実行すると、サービスの実行に必要な各種ファイルがまとめてビルドされます。
正常にビルドが終了したら、実行環境を起動します。現在のPEXAエンジンはJ2EEコンテナの上で動作する形で 実装されていますので、アプリケーションサーバーと呼ばれる類のミドルウェアを用意する必要があります。

通常、テスト用にはJBoss等のフリーで利用できるアプリケーションサーバーを利用します。
この環境自体の構築については別途環境構築ガイドが用意されているのでそちらを参照して下さい。


ServiceClientからの呼出で実行

サービスを直接呼び出して起動するためのツールとして、ServiceClientというツールが提供されています。
ServiceClientは、以下のような用途で利用することが出来ます。

  • サービスの単体テスト
  • OSのスケジューラ系機能(cron等)から呼び出して定期的にサービスを実行
  • アプリケーションサーバーのタイマー系機能等から呼び出して定期的にサービスを実行
  • バッチファイルやスクリプトファイルから呼び出して任意のタイミングでサービス実行
ServiceClient自体がJavaプログラムとして提供されているので、 Javaが実行できる環境であればWindows系環境でもUnix系環境でも動作します。

このServiceClientを使用してサービスを呼び出す場合は、呼出設定を記述したServiceClient実行設定ファイルを記述して それをServiceClientに読み込ませて実行する形になります。

ServiceClient実行用のバッチファイル

ServiceClientを実行するための標準バッチファイルがプロジェクトワークスペースの以下のパスに格納されています。

  /tool/service/ServiceClient.bat
このバッチファイルを使用する場合、以下の環境変数をあらかじめ設定しておいて下さい。

環境変数名 説明
PRJHOME プロジェクトワークスペースのパスを指定します。

環境変数を設定したら、以下の形式でこのバッチファイルを呼び出して下さい。
なお、下記のServiceClient実行設定ファイルとは、ServiceClientを使用して呼び出すサービスやパラメータの指定を行うファイルです。 このファイルについての詳細は以降で説明します。

呼出形式:

ServiceClient.bat {ServiceClient実行設定ファイル}
例:
ServiceClient.bat C:\develop\work\service_client.entry


ServiceClient実行設定ファイル

ServiceClientによって呼び出すサービスおよび呼出パラメータを記述するファイルです。
このServiceClient実行設定ファイルについては別途記述ガイドがあります。
詳細はこちらを参照して下さい。

記述例:2つのサービスを順に呼び出すServiceClient実行設定ファイル

;---------------------------------------------------------------
; Release-Date:     $Date:: 2009-11-07 17:19:30 #$
; Release-Version:  $Revision: 4347 $
; Author:           $Author: morishita $
; First-Created-On: 2007/04/16
; First-Created-By: Daisuke Morishita
;---------------------------------------------------------------
; サービスの呼出情報
;---------------------------------------------------------------
[services
    ;-----------------------------------------------------------
    ; アラート生成サービスの呼出
    ;-----------------------------------------------------------
    (アラートを生成する
        (session
        	実行日付	&Today
	        実行時刻    &Now
        )
    )
    ,
    ;-----------------------------------------------------------
    ; リマインダ生成サービスの呼出
    ;-----------------------------------------------------------
    (リマインダを生成する
        (session
        	実行日付	&Today
	        実行時刻    &Now
        )
    )
]



サービスの実行ログ出力

サービスの実行はGUI系プログラムと違って目に見えないため、 作成したサービスが意図した通りに実行されたかはログ出力などを行わないと判別できません。

そこで、サービス実行エンジンには以下のポイントでログ出力を行う機能が用意されています。

  • サービスの実行開始
  • プロセスの実行開始
  • プロセスの実行終了
  • プロセスのエラー終了
  • サービスの実行終了
上記のポイントで、各サービス/プロセスに処理が移ったタイミングでのセッションの内容を確認できます。
このサービスの実行ログ出力の方法及び設定ファイルについては別途ガイドがありますので、詳細はこちらを参照して下さい。


プロセスのステップ実行

ログ出力を行うことでサービスの実行自体をある程度トレースすることができますが、 サービス定義ファイル中に含まれるプロセスの数が多くなってくるとログの内容も膨大になってくるため なかなか問題箇所を見つけることが出来ないことがあります。

そのような場合のために、サービス実行エンジンではサービスをプロセス毎にステップ実行する機能が用意されています。 この機能は利用する際の準備が若干わかりにくいものになっていますが、Eclipse等のJavaプログラムデバッガの機能を 利用しているもので大抵の環境において利用することが可能です。

このサービスのステップ実行の方法及び設定ファイルについては別途ガイドがありますので、詳細はこちらを参照して下さい。


更新情報

  • 最終更新者 : $Author: morishita $
  • 最終更新日時 : $Date:: 2009-11-07 17:19:30 #$
  • バージョン : $Revision: 4347 $



Copyright © 2006, Atrris Corporation