この章の内容は次のとおりです。
新しいアプリケーションの構築での最初の手順は、そのアプリケーションへの名前の割当てとソース・ファイルを保存するディレクトリの指定です。Oracle SOA Suiteのクイック・スタートをインストールすると、Oracle SOA Suite拡張機能がOracle JDeveloperに自動的にインストールされます。この点が、Oracle SOA Suite拡張機能を手動でOracle JDeveloperにインポートした以前のリリースとは異なります。Oracle SOA Suiteのクイック・スタートのインストールの詳細は、『SOA SuiteおよびBusiness Process Management SuiteのQuick Start for Developersのインストール』を参照してください。
最初にSOAプロジェクト用のアプリケーションを作成します。
SOAアプリケーションおよびプロジェクトを作成する手順は、次のとおりです。
Oracle JDeveloper Studio Editionを起動します。
Oracle JDeveloperを初めて実行する場合は、Java JDKの場所およびOracle JDeveloperを実行するユーザー・ロールを指定します。JDKのバージョンは、1.7.0_15以上である必要があります。
表2-1の説明に従って、SOAコンポジット・アプリケーションを作成します。
表2-1 SOAコンポジット・アプリケーションの作成
Oracle JDeveloperの状態 | 結果 |
---|---|
アプリケーションがない たとえばOracle JDeveloperを初めて開いている場合。 |
左上にある「アプリケーション」ウィンドウで、「新規アプリケーション」をクリックします。 |
既存のアプリケーションがある。 |
「ファイル」メイン・メニューから次の手順を実行します。
「アプリケーション」メイン・メニューから次の手順を実行します。
「アプリケーション」ウィンドウの「アプリケーション」メニューから次の手順を実行します。
|
SOAアプリケーションの作成ウィザードが表示されます。
「アプリケーションの名前付け」ページで、必要に応じて、アプリケーションの名前と場所を変更できます。このアプリケーションが最初のアプリケーションである場合は、「アプリケーション・テンプレート」から「SOAアプリケーション」を選択します。パッケージ接頭辞のデフォルトをそのまま使用して、「次」をクリックします。
注意:
次のアプリケーション命名規則に注意してください。
空白を使用したアプリケーション名は作成できません。
空白があるディレクトリ・パスにアプリケーションおよびプロジェクトを作成することはできません(例: c:\Program Files
)。
UNIXオペレーティング・システムでは、LANG
およびLC_All
環境変数をUTF-8キャラクタ・セットを使用するロケールに設定して、Unicodeサポートを有効にすることをお薦めします。この設定により、オペレーティング・システムではあらゆる文字をUnicodeで処理できるようになります。SOAテクノロジはUnicodeに基づいています。オペレーティング・システムがUTF-8以外のエンコーディングを使用するように構成されている場合は、SOAコンポーネントが想定とは異なって機能する可能性があります。たとえば、ファイル名がASCIIでない場合は、ファイルにアクセスできず、エラーが発生する可能性があります。オペレーティング・システムの制約によって発生する問題はサポート対象外となります。
設計時環境でOracle JDeveloperを使用している場合は、「ツール」→「プリファレンス」→「環境」→「エンコーディング」→「UTF-8」の順に選択して、Unicodeのサポートを有効にします。この設定は、実行時の環境にも適用可能です。
「プロジェクトの名前付け」ページで、必要に応じて、SOAプロジェクトの名前と場所を変更できます。デフォルトでは、Oracle JDeveloperによって、モデル・プロジェクトに、SOAプロジェクト・テクノロジ、SOAコンポジット・アプリケーションを記述するcomposite.xml
ファイル、および必須ライブラリが追加されます。
「次へ」をクリックします。
注意:
コンポジット名およびコンポーネント名は、500文字以下にする必要があります。
同じインフラストラクチャにデプロイされるプロジェクトは、SOAコンポジット・アプリケーション全体で一意の名前である必要があります。コンポジットの一意性はプロジェクト名で判断されます。たとえば、表2-2に記載されている操作は実行しないでください。デプロイ時に、2番目にデプロイされたプロジェクト(コンポジット)で最初にデプロイされたプロジェクト(コンポジット)が上書きされます。
表2-2 SOAプロジェクトの名前付けに関する制限
作成するアプリケーションの名前 | 作成するSOAプロジェクト名 |
---|---|
|
|
|
|
SOAアプリケーションの作成ウィザードのプロジェクトSOA設定ページが表示されます。
SOA設定の構成ページで、この例用に「空のコンポジット」をクリックし、「終了」をクリックします。表2-3で、このページのオプションをすべて説明します。
表2-3 「SOA設定の構成」ページ
要素 | 説明 |
---|---|
空のコンポジット |
空のSOAコンポジット・アプリケーションを作成します。このタイプはデフォルトで選択されています。 |
BPELプロセスを使用するコンポジット |
「BPELプロセスの作成」ダイアログが自動的に開き、ここで最初のBPELプロセスを作成します。BPELプロセスでは、一連のビジネス・アクティビティおよびサービスをエンドツーエンドのプロセス・フローに統合するビジネス・プロセスを設計できます。 |
メディエータを使用するコンポジット |
「メディエータの作成」ダイアログが自動的に開き、ここで最初のOracle Mediatorサービス・コンポーネントを作成します。Oracle Mediatorを使用すると、異なるコンポーネント間でイベント(メッセージ)をルーティングできます。 |
ヒューマン・タスクを使用するコンポジット |
「ヒューマン・タスクの作成」ダイアログが自動的に開き、ここで最初のヒューマン・タスク・サービス・コンポーネントを作成します。ヒューマン・タスク・コンポーネントでは、エンドツーエンドのビジネス・フローの一部として実行されるユーザーまたはグループのタスクを記述するワークフローをモデル化できます。これらのタスクは、プロセスの実行時にOracle BPM Worklistを介してアクセスされます。 |
サブプロセスを使用するコンポジット |
サブプロセスを使用してSOAコンポジット・アプリケーションが自動的に作成されます。サブプロセスは、別個のプロセスが特定のプロセッサ内で再利用できるBPELコードのフラグメントです。 |
ビジネス・ルールを使用するコンポジット |
「ビジネス・ルールの作成」ダイアログが自動的に開き、ここで最初のビジネス・ルール・サービス・コンポーネントを作成します。ビジネス・ルールにより、ルールに基づくビジネス上の意思決定を設計できます。 |
Springを使用するコンポジット |
「Springの作成」ダイアログが自動的に開き、ここでspringコンテキスト・サービス・コンポーネントを作成します。Springコンテキスト・サービス・コンポーネントは、WSDLファイルではなくJavaインタフェースを使用するコンポーネントをSOAコンポジット・アプリケーションに統合できます。Javaインタフェースを使用するコンポーネントを、同じSOAコンポジット・アプリケーション内のWSDLファイルを使用するコンポーネントと統合することもできます。 |
「ファイル」メイン・メニューから「すべて保存」を選択します。
SOAアプリケーションを作成すると、Oracle JDeveloperではアプリケーションに関連するすべてのソース・ファイルを含むプロジェクトが作成されます。したがって、Oracle JDeveloperを使用してアプリケーションに必要な追加プロジェクトを作成できます。
図2-1に、OrderBookingCompositeと呼ばれるプロジェクトのSOAコンポジット・エディタを示します。
表2-4で、SOAコンポジット・エディタについて説明します。
図2-4 SOAコンポジット・エディタ
要素 | 説明 |
---|---|
「アプリケーション」ウィンドウ(左上) |
SOAプロジェクトに含まれている特定のサービス・コンポーネントの主要なディレクトリおよびファイルが表示されます。環境に合せて必要に応じて構造を変更できます。唯一の制限として、すべてのファイルがSOAディレクトリにある必要があります。
|
「構造」ウィンドウ(左下) |
「構造」ウィンドウでは、アクティブ・ウィンドウで現在選択されているドキュメント内のデータの構造ビューを提供します。 |
デザイナ(中央) |
サービス・コンポーネント、サービスおよび参照を「コンポーネント」ウィンドウからデザイナ内のコンポジットにドラッグします。サービス・コンポーネントをデザイナにドラッグ・アンド・ドロップすると、対応するプロパティ・エディタが起動して、そのサービス・コンポーネントに関連する構成タスクを実行できます。たとえば、Oracle Mediatorサービス・コンポーネントをデザイナにドラッグ・アンド・ドロップすると、Mediator Editorが表示され、ここでOracle Mediatorサービス・コンポーネントを構成します。 後続のすべての編集セッションについて、これらのサービス・コンポーネントをダブルクリックして、それぞれのエディタを再度開きます。 |
プロジェクト名(デザイナの上) |
SOAコンポジット・アプリケーションのプロジェクト名を表示します。 |
左側のスイムレーン(「公開されたサービス」) |
左側のスイムレーンは、Webサービス、RESTアダプタ、JCAアダプタなど、SOAコンポジット・アプリケーションへのエントリ・ポイントを提供するサービス用です。 |
右側のスイムレーン(「外部参照」) |
右側のスイムレーンは、WebサービスやJCAアダプタなど、外部にある外部サービスにメッセージを送信する参照用です。 |
「コンポーネント」ウィンドウ(右上 - 「コンポーネント」タブ) |
「コンポーネント」ウィンドウでは、SOAコンポジットで使用できる様々なリソースが提供されます。次のサービス・コンポーネントおよびアダプタが含まれます。
|
「リソース」ウィンドウ(右上 - 「リソース」タブ) |
「リソース」ウィンドウには、1つのダイアログが用意されており、ここからローカルなリソースとリモートのリソースの両方を参照できます。たとえば、次のリソースにアクセスできます。
SOAコンポジット・アプリケーション用のこれらのリソースは、「WSDLチューザ」ダイアログから選択します。このダイアログには、様々な方法でアクセスできます。たとえば、サービス・バインディング・コンポーネントまたはOracle Mediatorサービス・コンポーネントで使用するWSDLファイルを選択した場合、またはBPELプロセスで使用するスキーマ・ファイルを選択した場合に、「SOAリソース・ブラウザ」ダイアログが表示されます。このダイアログの上部の「リソース」をクリックし、使用可能なリソースにアクセスします。 |
「ログ」ウィンドウ(中央下) |
「ログ」ウィンドウには、アプリケーションのコンパイル、検証およびデプロイメントに関するメッセージが表示されます。 |
プロパティ・インスペクタ(右下) |
「プロパティ・インスペクタ」には、選択されているサービス・コンポーネント、サービスまたは参照のプロパティが表示されます。 また、BPELアクティビティ・プロパティを編集して、BPELプロセス・サービス・コンポーネントのデプロイメント・ディスクリプタのプロパティも定義できます。 詳細は、「BPELアクティビティをプロパティ・インスペクタで編集する方法」および「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」を参照してください。 |
アプリケーション・ビュー |
アプリケーション・ビューには、SOAコンポジット・アプリケーションのアーティファクトが表示されます。 |
composite_nameファイル(composite.xmlファイルとも呼ばれます)は、デザイナではタブとして、「アプリケーション」ウィンドウではファイルとして表示されます。このファイルは、新しいSOAプロジェクトの作成時に自動的に作成されます。このファイルには、サービス、サービス・コンポーネントおよび参照のコンポジット構成全体が記述されています。1つのSOAプロジェクトに対して1つのcomposite.xmlファイルがあります。
composite.xmlファイルを使用するには、ほとんどの場合、図2-1に示すようにデザイナ、「構造」ウィンドウおよび「プロパティ・インスペクタ」を使用します。デザイナを使用すると、WYSIWYG環境に多くのファイルを表示できます。さらに、概要エディタにファイルを表示して宣言的に変更したり、ファイルのソース・コードを表示することもできます。「構造」ウィンドウには、現在選択されているファイルの構造が示されます。このウィンドウでオブジェクトを選択し、選択したオブジェクトのプロパティを「プロパティ・インスペクタ」で編集できます。
アプリケーションを作成した後は、通常、そのアプリケーションのビジネス・ロジックまたは処理ルールを実装するサービス・コンポーネントを追加します。SOAコンポジット・エディタの「コンポーネント」ウィンドウを使用して、サービス・コンポーネントをコンポジットにドラッグ・アンド・ドロップできます。
サービス・コンポーネントの追加については次の詳細に注意してください。
サービス・コンポーネントは、SOAコンポジット・エディタまたは他のコンポーネントのデザイナから作成します。たとえば、ヒューマン・タスク・コンポーネントは、SOAコンポジット・エディタまたはOracle BPELデザイナから作成できます。
「リソース」ウィンドウを使用して、で定義されていたり、デプロイされているサービス・コンポーネントを参照します。
サービス・コンポーネントの削除については次の詳細に注意してください。
サービス・コンポーネントを削除するには、該当するサービス・コンポーネントを右クリックして、コンテキスト・メニューから「削除」を選択します。
サービス・コンポーネントが削除されると、それを示す参照はすべて無効になり、すべてのワイヤは削除されます。サービス・コンポーネントも「アプリケーション」ウィンドウから削除されます。
別のサービス・コンポーネント内から作成されたサービス・コンポーネントを削除できます。たとえば、Oracle JDeveloperのBPELプロセス・サービス・コンポーネント内で作成されたヒューマン・タスクは、から削除できます。さらに、タスクへのパートナ・リンクも削除できます。パートナ・リンクを削除すると、参照インタフェースが削除され、タスクへのワイヤが削除されます。
SOAコンポジット・アプリケーションへのエントリ・ポイントとして機能するサービス・バインディング・コンポーネントを外部から追加します。
注意:
この項では、サービス・バインディング・コンポーネントを手動で作成する方法を説明します。また、サービス・コンポーネントを作成するときに、「SOAPサービスとして公開」を選択すると、サービス・バインディング・コンポーネントを自動的に作成できます。これを選択すると、BPELプロセス、ヒューマン・タスク・サービスまたはOracle Mediatorサービス・コンポーネントに自動的に接続されるインバウンドWebサービス・バインディング・コンポーネントが作成されます。
SOAコンポジット・エディタの「コンポーネント」ウィンドウを使用して、バインディング・コンポーネントをコンポジットにドラッグ・アンド・ドロップできます。
サービス・バインディング・コンポーネントを追加する手順は、次のとおりです。
「サービス・バインディング・コンポーネントの追加方法」で説明しているように、Webサービスは、SOAコンポジット・アプリケーションに追加できるバインディング・コンポーネントの一種です。Webサービスのインタフェース(WSDL)ファイルを定義する必要があります。
Webサービスのインタフェース(WSDL)を定義する手順は、次のとおりです。
コンポーネントのインタフェースを定義したときに作成されたWSDLを選択します。WSDLは、プロジェクト/アプリケーションのブラウザから選択できます。
「WSDL URL」フィールドの右側で、「既存のWSDLを検索します。」(1番目)アイコンをクリックします。
上部で、SOA-MDSをクリックします。選択すると、他のアプリケーションの既存のWSDLファイルを使用できるようになります。
インタフェースのWSDLファイルで使用するすべてのスキーマを表示でき、必要な場合は、「インタフェースの更新」ダイアログで、選択されたメッセージ・パートに対する新しいメッセージ・スキーマを選択できます。
スキーマを表示する手順は、次のとおりです。
最初にサービスを作成し、後でその内容を編集することもできます。コンポーネントのアイコンをダブルクリックすると、適切なエディタまたはウィザードが表示されます。表2-10に概要を示します。
表2-10 サービスのウィザードとダイアログの起動
ダブルクリックするサービス | 用途 |
---|---|
SOAP |
「サービスの更新」ダイアログが表示されます。 |
アダプタ |
アダプタ構成ウィザードに再入力します。 |
ADF-BC |
「サービスの更新」ダイアログが表示されます。 |
B2B |
B2B構成ウィザードに再入力します。 |
Healthcare |
Healthcare構成ウィザードに再入力します。 |
EJBサービス |
「サービスの更新」ダイアログが表示されます。 |
HTTP |
HTTPバインディング・ウィザードに再入力します。 |
直接 |
「サービスの更新」ダイアログに再入力します。 |
REST |
「RESTバインディング」ダイアログに再入力します。 |
MFT |
MFT構成ウィザードに再入力します。 |
サービスの追加については次の詳細に注意してください。
サービス・コンポーネントに新しいサービスが追加されると、そのサービス・コンポーネントには、メタデータを適切に変更できるように通知されます。たとえば、新しいサービスがBPELサービス・コンポーネントに追加されると、そのBPELサービス・コンポーネントには、receiveまたはon-messageアクティビティに接続可能なパートナ・リンクを作成するように通知されます。
サービスの削除については次の詳細に注意してください。
サービス・コンポーネントにより提供されているサービスが削除されると、そのサービス・コンポーネントに対するすべての参照が無効となり、ワイヤが削除されます。
同じSOAコンポジット・アプリケーションの異なる2つのWSDLファイルにおいて、完全修飾された同じネームスペースを使用することはあいまいであり、サポートされていません。これにより、コンパイル時に、重複した定義のエラーによってアプリケーションが失敗します。すべてのWSDLファイルに対して一意のネームスペースを使用するようにしてください。
Oracle Enterprise Manager Fusion Middleware Controlの「SOAインフラストラクチャの共通プロパティ」ページにある「サーバーURL」フィールドで、内部および外部の両方のOracle HTTP Serverを使用するようにSOAインフラストラクチャを構成している場合、「リソース」ウィンドウを使用してWSDL URLを参照できません。ただし、Webサービス・バインディング・コンポーネントの「サービスの更新」ダイアログの「WSDL URL」フィールドに、適切なWSDL URLを貼り付けることはできます。図2-12に詳細を示します。
参照バインディング・コンポーネントを追加します。このコンポーネントは、外部にある外部サービスにメッセージを送信するためのSOAコンポジット・アプリケーションを有効にします。
SOAコンポジット・エディタの「コンポーネント」ウィンドウを使用して、参照バインディング・コンポーネントをコンポジットにドラッグ・アンド・ドロップできます。
参照バインディング・コンポーネントを追加する手順は、次のとおりです。
参照の追加については次の詳細に注意してください。
に新しい参照を追加する唯一の方法は、必要なターゲット・サービス・コンポーネントにサービス・コンポーネントを接続することです。新しい参照が追加されると、サービス・コンポーネントに通知されて適切に変更できます。たとえば、参照がBPELサービス・コンポーネントに追加されると、BPELサービス・コンポーネントにパートナ・リンクを追加するように通知されます。このパートナ・リンクはinvokeアクティビティで使用可能です。
参照の削除については次の詳細に注意してください。
サービス・コンポーネントに対する参照が削除されると、関連付けられているワイヤも削除され、メタデータを更新できるようにサービス・コンポーネントに通知されます。たとえば、参照がBPELサービス・コンポーネントから削除されると、そのBPELメタデータにあるパートナ・リンクを削除するようにサービス・コンポーネントに通知されます。
ワイヤに接続されている参照を削除すると、その参照とワイヤも消去されます。
WSDLファイルは、WSDLを含む新規コンポーネント(サービス・バインディング・コンポーネント、Oracle MediatorやBPELプロセスなどのサービス・コンポーネント、または参照バインディング・コンポーネント)を作成するたびにSOAコンポジット・アプリケーションに追加されます。コンポーネントを削除すると、そのコンポーネントで使用されていたWSDLインポートは、別のコンポーネントで使用されていない場合にのみ削除されます。WSDLインポートは、そのWSDLインポートを使用していた最後のコンポーネントが削除されると常に削除されます。
サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントが新しいWSDLを使用するように更新されると、インタフェースが削除されて新しいインタフェースが追加されたかのように処理されます。したがって、古いWSDLインポートは、別のコンポーネントで使用されていない場合のみ削除されます。
サービス・バインディング・コンポーネントまたは参照バインディング・コンポーネントが新しい場所から同じWSDL (porttype
qname
)を使用するように更新されると、WSDLインポートおよび他のすべてのWSDL参照(例: 外部参照WSDLをインポートするBPELプロセスWSDL)は新しい場所を参照するように自動的に更新されます。
composite_name (composite.xml)ファイルのインポートのソース・ビューで単にWSDLの場所を変更するだけでは不十分です。メタデータ内にはユーザー・インタフェースで必要なWSDL参照があります(コンポジット・サービスおよび参照のui:wsdlLocation
属性を参照)。また、実行時に必要なWSDL参照もあります(例: BPELプロセスWSDLなど別のWSDLをインポートするWSDL)。このファイル内のWSDL URLが参照されている次の場所を変更してください。
ユーザー・インタフェースの場所 - Oracle JDeveloperでのみ使用されます。
インポート: デプロイ時に使用されます。
参照定義内のWSDLの場所: 実行時に使用されます。
WSDLの場所は常に、WSDLの場所が指定されたSOAコンポジット・エディタのダイアログ(例: Webサービス、BPELパートナ・リンクなど)で変更してください。URLのホスト・アドレスを変更すると、SOAコンポジット・エディタはすべてのWSDL参照を自動的に更新します。
BPELプロセスで、WSDLファイルに複数のWSDLメッセージが宣言され、その他のメッセージにはパートがなんらかの要素となるよう定義されているのに対し、1つ以上のメッセージにそのパートがなんらかのタイプとなるよう定義されている場合、実行時の動作が予測不可能となる可能性があります。これは、これらのWSDLにタイプの混在したメッセージが含まれると見なされるためです。たとえば、assignアクティビティ内に複数のコピー・アクションがあるとします。これらのコピー・アクションでは、次の複数のパートを持つ出力変数の移入が試行されます。
パート1はxsd:string
タイプとして宣言されています。
パート2はxsd:int
タイプとして宣言されています。
パート3はカスタム設計の複雑なタイプの要素として宣言されています。
この動作はサポートされていません。
サービス、サービス・コンポーネントおよび参照を接続します。この例では、Webサービスとサービス・コンポーネントを接続します。次の点に注意してください。
Webサービスはインバウンド・サービスであるため、参照ハンドルは右側に表示されます。アウトバウンド参照であるWebサービスは、右側に参照ハンドルがありません。
定義済のインタフェースは未定義のインタフェースにどちらの方向から(参照からサービスへ、またはサービスから参照へ)でもドラッグできます。未定義のインタフェースは定義済のインタフェースを継承します。このルールにはいくつかの例外があります。
コンポーネントには、新しいインタフェースを却下する権限があります。たとえば、Oracle Mediatorには1つのインバウンド・サービスしか保持できません。このため、コンポーネントは2番目のサービスが作成されないように却下します。
ビジネス・ルールは参照をサポートしないため、アウトバウンド・サービス(外部参照)をビジネス・ルールにドラッグすることはできません。ワイヤをドラッグすると、ユーザー・インタフェースでは、有効なターゲットであるインタフェースがハイライト表示されます。
インタフェースを一意に識別する際には、ポート・タイプとネームスペースが使用されます。
異なるインタフェースを持つサービスとコンポジットは接続できません。たとえば、同期WSDLファイルで構成されているWebサービスは非同期BPELプロセスに接続できません。図2-17に詳細を示します。
サービスと参照は一致する必要があります。つまり、インタフェースとコールバックは同じになる必要があります。インタフェースが異なる2つのサービスがある場合は、2つのサービス間にOracle Mediatorを配置し、インタフェース間のトランスフォーメーションを実行できます。
SOAコンポジット・エディタで、サービス・バインディング・コンポーネントをサービス・コンポーネントに接続できます。
サービスとサービス・コンポーネントを接続する手順は、次のとおりです。
SOAコンポジット・エディタで、サービス・コンポーネントを参照バインディング・コンポーネントに接続できます。
サービス・コンポーネントと参照を接続する手順は、次のとおりです。
ワイヤの追加については次の詳細に注意してください。
サービス・コンポーネントの参照がターゲット・サービス・コンポーネントのサービスと一致する場合、サービス・コンポーネントは別のサービス・コンポーネントに接続できます。一致するという意味は、同じインタフェースとコールバック・インタフェースであることに注意してください。
2つのOracle Mediatorサービス・コンポーネント間に次のワイヤリングを追加すると、無限ループが発生します。
ビジネス・イベントを作成した場合
Oracle Mediatorサービス・コンポーネントを作成し、イベントをサブスクライブした場合。
2番目のOracle Mediatorサービス・コンポーネントを作成し、同じイベントを公開した場合。
最初のOracle Mediatorを2番目のOracle Mediatorコンポーネント・サービスに接続した場合。
2つのOracle Mediator間のワイヤを削除すると、すべてのメッセージについて、2番目のOracle Mediatorはイベントを公開でき、最初のOracle Mediatorはそのイベントをサブスクライブできます。
ワイヤの削除については次の詳細に注意してください。
ワイヤが削除されると、コンポーネントのアウトバウンド参照は自動的に削除され、クリーン・アップ(パートナ・リンクの削除、ルーティング・ルールの消去など)が可能であることがコンポーネントに通知されます。ただし、コンポーネントのサービス・インタフェースは削除されません。Oracle SOA Suiteのすべてのサービスは、WSDLインタフェースで定義されます。コンポーネントのインタフェースが定義されると、でサービス・インタフェースが自動的に削除されることはありません。
サービスのWSDLインタフェースを変更する必要がある場合は、次のような回避策があります。
ほとんどの場合、変更が必要なのはインバウンド・サービス定義ではなくスキーマです。で、WSDLを使用するインタフェース・アイコンをクリックします。たとえば、Webサービス・インタフェース・アイコンやOracle Mediatorサービス・アイコンをクリックできます。この結果、「インタフェースの更新」ダイアログが起動し、このダイアログでWSDLメッセージのスキーマを変更できます。
Oracle Mediatorサービス・コンポーネントを使用している場合は、Oracle Mediatorエディタの「WSDLからの操作のリフレッシュ」アイコンを使用して、(新しい操作を追加した後に)Oracle Mediator WSDLをリフレッシュまたは置換できます。ただし、現在の操作を削除しようとすると警告が表示されます。このアイコンを使用してWSDLを新規インバウンド・サービスWSDLに変更すると、インタフェースが変更されるため、通常は接続が切断されます。その後に、Oracle Mediatorを新規サービスに接続できます。
多くの場合、新規サービスでは完全に新しいOracle Mediatorが必要です。古いOracle Mediatorを削除し、新しいOracle Mediatorを作成して新規サービスに接続します。
BPELプロセス・サービス・コンポーネントを使用している場合は、「パートナ・リンクの編集」ダイアログで新規のWSDLを選択します。
「インタフェースの更新」ダイアログの詳細は、「スキーマの表示方法」を参照してください。
コンポジットの上にある「TODOタスク」アイコンにカーソルを合せると表示されるSOAコンポジット・アプリケーションの説明を追加できます。SOAコンポジット・アプリケーションのサービス、参照およびサービス・コンポーネントのアクションを説明で説明できます。
Oracle JDeveloperの次のセクションでは、一部のコンポーネントおよびアーティファクトの名前変更、削除および移動ができます(リファクタとも呼ばれます)。
SOAコンポジット・エディタ
コンポーネントの名前の変更および削除が可能です。これらのアクションは、Oracle SOA Suiteメタデータに影響します(必ずしも特定のアーティファクトには当てはまりません)。
「アプリケーション」ウィンドウ
WSDL、スキーマなどのアーティファクトの名前の変更、削除および移動が可能です。これらのアクションは、Oracle JDeveloperアーティファクトに影響します。
注意:
Oracle BPELデザイナ、ヒューマン・タスク・エディタおよびその他のエディタを開いた状態でリファクタ・タスクを実行しないでください。行う場合は、リファクタ後にエディタを閉じてから再度開いてください。たとえば、BPELプロセスが開いた状態で、「アプリケーション」ウィンドウでBPELプロセスのWSDLファイルの名前を変更するとします。これによって、基礎となるBPELファイルは変更されますが、完全に終了するまでOracle BPELデザイナでこの変更は反映されず、同期化されない状態になります。Oracle BPELデザイナを閉じてから再度開いてください。変更が同期されます。
表2-12では、SOAコンポジット・エディタで実行可能なリファクタ・タスクを既知の制限とともに説明します。この機能を使用する前に、これらの制限をよく確認してください。
表2-12 コンポーネントのリファクタ
アクション | SOAコンポジット・エディタでの手順 |
---|---|
サービス・コンポーネントまたはバインディング・コンポーネントの名前の変更 |
以下の制限に注意してください。
|
サービス・コンポーネント、バインディング・コンポーネントまたはBPELサブプロセスの削除 |
|
別のフォルダへのサービス・コンポーネントまたはバインディング・コンポーネントの移動 |
このタスクはSOAコンポジット・エディタからは実行できません。 |
表2-13では、「アプリケーション」ウィンドウで実行可能なリファクタ・タスクを既知の制限とともに説明します。この機能を使用する前に、これらの制限をよく確認してください。
表2-13 コンポーネント・アーティファクトのリファクタ
アクション | 「アプリケーション」ウィンドウでの手順 |
---|---|
サービス・コンポーネントまたはバインディング・コンポーネントのアーティファクトの名前の変更 |
以下の制限に注意してください。
|
サービス・コンポーネント、バインディング・コンポーネントまたはBPELサブプロセスのアーティファクトの削除 |
以下の制限に注意してください。
|
別のフォルダへのサービス・コンポーネントまたはバインディング・コンポーネントの移動 |
以下の制限に注意してください。
|
プロパティ・インスペクタには、SOAコンポジット・エディタの選択サービス・コンポーネントやバインディング・コンポーネントに関する詳細が表示されます。
プロパティをプロパティ・インスペクタで表示するには:
SOAコンポジット・アプリケーションを作成する際に、サービス・バインディング・コンポーネント、サービス・コンポーネントおよび参照バインディング・コンポーネントにポリシーを添付してWebサービスを保護できます。ポリシーの実装方法の詳細は、「ポリシーおよびメッセージ暗号化を使用したセキュリティの有効化」を参照してください。
SOAコンポジット・アプリケーションのデプロイには、Oracle WebLogic Serverへの接続の作成、およびOracle WebLogic Server管理対象サーバーへのSOAコンポジット・アプリケーションのアーカイブのデプロイも含まれます。SOAコンポジット・アプリケーションのデプロイ方法の詳細は、「SOAコンポジット・アプリケーションのデプロイ」を参照してください。
SOAコンポジット・アプリケーションから、デプロイ済のSOAコンポジット・アプリケーションを起動できます。
デプロイ済SOAコンポジット・アプリケーションを起動する手順は、次のとおりです。
次のいずれかの方法を使用して、Webサービスまたはパートナ・リンクを作成します。
SOAコンポジット・エディタで、「コンポーネント」ウィンドウから「外部参照」スイムレーンに「SOAP」アイコンをドラッグします。
Oracle BPELデザイナで、「コンポーネント」ウィンドウの「BPELコンストラクト」セクションから右側のスイムレーンに「パートナ・リンク」をドラッグします。
作成したサービスのタイプに基づいて「SOAリソース・ブラウザ」ダイアログにアクセスします。
「Webサービスの作成」ダイアログから、「既存のWSDLを検索します。」アイコンをクリックします。「WSDLチューザ」ダイアログの「アプリケーション・サーバー」セクションが表示されます。
「パートナ・リンクの編集」ダイアログから、「SOAリソース・ブラウザ」アイコンをクリックします。「WSDLチューザ」ダイアログの「アプリケーション・サーバー」セクションが表示されます。
「アプリケーション・サーバー」が選択されていない場合、選択します。
ツリーを開いて、SOAコンポジット・アプリケーションがデプロイされたサーバーへのアプリケーション・サーバー接続を表示します。
アプリケーション・サーバー接続を展開します。
SOAフォルダおよびパーティションを開きます。図2-25に詳細を示します。
コンポジット・サービスを選択します。
「OK」をクリックします。
アプリケーション・サーバー接続の作成方法の詳細は、「アプリケーション・サーバー接続の作成」を参照してください。
SOAコンポジット・アプリケーションを作成してデプロイした後は、Oracle JDeveloperとOracle Enterprise Manager Fusion Middleware Controlを組み合せて使用して、そのSOAコンポジット・アプリケーションを管理およびテストします。
Oracle JDeveloperの「アプリケーション・サーバー・ナビゲータ」から、デプロイ済のSOAコンポジット・アプリケーションを管理できます。管理タスクには、SOAコンポジット・アプリケーション・リビジョンのアンデプロイ、アクティブ化、リタイア、有効化および無効化があります。
注意:
ここで説明する手順は、SOAインフラストラクチャがデプロイされたOracle WebLogic管理サーバーへのアプリケーション・サーバー接続が作成済であることを前提にしています。Oracle WebLogic管理サーバーへの接続を作成すると、管理対象およびクラスタ化されたOracle WebLogic Serverを同じドメインで参照できます。「ファイル」メイン・メニューから、「新規」→「アプリケーション」→「接続」→「アプリケーション・サーバー接続」を選択して、接続を作成します。
詳細は、次のドキュメントを参照してください。
デプロイメント・プロファイルおよび構成プランの作成方法、および既存のSOAアーカイブのデプロイ方法の詳細は、「SOAコンポジット・アプリケーションのデプロイ」を参照してください
Oracle Enterprise Manager Fusion Middleware Controlからデプロイ済SOAコンポジット・アプリケーションを管理する方法の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。
SOAコンポジット・アプリケーションをデプロイすると、Oracle Enterprise Manager Fusion Middleware Controlの「Webサービスのテスト」ページからそのテスト・インスタンスを開始して、XMLペイロード・データを検証することができます。テスト・インスタンスの開始の詳細は、『Oracle SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。
テスト・インスタンスの作成に加え、次のテスト・タスクおよびデバッグ・タスクもOracle JDeveloperで実行できます。
本番環境へのデプロイメントの前に、SOAコンポジット・アプリケーションとそのWebサービス・パートナ間の相互作用をシミュレートします。これにより、本番環境へのデプロイメント準備が完了するまでに、プロセスとWebサービス・パートナの相互作用が期待どおりであるかを確認できます。ユニット・テストの作成方法の詳細は、「SOAコンポジット・アプリケーションのテストの自動化」を参照してください。
Oracle JDeveloperでは、SOAデバッガを使用して、SOAコンポジット・アプリケーションをテストおよびデバッグします。SOAデバッガは、Oracle JDeveloper内でトラブルシューティング環境を提供することによって、SOAコンポジット・アプリケーションの開発サイクルを短縮します。これにより、SOAコンポジット・アプリケーションをOracle JDeveloperでビルドし、それをSOAインフラストラクチャにデプロイし、Oracle Enterprise Manager Fusion Middleware Controlを起動して監査証跡とフロー・トレースのテストまたは表示を行ってから、Oracle JDeveloperに戻って作業を繰り返すという時間のかかるプロセスが必要なくなります。詳細は、「SOAコンポジット・アプリケーションのデバッグおよび監査」を参照してください。