ステップ 1: Investigate Web サービスを開始する

このステップでは、WebLogic Workshop の起動方法を学習し、WebLogic Workshop を使用して新しい Web サービスを開始します。WebLogic Workshop は Web サービスを作成、実装、テスト、およびデバッグするためのグラフィカル ツールです。WebLogic Workshop で作業する場合、プロジェクトを使用して、Web サービスに関連付けられたファイルまたは関連する Web サービスをグループ化します。

WebLogic Workshop で、WebLogic Server を起動および停止することもできます。WebLogic Server は、WebLogic Workshop で構築する Web サービスをサポートする機能を提供するため、Web サービスの構築中は WebLogic Server を実行している必要があります。

このチュートリアルでは、以下の操作について学習します。

WebLogic Workshop を起動する

どのプロセスでも最初に行うのはプログラムの起動です。この節では、Microsoft Windows、Linux、および UNIX プラットフォーム上での起動方法を説明します。

Microsoft Windows 上で WebLogic Workshop を起動するには

Linux 上で WebLogic Workshop を起動するには

  1. ファイル システム ブラウザまたはシェルを開きます。

  2. 次のアドレスにある Workshop.sh ファイルを見つけます。

$HOME/bea/weblogic700/workshop/Workshop.sh

  1. コマンド ラインで、次のコマンドを入力します。

sh Workshop.sh

インストール後に WebLogic Workshop を初めて起動すると、samples プロジェクトが表示されます。このプロジェクトには WebLogic Workshop に付属しているサンプルの Web サービスが含まれています。2 回目以降に使用する場合、WebLogic Workshop には最後に開いたプロジェクトが表示されます。

このチュートリアルでは、samples プロジェクトを使用します。

samples プロジェクトを開くには

  1. [ファイル|プロジェクトを開く] を選択します。[プロジェクトを開く] ダイアログが表示されます。

  2. [開発サーバ上のプロジェクト] ボックスで、samples を選択します。

  3. [開く] をクリックします。

samples プロジェクトを開いたら、サービスの構築中は必ず WebLogic Server を起動しておきます。WebLogic Workshop を使用して作成するすべての Web サービスは、デプロイするまでは、開発マシンにある WebLogic Server 上で動作します。Web サービスが他のコンポーネントから呼び出される場合、WebLogic Server が Web サービスの呼び出しを処理します。

WebLogic Workshop の下部にあるステータス バーのインジケータを見ると、WebLogic Server が実行中かどうかを確認できます。WebLogic Server が実行中の場合は、次の図のように緑色のボールが表示されます。

反対に次の図のように赤いボールが表示されている場合は、次に進む前に WebLogic Server を起動しなければなりません。

WebLogic Server を起動するには

WebLogic Workshop で、[ツール|WebLogic Server の起動] を選択します。

新しい Web サービスを作成する

WebLogic Workshop と WebLogic Server を実行したら、新しい Web サービスを作成することができます。新しい Web サービスを作成するときは、新しい JWS ファイルも作成します。JWS ファイルは Java ファイルと非常に似ていて、Java クラスのコードが含まれています。ただし、JWS 拡張子が付いたファイルには Web サービスを特に対象とした実装コードが含まれており、拡張子によって WebLogic Server のコンテキストにおける特別な意味が与えられます。

新しい Web サービスを作成するには

  1. プロジェクト ツリーで [プロジェクト 'samples'] を右クリックして、[新しいフォルダ] を選択します。[新しいフォルダの作成] ダイアログが表示されます。

  1. [新しいフォルダ名を入力してください。] ボックスで、次のように financialservices と入力します。

  1. [OK] をクリックします。プロジェクト ツリーに financialservices フォルダが表示されます。

  2. financialservices ファイルを右クリックして、[新しいファイル] を選択します。[新しいファイルの作成] ダイアログが表示されます。

  3. 次の図のように、[Web サービス] ラジオ ボタンが選択されていることを確認します。

注意 : [Java]、[JavaScript]、および [テキスト] オプションによって、これらの種類のファイルをプロジェクトに追加することができます。ただし、ここでは [Web サービス] を選択したままにしておきます。

  1. [ファイル名] フィールドに Investigate と入力します。これが Web サービス クラスの名前になります。

  1. [OK] をクリックします。

新しいサービス プロジェクトを作成すると、WebLogic Workshop には新しい JWS ファイルが表示され、デザイン ビューのタイトルは Investigate.jws になります。以下のスクリーン ショットでは、デザイン ビューに表示されたプロジェクトを概観できます。

サービスのグラフィカルな設計

デザイン ビューでは、サービスをグラフィカルに設計できます。サービスおよびサービスとクライアントや他のリソースとの対話に関する設計図を作成します。サービスを設計すると、WebLogic Workshop はソース ビューで編集可能なソース コードを生成します。このソース コードによって設計の背後にロジックが追加されます。従って、インフラストラクチャのコードよりもアプリケーション ロジックに集中して Web サービスを作成することができます。

サービスを設計するときに、メソッドとイベントを追加できます。コントロールを追加して、他のサービス、データベース、および エンタープライズ JavaBean などのリソースを表すことができます。設計では、項目ごとにプロパティを設定して、基底のサーバが備える強力な機能のサポートを指定することもできます。

注意 : 実行できる設計タスクを理解するには、デザイン中の項目をクリックして、デザイン ビューの右下にあるタスク ペインに表示されたタスクを参照します。

WebLogic Workshop の主な機能の 1 つに、Web サービスの設計中に行うタスクと、ソース コードに加える変更が密接に統合されている点があります。たとえば、ソース ビューでソース コードにメンバー変数を追加すると、デザイン ビューに新しい変数が表示されます(逆の場合も同様)。この統合は構造ペインにも反映されます。構造ペインには、サービスの設計に含まれるメソッド、イベント、変数などの項目のリストがあります。あるビューで加えた変更を他のビューに表示ために、ファイルを保存または更新する必要はありません。

プロジェクトとそこに含まれるファイルの詳細については、WebLogic Workshop プロジェクトを参照してください。

requestCreditReport メソッドを追加する

Web サービスはその機能をメソッドとして公開し、クライアントはメソッドを呼び出してリクエストを行います。ここでは、作成したメソッドを使用してクライアントがクレジット レポートを要求します。それを受けて、構築しているサービスでは他のソースからクレジット情報を収集します。ただし、ここではわかりやすいように、簡単なレポートをすぐに返すメソッドを用意します。Web サービスはクライアントにローンまたはクレジット申込者のクレジット評価を提供します。Web サービスではクライアントが最初のリクエストを行う方法を提供する必要があります。そのためには、Investigate Web サービスに requestCreditReport メソッドを追加します。

新しいメソッドを追加するには

  1. 選択されていない場合は、[デザイン ビュー] タブをクリックして、Investigate Web サービスの設計を表示していることを確認します。

注意 : メソッドの追加はデザイン ビューで行はなくてもかまいませんが、デザイン ビューでは、変更を加えるとサービスの設計がどのように更新されるのかがよくわかります。

  1. [処理の追加] ドロップダウン リストから [メソッドの追加] を選択します。

  2. 表示されたスペースで、method1requestCreditReport に変更して〔Enter〕を押します。

注意 : メソッドを追加した後に(たとえば、このトピックを読むために)WebLogic Workshop から移動すると、メソッド名は編集できない状態になります。再び編集できる状態にするには、名前を右クリックして [名前の変更] をクリックし、requestCreditReport と入力します。次に〔Enter〕を押します。

これで、Investigate Web サービスの設計は次の図のようになります。

パラメータとロジックを追加する

要求を行う場合、Investigate ファイルが機能するために、クライアントは申込者の情報を提供する必要があります。このシナリオでは、クライアントは納税者 ID を提供します。わかりやすくするため、このメソッドではその番号を文字列として受け取ります。メソッドが要求された結果をクライアントに返信できるように、戻り値を追加することもできます。

パラメータと戻り値を追加するには

  1. デザイン ビューで、requestCreditReport メソッドに対応する矢印をダブルクリックします。

[マップおよびインタフェースの編集] ダイアログが表示されます。

  1. ダイアログの下部にある [Java] ペインで、テキストを次のように編集します。

public String requestCreditReport(String taxID)

このテキストはメソッドの宣言と呼ばれます。最初の「String」は戻り値のデータ型、「String taxID」はパラメータのデータの型と名前です。

  1. メソッド宣言を編集し終えたら、[OK] をクリックします。

