この章では、通知の追加方法について説明します。
この章の内容は次のとおりです。
チュートリアルのこのフェーズでは、POAcknowledgeプロセスに通知を追加します。このフェーズを実行する前に、第9章「ファイル・アダプタの書込み機能の使用」および第12章「センサーの使用」の各フェーズが正常に完了していることを確認してください。通知機能により、イベントに関する通知をユーザー、グループまたは指定するアドレスに送信できます。通知は、電子メール、ボイス・メールまたはショート・メッセージ・サービス(SMS)のいずれかで送信できます。このフェーズでは、注文の受領を確認する電子メール通知を送信します。ここで実行するタスクは、次のとおりです。
企業の電子メール環境を構成します。
POAcknowledgeプロセス内にnotificationアクティビティを作成します。
POAcknowledge BPELプロセスをデプロイします。
Oracle BPEL ControlからPOAcknowledgeを実行して、電子メール通知を送信します。
この項では次のタスクを実行します。
SOA_Oracle_Home\bpel\system\services\configディレクトリに移動します。
ns_emails.xmlファイルのバックアップ・コピーを作成します。
テキスト・エディタを開きます。
ns_emails.xmlを開いて、NotificationModeパラメータのNONEをEMAILに置き換えます。 太字で表示されたその他のパラメータ値を、使用中のコンピュータの環境に適した値に置き換えます。
<EmailAccounts xmlns="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
EmailMimeCharset=""
NotificationMode="NONE">
<EmailAccount>
<Name>Default</Name>
<GeneralSettings>
<FromName>Oracle BPM</FromName>
<FromAddress>accountId@yourdomain.com</FromAddress>
</GeneralSettings>
<OutgoingServerSettings>
<SMTPHost>yourdomain.com</SMTPHost>
<SMTPPort>25</SMTPPort>
</OutgoingServerSettings>
<IncomingServerSettings>
<Server>yourdomain.com</Server>
<Port>110</Port>
<Protocol>pop3</Protocol>
<UserName>accountId</UserName>
<Password ns0:encrypted="false"
xmlns:ns0="http://xmlns.oracle.com/ias/pcbpel/NotificationService">
password</Password>
<UseSSL>false</UseSSL>
<Folder>Inbox</Folder>
<PollingFrequency>1</PollingFrequency>
<PostReadOperation>
<MarkAsRead/>
</PostReadOperation>
</IncomingServerSettings>
</EmailAccount>
<!--EmailAccount>
ユーザーjcooperおよびjsteinの電子メール・アドレスを、アクセス可能な電子メール・アカウントに変更します。 XMLベースのJAZNプロバイダが使用されている場合、これらのパラメータは次のファイルで変更できます。
SOA_Oracle_Home\bpel\system\services\config\users-properties.xml
次のコード例は、電子メールを変更する箇所を示しています。
<userObject>
<name>jstein</name>
<description>Demo User</description>
<email>user2@hotmail.us.com</email>
<title>Manager2</title>
<firstName>John</firstName>
<lastName>Steinback</lastName>
<manager>wfaulk</manager>
<timeZone>America/Los_Angeles</timeZone>
<languagePreference>en-US</languagePreference>
<notificationPreferences>Mail</notificationPreferences>
</userObject>
変更内容を保存し、ファイルを閉じます。
Oracle JDeveloperを再起動します。
「アプリケーション・ナビゲータ」で「POAcknowledge.bpel」をダブルクリックします。
「コンポーネント・パレット」セクションから「Process Activities」を選択します。
「コンポーネント・パレット」セクションから「InvokeFileOut」Invokeアクティビティの下にEmailサービスをドラッグ・アンド・ドロップします。
次の詳細を入力します。
| フィールド | 説明 |
|---|---|
| 送信元アカウント | Default |
| 宛先 | 有効な電子メール・アドレスを入力します。 |
| Cc: | 有効な電子メール・アドレスを入力します。 |
| Bcc: | 有効な電子メール・アドレスを入力します。 |
| 返信先: | 有効な電子メール・アドレスを入力します。 |
| 件名 | PO Acknowledgment for Items Ordered and Price |
| 本文: | このフィールドの右側のアイコンをクリックし、XPath式ビルダー・ウィンドウを表示します。このウィンドウを使用して次の式を作成し、完了したら「OK」をクリックします。
concat(string('Dear Customer, Your order number '),bpws:getVariableData('inputVariable','payload','/ns1:PurchaseOrder/ns1:ID'),string(' for customer '),bpws:getVariableData('inputVariable','payload','/ns1:PurchaseOrder/ns1:CustID'),string(' has been confirmed.The order status is "'),bpws:getVariableData('inputVariable','payload','/ns1:PurchaseOrder/ns1:OrderInfo/ns1:OrderStatus'),string('". Thanks for using Order Booking Application from Oracle BPEL Process Manager. Administrator.')) |
「OK」をクリックします。
「アプリケーション・ナビゲータ」セクションに移動します。
「POAcknowledge」を右クリックします。
「デプロイ」→「my_integration_server_connection」→「defaultドメインにデプロイ」の順に選択します。
プロンプトが表示されたら、プロジェクトのバージョン番号を増分(たとえば、1.1と入力)し、「OK」をクリックします。
これでBPELプロセスがコンパイルされます。 ウィンドウ下部のボタンをクリックしてエラーの有無を確認します。エラーが発生していなければ、デプロイは成功しています。 デプロイに失敗した場合は、手順4を参照してください。
「スタート」→「すべてのプログラム」→「Oracle - Oracle_Home」→「Oracle BPEL Process Manager」→「BPEL Control」の順に選択し、Oracle BPEL Controlにログインします(すでに開いている場合はページをリフレッシュします)。
Oracle BPEL Controlにログインするために次の情報を入力して「ログイン」をクリックします。
| フィールド | 値 |
|---|---|
| ユーザー名 | oc4jadmin
|
| パスワード | password
|
passwordは、インストール時に入力した値です。
Oracle BPEL Controlの「ダッシュボード」タブが表示されます。作業中のBPELプロセスであるPOAcknowledgeが、「デプロイ済のBPELプロセス」リスト内に表示されます。
「デプロイ済のBPELプロセス」リストで、手順4で増分したPOAcknowledgeバージョンをクリックします。
「HTMLフォーム」のすべてのフィールドに詳細を入力し、「XMLメッセージの転送」をクリックします。
Oracle BPEL Controlをリフレッシュします。
「インスタンス」タブをクリックします。
POAcknowledgeインスタンスをクリックします。
電子メールのアカウント宛てに電子メールが送信されているかどうか確認します(電子メール・サーバー・ベースの配信遅延がある場合があります)。