プロジェクトでの BPEL サービスエンジンの使用

BPEL サービスエンジンの持続性の設定

システム障害が発生した場合のビジネスプロセスデータの完全性を確保するために、ビジネスプロセスデータがデータベースで持続されるように BPEL サービスエンジンを設定することができます。BPEL の持続性が有効になっている場合、BPEL サービスエンジンはビジネスプロセスデータを復旧し (持続性が有効でない場合はデータは失われる)、システム障害が発生したポイントから処理を続行します。

BPEL サービスエンジンは Sun Java System Application Server (GlassFish) に作成された JDBC リソースを使用して、持続性に必要なデータベース接続を作成します。NetBeans は JavaDB データベースにバンドルされています。これは、オープンソースの Apache Derby データベースの、Sun がサポートしている配布です。BPEL サービスエンジンは、デフォルトで JavaDB データベースに接続するように設定されています。

BPEL サービスエンジンでは、サポートされている Oracle データベースへの接続を使用してデータを持続することもできます。Oracle データベースを作成して接続するには、「Oracle 用 JDBC 接続プールの作成」および「Oracle 用 JDBC リソースの作成」を参照してください。

この節の内容は次のとおりです。


注 –

BPEL の持続性の詳細については、「Using BPEL Persistence」を参照してください。


JavaDB データベース用 JDBC 接続プールの作成

ここでは、JavaDB 用 JDBC 接続プールを作成する手順について説明します。

ProcedureJDBC 接続プールを作成する

  1. Web ブラウザで、Sun Java System Application Server の管理コンソールにログインします。次に例を示します。

    http://localhost:4848, username:admin, password: adminadmin

  2. ナビゲーションツリーで、「リソース」->「JDBC」ノードを展開します。

  3. 接続プール」を選択し、右のパネルで「新規」ボタンをクリックします。

  4. 「一般設定」で、名前を指定します (bpelseDB など)。

  5. 「リソースタイプ」を javax.sql.XADatasource に設定します。

  6. データベースベンダーを Derby に設定し、「次へ」をクリックします。

  7. 「接続検証」の下で、「有効」チェックボックスを選択して「コンポーネント以外の呼び出し側を許可」を有効にします。

  8. 「追加のプロパティー」で、サーバー名、ユーザー、パスワード、およびデータベース名を指定します。

    次の値を使用するか、独自のユーザー、パスワード、およびデータベース名 (create=true フラグを保持) を選択することができます。

    • サーバー名: machine-name

    • データベース名: DatabaseName: bpelseDB;create=true

    • ユーザー: bpelse_user

    • パスワード: bpelse_user

  9. 完了」をクリックし、接続プール名をクリックしてから「Ping」ボタンをクリックします。

    これによってデータベース接続が検証されます。

  10. 「完了」をクリックして、新しい JDBC リソースの作成準備を行います。

Oracle 用 JDBC 接続プールの作成

ここでは、Oracle 用 JDBC 接続プールを作成する手順について説明します。Oracle 用 JDBC 接続を作成する前に、必要なアクセス権を備えた Oracle ユーザーと、BPEL サービスエンジンの持続性に使用するテーブルスペースを作成する必要があります。

ProcedureOracle ユーザーを作成する

  1. Oracle に sysdba としてログインします (SQLPlus から、connect sys/manager@machine-name as sysdba を使用して接続する)。

  2. 次のスクリプトをデフォルト値で実行します。

    注釈付きのスクリプトをダウンロードするには、ここをクリックしてください。


    CREATE TABLESPACE bpelsedb
    
    DATAFILE 'bpelsedb.dat' SIZE 512M REUSE
    
    AUTOEXTEND ON NEXT 2048M MAXSIZE UNLIMITED;
    
    CREATE USER bpelse_user
    
    IDENTIFIED BY bpelse_user
    
    DEFAULT TABLESPACE bpelsedb
    
    QUOTA UNLIMITED ON bpelsedb
    
    TEMPORARY TABLESPACE temp
    
    QUOTA 0M ON system;
    
    GRANT CREATE session to bpelse_user;
    
    GRANT CREATE table to bpelse_user;
    
    GRANT CREATE procedure to bpelse_user;
    
    GRANT select on sys.dba_pending_transactions to bpelse_user;
    
    GRANT select on sys.pending_trans$ to bpelse_user;
    
    GRANT select on sys.dba_2pc_pending to bpelse_user;
    
    GRANT execute on sys.dbms_system to bpelse_user;
    
    GRANT select on SYS.dba_2pc_neighbors to bpelse_user;
    
    GRANT force any transaction to bpelse_user;

    注 –

    NetBeans IDE またはいくつかの SQL クライアントを使用して、ユーザー名 sys as sysdba を入力することによって接続することもできます。パスワードはシステムユーザーと同じものにしてください。ユーザー、テーブルスペース、データファイル名、およびサイズ/割り当て制限を必要に応じて変更することもできます。


ProcedureJDBC 接続プールを作成する

  1. Web ブラウザで、Sun Java System Application Server の管理コンソールにログインします。次に例を示します。

    http://localhost:4848, username:admin, password: adminadmin

  2. Oracle JDBC ドライバクラスをアプリケーションサーバーのクラスパスに追加します。

    アプリケーションサーバーのクラスパスにクラスを追加する方法の詳細については、Sun Java System Application Server のマニュアルを参照してください。1 つの方法は、「アプリケーションサーバー」>「JVM 設定」>「パス設定」に移動し、「クラスパスのサフィックス」ボックスに jar ファイルのパス (jar ファイル名も含む) を指定することです。続行する前に、アプリケーションサーバーを再起動する必要があります。

  3. ナビゲーションツリーで、「リソース」->「JDBC」ノードを展開し、「接続プール」を選択します。

  4. 右のパネルで「新規」ボタンをクリックします。

  5. 「一般設定」で、名前を指定します (bpelseDB など)。

  6. 「リソースタイプ」を javax.sql.XADatasource に設定します。

  7. データベースベンダーを Oracle に設定し、「次へ」をクリックします。

  8. 「接続検証」の下で、「有効」チェックボックスを選択して「コンポーネント以外の呼び出し側を許可」を有効にします。

  9. 「追加のプロパティー」で、URL、ユーザー、およびパスワードを次のように指定します。

    次の値を使用するか、独自のユーザー、パスワード、および URL を指定できます。

    • URL: jdbc:oracle:thin:@machine-name:port:sid

    • ユーザー: bpelse_user

    • パスワード: bpelse_use

  10. 完了」をクリックし、接続プール名をクリックしてから「Ping」ボタンをクリックします。

    これによってデータベース接続が検証されます。

  11. 完了」をクリックして、新しい JDBC リソースを作成する準備をします。

新しい JDBC リソースの作成

ここでは、アプリケーションサーバーデータベースの JDBC リソースを作成する手順について説明します。

ProcedureJDBC リソースを作成する

  1. Sun Java System Application Server (GlassFish) のナビゲーションツリーで、「リソース」->「JDBC」ノードを展開し、「JDBC リソース」を選択します。

  2. 右のパネルで「新規」ボタンをクリックします。

  3. JNDI 名 (jdbc/bpelseDB など) を指定し、前の手順で作成した JDBC 接続プール (bplseDB) を指定します。

    この JNDI 名は、あとで BPEL サービスエンジンのプロパティーで持続性を有効にするときに使用します。

  4. 設定」ノードを展開し、「トランザクションサービス」を選択します。

  5. 「再起動時」パラメータで、「有効」チェックボックスを選択して「自動復旧」を有効にします。

BPEL サービスエンジンの持続性の有効化

ここでは、BPEL サービスエンジンの持続性を設定する手順について説明します。

ProcedureBPEL サービスエンジンの持続性を有効にする

  1. NetBeans IDE の「サービス」ウィンドウで、「Sun Java System Application Server (GlassFish)」->「JBI」->「サービスエンジン」ノードを展開します。

  2. sun-bpel-engine」を右クリックし、「プロパティー」を選択します。

    sun-bpel-engine のプロパティーウィンドウが表示されます。

  3. PersistenceEnabled プロパティーの値を true に設定します。

  4. JNDIName プロパティーの値を設定して、データベースを設定したときに作成した JDBC リソースの JNDI 名を指定します。

  5. 閉じる」をクリックして設定を保存します。

    プロパティーの説明については、「BPEL サービスエンジンの実行時プロパティーの設定」を参照してください。

  6. 新しい設定を有効にするために、BPEL サービスエンジンを停止し、シャットダウンしてから起動します。

持続性の設定に関するメモ

次のメモでは、ドロップと切り詰めのスクリプトのほか、持続性の設定に関する追加情報について説明します。ここに記載された説明の一部は変更される可能性があるため、更新情報を再確認するか、質問がある場合は BPEL サービスエンジンチームに問い合わせてください。