これで、メソッドが処理を行うためのコードを追加できます。ここで追加するコードは、requestCreditReport メソッドが呼び出されるたびに文字列値を返します。当然あまり便利ではありませんが、より高度な機能は後で追加します。

ソース コードを編集して、メソッドの機能を変更します。

値を返すためのコードを追加するには

  1. デザイン ビューで、次の図のようにメソッド名をクリックします。

次のようなソース コードが表示されます。

/** * @jws:operation */ public String requestCreditReport(String taxID) { }

このソース コードは、デザイン ビューで操作したときに追加されました。

  1. requestCreditReport メソッドが文字列を返すように、メソッドのコードを編集します。戻り値は次のようになります。

/** * @jws:operation */ public String requestCreditReport(String taxID) {    return "applicant: " + taxID + " is approved."; }

  1. 〔Ctrl〕+〔S〕を押して作業を保存します。

ここで記述したように、requestCreditReport メソッドのコードは、クライアントがメソッド呼び出しとともに送信した納税者 ID と、申込者が確認されたという通知を含む文字列を返します。Web サービスへの変更を保存するには、〔Ctrl〕+〔S〕を押します。

@jws:operation タグを含むコメントがメソッドの前にあることに注意してください。これは Javadoc コメントです(Javadoc コメントは常に /** で始まり */ で終わります)。Javadoc とは、プログラムの構造に関連する情報をコメントに含めるための簡単な方法です。コメントはタグで表し、Java クラスの構造に関するドキュメントや他の資料を生成するために、自動的に抽出できます。元々の用途は、HTML に抽出されるインラインのドキュメントを指定することでした。WebLogic Workshop ではさまざまな Javadoc タグを使用して、WebLogic Server による Web サービス コードの処理方法を指定します。

@jws:operation タグがメソッドに添えられている場合、そのメソッドはクライアントが呼び出せる Web サービス メソッドとして公開されることを表します。operation (操作)という語は、ここで追加した requestCreditReport メソッドのような、Web サービスがクライアントに公開するアクションのことです。Javadoc の詳細については、java.sun.com の Javadoc のページを参照してください。

ブラウザを起動してサービスをテストする

コードの記述中やデバッグ中にWeb サービスをテストするには、テスト ビューを使用するのが最適です。テスト ビューはブラウザベースのツールで、Web サービスのメソッドを呼び出すことができます。このチュートリアルでは、WebLogic Workshop の 2 つのボタンを使用して、テスト ビューの表示を制御します。

テスト ビューを起動するには

注意 : テスト ビューを停止するには、次のような [停止] ボタンをクリックします。

[開始] ボタンをクリックすると、WebLogic Workshop はプロジェクトをビルドして、途中でエラーがないかチェックします。その後 Web ブラウザが起動され、適当な値を使ってサービス メソッドをテストできるページが表示されます。次の図に、[開始] ボタンをクリックすると表示される [Test Form] ページを示します。

図のように、このページにはテスト ビューの他のページにアクセスするためのタブがあります。[Test Form] または [Test XML] には、サービス メソッドの呼び出しの内容を指定する手段が用意されています。[Overview] と [Console] には、追加情報とサービスのデバッグに便利なコマンドがあります。[Warnings] タブではサービスについてのフィードバックを提供します。これらのタブについては、このトピックで後述します。まず、現在表示されているページについて、さらに詳しく説明します。

[Test Form] タブを探索する

[Test Form] タブには、値を使ってサービスをテストするための場所が用意されます。メソッドのパラメータに対する値を入力できます。Investigate サービスには 1 つのパラメータを持つ 1 つのメソッドがあります。従って、このページには taxID パラメータの値を入力できるボックスが表示されます。[requestCreditReport] ボタンをクリックすると、WebLogic Workshop は requestCreditReport メソッドを呼び出し、テキスト ボックスの内容をパラメータとしてメソッドに渡します。

requestCreditReport メソッドをテストするには

  1. まだ選択されていない場合は、[Test Form] タブをクリックします。

  2. [string taxID] フィールドに値を入力します。この値には任意の文字列値を使用できますが、テストのためには、納税者 ID らしい値(123456789 など)にする必要があります。

  1. [requestCreditReport] をクリックします。

[Test Form] ページが更新されて、次のように、リクエストのパラメータとサービスの応答の概要が表示されます。

[Service Request] の下には、メソッドを呼び出した時にクライアントから送信される主な内容が表示されます。次の例のように、メソッド呼び出しで渡されるパラメータが示されています。

