サイト内検索
サイト内検索を閉じる

マイグレーションの種類 ~どんな言語でも共通する開発の進め方とは?~

2021/06/01

マイグレーションには変換元と変換先の言語の親和性や使用するサードパーティ製品の違い、稼働環境の制約などにより様々な種類が存在します。30システム以上のマイグレーション成功事例がある弊社の実績から、言語や環境などの種類によらず、共通する進め方について解説します。

1.マイグレーションの種類はさまざま

マイグレーションの変換元と変換先の言語についてもお客様の使用する言語、使用されるサードパーティ製品や稼働環境によって多くの組合せが存在します。代表的な例として2008年4月8日でマイクロソフトの延長サポートが切れたVisualBASIC6.0はこれまではVB.NETに移行することが主流となっていましたが、最近は他のシステムと統一することや今後の拡張性を考えてVB.NETではなくJAVAやCなどへの移行を希望されるお客様もいらっしゃいます。また、言語だけではなく変換元システムで使用しているサードパーティ製品についても同様で、変換後の言語での対応状況やサポート期間の長さ、移行した際に変換前と同様に表示や動作を再現できるかどうかの観点でいろいろな選択肢があります。
環境に目を向けてもDBは多くの種類が存在しますし、サーバーなどの機器構成もさまざまです。
TISのオープンマイグレーションのラインナップの一つであるフレームワーク変更では、JAVAのセキュリティ課題があるStrutsからSpringMVCへの変更に加え、2020年11月に発表されたマイクロソフトのフレームワーク統合によって、今後は.NETFrameworkから.NET5への変更が増加する見通しです。
マイグレーションを成功させるためには、これらいろいろな組合せによるマイグレーションの種類に対して、保有する知見を元にどのように進めるかが大きなポイントとなります。

〇サービスラインナップ
主要な変換パターン

  • VB → VB.net
  • VB → JAVA
  • HolonEnterprize(Holon) → VB.net
  • HolonEnterprize(Holon) → ProC
  • Delphi → C#.net
  • Delphi → JAVA
  • Struts → SpringMVC
  • TERASOLUNA Server Framework for Java 2 → SpringMVC
  • TERASOLUNA Server Framework for Java 2 → TERASOLUNA  Server Framework for Java 5

etc…

2.マイグレーションの種類① 言語の親和性

マイグレーションにおいて親和性が高いとは、変換元と変換先の言語の相違点が少ないことを表します。例えばVB6であれば、同じマイクロソフト製品であるVB.NETの親和性が高いということです。親和性が高ければ変換ツールでの変換率が高くなり手修正が減りますので、少ない工数でマイグレーションを実施することが可能です。但し、VB6からVB.NETへのマイグレーションでもVB.NETのバージョンをどのバージョンにするかによって、バージョンアップの際にどのような機能がアップデートされたか、仕様がどのように変わったか、廃止された機能はあるのかが課題となります。これは変換元のシステムで使用しているサードパーティ製品も同様で、同じ製品でバージョンアップする場合は親和性が高くなりますが、どのバージョンに変換するかで、親和性は変わります。
言語を変換する際のポイントに変換元言語と変換後言語の構文チェック精度の差があります。
これもVB6からVB.NETへのマイグレーションの例になりますが、VB6とVB.NETではロジックの構文チェック精度に差があります。
VB6は比較的構文チェックが緩く、プロパティなどの設定が足りていない場合でもみなしで動作していましたが、VB.NETでは構文チェックが厳密になり、単純にツール変換するだけでは動作しない場合があります。
このようにマイグレーションでは親和性を考えた変換後の言語の選択と、差異を考慮した進め方が大切です。変換後のロジックが正常に動作しないのはロジックの組み方が大きく影響しているため、TISのオープンマイグレーションでは一括ツール変換前にソース分析とプロトタイプ開発を実施します。プロトタイプ開発ではソース分析で明らかになった変換元システムのロジックの“クセ”を実際に変換して稼働確認することによって、変換ルールの追加と変換ツールのチューンナップを実施します。プロトタイプ開発後にすべてのソースを一括変換することで、品質を上げていきます。
過去の例ですが、VBでは画面に表示される部品のプロパティ設定が不足した状態でも問題なく稼働していましたが、変換後は設定不足が起因し正常に表示されない事象が発生しました。また、他の部品でも同様の事象が多数発生していました。この事象をプロトタイプ開発で発見し変換ツールをチューンナップしたことにより、ツール変換で事象を回避することが出来ました。
また、変換元がHolonの場合ではVB.netなど変換先言語との言語差異が大きいため、プロパティの違いが多く発生しますので、プロトタイプ開発で先に対処する事が重要となります。

