UML から WSDL への変換出力

UML から WSDL への変換で生成される出力の構造は、UML ソース・モデルの構造によって決まります。 変換によって WSDL に変換される UML 要素は、別々のパッケージに配置できます。

UML から WSDL への変換により、変換構成で指定したターゲット・プロジェクトまたはフォルダーに出力が生成されます。

ソース・モデルに WSDL ポート・タイプまたは XSD タイプが含まれている場合、変換では変換出力に WSDL import ステートメントを生成します。 WSDL import ステートメントにより、WSDL ポート・タイプおよび XSD タイプの名前空間がインポートされます。 既存のワークスペース内にある名前空間のみがインポート可能です。 変換では、ソース・モデル内の WSDL ポート・タイプおよび XSD タイプは変更されません。 また、これらのリソースは、変換構成で指定されたターゲット・プロジェクトまたはフォルダーにもコピーされません。

変換により、ソース・モデルの構造に基づいた出力が生成されます。 変換によって生成される出力において、WSDL 要素および XSD スキーマの名前空間は、UML 要素の名前、または UML パッケージか UML コンポーネントの名前がベースとなります。

ソース・モデル内のコンポーネントに XSD スキーマ要素が含まれ、そのコンポーネントがサービス・プロバイダーである場合は、変換により、同じ WSDL ファイル内に XSD スキーマがインラインで生成されます。

以下のサンプルはさまざまなソース・モデル構造がベースとなる、変換出力の構造を記述しています。

サンプル: UML 要素がコンポーネントに含まれている

以下のサンプルでは、Web サービスを記述する UML 要素が、ソース・モデル内の 1 つのコンポーネントに含まれています。 パッケージ com.ibm.example1 には、コンポーネント Component1 が含まれています。 Component1 内にあるクラス Class1 には、属性 id および属性 name が含まれています。 Component1 内にあるインターフェース Interface1 には、操作 Operation1 が含まれています。 Operation1 には、パラメーター exception1、パラメーター parameter1、および戻りパラメーター result が含まれています。

このイメージは、上記のパラグラフで説明されているコンポーネントを図示しています。

このサンプルでは、変換によりインライン・スキーマを含む Component1.wsdl という名前の WSDL ファイルが 1 つ生成されます。 以下の表に、変換出力が説明されています。
生成される WSDL リソース WSDL プロパティー
[Transformation target]¥[Package name]¥...¥[parent Package name]¥com.ibm.example1¥Component1¥Component1.wsdl targetNamespace http://[Package name]/../[parent Package name]/com.ibm.example1/Component1

サンプル: UML 要素が同じパッケージに含まれているが、コンポーネントには含まれていない

以下のサンプルでは、Web サービスを記述する UML 要素が同じパッケージ内に含まれていますが、その Web サービスを表すコンポーネント内には含まれていません。 パッケージ com.ibm.example2 には、クラス Class2、コンポーネント Component2、およびインターフェース Interface2 が含まれています。 そのインターフェースには操作 Operation2 があり、Operation2 にはパラメーター exception2、パラメーター parameter、および戻りパラメーター result があります。

このイメージは、上記のパラグラフで説明されているパッケージを図示しています。

このサンプルでは、変換により以下の 3 つの WSDL リソースが生成されます。 以下の表に、変換出力が説明されています。
生成される WSDL リソース WSDL プロパティー
[Transformation target]¥com¥ibm¥example2¥Component2.wsdl targetNamespace http://com.ibm.example2/Component2/
[Transformation target]¥com¥ibm¥example2¥com_ibm_example2.wsdl targetNamespace http://com.ibm.example2/

サンプル: UML 要素が異なるパッケージにある

このサンプルでは、Web サービスを記述する UML 要素は、異なるパッケージに包含されます。 パッケージ com.ibm.data3 にはクラス Class3 が含まれていて、そのクラスには属性 id および属性 name があります。 別のパッケージ com.ibm.example3 には、コンポーネント Component3 が含まれています。 3 番目のパッケージ com.ibm.spec3 にはインターフェース Interface3 が含まれていて、そのインターフェースにはパラメーター exception3、パラメーター parameter3、および戻りパラメーター result が含まれています。

このイメージは、上記のパラグラフで説明されているパッケージを図示しています。

このサンプルでは、変換により 2 つの WSDL ファイルおよび 1 つの XSD ファイルが生成されます。 以下の表に、変換出力が説明されています。
生成される WSDL リソース WSDL プロパティー
[Transformation target]¥com¥ibm¥example3¥Component3.wsdl targetNamespace http://com.ibm.example3/Component3/
[Transformation target]¥com¥ibm¥spec3¥com_ibm_spec3.wsdl targetNamespace http://com.ibm.spec3/wsdl/
[Transformation target]¥com¥ibm¥data3¥com_ibm_data3.xsd targetNamespace http://com.ibm.data3/xsd/

フィードバック