COM+ CRM の開発に関する設計の提案
COM+ CRM を開発するための推奨される手順を次に示します。
- 開発を開始する前に、(Component Services 管理ツールを使用して) トランザクションタイムアウトをゼロに設定します。 デバッグ トレースで CRM の警告とエラー メッセージを表示するには、VTRACE1レジストリ フラグ (COM+ CRM レジストリの設定を参照) を設定します。
- 使用する必要があるインターフェイスのセット、構造化 (バリアント) または非構造化インターフェイスを決定します。 (「 COM+ CRM インターフェイス。)これは、CRM の開発に使用する言語 (Microsoft Visual C++ や Microsoft Visual Basic など) によって異なります。
- 最初に CRM ワーカーを開発します。 ログ・レコードに必要な情報を判別します。 必要なログ レコードの種類とその形式を定義します。
- デバッグ CRM 補正機能は、(Windows SDK の) CRM サンプルの一部として提供されます。 これは、実際の CRM 補正器の代わりに CRM ワーカーをデバッグするときに一時的に使用できます。
- CRM ワーカーが正常に動作している場合は、実際の CRM 補正器を開発し、デバッグ CRM 補正器を実際の CRM 補正器に置き換えます。
- 最初は復旧ケースをテストしないことをお勧めします。 その場合は、その CRM サーバー アプリケーションを起動する前に、CRM サーバー アプリケーションの CRM ログ ファイルを毎回削除します。
考慮事項
- 先に書いてください。 CRM ワーカー コンポーネントは先に書き込む必要があります。つまり、実際にそのアクションを実行する前にアクションを実行することを示すログ レコードを書き込む必要があります。 さらに、このログ レコードは、書き込み後、およびアクションが実行される前に、強制的にディスクに記録される必要があります。
- 分離。 CRM は分離を強制しません。 CRM の設計では、個別のトランザクションで複数のクライアント間で分離を提供する必要があり、復旧前にもこのケースを考慮する必要があります。
- 回復中 CRM ワーカーは、"進行中の回復" エラー コードを処理する必要があります。 このエラー コードの詳細については、 COM+ CRM のトラブルシューティングを参照してください。
- エラー処理。 CRM ワーカーは、トランザクションが予想よりも早く中止された場合に対処する必要があります。 COM+ CRM のエラー処理のセクションを参照してください。
- 回復時間 CRM コンペンサーは、その CRM サーバー アプリケーションの新しい作業を待機する必要がないように、迅速に回復を実行するように設計する必要があります。
- べき等。 CRM 補正機能は、既に元に戻された操作またはやり直し操作を元に戻したりやり直したりするために、同じログ レコードを再び受信する可能性があります。 CRM 補正機能が実行する可能性があるアクションはべき等である必要があります。これは、多くの場合、これらのアクションから返されるエラー コードを無視する必要があることを意味します。
- 復旧の開始。 CRM サーバー アプリケーションの回復は、その CRM サーバー アプリケーションの起動時に実行されます。 ただし、CRM サーバー アプリケーションの自動起動はありません。 アプリケーション開発者は、スタートアップと回復の両方を開始する方法を検討する必要があります。
関連トピック