Поняття про Component Objects Model
Масштаби вживання додатків в даний час безперервно змінюються. Якщо раніше додаток, як правило, працював тільки на тому комп'ютері, на якому було встановлено, то тепер воно розподіляється не тільки в межах локальної мережі, але і по корпоративній мережі Intranet або по глобальній мережі Internet. Гостро відчувається необхідність нового підходу до побудови додатків, розрахованих на доступ з боку безлічі користувачів.
Таким новим підходом є структура багатошарового додатку (multi-tiered арplication), який компонується з безлічі логічно закінчених шарів. Верхній шар такого "пирога" - призначений для користувача графічний інтерфейс, нижній - дані. Між ними лежать шари, які відповідають за дотримання виконання певних правил обробки даних і їх передачу.
Засобів для створення верхнього шару превелика кількість. Microsoft ратує за вживання "броузероподібного" призначеного для користувача інтерфейсу, який по ряду причин вважається самим відповідним більшості користувачів. По-перше, якщо графічний інтерфейс сформований засобами HTML, DHTML, ASP або ним подібними, звернення до додатку виконується простим клацанням миші. Фактично все, що вимагає клієнт від такого інтерфейсу, - це вивести його на потрібну Web-сторінку. Що може бути простіше? Такий інтерфейс також полегшує упровадження оновлених версій додатків. Важливий і так званий людський чинник: користувач має справу з однотипним інтерфейсом для більшості (а краще для всіх) задач, з якими йому доводиться стикатися. Отже розробникам хочеш не хочеш потрібно підстроюватися під часто найвживаніші програми; а що зараз використовується частіше, ніж Internet Explorer?
На нижньому шарі також можуть бути різні засоби зберігання даних - програми Visual FoxPro, SQL-сервер або бозна-що ще.
Механізм створення проміжних шарів - це СОМ-інтерфейс. Верхній шар Створює об'єкт середнього шару, який передає дані туди і назад між сховищем і споживачем.
Загалом, головну думку попереднього обговорення можна сформулювати так: в багатошаровому додатку середній шар є сукупність СОМ-серверів. А далі за логіка вчинено проста. Ніхто не може змагатися з Visual FoxPro в простоті обробки даних. Visual FoxPro має чудово організоване объектно-орієнтоване середовище розробки. Так хто перший кандидат на роль базового продукту для побудови середнього шару? Найдогадливіші вже зрозуміли. Правильно! Visual FoxPro!
Нижче в цьому розділі я продемонструю на прикладі обгрунтованість вашого вибору. А головне, при цьому ви самі переконаєтеся, як в середовищі Visual FoxPro до смішного просто створити СОМ-сервер.
Створення Сом-серверу
Тепер, узявши створений клас за основу, можна побудувати СОМ-сервер. Процес цей нескладний.
1. Модифікуйте клас.
2. Виведіть на екран діалогове вікно Class Info (командою Class Class Info), показане на мал. 22.1.
3. Встановіть прапорець OLE Public.
4. Закрийте діалогове вікно.
5. Збережіть клас.
Установка прапорця означає, що клас надаватиме свої властивості і методи, як об'єкт OLE.
Мал. 22.1. Діалогове вікно Class InfoТепер залишилося створити виконуваний модуль або модуль DLL з тим, щоб можна було зареєструвати сервер. Для цього спочатку знадобиться створити проект. Цей проект, назвемо його TS.PJX, потребує бібліотеки класів і запускаючої програми - файлу з розширенням .prg. Цей файл я назвав MAIN.PRG, і в ньому буде всього один рядок коду: