ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.4.0)
B56238-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

J Oracle User Messaging Serviceアプリケーション

この付録では、提供されているプロシージャおよびコードを使用して、独自のOracle User Messaging Serviceアプリケーションを作成する方法について説明します。

項目は次のとおりです。

J.1 ユーザー指定のチャネルへのメッセージの送信

この章では、Oracle User Messaging Serviceで提供されている、ユーザー指定のチャネルにメッセージを送信するためのアプリケーションを作成し、実行する方法を説明します。


注意:

Oracle User Messaging Serviceのアーキテクチャとコンポーネントの詳細は、『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』を参照してください。

この項は、次のトピックで構成されています。

J.1.1 概要

ユーザー指定のチャネルにメッセージを送信するアプリケーションでは、BPELプロセスによって、ユーザー・メッセージング・プリファレンスで指定されたメッセージング・チャネルを経由して、ユーザーにメッセージを送信できることを具体的な例で示します。サポートされるチャネルおよびデフォルト・デバイスのそれぞれに対してデバイスおよびメッセージ・チャネルのアドレスを構成すると、Oracle User Messaging Serviceは、構成された優先チャネルの設定に基づいて、メッセージをユーザーにルーティングします。

J.1.1.1 提供されるファイル

このアプリケーションには、次のファイルが含まれています。

  • SendMessage.pdf – このドキュメント

  • Project – Oracle JDeveloperプロジェクト・ファイルを含むディレクトリ

  • Readme.txt

  • リリース・ノート

J.1.2 SOAおよびUser Messaging Serviceのインストールおよび構成

SOAおよびUser Messaging Serviceは、ホストされたインスタンスにすでにインストールされており、サンプル・ユーザーは設定済です。soa-infraでの通知を可能にするには、次の手順を実行します(実行していない場合)。

  1. Enterprise Managerを使用して「SOAインフラストラクチャ」メニューに移動し、「SOA管理」「ワークフロー通知プロパティ」の順に選択して、「通知モード」「すべて」に設定します。

  2. 必要な場合は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のドライバの構成に関する項の説明に従って、User Messagingドライバを構成します。

  3. ユーザーweblogicの電子メール・アドレスは、JXplorer LDAPブラウザを使用して設定します。「LDAPユーザー・プロファイルのアドレスの更新」を参照してください。

  4. サーバーを再起動します。

J.1.2.1 LDAPユーザー・プロファイルのアドレスの更新

ユーザーweblogicの電子メール・アドレスをJXplorer LDAPブラウザを使用して設定するには、次の手順を実行します。

J.1.2.1.1 インストール

http://www.jxplorer.orgからJXplorerをダウンロードしてインストールします。

J.1.2.1.2 接続
  1. 組込みLDAPサーバー管理パスワードを次のように設定します。

    • Oracle WebLogic Server管理コンソールにログインします。

    • ドメイン名のリンク→「セキュリティ」「組込みLDAP」の順にクリックします。

    • 新しい「資格証明」「資格証明の確認」(例: weblogic)を入力します。

    • 「保存」をクリックします。

  2. 表J-1に示す各フィールドに値を指定し、JXplorerから接続します。

表J-1 JXplorerの接続に関するフィールド

フィールド

ホスト

Oracle WebLogic管理サーバーのホスト名

ポート

Oracle WebLogic管理サーバーのポート

プロトコル

LDAP v3

セキュリティ・レベル

ユーザーおよびパスワード

ユーザーDN

cn=Admin

パスワード

パスワード


J.1.2.1.3 LDAPのユーザー・メッセージング・デバイス・アドレスの設定

次の例では、ユーザーweblogicを使用します。追加のユーザーを作成して使用できます。

  1. ドメイン「myrealm」「people」「weblogic」の順にLDAPツリーを開きます。

  2. ユーザー・エントリをクリックします。

  3. 右側で「HTML view」タブを選択します。

  4. 必須の「Email Address」と「Mobile Phone Number」を入力します。

  5. 「Submit」をクリックします。

J.1.3 サンプルの作成

