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

2016-07-28СтудИзба

Описание файла

Документ из архива "Проектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології DataSnap (MIDAS)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48417"

Текст из документа "48417"

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

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

F Завдання:

Створити оригінальну (!) розподілену триланкову інформаційну систему на основі технології 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

#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. Дайте вичерпні пояснення до розробленого вами прикладення.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее