это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Проектування триланкової розподіленої інформаційної системи для роботи з БД із використанням технології DataSnap (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).
У діалозі, що з'явився, слід задати ім'я компонентного класу сервера (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.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. Дайте вичерпні пояснення до розробленого вами прикладення.
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Служебная дисциплина в органах внутренних дел.
Контрольная, Административная деятельность полиции
Срок сдачи к 31 дек.
Нужно пройти контрольные тестирования по предметам
Тест дистанционно, Административное право, Безопасность жизнедеятельности, Гос. и муниципальные финансы
Срок сдачи к 28 дек.
Взаимодействие экономических и правовых отношени в хозяйственной жизни общества
Контрольная, Экономика
Срок сдачи к 31 дек.
Написать курсовую. Тема курсовой Маркетинг в развитии коммерческой...
Курсовая, Коммерция
Срок сдачи к 8 янв.
Сделать 6 несложных лабораторных в sql
Лабораторная, Информационные системы в экономике
Срок сдачи к 27 дек.
Решить задачу неканонического вида симплекс методом
Решение задач, Высшая математика
Срок сдачи к 26 дек.
доклад + презентация
Доклад, система государственного и муниципального управления
Срок сдачи к 26 дек.
Написать полные конспекты на темы: нервная система, эндокринная система, сердечно-сосудистая система, органы кроветворения и иммунной защиты
Реферат, Гистология Животных
Срок сдачи к 26 дек.
Написать текст для рекламной компании фотографа , подробнее ниже
Отчет по практике, Реклама и PR
Срок сдачи к 26 дек.
Расчет тягово-экономических свойств автомобиля.
Курсовая, Автомобильная промышленность
Срок сдачи к 29 дек.
сделать презентацию по заданию, уровнь 2...
Презентация, информационные технологии
Срок сдачи к 26 дек.
Заполните форму и узнайте цену на индивидуальную работу!