Apa sebenarnya Midas di Delphi?
Struktur multi-tier yang diusulkan oleh Delphi adalah untuk mendapatkan dbexpress, ADO, BDE, tautan SQL, datamoule di aplikasi front-end dua tingkat asli ke server NT lain (yang disebut server aplikasi), dan front-end-end Aplikasi hanya satu yang tersisa
file yang dapat dieksekusi dan midas.dll, dan datamoule pindah ke server NT menjadi program COM (jarak jauh datamodule).
Catatan: Meja depan harus menerbitkan Midas.dll ke Direktori Sistem.
(1) Program latar depan akan membuat permintaan dengan memanggil metode (antarmuka) yang disediakan oleh server aplikasi.
Server aplikasi akan menanggapi permintaan ini dan mengirim perintah SQL yang sesuai ke database latar belakang, dan database backend akan mengembalikan dataset yang dihasilkan dengan menjalankan perintah SQL ke server aplikasi.
Catatan: Delphi menyediakan pustaka Type untuk membantu server aplikasi mendefinisikan metode COM (antarmuka)
(2) Program COM di server NT mentransmisikan SQL ke database latar belakang melalui perangkat lunak perantara (DBExpress, ADO, BDE, SQL Link).
Ketika server aplikasi ingin mengirimkan dataset baca ke latar depan, ia harus menggunakan mekanisme DCOM untuk melakukannya.
Lewati ke meja depan melalui DCOM atau TCP/IP.
Catatan: Delphi menyediakan Wizard RemotedAtamodule untuk membantu Anda menghasilkan struktur program COM.
Karena program Delphi memiliki mekanisme khusus untuk mengirimkan kumpulan data, Delphi juga mengimplementasikan antarmuka yang disebut iProvider (mis. TDatasetProvider), untuk membantu program COM pada server aplikasi mengirim data dataset.
(3) Program meja depan dan program COM di server NT berkomunikasi satu sama lain melalui mekanisme DCOM
Aplikasi latar depan berkomunikasi dengan server aplikasi melalui midas.dll.
Catatan: Program latar depan harus memberikan komponen TClientData yang sesuai untuk sesuai dengan masing -masing iprovider (mis., TdatasetProvider) pada server aplikasi. latar depan.
Anda harus menggunakan metode TClientData.ApplyupDate untuk menulis data perubahan latar depan kembali ke database latar belakang.