従来、一般的に「クライアントサーバー型」のシステムが普及していました。自社内専用アプリケーションをシステム管理部が複数PCにインストール後、ようやく利用者が扱うことができます。システムのバグや機能エンハンスメントはそれと同じくシステム管理者がセットアップします。利用する側やシステム管理部はPCに対したくさんの配慮が必要でした。世間では、MEAPやBYODが普及していく中「クライアントサーバー型」のシステムではやはり限界がきています。
Delphi / C++Builder を使った企業内アプリケーションでもVCLで構築された「クライアントサーバー型」システムがたくさん採用されています。昨今ではWindows 10に対応するため引き続きDelphi 10.2.xを採用されている場合も多くみかけます。しかし多くのビジネスパーソンがスマートフォンやタブレットを利用しており、また Gmail や Google Map, Office 365, Salesforce などのクラウドベースのサービスを業務やプライベートで使用しています。このため業務をオフィス内でしか行えない状況は減りつつあり、既存の業務システムについてもWebブラウザでアクセスしたいという要望が高まっています。
そこで、既存のシステム(特に「クライアントサーバー型」) のWeb化を考える際に考慮したいポイントが2つあります。
1.バックエンド(Web API)
既存システムをWebに再構築するためには、フロントエンドとバックエンドの考え方は必須です。そしてその中で、バックエンドに関してはWeb APIというREST形式のサーバー構築が必要となります。Web API とフロントエンドとの通信はJSONフォーマットで行われている場合が大多数です。そういったWeb APIを新規構築する場合、様々なな選択肢があります。Delphi, C++, Java, PHP, Ruby, C# …
既存の Delphi /C++ のコード資産を活かすのであれば RAD Server で解決します。
2.ブラウザUI/UX フロントエンド
Webブラウザでのフロントエンド開発には CSS, JavaScriptを使ったHTML5で構築します。その場合、フルスクラッチで作るのではなく、JavaScript のフレームワークを利用することが一般的です。フルスクラッチで実装すると、ブラウザごとの挙動の違いを自分で対応せねばならず、本来注力すべきアプリケーション実装とは違う部分に工数が掛かるから現実的とはいえません。さらに、オープンソース系のフレームワークでは、 jQuery が良く使われています。今では、 Angular や React などのフレームワークもよく見かけるようになりました。オープンソースのフレームワークを利用する開発環境には商用のサポートが提供されないため、ツールの組み合わせに関する選定や検証は自分で行う必要があり開発者はテストデバッグに多くの工数がかかってしまいます。Delphi / C++Builder のように商用で且つたくさんのビジュアルコンポーネントが利用できるSencha Ext JSを選択することで上記の問題は解決できます。
Sencha Ext JSでのフロントエンド
フロントエンドでのたくさんの課題をご紹介しました。最後のExt JS商用フレームワークがビジュアル開発できる Sencha Architect といった製品を利用できます。Sencha Architect は多くのデータ集約型コンポーネントを備える Ext JS 向けのビジュアル開発環境です。
このようにWeb化ではバックエンド開発だけではなくフロントエンド開発についても進め方やツールの選定に留意する必要がありますが、RAD Server での Web API開発と Sencha Architect によるWebクライアント開発をどのように行っていけばよいかをについて2時間で学べるセミナーがございます。
次回は2018年6月21日(木) 15時より開催致します。お申込みはこちらのページで受け付けております。既存のコード資産を活かしたWeb化や、Webアプリケーションのビジュアル開発について知りたい方は、ぜひご参加ください。