次の手順を実行してサンプルを新規に作成すると、SOAコンポジット・アプリケーションにメッセージを追加して、ユーザー・メッセージング・プリファレンスを使用する方法を学習できます。

  1. Oracle JDeveloper 11gを開きます。

  2. 「File」→「新規」「一般」「アプリケーション」「SOAアプリケーション」を選択して、新規アプリケーションを作成します。「@OK」をクリックします。

  3. 「アプリケーション名」を入力し、「次へ」をクリックします(図J-1)。

    図J-1 新規アプリケーションおよび新規プロジェクトの作成(1/3)

    図J-1の説明が続きます
    「図J-1 新規アプリケーションおよび新規プロジェクトの作成(1/3)」の説明

  4. プロジェクトの名前を入力し、「次へ」をクリックします(図J-2)。

  5. 図J-2 新規アプリケーションおよび新規プロジェクトの作成(2/3)

    図J-2の説明が続きます
    「図J-2 新規アプリケーションおよび新規プロジェクトの作成(2/3)」の説明

  6. コンポジット・テンプレートとして、「BPELを使用するコンポジット」を選択します(図J-3)。「終了」をクリックします。

    図J-3 新規アプリケーションおよび新規プロジェクトの作成(3/3)

    図J-3の説明が続きます
    「図J-3 新規アプリケーションおよび新規プロジェクトの作成(3/3)」の説明

  7. 「BPELプロセスの作成」ダイアログで、BPELプロセス名としてSendMessageと入力します(図J-4)。「OK」をクリックします。

    図J-4 BPELプロセスの作成

    図J-4の説明が続きます
    「図J-4 BPELプロセスの作成」の説明

  8. 「SOAPサービスとして公開」が選択されていることを確認します。「OK」をクリックします。

  9. これで、空のデフォルトBPELアプリケーションが作成されました(図J-5)。

    「Oracle JDeveloper」メイン・ウィンドウの「Composite.xml」タブの下に、次のようなアプリケーションのコンポーネントが表示されます。

    • 左のボックスは、アプリケーションを初期化するために使用するWebサービス・クライアントの定義です。

    • 中央のボックスは、メッセージを作成して書式設定し、メッセージ・サービスをコールするBPELプロセスです。


    注意:

    User Notification BPELプロセスの作成時にメッセージ送信に使用するメッセージ・サービス・リソースは、後で作成します(ステップ13から19)。

    図J-5 空のデフォルトBPELアプリケーション

    図J-5の説明が続きます
    「図J-5 空のデフォルトBPELアプリケーション」の説明

  10. 「アプリケーション・ナビゲータ」の「xsd」フォルダを開き、「SendMessage.xsd」をダブルクリックして開きます。

  11. 「ソース」タブをクリックします(図J-6)。

  12. このBPELアプリケーションの入力に対して次の変更を行います。

    プロジェクトの「アプリケーション・ナビゲータ」の「xsd」フォルダ内に生成されたファイルSendMessage.xsdには、次の要素定義がデフォルトで作成されます。

    <element name="input" type="string"/>
    

    このXSD要素は、BPELプロセスの入力を定義します。

    「ソース」タブ(図J-6)を選択し、前述の行を次の3行に置換します。

    <element name="to" type="string"/>
    <element name="subject" type="string"/>
    <element name="body" type="string"/>
    

    図J-6 SendMessage.xsdファイルの入力内容の変更

    図J-6の説明が続きます
    「図J-6 SendMessage.xsdファイルの入力内容の変更」の説明

  13. 「ファイル」メニューから「すべて保存」を選択します。

  14. 展開されたプロセス要素を表示します(図J-7)。

    図J-7 展開されたプロセス要素の表示

    図J-7の説明が続きます
    「図J-7 展開されたプロセス要素の表示」の説明

  15. このプロセスでメッセージングを可能にするには、「コンポーネント・パレット」にある「Oracle Extensions」から「User Notification」を、receiveInputアクティビティとcallbackClientアクティビティの間にドラッグ・アンド・ドロップします(図J-8)。

    図J-8 「コンポーネント・パレット」から「ユーザー通知」アイコンをドラッグ・アンド・ドロップ

    図J-8の説明が続きます
    「図J-8 「コンポーネント・パレット」から「ユーザー通知」アイコンをドラッグ・アンド・ドロップ」の説明

    user notificationアクティビティが表示されます(図J-9)。

    図J-9 入力構成前のuser notificationアクティビティ

    図J-9の説明が続きます
    「図J-9 入力構成前のuser notificationアクティビティ」の説明

  16. 「To」入力ボックスの右側にある「XPath式ビルダー」アイコンをクリックします。

  17. 「To」受信者の式を次のように変更します。

  18. 「件名」入力ボックスの右側にある「XPath式ビルダー」アイコンをクリックします。

  19. 「件名」の式を次のように変更します。

    • 「BPEL変数」ペインで、「変数」「InputVariable」「payload」「clientprocess」「client:subject」の順に選択します(図J-11)。

    • 「式に挿入」をクリックします。

    • 「OK」をクリックします。

      図J-11 件名式の定義

      図J-11の説明が続きます
      「図J-11 件名式の定義」の説明

  20. 「通知メッセージ」入力ボックスの右にある「XPath式ビルダー」アイコンをクリックします。

  21. 通知メッセージの式を次のように変更します。

J.1.4 新規アプリケーション・サーバー接続の作成

次の手順を実行し、アプリケーション・サーバー接続を作成します。

  1. プロジェクトを右クリックし、「新規」「接続」「アプリケーション・サーバー接続」の順に選択して、新規アプリケーション・サーバー接続を作成します(図J-15)。

    図J-15 新規アプリケーション・サーバー接続

    図J-15の説明が続きます
    「図J-15 新規アプリケーション・サーバー接続」の説明

  2. 接続にSOA_serverという名前を付けて、「次へ」をクリックします(図J-16)。

  3. 「接続タイプ」「WebLogic 10.3」を選択します。

    図J-16 新規アプリケーション・サーバー接続

    図J-16の説明が続きます
    「図J-16 新規アプリケーション・サーバー接続」の説明

  4. 認証情報を入力します。ユーザー名の一般的な値はweblogicです。

  5. 「接続」ダイアログで、SOA管理サーバーのホスト名、ポートおよびSSLポートを入力し、Oracle WebLogic Serverドメインのドメイン名を入力します。

  6. 「次へ」をクリックします。

  7. 「テスト」ダイアログで、「接続のテスト」をクリックします。

  8. メッセージSuccess!が表示されていることを確認します。

    アプリケーション・サーバー接続が作成されました。

J.1.5 プロジェクトのデプロイ

次の手順を実行し、プロジェクトをデプロイします。

  1. 「アプリケーション・ナビゲータ」で、「SOAプロジェクト」を右クリックします。

  2. 「デプロイ」→「project_name」の順に選択します。

    project_nameの値は、SOAプロジェクト名です。

    「Project_Nameのデプロイ」ウィザードの「デプロイメント・アクション」ページ」が表示されます。

  3. 「アプリケーション・サーバーにデプロイ」を選択します。

  4. 「次へ」をクリックします。

  5. アプリケーション・サーバーへの既存の接続をリストから選択します。

  6. 「終了」をクリックします。

  7. メッセージBuild Successfulがログに表示されていることを確認します。

  8. デフォルトのリビジョンを入力し、「OK」をクリックします。

  9. メッセージDeployment Finishedがデプロイメント・ログに表示されていることを確認します(図J-17)。

    図J-17 デプロイメント成功の確認

    図J-17の説明が続きます
    「図J-17 デプロイメント成功の確認」の説明

    アプリケーションが正常にデプロイされました。

    サンプルを実行するには、その前に、次の項の説明に従って、Oracle User Messaging Serviceの追加ドライバを構成し、ユーザー・メッセージング・プリファレンスでメッセージを受信するユーザー用のデフォルト・デバイスを構成する必要があります。


    注意:

    詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

J.1.6 ユーザー・メッセージング・プリファレンスの構成

通知を受信するユーザーは、ユーザー・メッセージング・プリファレンスを介してメッセージにアクセスする際に使用するデバイスを登録する必要があります。次の手順を実行します。

  1. 次のいずれかのURLで、ユーザー・メッセージング・プリファレンス・アプリケーションにログインします。

    • http://server:port/sdpmessaging/userprefs-uiで直接ログインします。

    • http://server:port/integration/worklistappで、ワークリスト・アプリケーションの「プリファレンス」→「通知」タブを介してログインします。

    ユーザー・メッセージング・プリファレンス・アプリケーションが表示されます。

  2. 「メッセージング・チャネル」タブをクリックします(図J-18)。

    図J-18 「メッセージング・チャネル」タブ

    図J-18の説明が続きます
    「図J-18 「メッセージング・チャネル」タブ」の説明

    ログイン資格証明の入力を求められます。

  3. 「メッセージング・チャネル」タブで、チャネルを選択します。

  4. デバイス・フォルダを開いてから、選択したチャネルの横の「デフォルトとして設定」をクリックして、デフォルトとしてチャネルを設定します。

    選択したチャネルの横にチェックマークが表示され、デフォルトの通知受信方法として指定されます。そのユーザーに送信されるすべてのメッセージが、そのチャネルに送信されます。

J.1.7 サンプルのテスト

次に、Enterprise Managerを介してテスト・メッセージを転送する方法を説明します。

次の手順を実行し、サンプルを実行およびテストします。

  1. Webブラウザ・ウィンドウを開き、SOAドメインのEnterprise Managerにログインします。たとえば、http://host:port/emなどです。

  2. Oracle Enterprise Managerで、ナビゲーション・ツリーの「SOA」フォルダを開いて、デプロイされた「SendMessageProj」コンポジット・アプリケーションをクリックします。「テスト」ボタンをクリックして、テスト・クライアント・ページを起動します。

  3. 「引数を入力」セクションでは、SendMessageProjを起動するための入力値が提供されます。

    次の値を入力します。

    • to: weblogic(ユーザー)

    • subject: 通知テスト(件名)

    • body: メッセージ・コンテンツ

  4. 「Webサービスのテスト」をクリックします。

J.1.7.1 電子メール送信実行の確認

ヒューマン・ワークフロー・エンジンにログインします。送信通知とそのステータスを「通知マネージャ」タブから確認します (図J-19)。

