Лабораторная работа: Проектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології DataSnap (MIDAS)
Малюнок 2.7
Методика створення клієнтського прикладення
Віддалене клієнтське прикладення повинне забезпечити з'єднання з сервером прикладень. Для цього можна використовувати компоненти з'єднань DataSnap : DCOMConnection (використовує DCOM ), SocketСonnection (використовує «кубла » Windows ), WebConnection (використовує http ). Компоненти з'єднання DataSnap надають інтерфейс IAppServer , використовуваний компонентами-провайдерами на боці сервера і компонентами ClientDataSet на боці клієнта для передачі пакетів даних. Для роботи з наборами даних використовується компонент ClientDataSet , що працює у режимі кешування даних . Для представлення даних і створення призначеного для користувача інтерфейсу в клієнтському програмному забезпеченні застосовуються стандартні компоненти зі сторінки Data Controls палітри компонентів.
Створення клієнтського прикладення починається зі створення звичайного прикладення, на якому слід розташувати компоненти (мал. 2 . 8 ):
Малюнок 2 . 8
· кнопки Установить/разорвать связь с сервером, Загрузить, Применить, Сохранить ;
· компонент DCOMConnection для встановлення зв'язку з віддаленим сервером, властивості якого слід встановити так:
·ServerGUID : {314929B6-CFC8-493D-874F-FC1CBBE6B802 }чи ж ServerName (при заповненні одного з цих двох параметрів інший параметр зчитується з реєстру Windows і заповнюється автоматично); перевірити правильність DCOM-з’єднання можна встановленням властивості Connectеd в значення true . При цьому повинен автоматично запуститися MIDAS-сервер .
· джерело даних ClientDataSet , властивості якого слід встановити так:
·RemoteServer у значення DCOMConnection1 ;
·ProviderName у значення DataSetProvider1 (обрати зі списку);
· компонент DataSource і пов'язати його з джерелом даних ClientDataSet1 ;
· компонент DbGrid і зв'язати його з компонентом DataSource для відображення даних таблиці БД, одержаних від сервера.
Тепер тільки залишилося написати реакції на події від кнопок форми:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ClientMainForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------