Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Зв’язок клієнта із сервером застосувань

Як уже згадувалось вище, сервер застосувань перебирає на себе значну частку обчислювального навантаження клієнта, залишивши йому такі функції:

- з’єднання з сервером застосувань, приймання та передача даних;

- робота з локальними копіями даних;

- відображення інформації засобами інтерфейсу користувача;

- найпростіші операції редагування.

Перша із перелічених функцій підтримується набором компонент із закладки DataSnap. Ці компоненти інкапсулюють стандартні транспортні протоколи обміну даними між сервером і клієнтами DCOM (TDCOMConnection), HTTP (TWebConnection) та сокети (TSocketConnection) і забезпечують доступ до функцій сервера застосувань за рахунок використання інтерфейсу IAppServer[8][8]. Коротко охарактеризуємо кожну з них.

TDCOMConnection використовує розроблений фірмою Microsoft DCOM протокол обміну даними, котрий використовуть у Windows, починаючи з 98-ої версії. Інтегрованість DCOM в операційну систему забезпечує максимальну ефективність зв’язку сервера з клієнтом. Додатковою перевагою є вбудована підтримка моделі безпеки Windows NT.

Проте зазначена технологія добре працює лише в межах правильно сконфігурованих локальних доменних Windows–мереж. А для використання служби безпеки сервер застосувань має знаходитись на комп’ютері контролера домену. Відсутність DCOM з’єднання компенсують застосуванням компоненти TSocketConnection, котра для зв’язку сервера з клієнтом використовує протокол TCP / IP на основі виклику низькорівневих API-функцій Windows - сокетів[9][9]. Такий зв’язок забезпечує максимальну швидкість обміну даними та дає змогу використовувати мережу Internet (у тім числі через модемне з’єднання).

Особливістю технології сокетів є відсутність захисту даних у мережі від несанкціонованого доступу. Потенційно будь-яке клієнтське програмне забезпечення, знаючи ім’я класу сервера застосувань та ім’я провайдера у віддаленому модулі даних, може підключитись і працювати з ним без будь-якого контролю за правами доступу. Тому вирішення проблеми безпеки даних у мережі цілком покладається на аутентифікацію користувачів програмними засобами сервера застосувань. З іншого боку, саме відсутність згаданого контролю мінімізує вимоги до програмного оточення інформаційної системи та значно спрощує процес налагодження зв’язку між сервером і клієнтами при її інсталяції (розгортанні). З цієї ж причини технологію сокетів нижче використано у демонстраційному прикладі.

Крім NETBEUI та TCP/IP протоколу, MIDAS технологія дає змогу встановлювати та підтримувати зв’язок між віддаленим сервером застосувань та клієнтами за допомогою протоколу HTTP, для чого використовується компонента TWebConnection[10][10]. У цьому випадку вважають, що сам сервер реалізовано засобами ActiveX Page і експонується він наявним у мережі Web-сервером з допомогою спеціалізованої динамічної бібліотеки НТТРsrvr.dll. Тобто замість прямого звертання до віддаленого модуля даних клієнт безпосередньо зв’язується з НТТРsrvr.dll (за аналогією з SCKTsrvr.exe в технології з сокетами), котра надалі приймає від нього всі запити і самостійно працює з сервером застосувань (з використанням тепер вже COM технології).

Головною особливістю такого підходу є можливість реалізації справді “тонкого” міжплатформенного клієнта (наприклад, у вигляді WEB сторінки), оскільки технології DCOM та сокети передбачають наявність Windows платформи. Важливою перевагою Web-з’єднання (особливо перед сокетами) є можливість використання засобів системи безпеки SSL, котра забезпечується бібліотекою клієнта wininet.dll. TWebConnection дає змогу створювати клієнтів, які зв’язуються з сервером застосувань через захисні засоби firewall, використовуючи найпоширеніший порт зв’язку. Недоліком такої технології є текстовий формат даних протоколу HTTP, котрий за необхідності інтенсивного обміну інформацією між сервером застосувань і клієнтом є порівняно повільним.

Кожна з описаних вище компонент забезпечує лише канал зв’язку клієнта з сервером. Для організації ж запитів по інформацію до БД та отримання і зберігання результуючої вибірки даних (друга з перелічених вище функцій) клієнтську програму необхідно доповнити компонентою TClientDataSet із закладки Data Access.

Роль цієї компоненти для розробки багатошарових застосувань важко переоцінити. Вона з успіхом замінює раніше використовувані TQuery та їй подібні нащадки від TDataSet вже тим, що не використовує громіздку BDE. Проте головною перевагою TClientDataSet є те, що результат запиту вона закачує у власний буфер і подальша робота йде вже з локальною копією обраного фрагмента бази даних. Зрозуміло, що цю властивість необхідно використовувати обережно, не допускаючи надмірних розмірів вибірок (і, відповідно, вимог до оперативної пам’яті) засобами SQL команди. Втім, за потреби оперування великими обсягами результуючих даних, програмісту надається цілковитий контроль над кількістю записів, які буде запаковано провайдером у пакет даних. Цю кількість необхідно вказати у властивості PacketRecords клієнтського набору даних (за замовчуванням воно встановлене в -1, що дає вказівку провайдеру запаковувати в пакет даних всі доступні записи). Крім того, властивості FetchOnDemand потрібно надати значення True. З цими установками TClientDataSet вибиратиме записи тільки тоді, коли вони знадобляться, наприклад, при переході за останній прийнятий клієнтським набором даних запис.

Додатковою цікавою особливістю компоненти TClientDataSet є можливість організації відкладеної обробки даних (технологія портфеля briefcase) з допомогою методів SaveToFile та Load FromFile. Суть її полягає у тому, що клієнт може розірвати зв’язок із сервером застосувань і потрібний час працювати в автономному режимі. Усі зміни до БД компонента здатна зберігати у власних файлах на комп’ютері клієнта і реалізувати їх у момент наступного сеансу підключення до сервера застосувань.

Окрім нових компонент для зв’язку із сервером застосувань у клієнтському застосуванні для відображення даних використовують стандартні компоненти TDBGrid та ін., а також звичні схеми зв’язування візуальних компонент з набором даних через TDataSource.




Дата добавления: 2015-09-12; просмотров: 49 | Поможем написать вашу работу | Нарушение авторских прав

Алматы, 2013 | Гетеротрофты организмдер- деп | Мониторинг -деп | ТРИШАРОВА АРХІТЕКТУРА MIDAS | Демонстраційний приклад | РОЗГОРТАННЯ СИСТЕМИ | Internet ресурси | Приклади тестових завдань з математики | Приклади тестових завдань з української мови |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав