VB6のWEB化 -さまざまなマイグレーションを提案するモダナイズサービス-
VB6/PowerBuilder/Delphi で開発されたアプリケーションをWebアプリケーション化
Web化によるメリットを最大限に!
Webアプリケーションは一般的にクライアント・サーバー型のアプリケーションに比べて下記の点で有利と言われています。
- クライアント端末を選ばない
- いつでもどこでも利用できる
- 開発コストを抑えられる
- 運用、メンテナンスが容易
- エンジニアの確保が容易
ASP.NET Core Blazor Server アーキテクチャを採用したWebアプリケーション化
Microsoft 社が開発している ASP.NET Core Blazor Server アーキテクチャを採用することで .NET との親和性、Visual Studio をはじめとした Microsoft 社のツール群を利用した開発の効率化を実現します。
クライアントサーバー型のプログラムのロジックや画面情報を変換してWebアプリ化するのでスクラッチでWebアプリを開発するよりも開発工数を大幅に抑えることが可能です。
Web化に使用する主要テクノロジー
Blazor
- JavaScriptの代わりに C# を使用して Web UI を構築するためのフレームワーク
- .NET で実装されたサーバー側とクライアント側のロジックを共有可能
Blazor Server
- ASP.NET Core アプリでサーバー上の Razor Components をホストするためのサポートを提供
- UI の更新は SignalR 接続を介して処理 (WebSockets 等による常時接続を要する)
Razer Component
- Razor マークアップ構文で記述されたコンポーネント (C# と HTML を混在させて記述が可能)
- Visual Studio の Razor サポートを利用し効率的な開発が可能
- 柔軟な UI ロジック、イベントの実装、また再利用が可能
変換イメージ
ASP.NET Core Blazor Serverを採用する理由
- .NET との親和性、また Visual Studio をはじめとした Microsoft 社のツール群を利用した開発の効率化を実現できる。
- 開発ツールが Visual Studio に統一されるため、デバッグ等の開発効率が高い
- 比較対象となる Blazor WebAssembly と比べ、ロジックを抽出、API 化する作業が不要なため、Windows アプリケーションからの移行に対してアドバンテージがある
- ロジックのコードベースが C# にほぼ統一されるため、メンテナンス性に優れる
- ブラウザ側に C# コードは配布されないため、セキュリティ面での優位性がある
デメリット
- SignalR によって常時ブラウザとサーバーが接続されるため、サーバーリソースを決める際に接続数について慎重に考慮する必要がある
- あくまでマイグレーションであり、ベースのコードを機械的な変換後に調整という手法になるため、コードの可読性や構成という点ではスクラッチに劣る
- Windows アプリから Web アプリになることで、見た目、操作性の点で必ずしも一致しない可能性がある
SignalR とは
ASP.NET SignalR は、リアルタイム Web 機能をアプリケーションに追加するプロセスを簡略化する ASP.NET 開発者向けのライブラリです。 リアルタイム Web 機能は、クライアントが新しいデータを要求するのをサーバーが待機するのではなく、接続されているクライアントが使用可能になったときにすぐにサーバー コードでコンテンツをプッシュする機能です。
Blazor WebAssemblyとは
Blazor WebAssembly は、.NET を使って対話型のクライアント側 Web アプリを構築するための仕組みです。 Blazor WebAssembly は、プラグインを使用せずに、または他の言語へのコードの再コンパイルなしに、オープンな Web 標準を使用します。 Blazor WebAssembly はモバイル ブラウザーも含めて、すべての最新の Web ブラウザーで動作します。