— プロジェクト概要
概要
| クライアント | M社(匿名) |
| 業界 | テクノロジー/金融システム |
| カテゴリー | ソフトウェアアウトソーシング — レガシーマイグレーション |
| 所在地 | 日本 |
| チーム規模 | 専門エンジニア40名 |
| フェーズ | コーディング/単体テスト |
| 実施年 | 2023年 |
— 概要
プロジェクト概要
Sonixは、日本の金融系テクノロジー企業が運用するミッションクリティカルな銀行管理システムのモダナイゼーションを支援し、レガシーなVisual Basic 6(VB6)から.NET Framework 4.5まで、2段階にわたるコードベースの移行を実施しました。本プロジェクトでは、数十年にわたって蓄積された業務ロジックを正確に分析し、業務継続性を損なわないよう慎重にリファクタリングを行うとともに、移行期間中も銀行の基幹業務を止めることなくアップグレードを進める、綿密な計画と厳格な品質管理が求められました。
— Sonixが選ばれた理由
クライアントがSonixを選んだ理由
レガシー.NETの専門知識
Sonixのエンジニアは、大規模なVB6コードベースを.NET環境へ移行してきた豊富な実務経験を有しています。クライアントが必要としていた規模と専門性を兼ね備えた人材を、国内だけで確保することが難しかったことも、Sonixが選ばれた理由の一つです。
日本市場に精通したバイリンガルチーム
日本市場に特化した開発体制とバイリンガルによるプロジェクトマネジメントにより、金融システム特有の複雑な業務ロジックを正確に理解・共有し、要件の認識齟齬を最小限に抑えました。
体系化された移行プロセス
Sonixは、各マイルストーンで厳格な単体テストを実施する、フェーズ分けされたリスク管理型の移行アプローチを採用しました。移行期間を通じて本番環境への影響を最小限に抑えながら、段階的にシステムを安定化させました。
— 課題
課題
クライアントの銀行管理プラットフォームは、Microsoftによる公式サポートが2008年に終了したVisual Basic 6(VB6)上に構築されていました。サポートが終了したレガシー技術基盤上で金融システムを運用し続けることは、公式パッチが提供されないことによるセキュリティリスク、最新のOSやOracleデータベースとの互換性の問題、そしてレガシーコードを理解できるエンジニアの確保が年々難しくなるといった、複数のリスクを抱える要因となっていました。
また、このシステムは複雑かつ高度にカスタマイズされており、長年にわたって蓄積された業務ロジックが組み込まれていたため、単純な自動変換だけで移行できるものではありませんでした。財務計算、帳票出力、データアクセス層のいずれかに不具合が発生すれば、業務運営やコンプライアンスに重大な影響を及ぼす可能性がありました。
さらに、今回の移行は一度にすべてを切り替える方式ではなく、段階的に進める必要がありました。クライアントが求めたのは、まずVisual Studio 2008を使用して.NET Framework 3.5へ移行・安定化し、その後.NET Framework 4.5へアップグレードする、各フェーズで十分な検証を行う2段階の管理された移行でした。
— 私たちのアプローチ
アプローチ方法
レガシーコードベースの分析とリスクマッピング
新たなコードの開発に着手する前に、SonixチームはVB6のソースコードを徹底的に監査し、廃止されたAPI、サードパーティ製コントロール(GrapeCity SpreadSheet、Crystal Reports)への依存関係、Oracleデータアクセスパターン、業務ロジックが集中している領域を整理・可視化しました。この分析結果をもとに、リスクの優先度を設定した移行バックログを作成し、その後の作業計画に反映しました。
継続的な検証を伴う段階的移行
移行は2つの管理されたフェーズに分けて実施しました。フェーズ1では、Visual Studio 2008を使用してVB6から.NET Framework 3.5へ移行し、既存機能との同等性を維持しながら、.NETの標準的な設計パターンに沿ってコードベースを再構築しました。フェーズ2では、APIの改善やパフォーマンス最適化を取り入れながら.NET Framework 4.5へアップグレードし、各モジュールを次のフェーズへ移行する際には、単体テストによる検証を必須としました。
パフォーマンス最適化と長期的な保守性
単なる機械的なコード変換にとどまらず、Sonixは.NET Framework 4.5の特性を活かしてアーキテクチャを再構築しました。非同期処理の改善、メモリ管理の最適化、データアクセスに関する責務の明確化などを行い、長期的な保守性を高めました。その結果、移行後のコードベースは従来のレガシー技術に関する深い知識がなくても理解・保守しやすい構造となり、将来的な機能追加にも対応しやすい基盤を実現しました。
— ソリューション
ソリューション
Sonixは、クライアントが長年培ってきた既存の業務ロジックを維持しながら、銀行管理システムを.NET Framework 4.5基盤へ移行しました。フロントエンド層はVisual Studioの開発環境を用いてVB.NETへ書き換え、運用担当者が日常的に利用してきた使い慣れたスプレッドシート形式のインターフェースを維持するため、GrapeCity SpreadSheet 6.0を継続して採用しました。また、Crystal Reports 8.5も新しいランタイム環境に統合し、レポートを再設計することなく、既存の帳票資産を継続して利用できるようにしました。
Oracleデータベースとの接続は、.NET対応のデータプロバイダーを利用する構成へ見直し、クエリ性能の向上とともに、レガシーなODBCへの依存を解消しました。新しいプラットフォームはWindows Server環境にも対応し、クライアントのインフラ計画を標準的なエンタープライズ環境へ移行するための基盤を整備しました。さらに、社内IT部門が理解・保守・拡張しやすい、より整理されたコードベースを実現しています。
— 使用技術
使用技術
Crystal Reports 8.5GrapeCity SpreadSheet 6.0
— 成果
成果とインパクト
2段階
段階的な移行プロセスにより、システムを一度に切り替えるリスクを抑えながら、既存業務への影響を最小限に抑制
40名
専門エンジニアによる体制で、大規模かつ複雑なレガシーコードベースの移行を推進
VB6→.NET 4.5
長年利用してきたレガシー基盤を段階的に刷新し、将来の保守・機能拡張に対応しやすいシステム基盤を実現
— 主な機能
提供した主な機能
| 機能 | 説明 |
|---|---|
| 既存ビジネスロジックの維持 | 既存の財務ルール、計算処理、業務フローを検証し、両フェーズを通じて既存機能との整合性を維持しました。 |
| 2段階アップグレードパス | VB6 → .NET 3.5 → .NET 4.5への段階的な移行を行い、各段階で独立した単体テストと検証・承認を実施したうえで次のフェーズへ進みました。 |
| Oracleデータベース連携の再構築 | レガシーなODBC接続を.NET対応のOracleデータプロバイダーへ移行し、接続の安定性とクエリ処理性能の向上を図りました。 |
| Crystal Reportsとの互換性維持 | 既存のCrystal Reports 8.5による帳票一式を新しいランタイム環境へ統合し、レポートを再設計することなく既存の帳票資産を継続利用できるようにしました。 |
| GrapeCity SpreadSheet UI | 移行後のUIにもSpreadSheet 6.0コントロールを継続して採用し、運用担当者が大幅な再トレーニングを必要とせず、従来と同じデータ入力環境を利用できるようにしました。 |
| 保守性を高めるアーキテクチャの再構築 | .NETのベストプラクティスに沿ってコードベースを再構築し、責務の明確な分離、非同期処理の改善、コンポーネント間の結合度低減を実現することで、将来的な機能追加や保守を容易にしました。 |
— お客様の声
クライアントの声
“
当社のシステムは長年にわたりVB6上で稼働しており、そのリスクは認識していました。しかし、稼働中の銀行管理プラットフォームを移行する以上、失敗が許されないプロジェクトでした。Sonixはプロセス全体を明確なフェーズに分け、次のステップへ進む前に各モジュールを丁寧に検証してくれたため、私たちは常にプロジェクトの状況を正確に把握することができました。結果として、既存のインフラ環境上で安定して稼働する新しいプラットフォームが完成し、社内チームもレガシーコードを深く掘り下げることなく、システムを保守・拡張できるようになりました。これを実現できたのは、Sonixチームの高い技術力とプロフェッショナルな対応があったからこそだと考えています。その後のプロジェクトでも継続して協業しており、信頼関係はさらに深まっています。
— ITディレクター、M社 · 日本
Sonix — お客様の成功が、私たちの喜びです。


Contact Us For Your Next Project