S2JMS開発記 - デモのシナリオを考える

JMSContainerが固まってきたので、5/14のカンファレンス向けデモの内容を考えます。
(これって、当日いきなり発表しないと面白みが半減?・・・ま、いいか。)

せっかくS2Buriの勉強会で前振りしていただいたので、S2BuriのサンプルをベースにS2JMSの機能をデモできるようにします。

S2Buriのデモをおさらい

まず、S2Buriのデモの流れを簡単におさらいします。

  1. 検針員が「お客様番号」と「検針結果(m3)」をシステムへ入力する。
  2. システムは検診結果から請求金額を計算し、顧客へメールで通知。その後、「支払い待ち」状態に入る。
  3. (顧客からの支払いがあったとして)「支払い受付」画面から支払い金額を入力。
  4. 金額が正しければ「受領メール送信」を行い、「支払い処理完了済み」状態に移行。
  5. 金額が不足していれば、「督促メール送信」を行い、「督促済み」状態に移行する。

S2JMSのデモシナリオ

このデモでは、本来銀行から支払い通知を受けるところを、手作業での入力としていました。

今回は、「銀行システム」を別途立ち上げて「ガス料金支払い管理システム」との間をJMSで接続し、支払い関連の業務を連携させることを考えます。

上記のシナリオを、以下のような感じに変更することを考えます。

  1. 顧客が請求メールを受け取った後、銀行からガス会社へ振り込みを行う。(実際には銀行側のシステムから振込を行う)
  2. 振込が行われた時点で、銀行からガス会社へ振り込み通知を行う(ここはJMSでのやりとり)。
  3. ガス会社側のシステムは振込通知を銀行から受信した時点で、該当する顧客のステータスを「支払い処理完了済み」に変更する。
  4. (おそらく月次締め業務で)ガス会社は顧客の入金状況をチェック。未入金の顧客に対して、一括で督促メールを送信する。
  5. 督促メールを受け取った顧客が入金すると、ガス会社へ振込が(JMS経由で)通知され、ステータスが「督促済み」から「支払い処理完了済み」に移行する。

銀行側システムで、S2JMS の MessageSender を利用したメッセージ送信、ガス会社側ではS2JMSContainerを利用したメッセージの非同期受信とステータス変更処理が実現されます。

ちなみに、私はこの手の業務についてはまったく素人なので、かなり想像で書いてます。誤りがあればご指摘お願いします。m(_ _)m

・・・デモとしてはちょっとショボイかもしれませんねぇ。顧客によって自動引き落としの人と毎回振込の人を分けたりすると、もう少しシナリオが膨らむかもしれません。でも、あんまり風呂敷広げても仕方ないので、まずはこれを実現することを考えていきましょう。(>むらたさん)