図J-19 送信通知の表示

図J-19の説明が続きます
「図J-19 送信通知の表示」の説明

J.2 添付ファイル付き電子メールの送信

この項では、Oracle User Messaging Serviceで提供されている、添付ファイル付き電子メールの送信アプリケーションを作成して実行する方法を説明します。


注意:

Oracle User Messaging Serviceのアーキテクチャとコンポーネントの詳細は、『Oracle Fusion Middleware Oracle SOA Suiteスタート・ガイド』を参照してください。

この項は、次のトピックで構成されています。

J.2.1 概要

添付ファイル付き電子メールを送信するアプリケーションでは、電子メールを添付ファイルとともに送信するBPELプロセスを具体的な例で示します。BPELプロセスは、アイデンティティ・ストアからユーザーの電子メール・アドレスを参照し、ファイル・システムからファイルを読み取り、電子メールのコンテンツを作成してから、電子メールをそのユーザーに送信します。J.2.5項「サンプルの作成」では、添付ファイル付き電子メールをSOAコンポジット・アプリケーションに追加し、使用しているアプリケーションでメッセージングに対応できるようにする方法を説明します。このアプリケーションを最初からモデル化する場合は、「サンプルの作成」の項に進んでください。あるいは、このチュートリアルで提供されている事前作成のプロジェクトを直接使用できます。事前作成のサンプルを実行したり、アプリケーションを最初から作成するには、その前に、J.2.2項「SOAおよびUser Messaging Serviceのインストールおよび構成」の説明に従って、サーバーをインストールして構成する必要があります。デフォルトでは、soa-infraによる通知の送信はありません。次に、電子メール・サーバーとの通信に必要な電子メール・ドライバをインストールして構成する手順を説明します。

J.2.1.1 提供されるファイル

サンプル・アプリケーションには、次のファイルが含まれています。

  • ns_sendemail.pdf – このドキュメント

  • Project – Oracle JDeveloperプロジェクト・ファイルを含むディレクトリ

  • Readme.txt

  • リリース・ノート

J.2.2 SOAおよびUser Messaging Serviceのインストールおよび構成

SOAおよびUser Messaging Serviceは、ホストされたインスタンスにすでにインストールされており、サンプル・ユーザーweblogicはすでに作成されています。soa-infraでの通知を可能にするには、次の手順を実行します(実行していない場合)。

  1. Enterprise Managerを使用して「SOAインフラストラクチャ」メニューに移動し、「SOA管理」「ワークフロー通知プロパティ」の順に選択して、「通知モード」「すべて」に設定します。

  2. 必要な場合は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のドライバの構成に関する項の説明に従って、User Messagingドライバを構成します。

  3. ユーザーweblogicの電子メール・アドレスは、JXplorer LDAPブラウザを使用して設定します。「LDAPユーザー・プロファイルのアドレスの更新」を参照してください。

  4. サーバーを再起動します。

J.2.2.1 LDAPユーザー・プロファイルのアドレスの更新

ユーザーweblogicの電子メール・アドレスをJXplorer LDAPブラウザを使用して設定するには、次の手順を実行します。

J.2.2.1.1 インストール

http://www.jxplorer.orgからJXplorerをダウンロードしてインストールします。

J.2.2.1.2 接続
  1. 組込みLDAPサーバー管理パスワードを次のように設定します。

    • Oracle WebLogic Server管理コンソールにログインします。

    • ドメイン名のリンク→「セキュリティ」「組込みLDAP」の順にクリックします。

    • 新しい「資格証明」と「資格証明の確認」(例: weblogic)を入力します。

    • 「保存」をクリックします。

  2. 表J-2に示す各フィールドに値を指定し、JXplorerから接続します。

表J-2 JXplorerの接続に関するフィールド

フィールド

ホスト

Oracle WebLogic管理サーバーのホスト名

ポート

Oracle WebLogic管理サーバーのポート

プロトコル

LDAP v3

セキュリティ・レベル

ユーザーおよびパスワード

ユーザーDN

cn=Admin

パスワード

パスワード


J.2.2.1.3 LDAPのユーザー・メッセージング・デバイス・アドレスの設定

次の例では、ユーザーweblogicを使用します。追加のユーザーを作成して使用できます。

  1. ドメイン「myrealm」「people」「weblogic」の順にLDAPツリーを開きます。

  2. ユーザー・エントリをクリックします。

  3. 右側で「HTML view」タブを選択します。

  4. 必須の「Email Address」と「Mobile Phone Number」を入力します。

  5. 「Submit」をクリックします。

J.2.3 事前作成されたサンプルの実行

