DelphiのMidasとは何ですか?
Delphiが提案するマルチ層構造は、Dbexpress、ADO、BDE、SQLリンク、DataMoule、別のNTサーバー(いわゆるアプリケーションサーバー)への元の2層のフロントエンドアプリケーションで、およびフロントエンドを取得することです。アプリケーションは1つだけ残っています
実行可能ファイルとmidas.dll、およびdatamouleはntサーバーに移動し、comプログラム(リモートデータモジュール)になります。
注:フロントデスクは、Midas.dllをシステムディレクトリに公開する必要があります。
(1)Foregroundプログラムは、アプリケーションサーバーが提供するメソッド(インターフェイス)を呼び出すことにより、リクエストを行います。
アプリケーションサーバーはこの要求に応答し、対応するSQLコマンドをバックグラウンドデータベースに送信し、バックエンドデータベースはSQLコマンドをアプリケーションサーバーに実行して生成されたデータセットを返します。
注:Delphiは、アプリケーションサーバーがCOMメソッド(インターフェイス)を定義するのを支援するタイプライブラリを提供します
(2)NTサーバーのCOMプログラムは、中間ソフトウェア(Dbexpress、ADO、BDE、SQLリンク)を介してSQLをバックグラウンドデータベースに送信します。
アプリケーションサーバーが読み取りデータセットを前景に送信する場合、DCOMメカニズムを使用してDelphiが提供するTDATASETProviderコンポーネントを実行する必要があります。
DCOMまたはTCP/IPを介してフロントデスクに渡します。
注:Delphiは、COMプログラムの構造を生成するのに役立つRemotedatamoduleウィザードを提供します。
Delphiのプログラムにはデータセットを送信する特別なメカニズムがあるため、DelphiはIProvider(つまりTDATASETProvider)と呼ばれるインターフェイスも実装し、アプリケーションサーバー上のCOMプログラムがデータセットデータを送信できるようにします。
(3)NTサーバー上のフロントデスクプログラムとCOMプログラムは、DCOMメカニズムを介して相互に通信します
フォアグラウンドアプリケーションは、Midas.dllを介してアプリケーションサーバーと通信します。
注:フォアグラウンドプログラムは、アプリケーションサーバーの各iProvider(つまり、tdatasetprovider)に対応するために対応するtclientDataコンポーネントを提供する必要があります。最終的に前景。
TCLIENTDATA.APPLYUPDATEメソッドを使用して、前景の変更のデータをバックグラウンドデータベースに書き戻す必要があります。