Workshop による Web サービスの構築

Workshop を使用して、エンタープライズクラスの Web サービスを構築できます。構築された Web サービスは、XML、SOAP、WSDL などの標準的な Web サービスの技術を使用します。Workshop を使用すると、開発者はこれらの技術にこれまで不可欠だった複雑な実装ではなく、アプリケーション ロジックに集中できるため、Web サービスの開発が容易になります。

Workshop には、Web サービスのデザイン ビューも用意されています。デザイン ビューは、Web サービスをデザイン、作成、および編集するためのグラフィカル ツールです。

次の節では、Workshop を使用して Web サービスの構築を開始するために必要な基本概念について詳細に説明します。

Web サービスのデザイン ビュー

Web サービスのデザイン ビューは、Web サービスやそのオペレーションをグラフィックで直観的に表示します。また、デザイン ビューを使用すると、複雑なコーディング作業やデザイン作業を簡単に行えます。デザイン ビューの詳細については、「デザイン ビューを使用した Web サービスの作成」を参照してください。

Web サービス プロジェクト

Web サービスは Web サービス プロジェクトの中に構築します。Web サービス プロジェクトは J2EE Web アプリケーションに相当するもので、Web サービスをサポートするファセットが追加されています。1 つのプロジェクトの中に複数の Web サービスを構築できます。

アプリケーションとプロジェクトの詳細については、「アプリケーションとプロジェクト」を参照してください。

Web サービス クラス

Web サービス クラスは Web サービスの中心部分です。Web サービスの動作を決定する (@WebService アノテーションで修飾された) 通常の Java クラスであり、Web サービスのアプリケーション ロジックが含まれる 1 つまたは複数のコントロールをよく使用します。Workshop で構築された Web サービスは、XML メッセージを介して外部と通信する Java クラスであると考えることができます。このドキュメントでは、Java プログラミングの知識があることを前提としています。

Web サービスは、Workshop 統合開発環境で設計します。

メソッドとコールバック

Web サービスには、クライアントがインターネット上で呼び出せるパブリック インタフェースがあります。このインタフェースはメソッドとコールバックで構成されます。Web サービスがエクスポーズするメソッドは、クライアントによって呼び出されます。コールバックは、クライアントに情報を返信するために Web サービスが呼び出す、クライアント上のメソッドです。これらのメソッドとコールバックは @WebMethod アノテーションで修飾されているため、インターネットを通じて使用できます。

Web サービス コードには、クライアントにはエクスポーズされないパブリックではないメソッドもあります。これらのメソッドは、Web サービスで内部機能を実行します。これらのメソッドは @WebMethod で修飾されていません。

Web サービスが使用するコントロールは、メソッドとイベントもエクスポーズします。Web サービスは、メソッドを呼び出し、イベント ハンドラを実装することで、コントロールのクライアントとしても機能します。

カスタム コントロール

Web サービスでカスタム コントロールを使用して、Web サービスのアプリケーション ロジックを実装することができます。カスタム コントロールでは、システム コントロールを使用して、データベース、レガシー アプリケーション、その他の Web サービスなどのエンタープライズ リソースにアクセスします。つまり、Web サービスはコントロール メソッドを呼び出し、コントロール イベントのイベント ハンドラを実装することによって、カスタム コントロールと対話します。また、カスタム コントロールは、コントロール メソッドを呼び出し、使用するコントロールのイベント ハンドラを実装します。

Workshop には、共通のリソースに接続するためのシステム コントロールが用意されています。Workshop が提供しているシステム コントロールは次のとおりです。

システム コントロールの詳細については、「システム コントロールの使用」を参照してください。カスタム コントロールの構築の詳細については、「カスタム コントロールの開発」を参照してください。

プロパティ

Web サービスを構成するほとんどの要素 (メソッド、コールバック、コントロール、および Web サービス自体) には、その特性を指定するために設定できるプロパティがあります。プロパティは、Workshop IDE の [プロパティー] ビューで設定できます。Web サービスの各要素には、1 つまたは複数のアノテーションがあります。それぞれのアノテーションには一連の属性があり、[プロパティー] ビューの要素のプロパティに対応します。プロパティは、(@ で始まる) Java 5 アノテーションとしてコードに格納されます。必要な場合は、コード エディタで直接アノテーションを編集することもできます。

会話と非同期通信

プロセスの多くは、完了までに時間がかかります。クライアントが Web サービスにリクエストを送信する場合、Web サービスがすぐに応答しないとクライアントは待機したままになり、他の処理を続行できなくなります。Workshop で構築した Web サービスは、非同期通信を使用することによって、この問題を解決します。

クライアントと Web サービスが非同期通信すると、クライアントのリクエストは Web サービスによって即座に確認され、リクエストが処理されます。その間、クライアントは他の作業を続行できます。非同期の Web サービスの構築の詳細については、「非同期インタフェースの設計」を参照してください。

Web サービスとそのクライアントは会話に参加することもできます。会話はクライアントとサービスの間で交換されるステート関連データを記録します。会話におけるクライアントのリクエストとサービスの応答は、会話 ID で関連付けられます。会話 ID は、クライアントがサービスとの会話を始める際に作成されるユニークな識別子です。

会話の詳細については、WebLogic Server ドキュメントの「会話形式の Web サービスの作成」および「チュートリアル : タイマー コントロールの作成」を参照してください。

Web サービスを設計するための開始点

開発者は、既存のデータ構造や規約に準拠した Web サービスを設計する場合がよくあります。一般的な開始点は、WSDL ファイル、XSD ファイル、または Java ファイルです。

WSDL から開始する

Web サービスを構築する際、多くの場合、既存の Web サービス規約 (WSDL ファイル) に準拠した Web サービス実装を簡単に構築できます。この Web サービスの作成方法は、「WSDL First」、「Contract First」、または「トップ ダウン」Web サービス設計と呼ばれることがあります。

スキーマ ファイルから開始する

Web サービスを設計するもう 1 つの一般的な方法は、XML スキーマ ファイル (XSD ファイル) から開始する方法です。スキーマから XMLBeans をコンパイルし、その XMLBean クラスの中心となる Web サービス実装を構築します。

Java ファイルから開始する

この手法では、Web サービスを Java クラスとして開発します。メソッドは Web サービスのオペレーションになり、メソッドのパラメータと戻り値の型は単純な JavaBean になります。Java クラスには、エクスポーズされるメソッドを示したり、サービスの他のプロパティを設定したりするためのアノテーションが付けられます。

これらの Web サービス設計方法の Workshop でのサポートの詳細については、「Web サービスを開発するための開始点」を参照してください。

Web サービスではネストされた型を使用できない

WebLogic Server 9.x および 10.x の Web サービス スタックでは、パラメータまたは戻り値としてネストされた型をサポートしていません。ただし、Beehive コントロールでは、データ値のパターンとして内部クラスがよく使用される (たとえば、JDBC コントロールでは、データベース クエリからの戻り値を保持する内部クラスの例がコメントアウトされている)。したがって、Beehive コントロールのネストされた値を JWS で使用することはできない。

内部クラスを含む Beehive コントロールを JWS で使用する場合は、内部クラスをスタンドアロン クラスに変換する必要があります。

関連トピック

非同期インタフェースの設計

Beehive コントロールの操作

会話形式の Web サービスの作成


さらにヘルプが必要ですか。質問は Workshop ニュース グループまでお寄せください。