Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++Delphi

Delphi / C++の旧アプリケーションを最新にするためのマイグレーションロードマップ

古いバージョンのDelphi / C++Builderで開発されたアプリケーション資産があり、その改修を検討していますか?旧アプリケーションの改修は、「マイグレーション」あるいは、より新しい価値を追加する観点から「モダナイゼーション」とも言われます。

マイグレーションの実施を検討している方は、技術的なポイントとプロジェクト(ないしはビジネス)的ポイントの両方を考慮しなければなりません。

技術的なポイントは以下のとおりです。

  • Unicode対応:Unicodeサポートは、Delphi、C++Builder、RAD Studioに、バージョン2009から追加されました。マイグレーションに関する多くの情報は、このときに作成されましたが、これらは現在でもバージョン2007以前からのマイグレーションにおいては有効です。日本語においては、特に「全角文字=2バイト、半角文字=1バイト」という前提で記述された文字列処理は影響を受けます。これらは、Unicodeベースの処理に書き換える必要があります。Unicodeサポートの詳細については、「旧バージョンからの移行」ページに多くの情報が掲載されています。
  • 64-bitサポート:Delphi XE2以降、従来のWin32 Delphiアプリケーションのコードから、64-bitアプリケーションを生成できるようになりました。Delphiにおいては、一般的に32-bit / 64-bitのハードルは高くなく、ポインタ処理などのメモリ関連のコード、関連するライブラリやドライバなども64-bitバージョンを用意する必要があることが主な確認ポイントです。C++に関しては、使用するコンパイラのアーキテクチャが異なるため、Delphiよりも多くの工数が必要になると予想されます。
  • データベースとミドルウェア:従来バージョンで広く使われてきたBDE(Borland Database Engine)は既にサポートは終了しており、現在使用可能なWindows OSのいずれのバージョンにおいても、その動作を保証していません。また、ADOも最新のデータアクセス技術ではないため、マイグレーション先としては適切ではない可能性があります。現在のDelphi / C++Builderで推奨される最新のデータアクセス技術は、FireDACです。FireDACは、最新のRDBMSプラットフォームをサポートしているだけでなく、マルチデバイスサポート、クラウド/エンタープライズデータへのアクセスなど幅広い接続性をサポートしているため、ほぼすべての場合において最適な選択肢です。
  • サードパーティコンポーネント:サードパーティコンポーネントやライブラリは、最新のDelphi / C++Builerのバージョンに対応する必要があります。多くのサードパーティコンポーネントは、最新のDelphi / C++Builderに対応しており、GetItパッケージマネージャで検索/インストールできます。すでに開発が終了してしまったコンポーネント製品についても、代替コンポーネントを見つけられるかもしれません。

プロジェクトおよびビジネス的ポイントは以下のとおりです。

  • プロジェクトのリソースはすべてあるか:アプリケーションやカスタムコンポーネント/ライブラリのソースコードなどビルドに必要なすべてのリソース、仕様書等のドキュメントはすべて存在していますか?仕様が明確でないアプリケーションを、マイグレーション作業によって「最新バージョンに変換」したとしても、正しい動作かどうかを判断するための指標が必要です。「現状どおり」というだけの仕様は、テスト工数を膨らませてしまいます。
  • 開発スキルは十分か:アプリケーションコードを改修するスキルが十分かどうかのチェックも重要です。例えば、自社製のカスタムコンポーネントを使用している場合、アプリケーションコードの改修はできるが、コンポーネント開発の経験がまったくない開発者のみで構成されているチームでは、これらの部分の改修が困難である可能性があります。
  • コードの堅牢性、保守性:多くの既存アプリケーションは、部分的な改修を繰り返し、統一性のない保守性に劣る状態になっていることがあります。このようなアプリケーションは、バグも生みやすく、堅牢性も劣ります。マイグレーションプロジェクトでは、アプリケーションの現状を理解し、適切なリファクタリングを施す必要があります。
  • モダナイゼーション:Delphi / C++Builderアプリケーションの可能性を、旧バージョン時点の能力に閉じ込めておくと、将来性について適切な判断ができなくなります。クラウド、モバイル、Webテクノロジー、マイクロサービス、IoTなど、さまざまなテクノロジートレンドに対し、Delphi / C++Builderは既存アプリケーションから拡張可能なかたちで、そのサポート技術を提供しています。モダナイゼーションは、アプリケーションを単に新バージョンへの移行ではなく、新しい付加価値をもたらすものとして捉え直す機会です。

エンバカデロでは、マイグレーション/モダナイゼーションのためのさまざまな情報を提供しています。旧Delphi / C++Builderアプリケーション資産を抱えている方は、ぜひこれらの情報をご確認ください。

マイグレーションのロードマップを得るための情報

5分でできる!マイグレーション自己診断

旧バージョンのDelphi / C++Builderアプリケーションを最新バージョンに移行する際の課題やポイントを、自己診断でチェック。

既存のDelphi / C++Builderアプリケーションの移行方針

既存のDelphi/C++Builderアプリケーション資産を、新しいシステムに移行していく上で、基本的な方針を決定するためのポイントを解説します。

Windows 10時代のDelphi / C++Builderビルド環境

本書では、変化するOSプラットフォーム環境の中で、継続的なビルド環境をどのように構築するのか、その手法について解説します。

マイグレーション作業の技術ポイント解説

Delphiにおける一般的なUnicodeへの移行テクニック

従来のANSIベースの既存アプリケーションをUnicode対応に移行するためのテクニック。

Webセミナー「Delphi/C++Builderマイグレーション作業を手間をかけずに完了させる方法」

旧バージョンのDelphi / C++Builderで構築されたアプリケーション資産は、最新バージョンへの移行を躊躇させているのも事実。しかし、さまざまなツールの支援や移行作業のパターン化により、その労力は大幅に軽減されています。旧バージョンからのマイグレーション手法を解説したWebセミナー「Effortlessly Plan and Complete Your Delphi Migration」(2019年1月に米国で実施)を再構成。C++に関するトピックを加え、3回シリーズでお届けします。

基礎から学べるFireDACデータアクセス再入門

本連載では、FireDACの基本的な概念の理解から使い方、さらには応用方法までを学習できる記事を提供。Delphi / C++Builderでの開発経験はあるけれど、FireDACについては詳しくない。あるいは、今回データベースアプリケーションを構築するのに、どのような技術があるのかを知りたい。こんな悩みを抱えている方に最適なシリーズです。


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

IN THE ARTICLES