Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
44 lines (36 sloc) 2.8 KB
title tags
財産確保
evolutionary design
legacy rehab

http://martinfowler.com/bliki/AssetCapture.html

財産確保とは、ストラングラーアプリケーション開発のための戦略である。 多くのアプリケーションは、重要な財産を管理するためのものだと考えることができる。 給与支払いシステムは従業員を管理するためのものだし、 トレーディングシステムはトレーディングを扱うためのものだし、 リースシステムはリースを管理するためのものだ。 じょじょに新システムに移行していくには、 新システムでどの財産を扱うかを識別するところから始められるだろう。 扱い始めるのに都合のよい財産はおそらく、 シンプルな財産か(すぐに取り掛かることができる)、 古いシステムのままでは扱えないが、すぐにでも必要となる財産のいずれかだろう。

この作業をスムーズに行うには、ある手順が必要となる。 古いアプリケーションから財産を引き出し、 ストラングラーにもっていき、そして、''元に戻す''。 元に戻す作業は必要ないように思える。 だがこれは、リスクを減らし、 新しいシステムが処理できないが、財産は動的に変化するかもしれないといった状況に対処するのに、 大変効果的なやり方なのだ。 たとえば、初期の給与システムは病欠の従業員を扱えないかもしれない。 だが、双方向での移行を行っていれば、 従業員全員が病気で倒れた場合でもカバーできる。

財産を管理するには、イベントインターセプションを使う必要があるだろう。 そうして、確保した財産のために必要なイベントを確実に捕獲できたかどうか確認するのだ。 すべてのイベントを捕獲する必要はない。確保した財産に関係するものだけでいい。 もしかすると、古いシステムが該当財産を管理しておらず、 イベントも受け取っていないということがあるかもしれない。 Content-Based Routerなどを使っているかもしれないから、 その点は確認しておこう。

私が携わってきた多くの書き換えでも、ある程度、財産確保は行ってきた。 ただ、残念なのは、頻繁にリリースを行えるよう粒度を細かくしなかったことである。 インターセプターは双方向の移行に対応していなかったが、 頻繁にリリースを行うことができれば、もっと簡単に作業を行えるはずだ。

You can’t perform that action at this time.