
レガシー化したDelphiシステムからC#.NETへのスムーズな移行を実施します。
内容詳細
システムズの「Delphiマイグレーション」とは
Delphiで開発されたアプリケーション資産をお持ちのお客様へ
DX時代を迎え、多くの企業でシステム再構築が進む一方、社内にはいまだDelphiで開発されたアプリケーションが多数稼働しています。
しかし、Delphiエンジニアの確保は年々難しくなっており、特定の担当者に依存せざるを得ないケースも少なくありません。 そのため、担当者の異動・退職やスキル継承の停滞により、致命的な保守リスクを抱えている状況が多く見られます。
さらに、Delphi 5/6/7をはじめとした旧バージョンは、すでにベンダーサポートが終了しており、脆弱性対応や不具合修正が提供されない状態となっています。(以下「Delphiサポート期限一覧」参照)
加えて、これらのDelphiで構築された多くのシステムは、Windows XP/7などサポート切れのOS上で稼働させているケースも多く、OS・Delphi双方のサポート切れが重なることで、セキュリティリスクは一段と高まっています。
「限られたDelphi要員で延命を続けるのか」、「C# .NETなど、人材と情報が豊富でサポートの手厚い技術基盤に移行するのか」
判断を先送りにしている企業も多く、結果として老朽化したDelphiシステムに対して、運用や保守に多くの時間やコストが必要となり、それがDX推進の大きな足かせとなっています。
システムズの「Delphiマイグレーション」は、こういった課題を解決するため、既存のDelphi資産を活かしながら、C# .NET環境への移行を支援します。

Delphiマイグレーション イメージ図

Delphiサポート期限一覧
「Delphiマイグレーション」とは、Deiphiで開発されたアプリ資産を現行の機能はそのままに、最新のC#.NETアプリケーションに変換・移行するITサービスです。
Delphiマイグレーションの概要
システムズのDelphiマイグレーションでは、まず既存Delphi資産の可視化(棚卸)を行います。
この可視化(棚卸)によって、現行システムの資産を整理するとともに、移行後のシステムでは不要となる資産(実際には使われていない機能や重複しているモジュール等)を排除することが可能になります。
そのうえで、整理された必要な資産に対して、Delphiのソースコードを一次変換ツールでC#.NETに自動変換し、一次変換時に生じたエラー項目を、長年のメインフレーム(汎用機)やオフコンなどのホスト系レガシーシステムのマイグレーションから開発・蓄積した「パターン分析」(当社のマイグレーション特許技法)を活用してパターン化します。
その後、各パターンごとに機能の代替や変換方法を検討し、カスタマイズした二次変換ツールによる変換を実施します。一次/二次ツールでは全体資産の約90%を自動変換し、残りを手作業で最適化および変換します。

DelphiからC#.NETへの移行リスクと解決アプローチ
帳票部品の新規作成について
Delphiで作成されたシステムの帳票機能には、Delphi標準の「Quick Report」が利用されていることが多くあります。
しかし、C#.NET へマイグレーションを行う際には、Quick Report などの Delphi 標準コンポーネントは利用できないため、ActiveReports などのサードパーティ製品を用いて、帳票機能を新規に作成する必要があります。 そのため、要件に応じた帳票設計やツール選定を行い、最適な帳票環境への移行を支援します。
DelphiとC#.NETでの性能差異について
DelphiとC#.NETでは画面描画の仕組みが異なるため、移行後のシステムでは、利用者によっては操作時のレスポンスや動作速度に違和感を覚える場合があります。 そのため、移行前システムと同様の描画方式を採用することで、移行後も操作感や体感性能の差異を極力感じさせない画面を実現することが可能です。
DBアクセス処理の性能差異について
Delphiと比較すると、C#.NETではDBアクセス処理のパフォーマンスが低下する傾向があります。
そのため、マイグレーション時にSQLやループ処理のチューニングを行うことで、Delphiと同等のパフォーマンスを実現できるよう対応します。
Delphiマイグレーション適用事例
システムズでのDelphiマイグレーション事例の一部を紹介します。
- 基幹業務システムマイグレーション
背景:システムがDelphi6で製造されており、対応OSがWindows7までとなるため、早急な対応が必要となっていた。
技術者の不足などの要因から言語として類似しているC#.NET2019へのマイグレーションを実施。