次の手順を実行して、事前作成されたサンプル・アプリケーションを実行し、デプロイします。

  1. Oracle JDeveloperで、SendEmailWithAttachmentsApp.jws(.zipファイルに含まれています)を開きます。

    「Oracle JDeveloper」メイン・ウィンドウの「Composite.xml」タブの下に、次のようなサンプル・アプリケーションのコンポーネントが表示されます。

    図J-20 Oracle JDeveloperのメイン・ウィンドウ

    図J-20の説明が続きます
    「図J-20 Oracle JDeveloperのメイン・ウィンドウ」の説明

    • 左のボックスは、アプリケーションを初期化するために使用するWebサービス・クライアントの定義です。

    • 中央のボックスは、メッセージを作成して書式設定し、メッセージ・サービスをコールするBPELプロセスです。

    • 右のボックスは、メッセージの送信に使用するメッセージ・サービス・リソースです。

  2. ナビゲーション・ペインでプロジェクトを右クリックし、「新規」を選択して、アプリケーション・サーバー接続を作成します。J.2.6項「新規アプリケーション・サーバー接続の作成」の説明に従います。

  3. 次のようにプロジェクトをデプロイします。

    1. 「アプリケーション・ナビゲータ」で、「SOAプロジェクト」を右クリックします。

    2. 「デプロイ」→「project_name」の順に選択します。

      project_nameの値は、SOAプロジェクト名です。

      「Project_Nameのデプロイ」ウィザードの「デプロイメント・アクション」ページ」が表示されます。

    3. 「アプリケーション・サーバーにデプロイ」を選択します。

    4. 「次へ」をクリックします。

    5. アプリケーション・サーバーへの既存の接続をリストから選択します。

    6. 「終了」をクリックします。

  4. メッセージBuild Successfulがログに表示されていることを確認します。

  5. デフォルトのリビジョンを入力し、「OK」をクリックします。

  6. メッセージDeployment Finishedがデプロイメント・ログに表示されていることを確認します。

    アプリケーションが正常にデプロイされました。

    サンプルを実行するには、その前に、次の項の説明に従って、Oracle User Messaging Serviceの追加ドライバを構成し、ユーザー・メッセージング・プリファレンスでメッセージを受信するユーザー用のデフォルト・デバイスを構成する必要があります。


    注意:

    詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

J.2.4 サンプルのテスト

次に、Enterprise Managerを介してテスト・メッセージを転送する方法を説明します。

次の手順を実行し、サンプルを実行およびテストします。

  1. Webブラウザ・ウィンドウを開き、SOAドメインのEnterprise Managerにログインします。たとえば、http://host:port/emなどです。

  2. Enterprise Managerで、ナビゲーション・ツリーの「SOA」フォルダを開いて、デプロイされた「SendEmailWithAttachmentsProj」コンポジット・アプリケーションをクリックします。「テスト」ボタンをクリックして、テスト・クライアント・ページを起動します。

  3. 「引数を入力」セクションでは、SendEmailWithAttachmentsProjを起動するための入力値が提供されます。

    次の値を入力します。

    • to: weblogic(ユーザー)

    • subject: 通知テスト(件名)

    • body: メッセージ・コンテンツ

    • attachmentName: 拡張子も含めた添付ファイルの名前

    • attachmentMimeType: たとえば、image/gif

      PDF、DOC、GIF、JPEGなどのバイナリ・ファイルを送信する場合、attachmentMimeTypeエントリには、次の値を使用できます。

      • file-name.doc – attachmentMimeType: application/msword

      • file-name.pdf – attachmentMimeType: application/pdf

      • file-name.jpg – attachmentMimeType: image/jpeg

      • file-name.gif – attachmentMimeType: image/gif

      HTML、XML、プレーン・テキストなどのテキスト・ファイルを送信する場合、attachmentMimeTypeエントリには、次の値を使用できます。

      • file-name.txt – attachmentMimeType: text/plain

      • file-name.html – attachmentMimeType: text/html


      注意:

      ASCII以外の文字がUTF-8でエンコードされて含まれているテキスト・ファイルの場合は、attachmentMimeTypeでcharset属性(「text/plain;charset=UTF-8」など)を指定する必要があります。また、コンテンツ自体はbase64エンコーディングを使用して送信する必要があります。この手順については、「base64エンコーディングでのテキスト・コンテンツの送信」を参照してください。

    • attachmentURI: 添付ファイルのURI

  4. 「Webサービスのテスト」をクリックします。

J.2.4.1 実行の確認

weblogic電子メール・アカウントを確認します。添付ファイル付きの電子メールを受信しているはずです。

J.2.5 サンプルの作成

