この情報は、米国アドビシステムズ社が提供している情報をもとにローカライズし、作成したものです。

日本語環境で利用できない内容が含まれる場合もございますので、あらかじめご了承ください。

この文書は、プログラミングの概念に関する一定の基礎知識を持ち、Web サービスおよび LiveCycle Remoting に精通しているユーザを対象としています。Web サービスと LiveCycle Remoting に関する詳細は、Programming with  LiveCycle の Invoking LiveCycle ES using LiveCycle Remoting および Invoking LiveCycle ES Using Web Services を参照してください。バックアップとリストアのサービス(Backup and Restore Service)により、LiveCycle ES はバックアップモードで動作し、ホットバックアップの実行が可能になります。ホットバックアップにより、サービスを停止させず、実行中の状態で LiveCycle Server のバックアップを行うことができます。バックアップとリストアのサービスでは、LiveCycle ES のバックアップおよびシステムのリストアは行われませんが、その代わりにサーバが実行中の状態で、安定したバックアップ処理を行うことができます。これらのバックアップ処理は、GDS(Global Document Storage)および LiveCycle ES サーバに接続しているデータベースのバックアップの責任者が行います。GDS は、長期間実行されるプロセスに使用されるファイルなどを格納するために使用されるディレクトリです。

管理者権限がある場合、LiveCycle Administration Console を使用して、LiveCycle ES をバックアップモードに切り替えることができます。Java API や Web サービスを使用して、プログラムから LiveCycle ES をバックアップモードにすることも可能ですが、バックアップとリストアのサービスは Workbench ES を使用して作成されたプロセスでは使用できないため、Programming with LiveCycle ES に記載されている方法で、LiveCycle Remoting から起動することはできません。LiveCycle Remoting を使用してバックアップとリストアのサービスを起動する場合、サービスを直接起動する必要があります。サーバのバックアップ用ソフトウェアアプリケーションを構築する場合は、プログラムからバックアップとリストアのサービスを起動することもできます。

LiveCycle Remoting を使用してサービスを直接起動するには、サービス名と、参照するタイプ、メソッド、プロパティの String 値を把握しておく必要があります。String 値を判別するには、WSDL 自体の名前を参照して、サーバ上の WSDL を確認します。(Invoking LiveCycle ES Using APIs > Invoking LiveCycle ES Using Web Services のテーブルを参照してください。)例えば、バックアップとリストアのサービスを使用するには、以下のアドレスを Web ブラウザのアドレスフィールドに入力します。

http://localhost:8080/soap/services/BackupService?wsdl&lc_version=8.2.1

返される WSDL から、ActionScript や MXML コードでリモートオブジェクトにアクセスするためのタイプ、メソッド、プロパティの String 名を判別することができます。或いは、Flex Builder のデバッガを使用してアクセスされるオブジェクトの手順を行い、ResultEvent.result プロパティを参照することでも値を確認することができます。この文書では、LiveCycle Remoting を使用してバックアップとリストアのサービスを起動するための ActionScript および MXML コードを書く方法について説明しています。

  • バックアップモードの開始
  • バックアップモードからの回帰(Leave Backup Mode)

バックアップモードの開始

バックアップモードを開始して、LiveCycle ES サーバのホットバックアップを行います。バックアップモードを開始すると、環境に応じたバックアップ手順に基づいて、以下の情報が特定されます。

  • バックアップモードセッションを特定できるユニークなラベル。バックアップの処理に役立つことがあります。
  • バックアップ処理の完了に要した時間
  • ローリングバックアップの実行中にのみ有効な、バックアップモードを継続するかどうかを示すフラグ。ローリングバックアップでは継続的なバックアップを行うことができ、前回のバックアップが完了すると同時に、新しいバックアップセッションが開始されます。

バックアップモードを開始するアプリケーションを開発する前に、LiveCycle ES サーバをバックアップモードに切り替えた後、バックアップがどのように処理されるかを理解しておくことが重要です。LiveCycle ES のバックアップを実行する上で考慮すべき点について、詳しくは Administering LiveCycle ES を参照してください。

LiveCycle Remoting を使用したバックアップモード開始手順

