8.7. ナチュラル対話の ID
永続オブジェクトを処理する対話を作業する場合に、 標準の「サロゲート」対話 ID ではなくそのオブジェクトのナチュラルビジネスキーを使用するのにはいくつか理由があります。
既存の対話に容易にリダイレクトできる
ユーザーが同じ動作を 2 度要求した場合、 既存の対話にリダイレクトさせると便利なことがあります。 たとえば次のような状況の場合です。
ebay で両親へのクリスマスプレゼントを購入しようとしているとします。これを両親に直接郵送しようと思っています。支払い詳細は入力しましたが両親の住所を思い出すことができません。 住所を探している間に誤って同じブラウザウィンドウを使ってしまいました。 もう一度先ほどのプレゼントの支払いの場所に戻る必要があります。
ナチュラル対話を使うと、 ユーザーは前回の対話に参加して中断したところから簡単に始めることができます。 この例の場合、 対話 ID の itemId を持つ payForItem 対話に再度参加できます。
わかりやすい URL
わかりやすい URL は重要であり (ページの内容を ID 番号を使わずにわかりやすく参照可能)、 編集可能な階層型になっています (ユーザーは URL を編集して目的のページに行くことが可能)。
ナチュラル対話では、 アプリケーションに複雑で長い URL を生成させながら URLRewrite を使ってユーザーにはシンプルで憶えやすい URL を表示することができます。 ホテル予約の例の場合、
http://seam-hotels/book.seam?hotel=BestWesternAntwerpen は http://seam-hotels/book/BestWesternAntwerpen と書き換えられるため、 非常にわかりやすくなります。 URLRewrite はパラメータに依存する点に注意してください。 前のサンプルの hotel はドメインモデルで一意のパラメータにマッピングを行わなければなりません。