РефератыИнформатика, программированиеПрПроектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології DataSnap (MIDAS)

Проектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології DataSnap (MIDAS)

Проектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології
DataSnap

(MIDAS)


-

Мета

: отримання практичних навичок проектування розподіленої інформаційної системи із використанням технології MIDAS

.


-
Завдання

:


Створити оригінальну (!)
розподілену триланкову інформаційну системуна основі технології MIDAS
. Сервер прикладень
повинен інкапсулювати та експортувати деякий набір даних з абиякої таблиці БД. Прикладення-клієнт
повинен підключатися до сервера прикладень та відображувати отримані від сервера дані у вигляді мережі.


Методика створення сервера прикладень за технологією MIDAS

Сервер прикладень
інкапсулює велику частину бізнес-логіки розподіленого прикладення і забезпечує доступ клієнтів до БД. MIDAS-сервери прикладень повинні підтримувати деякий набір SQL-запитів для змін в БД і надсилати їх серверу БД за командою клієнтського прикладення.


Проектуємий тут сервер прикладень використовується для генерації запитів до БД через механізм BDE

.


Спочатку створимо головну форму прикладення, основне призначення якої - служити індикатором запущеного сервера (мал. 2.1

).





Малюнок 2.1


Форму можна розташувати де-небудь у кутку екрану, а її властивість FormStyle

встановити рівною fsStayOnTop
, щоб не втратити її вікно серед інших відкритих вікон.


Основною частиною сервера прикладень

є віддалений модуль даних

. Він є платформою для розташування невізуальних компонентів доступу до даних і компонентів-провайдерів. Розташовані на ньому компоненти з'єднань, транзакцій і компоненти, що інкапсулюють набори даних, забезпечують триланкове прикладення зв'язком із сервером БД

. Це можуть бути набори компонентів для технологій BDE

, ADO

, InterBase Express

, dbExpress

та ін. Віддалений модуль даних
реалізує основні функції сервера прикладень
на основі надання клієнтам інтерфейсу IAppServer

(або нащадка цього інтерфейсу). Для цього віддалений модуль даних
повинен містити компонент-провайдер DataSetProvider

, який передає пакети даних клієнтському прикладенню, а точніше компонентам ClientDataSet

, а також забезпечує доступ до методів інтерфейсу IAppServer

.


Для створення віддаленого модуля даних
треба виконати команду File | New | Other
і зі сторінки Multitier

репозитарія об'єктів обрати піктограму Remote DataModule

(мал.

2.2

)
.



Малюнок 2.2

У діалозі, що з'явився, слід задати ім'я компонентного класу сервера (SampleMIDASServer

) і, при необхідності, встановити прапорець Generate Events support code

(мал. 2.3

).




Малюнок 2.3


На одержаній порожній формі розташуйте компоненти (мал. 2.4

):


· Session

– для забезпечення сеансів зв'язку з БД;


· Table

(тут TableCustomer

), встановивши необхідні значення властивостей: DatabaseName

(тут BCDEMOS
), Session

(тут Session1_1
) і TableName

(тут customer.db

). Властивість Active

також слід встановити рівною true
(або встановити її значення динамічно при створенні модуля даних). Інакше компонент не міститиме ніяких даних, і не зможе надавати їх клієнтському прикладенню;


· DataSetProvider

і зв'яжіть його властивість DataSet

з TableCustomer

. Якщо цього не зробити, клієнтське прикладення не матиме доступу до джерела даних.





Малюнок 2.4


Після цього треба побудувати сервер прикладень
і виконати команду Run | Install COM+ Objects.
для реєстрації сервера механізмом DCOM

(мал. 2.5

).




Малюнок 2.5

Зареєстрований таким чином сервер повинен з'явитися у дереві Службы компонентов

, яке можна оглянути командою Пуск | Панель управления | Администрирование | Службы компонентов
(мал. 2.6

).



Малюнок

2

.6


І, нарешті, MIDAS-сервер

треба запустити на виконання. Тепер MIDAS-сервер

зареєстрований у реєстрі Windows як ActiveX-сервер
(т.н. об'єкт Автоматизації
).


За допомогою його контекстного меню командою Свойства
можна дізнатися ім'я і код прикладення для подальшого використання у прикладенні-клієнті (мал. 2.7

).





Малюнок 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)


{


}


//---------------------------------------------------------------------------


void __fastcall TForm1::ConnectClick(TObject *Sender)


{


if (ClientDataSet1->Active) // close and disconnect


{


ClientDataSet1->Close();


DCOMConnection1->Close();


}


else // open (will automatically connect)


{


//DCOMConnection1->Open();


ClientDataSet1->Open();


}


}


//---------------------------------------------------------------------------


void __fastcall TForm1::ApplyClick(TObject *Sender)


{


ClientDataSet1->ApplyUpdates(0);


}


//---------------------------------------------------------------------------


void __fastcall TForm1::SaveClick(TObject *Sender)


{


ClientDataSet1->SaveToFile("customer.cds", dfBinary);


}


//---------------------------------------------------------------------------


void __fastcall TForm1::LoadClick(TObject *Sender)


{


ClientDataSet1->LoadFromFile("customer.cds");


}


Клієнтське прикладення у триланковій моделі повинне володіти лише мінімально необхідним набором функцій, делегуючи більшість операцій з обробки даних серверу прикладень
. Все! Прикладення готове до запуску.


?Контрольні запитання:

1.
Опишіть процес спілкування сервера прикладення з клієнтом за технологією MIDAS

.


2.
З якою метою у прикладенні використані компоненти DCOMConnection

,
ClientDataSet

?


3.
Яку роль виконує Remote Data Module

?.


4.
Дайте вичерпні пояснення до розробленого вами прикладення.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Проектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології DataSnap (MIDAS)

Слов:1087
Символов:11719
Размер:22.89 Кб.