次の手順を実行してサンプルを新規に作成すると、SOAコンポジット・アプリケーションにメッセージを追加して、ユーザー・メッセージング・プリファレンスを使用する方法を学習できます。

  1. Oracle JDeveloper 11gを開きます。

  2. 「File」→「新規」「アプリケーション」「SOAアプリケーション」を選択して、新規アプリケーションを作成します。「@OK」をクリックします。

  3. 「アプリケーション名」を入力し、「次へ」をクリックします(図J-21)。

    図J-21 新規アプリケーションおよび新規プロジェクトの作成(1/3)

    図J-21の説明が続きます
    「図J-21 新規アプリケーションおよび新規プロジェクトの作成(1/3)」の説明

  4. プロジェクトの名前を入力し、「次へ」をクリックします(図J-22)。

  5. 図J-22 新規アプリケーションおよび新規プロジェクトの作成(2/3)

    図J-22の説明が続きます
    「図J-22 新規アプリケーションおよび新規プロジェクトの作成(2/3)」の説明

  6. コンポジット・テンプレートとして、BPELプロセスを使用するコンポジットを選択します(図J-23)。「終了」をクリックします。

    図J-23 新規アプリケーションおよび新規プロジェクトの作成(3/3)

    図J-23の説明が続きます
    「図J-23 新規アプリケーションおよび新規プロジェクトの作成(3/3)」の説明

  7. 「BPELプロセスの作成」ダイアログで、BPELプロセス名としてSendEmailWithAttachmentsと入力します(図J-24)。「OK」をクリックします。

    図J-24 BPELプロセスの作成

    図J-24の説明が続きます
    「図J-24 BPELプロセスの作成」の説明

  8. 「SOAPサービスとして公開」が選択されていることを確認します。「OK」をクリックします。

  9. これで、空のデフォルトBPELアプリケーションが作成されました。

    「Oracle JDeveloper」メイン・ウィンドウの「Composite.xml」タブの下に、次のようなサンプル・アプリケーションのコンポーネントが表示されます。

    • 左のボックスは、アプリケーションを初期化するために使用するWebサービス・クライアントの定義です。

    • 中央のボックスは、メッセージを作成して書式設定し、メッセージ・サービスをコールするBPELプロセスです。


      注意:

      User Notification BPELプロセスの作成時にメッセージ送信に使用するメッセージ・サービス・リソースは、後で作成します(ステップ13から19)。

  10. 「アプリケーション・ナビゲータ」の「xsd」フォルダを開き、「SendEmailWithAttachments.xsd」をダブルクリックして開きます(図J-25)。

    図J-25 SendEmailWithAttachments.xsdファイルへのアクセス

    図J-25の説明が続きます
    「図J-25 SendEmailWithAttachments.xsdファイルへのアクセス」の説明

  11. 「ソース」タブをクリックします(図J-25)。

  12. このBPELアプリケーションの入力に対して次の変更を行います。

    プロジェクトの「アプリケーション・ナビゲータ」の「xsd」フォルダ内に生成されたファイルSendEmailWithAttachments.xsdには、次の要素定義がデフォルトで作成されます。

    <element name="process">
      <complexType>
        <sequence>
          <element name="input" type="string"/>    </sequence>
      </complexType>
    </element>
    

    「ソース」タブを選択し、前述の行を次の内容で置換します。

    <element name="process">
    <complexType>
         <sequence>
           <element name="to" type="string"/>
           <element name="subject" type="string"/>
           <element name="body" type="string"/>
           <element name="attachmentName" type="string"/>
           <element name="attachmentMimeType" type="string"/>
           <element name="attachmentURI" type="string"/>
         </sequence>
       </complexType>
     </element>
    

    このxsd要素は、BPELプロセスの入力を定義します。

    図J-26 Emailの編集

    図J-26の説明が続きます
    「図J-26 Emailの編集」の説明

  13. プロジェクトを保存します。

  14. SendEmailWithAttachments.bpelのエディタ画面を選択します。

  15. 「コンポーネント・パレット」にある「Oracle Extensions」からemailアクティビティを、receiveInputアクティビティとcallbackClientアクティビティの間にドラッグ・アンド・ドロップします(図J-26)。

  16. 「Emailの編集」ウィンドウでは、「送信元アカウント」を「Default」のままにします。

    図J-27 「Emailの編集」ウィンドウ

    図J-27の説明が続きます
    「図J-27 「Emailの編集」ウィンドウ」の説明

  17. 「To」に対して式を作成するには、「式ビルダー」(2番目のアイコン、図J-28)を選択して、次の手順を実行します。

    • 関数のドロップダウン・リストから「Identity Service Functions」を選択します。

    • getUserProperty()関数を選択して「式に挿入」を選択します。

    • 「BPEL変数」で、「変数」「プロセス」「変数」「inputVariable」「payload」「client:process」「client:to」の順に選択します。

    • 「式に挿入」をクリックします。

    • 文字列mailを手動で入力します。

    • カッコを適切に修正します。

    • 「OK」をクリックします。

    この式(図J-28)は、Webサービスからデータを取得し、そのデータをローカルSOAユーザーのビジネス電子メールにマップします。

    図J-28 Toパスに対する式ビルダー

    図J-28の説明が続きます
    「図J-28 Toパスに対する式ビルダー」の説明

    式は、次のように表示されます。

    ids:getUserProperty(  bpws:getVariableData('inputVariable','payload', '/client:process/client:to'),'mail')
    
  18. 「件名」に対して式ビルダーを選択します。「BPEL拡張関数」から「getVariableData」を選択し、「式に挿入」をクリックします。

  19. 「BPEL変数」で、「変数」「プロセス」「変数」「inputVariable」「payload」「client:process」「client:subject」の順に選択します。

    式は、次のように表示されます。

    bpws:getVariableData( 'inputVariable', 'payload','/client:process/ client:subject')
    
  20. 「本体」に対して式ビルダーを選択します。「BPEL拡張関数」から「getVariableData」を選択し、「式に挿入」をクリックします。

  21. 「BPEL変数」で、「変数」「プロセス」「変数」「inputVariable」「payload」「client:process」「client:body」の順に選択します。

    式は、次のように表示されます。

    bpws:getVariableData('inputVariable','payload','/client:process/client:body')
    
  22. 「電子メールの編集」ダイアログ(図J-29)で、「添付ファイル」タブを選択し、追加アイコンを使用して、指定した数の添付ファイルを追加します。

    電子メールに複数のパートがある場合、添付ファイルの件数には、前述のウィザードで設定した本体が含まれます。前述のウィザードで指定した本体は、最初の本体部分として設定されます。たとえば、1つの添付ファイルがあるマルチパート・メールを表現するには、2つの本体部分を指定します。添付ファイルが1つある場合は、本体部分を1つ指定します。

    図J-29 「Emailの編集」ウィンドウ

    図J-29の説明が続きます
    「図J-29 「Emailの編集」ウィンドウ」の説明

  23. 「添付ファイル」タブで、添付ファイルを設定します。

    添付ファイルごとに名前、MIMEタイプ、値の3つの要素があります。添付ファイルごとに3つの要素をすべて設定する必要があります。

    1. 「添付ファイル」タブをクリックします。

    2. 「追加」アイコンをクリックして、必要な数の添付ファイルを追加します(添付ファイルの数に本体部分を含める必要はありません)。

    3. 「名前」フィールドで名前を変更するか、デフォルト値「Attachmentnumber」をそのまま使用します。

    4. 「MIMEタイプ」フィールドで、「参照」アイコンをクリックし、MIMEタイプのコンテンツを追加する「式ビルダー」ダイアログを起動します。

    5. 完了後、「OK」をクリックして「添付ファイル」タブに戻ります。

    6. 「値」フィールドで、「参照」アイコンをクリックして、添付ファイルのコンテンツを追加するための「式ビルダー」ダイアログを起動します。

    7. 完了したら、「OK」をクリックして「添付ファイル」タブに戻ります。

      複数のコピー・ルールを含むassignアクティビティで構成されたBPELフラグメントが生成されます。copyルールの1つによって添付ファイルがコピーされます。

    8. 「OK」をクリックします。

    生成されたデフォルトのコピー・ルールを表示するには、新しいコピー・ルールを作成してデータを変換します。

    1. プラス記号アイコンを選択して、Emailノードを展開します(図J-30)。

      図J-30 Emailノードの展開

      図J-30の説明が続きます
      「図J-30 Emailノードの展開」の説明

    2. EmailParamsAssignノードをダブルクリックします(図J-31)。

      図J-31 EmailParamsAssignノード

      図J-31の説明が続きます
      「図J-31 EmailParamsAssignノード」の説明

    3. 2番目の添付ファイルのattachmentMimeTypeの後にコピー・ルールを挿入します。「変数」で、「プロセス」「変数」「inputVariable」「payload」「client:process」「client:attachmentMimeType」の順に選択します。

      この後に新規ルールを挿入を選択していることを確認し、次のように「送信先XPath」に入力します。

      From: /client:process/client:attachmentMimeType 
      
      To: /EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/
      ns1:BodyPart[2]/ns1:MimeType
        
      
    4. 「適用」をクリックします。

    5. 2番目の添付ファイルのattachmentNameの後にコピー・ルールを挿入します。「変数」で、「プロセス」「変数」「inputVariable」「payload」「client:process」「client:attachmentName」の順に選択します。

    6. 「送信先XPath」に次のように入力します。

      From: /client:process/client:attachmentName To: /EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart
      /ns1:BodyPart[2]/ns1:BodyPartName 
      
    7. 「適用」をクリックします。

    8. 2番目の添付ファイルのbodyの後にコピー・ルールを挿入します。「変数」で、「プロセス」「変数」「inputVariable」「payload」「client:process」「client:body」の順に選択します。

    9. 「送信先XPath」に次のように編集します。

      From: ora:readFile(bpws:getVariableData('inputVariable','payload','/client:
      process/client:attachmentURI')) To:/EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/
      ns1:BodyPart[2]/ns1:ContentBody
      
    10. 「適用」をクリックします。

    11. 「Assignの編集」ダイアログで「OK」をクリックします。

    12. プロジェクトを保存します。

    プロセスのモデル化が終了しました。この手順にある情報は、バイナリの添付ファイル付き通知をSOAコンポジット・アプリケーションに追加する際に使用できます。

J.2.5.1 base64エンコーディングでのテキスト・コンテンツの送信

ASCII以外の文字(UTF-8エンコードなど)が含まれたテキスト・ファイルの添付ファイルを送信するには、base64エンコーディングでテキスト・コンテンツを送信する必要があります。次の追加手順を実行します。

  1. BPELソース・エディタをクリックし、マルチパート・コンテンツの適切な本体部分(<MultiPart>内の適切な<BodyPart>タグを検索)に次の構文を追加します。

    <ContentEncoding       xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService"/>
    

    例J-1 マルチパートへのContentEncodingタグの追加

    <copy xml:id="id33">
       <from xml:id="id31">
          <Content xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService">
             <MimeType xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService"> 
                multipart/mixed</MimeType>
             <ContentBody xmlns="http://xmlns.oracle.com/ias/pcbpel/ 
                NotificationService">
                <MultiPart xmlns="http://xmlns.oracle.com/ias/pcbpel/
                NotificationService">
                 <BodyPart xmlns="http://xmlns.oracle.com/ias/pcbpel/
                   NotificationService">
                    <MimeType xmlns="http://xmlns.oracle.com/ias/pcbpel/ 
                      NotificationService"/>
                    <ContentBody xmlns="http://xmlns.oracle.com/ias/pcbpel/
                      NotificationService"/>
                    <BodyPartName xmlns="http://xmlns.oracle.com/ias/pcbpel/
                      NotificationService"/>
                 </BodyPart>
                 <BodyPart xmlns="http://xmlns.oracle.com/ias/pcbpel/
                     NotificationService">
                    <MimeType xmlns="http://xmlns.oracle.com/ias/pcbpel/
                       NotificationService"/>
                    <ContentBody xmlns="http://xmlns.oracle.com/ias/pcbpel/
                       NotificationService"/>
                 <BodyPartName xmlns="http://xmlns.oracle.com/ias/pcbpel/
                       NotificationService"/>
                 <ContentEncoding xmlns="http://xmlns.oracle.com/ias/pcbpel/
                       NotificationService"/>  
                 </BodyPart>
              </MultiPart>
           </ContentBody>
        </Content
    
  2. BPELデザイン・エディタで、emailアクティビティ・ノードを展開し、「EmailParamsAssign」ノードをダブルクリックします。

  3. 「+」アイコンを選択し、「Base64」文字列を添付ファイル部分にコピーするコピー・ルールを作成します。

  4. XPathを次のように編集します。

    From:
    Type-Expresion: string('base64')
     
    To:
    Type-Variable:
    /EmailPayload/ns1:Content/ns1:ContentBody/ns1:MultiPart/ns1:BodyPart[2]/ns1:ContentEncoding
    

    図J-32 コピー・ルールの編集(2)

    図J-32の説明が続きます
    「図J-32 コピー・ルールの編集(2)」の説明

  5. 「OK」をクリックします。

  6. 「Assign」ウィンドウで、「適用」「OK」の順にクリックします。

  7. プロジェクトを保存します。

これで、J.2.3項「事前作成されたサンプルの実行」の説明に従って、アプリケーションをデプロイして実行できます。

J.2.6 新規アプリケーション・サーバー接続の作成

次の手順を実行し、アプリケーション・サーバー接続を作成します。

  1. プロジェクトを右クリックし、「新規」「接続」「アプリケーション・サーバー接続」の順に選択して、新規アプリケーション・サーバー接続を作成します(図J-33)。

    図J-33 新規アプリケーション・サーバー接続

    図J-33の説明が続きます
    「図J-33 新規アプリケーション・サーバー接続」の説明

  2. 接続にSOA_serverという名前を付けて、「次へ」をクリックします(図J-34)。

  3. 「接続タイプ」「WebLogic 10.3」を選択します。

    図J-34 新規アプリケーション・サーバー接続

    図J-34の説明が続きます
    「図J-34 新規アプリケーション・サーバー接続」の説明

  4. 認証情報を入力します。ユーザー名の一般的な値はweblogicです。

  5. 「接続」ダイアログで、SOA管理サーバーのホスト名、ポートおよびSSLポートを入力し、Oracle WebLogic Serverドメインのドメイン名を入力します。

  6. 「次へ」をクリックします。

  7. 「テスト」ダイアログで、「接続のテスト」をクリックします。

  8. メッセージSuccess!が表示されていることを確認します。

    アプリケーション・サーバー接続が作成されました。