LiveCycle Remoting を使用してバックアップモードを開始するには、以下の手順を行います。

  1. 開発用プロジェクト内に必要なファイルを保存します。これらのファイルは、コードを適切にコンパイルし、バックアップとリストアのサービスの API を使用する上で、プロジェクト内に含めることが重要です。

    リモート処理を実行するための「adobe-remoting-provider.swc」ファイルを含めます。(Programming with LiveCycle ES の「Invoking LiveCycle ES Using LiveCycle Remoting」を参照してください。)
  2. バックアップとリストアのサービス API を使用するための BackupService クライアントオブジェクトを作成します。
    • ActionScript または MXML を使用して、「mx:RemoteObject」インスタンスを作成し、バックアップとリストアのサービスのリモート終了ポイントに割り当てられた名前に関連付けます。LiveCycle Administration Console の「Applications and Services」で、サービスの名前を確認することができます。(Application and Services Administration ヘルプを参照してください。)
    • mx:RemoteObject タグ内の mx:method タグを使用して enterBackupMode メソッドを設定します。
    • LiveCycle ES サーバ接続用のコンストラクタを使用して ChannelSet オブジェクトを作成し、ChannelSet オブジェクトの addChannel メソッドを実行してチャンネルを追加、ユニークな ID とURL(LiveCycle ES サーバのローカルインスタンスとなる、http://localhost:8080/remoting/messagebroker/amf などのデフォルトの URL)を指定する AMF チャンネルオブジェクトを渡します。
    • mx:RemoteObject インスタンスを実行し、LiveCycle ES のユーザ名とパスワードを指定します。
    • setCredentials メソッドおよび以下の値の受け渡し
      • ユーザ名を指定する String 値
      • パスワードを指定する String 値
    • ChannelSet オブジェクトを mx:RemoteInstance の channelSet データメンバーに割り当てることにより、mx:RemoteObject インスタンスに ChannelSet オブジェクトを添付します。
  3. バックアップモードを開始する前に、ユニークなラベル、バックアップ処理に割り当てる時間、LiveCycle ES サーバをバックアップモードで実行し続けるか、をあらかじめ決めておきます。これらは、組織内で確立されたバックアップ手順に応じた処理を行うためには重要な情報です。(Administering LiveCycle ES を参照してください。)

    例えば、Flex アプリケーションを開発している場合、ユーザの入力内容に基づいてパラメータを取得し、バックアップを実行するというケースも想定されます。
  4. 使用環境のバックアップ手順に合わせてパラメータを指定し、バックアップモードを開始します。必要なパラメータは、ラベル、タイムアウト実行の時間、バックアップモードの継続指定です。バックアップとリストアのサービスの API である enterBackupMode の処理に必要な入力パラメータを格納する Object インスタンスを作成します。Object インスタンスでは、以下の構文を使用します。

    params["aLabel"] = "BackupTimeLabel"

    「params」は、Object のインスタンス名で、パラメータの値が格納されます。上記のサンプルの場合、「aLabel」には、バックアップとリストアのサービスに渡されるラベル名が格納されます。「aLabel」、「aBackupModeTimeout」、「aContinuousCoverageMode」を、それぞれパラメータのキーとして使用して、ラベル、バックアップ時間、バックアップモードの継続指定を設定します。以下の情報を、手順 3. で決めておいた情報で指定します。
    • aLabel(String 値) : バックアップモードセッションを特定する、解読可能なユニークなラベルを指定します。スペースや、XML 形式でエンコード不可能な文字を使用しないよう注意してください。
    • aBackupModeTimeout(Integer 値) : バックアップモードを継続する時間を、分単位で指定します。指定可能な数値は 1 ~ 10080(一週間)です。
    • aContinuousCoverageMode(Boolean 値) : バックアップモードを継続するかどうかを指定します。「True」を指定すると、バックアップモードが継続されます。継続バックアップモードでは、バックアップ処理が完了すると、新しいセッションが開始されます。「False」を指定した場合、バックアップ処理は継続されず、GDS が占有していたファイルは消去されます。



      注意 : WDSL にアクセスし、enterBackupMode メソッドの入力パラメータを参照することで、使用する文字列を確認することができます。
  5. mx:RemoteObject インスタンスの enterBackupMode メソッドを呼び出し、入力パラメータの値を格納した Object インスタンスを渡して、バックアップモードを開始します。
  6. バックアップモードの開始後に、セッション情報を取得することができます。バックアップモード開始後に取得可能な情報は、環境に応じたバックアップ処理に役立てることができます。例えば、ラベル、バックアップ ID、開始時間などの情報は、バックアップ処理におけるファイル名の入力に使用することができます。
    • コンストラクタを使用して、MXML 内に BackupModeEntryResult インスタンスを作成します。BackupModeEntryResult オブジェクトは、カスタムの ActonScript クラスから作成することができます。クラスには、返されるプロパティが含まれます。BackupModeEntryResult オブジェクト内の名前に対応する名前を使用してください。
    • 結果を含めるインデックスを使用することで、ResultEvent.result プロパティを使用します。バックアップとリストアのサービスの API 用に、作成した BackupModeEntryResult インスタンスに強制する Object オブジェクトを提供するキーとして、結果にアクセスします。
    • 作成した BackupModeEntryResult オブジェクト内に定義したプロパティ名を使用して、それぞれの値を取得し、バックアップ処理用の入力またはパラメータとして、必要に応じて使用します。
    • .NET Webservice WebStudio などのツールを使用して Web サービスにアクセスすることで、作成した ActionScript クラス内の各プロパティの名前を指定することができます。また Flex Builder でデバッグを行い、ResultEvent.result で結果を参照することができます。
  7. バックアップモードの開始に成功すると、LiveCycle ES サーバに接続されているデータベース、および GDS のバックアップを実行することができます。以下の手順は手動で行うことができ、またツールを使用することも可能なため、環境によって異なります。

LiveCycle ES サーバに接続されているデータベース、および GDS のバックアップを実行します。バックアップを実行するアクションは LiveCycle ES SDK の一部ではなく、また環境によっては手動の操作が必要になります。

 

サンプルコード : LiveCycle Remoting を使用したバックアップモードの開始

  • バックアップモードを開始するメインの MXML については、こちらを参照してください。
  • BackupModeEntryResult クラスは、こちらを参照してくだささい。

LiveCycle Remoting を使用したバックアップモードからの回帰

LiveCycle ES サーバの通常の操作を行うために、バックアップモードから回帰します。

  1. 開発用プロジェクト内に必要なファイルを保存します。これらのファイルは、コードを適切にコンパイルし、バックアップとリストアのサービスの API を使用する上で、プロジェクト内に含めることが重要です。

    リモート処理を実行するための「adobe-remoting-provider.swc」ファイルを含めます。(Programming with LiveCycle ES の「Invoking LiveCycle ES Using LiveCycle Remoting」を参照してください。)
  2. バックアップとリストアのサービス API を使用するための BackupService クライアントオブジェクトを作成します。

    LiveCycle Remoting から直接 BackupService クライアント API を使用するのではなく、代わりに RemoteObject インスタンスを使用し、LiveCycle ES サーバを起動する方法を指定します。LiveCycle Remoting でバックアップとリストアのサービス API を使用するには、以下の手順を行います。
    • ActionScript または MXML を使用して、「mx:RemoteObject」インスタンスを作成し、バックアップとリストアのサービスのリモート終了ポイントに割り当てられた名前に関連付けます。この操作により、LiveCycle Remoting でバックアップとリストアのサービス API が使用可能になります。LiveCycle Administration Console の「Applications and Services」で、サービスの名前を確認することができます。(Application and Services Administration ヘルプを参照してください。)
    • mx:RemoteObject タグに入れ子になっている mx:method タグを使用して、leaveBackupMode メソッドを使用するための RemoteObject インスタンスを設定します。
    • LiveCycle ES サーバ接続用のコンストラクタを使用して ChannelSet オブジェクトを作成し、ChannelSet オブジェクトの addChannel メソッドを実行してチャンネルを追加、ユニークな ID とURL(LiveCycle ES サーバのローカルインスタンスとなる、http://localhost:8080/remoting/messagebroker/amf などのデフォルトの URL)を指定する AMF チャンネルオブジェクトを渡します。
    • mx:RemoteObject インスタンスを実行し、LiveCycle ES のユーザ名とパスワードを指定します。
    • setCredentials メソッドおよび以下の値の受け渡し
      • ユーザ名を指定する String 値
      • パスワードを指定する String 値
    • ChannelSet オブジェクトを mx:RemoteInstance の channelSet データメンバーに割り当てることにより、mx:RemoteObject インスタンスに ChannelSet オブジェクトを添付します。
  3. mx:RemoteObject インスタンスの leaveBackupMode メソッドを呼び出し、バックアップモードから回帰します。
  4. 稼働状況の情報を取得し、上記の手順で成功しているか確認します。

    コンストラクタを使用して、MXML 内に BackupModeEntryResult インスタンスを作成します。BackupModeEntryResult オブジェクトは、カスタムの ActonScript クラスから作成することができます。クラスには、返されるプロパティが含まれます。BackupModeEntryResult オブジェクト内の名前に対応する名前を使用してください。
    • 結果を含めるインデックスを使用することで、ResultEvent.result プロパティを使用します。バックアップとリストアのサービスの API 用に、作成した BackupModeEntryResult インスタンスに強制する Object オブジェクトを提供するキーとして、結果にアクセスします。
    • 作成した BackupModeResult オブジェクト内に定義された id プロパティを使用して、バックアップモードの識別子を取得します。

注意 : .NET Webservice WebStudio などのツールを使用して Web サービスにアクセスすることで、作成した ActionScript クラス内の各プロパティの名前を指定することができます。また Flex Builder でデバッグを行い、ResultEvent.result オブジェクトの result プロパティで結果を参照することができます。

 

サンプルコード : LiveCycle Remoting を使用したバックアップモードからの回帰

  • バックアップモードから回帰するメインの MXML については、こちらを参照してください。
  • BackupModeResult クラスは、こちらを参照してください。

 

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー