コスト削減について その4
今回は、とても変わったシステムです。
「エミュレーションライブラリ」古いシステムを新しい環境で
kdtsの技術のバックボーンとも言うべきもので、仮想マシンや仮想コンソールとは違います。簡単にいうと、古いプログラムソースを再コンパイルすることによって、新しい環境で動作するプログラムを作成する手法のことです。
利点は、
1.動作しないということはありません。理由は、初期状態で動作しない場合、プログラムソースで対応できるからです。非常に安定した動作が望めます。通常ほとんどソース修正は行いません。どうしても障害が起きては困るような重要なシステムには最適な手法です。
2.動作チェックが非常に簡単に済みます。元々枯れたソースを使っているので信頼性は抜群なのです。ロジックチェックなど不要で対応した新しい環境に対するチェックを行えばおしまいです。
3.ユーザへの教育が必要ありません。仕様が同じなのですから行う必要がありません。
4.機能追加が簡単です。ソースを修正すればどのような対応もバグ対応もできますし、ソースを修正しなくても、WEB対応とか、利用データベースの変更とか、全体にかかわる部分はエミュレーションライブラリで行えます。
欠点は、
1.対応作業にはある程度のコストが掛かります。
2.必ずソースがすべて必要です。
よく比較されるのは、エミュレータとの比較です。エミュレータは、ハードウェアを仮想的に実現します。ですから、古いOSはその環境で動作するとしても、プログラムが利用している環境をすべて実現できるわけではありません。そのために多くの場合利用できないのです。
また、エミュレータでは動作に問題がある場合、対応はできません。新しいバージョンで対応するものを待つしか無いわけです。
エミュレータがあくまでも仮想的に固定なハード環境を実現するのに対し、エミュレーションライブラリは、お客様専用環境用のライブラリを提供するというスタンスです。
ですから、汎用性は基本的になく(あまりにも環境は多彩のため、弊社の開発がすべての環境用にあらかじめ準備しておくことができません。)それぞれのお客様向けにライブラリを提供している状況です。
利用に適しているのは、大規模なシステムを開発済みで、ハードウェアやOSが新規購入できなくなるという場合です。
プログラムソースが多ければ多いほど、効率は良くなります。小規模システムには向きません。理由は、エミュレーションライブラリの対応にコストが掛かるため、新規開発した方がコスト的に有利な場合が少なくないからです。プログラム技術者がいない、ロジックを調べるコストが掛かるなど特殊な場合以外では、小規模システムでは利用しません。
今日はここまで、またいつか御会いしましょう。