【特集】

SOAの技術仕様がついに完成! - SCAのいろはを学ぶ

7 Tuscanyによる実践(3) - 出力処理とディレクトリ構成

    白石俊平  [2007/04/19]

    次に、サービス「CalculatorService」を使用して数値の合計を求めて標準出力に出力している、クライアントのコードの一部を見ていただこう。クラス名はcalculator.CalculatorClientであり、重要な部分以外は省略する。ただし、残念ながら現在のTuscanyにおけるJava APIは、SCAバージョン1.0に全く追随できていない。とはいえ、コードの雰囲気はほとんど変わらないのが以下を参照してもらえばわかるだろう。

    public class CalculatorClient {
        public static void main(String[] args) throws Exception {
    
            // SCAバージョン1.0仕様では以下のようなコードになる
            /*
            ComponentContext context = // 実行環境依存のコード
            CalculatorService calculatorService =
                context.getService(CalculatorService.class, "CalculatorServiceComponent");
            */
    
            CompositeContext context = CurrentCompositeContext.getContext(); ・・・(1)
            CalculatorService calculatorService =
                context.locateService(CalculatorService.class, "CalculatorServiceComponent"); ・・・(2)
            // Calculate
            System.out.println("3 + 2=" + calculatorService.add(3, 2));
            ・・・略・・・
        }
    }

    括弧書きの数字を付けた部分は、以下のようになっている。

    (1) コンテキスト(現在のサンプルではCompositeContext、将来はComponentContext)を取得する

    (2) サービスのインスタンスを動的に取得する。サービスインタフェースとなるJavaインタフェースのクラスインスタンスと、それを実装したコンポーネントの名称を指定する

    最後に、パッケージングしたサンプルがどのようなディレクトリ構成になるのかを知っておきたい。ビルドが成功しているならば、target/sample-calculator.jarファイルを展開していただければ、図7のようなディレクトリ構成になっていることが確認できると思う。

    図7: サンプルのディレクトリ構成

    残念ながら、このディレクトリ構成も正式リリース版では変わる可能性がある。ここで重要なのは、単一のJARファイルがコンポジットの単位と一致している(つまりコンポジットがデプロイの単位になっている)こと、META-INFディレクトリ以下にSCDLファイルが置かれること(現在のTuscanyではdefault.scdlというファイル名)である。この事実は恐らく正式リリース版でも変わることがない。

    今回の解説はここまでとしたい。Apache Tuscanyもまだ正式リリースに至っておらず、仕様との齟齬が多く残っている中での解説はやや時期尚早だったかもしれないが、SCAという注目に値する技術を一刻も早く紹介するため敢えて詳しく取り上げさせていただいた。

    Tuscanyが正式リリースに至った暁には、今回の解説との差異を中心にまたご紹介したいと思う。

    関連したタグ

    新着記事

    特設サイトの情報

      求人情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      転職ノウハウ

      あなたの仕事適性診断

      4つの診断で、自分の適性を見つめなおそう!

      Heroes File ~挑戦者たち~

      働くこと・挑戦し続けることへの思いを綴ったインタビュー

      はじめての転職診断

      あなたにピッタリのアドバイスを読むことができます。

      転職Q&A

      転職に必要な情報が収集できます

      スカウト転職する

      企業からアプローチのメッセージが届きます。

      マイナビニュースマガジン