taxID = 123456789

[Service Response] の下には、Investigate サービスによって返された内容が表示されます。Web サービスとの通信は XML メッセージとしてフォーマットされるため、応答は Extensible Markup Language(XML)の断片としてフォーマットされています。次のように、入力したコードの正しい結果がメソッドから返されたことがわかります。

<string xmlns="http://www.openuri.org/">applicant: 123456789 is approved.</string>

リクエストと応答の左側は [Message Log] 領域です。この領域には、サービス メソッドの呼び出しのテストごとに個別のエントリが表示されます。[Message Log] のエントリはサービスのメソッドに対応し、テストを実行するたびに新しいエントリを加えて更新されます。

これを試してみるには、[Test operations] リンクをクリックして元の [Test Form] ページに戻り、[string taxID] ボックスに新しい値を入力してから [requestCreditReport] をクリックします。ページが更新されて、2 回目のテストに対応するリクエストと応答のデータが、[Message Log] の2 つ目のエントリとして表示されます。各ログ エントリをクリックすると、対応するテストのデータを参照できます。ログ エントリのリストを消去してやり直すには、[Clear Log] をクリックします。

これでテストは終了です。この簡単なテストで、このサービスの機能は十分学習できました。

ただし、次に進む前に、テスト ビューで利用できる他の情報も見てみましょう。たとえば、[Warnings] タブの隣にある、ページの右上隅の URL は、次のように表示されています。

http://localhost:7001/samples/financialservices/Investigate.jws

これは、Web サービスの呼び出しに使用される URL です。URL の各部分には特定の意味があります。各部分の説明は以下のとおりです。

[Overview] ページを探索する

[Overview] ページは、サービスの開発者やクライアントが Web サービスを使用する際に必要なすべてのファイルへアクセスできるようになっているため、特に注目する必要があります。サービスの設計とソース コードを更新した場合、これらのファイルの最新版を簡単に入手できます。そのため、テストを行う場合、デプロイされたアプリケーションで使用する場合などに、[Overview] ページは非常に便利なリソースとなります。

以下のリストでは [Overview] ページの主な機能をいくつか説明します。

[Web Service Description Language files] Web Service Definition Language(WSDL)ファイルでは、サービスのインタフェースを記述し、サービスの機能を使用するために知る必要のある事柄を潜在的なクライアントに提供します。

[Web Service Clients] 以下のリストでは、ここのリンクについて簡単に説明します。詳細についてはこのチュートリアルで後述します。

[Service Description] Web サービスによって公開されるメソッドとコールバックのリストです。これは確認のために用意されています。このリストに想定するメソッドがすべて表示されていない場合は、Web サービスのソース コードに問題があります。ここでは、Investigate Web サービスには現在 requestCreditReport メソッドがだけがあり、コールバックがないことが確認できます。

[Useful Links] クライアント プロキシの構築方法に関するトピックへのリンク、および以下の言語の標準仕様へのリンクがあります。

[Console] ページを探索する

[Console] ページでは、コンピュータで実行中の WebLogic Server インスタンスに関連する情報とコマンドを提供します。このページの設定とボタンを通じて、サービスのテスト中に WebLogic Server のローカル インスタンスの状況を制御できます。

[Test XML] ページを探索する

Web サービスがデプロイ済みでクライアントからリクエストを受け付けている場合、そのリクエストは、リクエスト固有の情報を伝える XML メッセージの形式で届きます。[Test XML] ページでは、サービスに送信される XML メッセージの本体に近いものを使用してサービスをテストする場が提供されます。これを試してみるには、プレースホルダの値を、先ほどテストした納税者 ID で置き換えてから、[requestCreditReport] をクリックします。

<requestCreditReport xmlns="http://www.openuri.org/">
  <taxID>
    111111111
  </taxID>
</requestCreditReport>

Web サービスのメソッドにコードを追加して、メソッドが正しく処理されるかどうかテストすることができました。次のステップ 2: 非同期通信のサポートを追加するでは、サービスの設計を変更して、インターネットを介した通信に特有のレイテンシの問題を解決します。

関連トピック

WebLogic Workshop プロジェクト

デザイン ビュー

テスト ビュー

チュートリアルの前後のステップに移動するには、次のいずれかの矢印をクリックしてください。