TMS WEB Core から sgcHTML への移行 — Delphi Web UI コンポーネント | eSeGeCe

TMS WEB Core から sgcHTML への移行

TMS WEB Core は TMS Software による商用フレームワークで、Delphi とモダンな Object Pascal を JavaScript にコンパイルします。アプリケーションはシングルページアプリケーションとしてブラウザ内のクライアントサイドで動作し、REST/JSON(多くの場合 TMS XData)でバックエンドと通信します。これを使うチームが sgcHTML を検討するのは、Pascal をネイティブのままサーバー上でコンパイルして動かしたいとき、データを表示するためだけに別の API 層を作らずに TDataSet へ直接アクセスしたいとき、そしてブラウザではなく従来の Delphi サーバー開発のデバッグ体験が欲しいときです。

アーキテクチャ上の変更点

2 つの正直なモデル。JavaScript にコンパイルされたコードをブラウザで動かすか、ネイティブコードでサーバー上に HTML をレンダリングするか。

TMS WEB Core のモデルでは、Object Pascal が JavaScript にコンパイルされ、生成されたシングルページアプリケーションは完全にブラウザ内で動作します。データアクセスは HTTP API 層(通常は TMS XData のような REST/JSON)を経由し、その層はクライアントと並行して構築、デプロイ、保護する必要があります。デバッグの一部はブラウザ内で行われます。sgcHTML はそのモデルを反転させます。コードはネイティブのままサーバー上にとどまり、ブラウザは標準的なサーバーレンダリングされた HTML を受け取ります。

サーバー上のネイティブコード

Object Pascal や C# はこれまでどおりにコンパイルされ、サーバー上で動作します。トランスパイルの工程も JavaScript のデバッグもなく、IDE でネイティブなサーバーコードをデバッグします。

直接のデータアクセス

89 コンポーネントのうち 27 種類がデータアウェアで、同一プロセス内の TDataSet や DataSource に直接バインドします。ページにデータを表示するためだけの独立した REST 層は不要です。

サーバーレンダリングの Bootstrap 5

ページはクリーンな Bootstrap 5 マークアップによる標準的なサーバーレンダリング HTML です。SEO に強く、非力なデバイスでも高速で、任意の Bootstrap テーマでスタイルできます。インタラクティブ性は htmx(約 14 KB)が担います。

リアルタイムを標準搭載

sgcHTMX エンジンが WebSocket 経由で更新をプッシュします。サーバーは、クライアントフレームワークを配線することなく、接続中のブラウザに HTML フラグメント(hx-swap-oob)をブロードキャストできます。

TMS WEB Core の概念と sgcHTML での対応

TMS WEB Core アプリケーションの各部分が、sgcHTML モデルのどこに対応するかを示します。

TMS WEB Core の概念sgcHTML での対応
JavaScript にコンパイルされるフォーム(pas2js)ネイティブコンポーネントから構築される、サーバーレンダリングの sgcHTML ページ
ブラウザ内の SPA ルーティングDelphi サーバーが配信する標準的な URL
REST/XData データ層サーバーサイドでの直接の TDataSet バインド。REST は必要になったときに後から追加
非同期ブラウザコールバックコンポーネントの HTML を返す htmx フラグメントルート
ブラウザでのデバッグネイティブなサーバーコードの Delphi/IDE デバッグ
JavaScript ライブラリ統合標準搭載の Bootstrap 5 コンポーネント
WebSocket クライアントの配線コンポーネントセットに組み込まれた sgcHTMX エンジンのブロードキャスト
静的ホスティングと API バックエンド単一の自己完結型サーバーバイナリ

引き継げるもの

sgcHTML への移行で変わるのは UI が生成される場所であって、チームの働き方ではありません。

コードベースと IDE

既存の Delphi または C++ Builder プロジェクトのまま、これからも RAD Studio で作業できます。sgcHTML コンポーネントはサーバーバイナリにコンパイルされるネイティブクラスで、純粋なマネージド .NET 実装も同じ Tsgc* クラス名を提供します。