3.マイグレーションの種類② 環境の制約

マイグレーション前後で稼働環境が変更されないのはごく稀です。ほとんどの場合クライアントのバージョンアップやサーバーのバージョンアップ、DBのバージョンアップ等稼働環境の変更が伴います。例えばDBを変更される場合、使用する製品によりDBアクセスのロジックを変更する必要がありますし、サーバー構成を変更される場合、例えばアプリケーションサーバの構成を変える場合は階層を変更する必要があります。このような動作環境のさまざまな変更に対して、TISのオープンマイグレーションでは、各工程でポイントを押さえて進めることで柔軟に対応することが可能です。
マイグレーションでは変換元のソースを極力変更せずに変換先の環境で動作させる必要がありますので、ソース分析の際に稼働環境の変更点をマイグレーションの過去実績に当てはめて分析します。次のプロトタイプ開発では実際に稼働環境を構築してお客様が考えられた稼働環境で変換後のシステムが稼働するか実際に動作させて検証します。仮に課題がある場合でもプロトタイプ時点で明らかになりますので、一括変換するまでにお客様と一緒に解決することが可能となり、一括変換・単体テストの手戻りによる納期遅れを防止しています。

4.言語が変わっても進め方は同じなのか?

「マイグレーション」は現行のソースをインプットとして移行を行います。現行ソースや構造を引き継ぎ、新たな言語へ変換するため、現行ソースの大幅なソース構造変更はありません。またラッパー等の現新の言語の違いを吸収する部品を利用する事により、現行ソースと大差がない状態のソースコードを作り出すことができます。そのため、移行後に現在の保守要員をそのまま活用し、保守を継続する事ができます。新しい基盤に合わせた新たな保守体制を構築する必要性はスクラッチ開発に比べ低くなります。

TISのオープンマイグレーションでは、VB6からVB.NET、HOLONからVB.NET・ProC、JAVAのバージョンアップやJAVAフレームワークワーク(StrutsからSpring)等に加え、サードパーティ製品の変更、DB製品の変更、稼働環境の変更等対応できないものはありません。
しかし、言語やサードパーティ製品、DBなどを含めた環境等、組合せが多数存在していても変換元を変換先に変換するという意味では同じです。
TISではどのような種類のマイグレーションであっても、高い品質を保つことができるオープンマイグレーションに特化した独自の開発プロセスで実施しています。。TISのオープンマイグレーションは実績のある体制で数多くの案件を実施しています。同じメンバーが同じ進め方で実施することにより、品質の積み上げ方法に違いがなく、より品質を上げることに集中して案件を実施することが可能になっています。
大きな案件を実施する際や並行で多数の案件を実施する際に体制が拡大した場合でも、品質の積み上げ方を理解しているメンバーが多数参画できますので、TISのオープンマイグレーションは品質の劣化がありません。

〇開発プロセス

当サイトでは、システム移行をお考えの方に向けて、参考になるダウンロード資料をご用意しております。『システム移行 変換率と品質向上サービス「オープンマイグレーション」基本ガイドブック』は、御社のシステム移行の意思決定のヒントになるはずです。
ぜひ、ダウンロードページより資料をご覧ください。

その他ブログのご案内

オープンマイグレーションサービスでは、その他下記のようなブログをご用意しております。

PAGE TOP

サービスに関する資料をご希望の方は、フォームに必要事項を入力いただき、ご送信ください。

資料を請求する

お問い合わせ
各種お問い合わせページ
お問い合わせフォーム
サービスに関するお問い合わせ
お電話
0800-600-9810
携帯電話
050-5816-9805
受付時間 9:00~12:00 13:00~17:00(土・日・祝日を除く)

更新日時:2023年1月6日 13時41分