データモジュール

TDataSet のロジック、クエリ、データモジュールはそのまま動き続けます。データアウェアな sgcHTML コンポーネントが、同一プロセス内で直接バインドします。

デプロイの習慣

外部ランタイムなしで、単一の自己完結型実行ファイルまたはサービスとしてデプロイします。sgcWebSockets サーバーのほか、WebBroker、DataSnap、RAD Server ホストでも動作します。

言語スキル

あなたが Object Pascal や C# を書けば、sgcHTML が HTML、CSS、JavaScript を書きます。開発者に JavaScript は必要ありません。

現実的な移行パス

一括の書き直しは必要ありません。画面ごとに進める 4 つのステップです。

1

画面を棚卸しする

TMS WEB Core アプリケーションのフォームとビュー、それぞれが表示するデータ、ライブ更新が必要なものを洗い出します。

2

各画面をコンポーネントにマッピングする

コンポーネントギャラリーのグリッド、フォーム、チャート、ダッシュボードに各画面を対応付けます。DB にバインドされた画面は、27 種類のデータアウェアコンポーネントがカバーします。

3

ページ単位で再構築する

sgcHTML は標準の HTTP を配信するため、両方のサーバーを同じリバースプロキシの背後で並行稼働させながら、一度に 1 ページずつ移行できます。

4

インタラクティブ性とプッシュを配線する

部分更新には htmx のインタラクションを、アプリケーションがライブデータを必要とする箇所には sgcHTMX エンジンによる WebSocket プッシュを追加します。

私たちが移行をお手伝いします

独りで進める必要はありません。eSeGeCe は移行サービスを提供しています。TMS WEB Core アプリケーションについてお聞かせいただければ、私たちのチームが移行計画の立案、コンポーネントマッピングの提案、工数の見積もりを支援します。ご希望であれば、sgcCustomization HTML(€149 からの一回限りのパッケージ、ライセンスされたコンポーネント上に構築)を通じて、アプリケーションを私たちが再構築します。

sgcHTML 自体は開発者ごと(Single/Team/Site)に €299 からライセンスされ、sgcWebSockets Professional または Enterprise が必要です。

稼働中のデモを見る

5 つの完全なアプリケーション。すべて sgcHTML + sgcWebSockets だけで構築され、eSeGeCe のデモサーバー上でライブに動作しています。

ERP

顧客、仕入先、商品、請求書、レポート。

ライブデモを開く →

管理 CRUD

CRUD 画面とライブ検索を備えたコンパクトな管理コンソール。

ライブデモを開く →

ライブモニター

KPI が WebSocket 経由でプッシュされるリアルタイムダッシュボード。

ライブデモを開く →

カスタマーポータル

注文、プロフィール、サポートを備えたセルフサービスポータル。

ライブデモを開く →

ヘルプデスク

返信スレッドと管理ダッシュボードを備えたサポートチケット型ヘルプデスク。

ライブデモを開く →

公平を期すために。目標が、常時のサーバー接続なしで動作するオフライン対応のクライアントサイド SPA や PWA であるなら、TMS WEB Core のようなクライアントサイドアプローチは今も妥当な選択肢です。まだ選択肢を比較検討中であれば、中立的な比較ページが、sgcHTML、uniGUI、TMS WEB Core、IntraWeb、Elevate Web Builder、D2Bridge を出典付きの横並びマトリックスで示しています。その他の移行元は移行ハブで扱っています。

最もお得な選択: All-AccesseSeGeCe の全製品にプレミアムサポートが付いて、年間 €1,059 からご利用いただけます。
All-Access の価格を見る

サーバーレンダリングモデルを試してみませんか?

89 種類すべてのコンポーネントを含む無料体験版をダウンロードして、最初の TMS WEB Core 画面をサーバーレンダリングの Bootstrap 5 ページとして再構築してみてください。