WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Поняття про Component Objects Model (Реферат) - Реферат

Поняття про Component Objects Model (Реферат) - Реферат

oObject.Method(@laArray)

Якщо в цьому виразі опустити символ (@), то в СОМ-об'єкт буде переданий тільки перший елемент масиву і всі настройки, виконані в ComArray (), будуть проігноровані.

Visual FoxPro як СОМ-сервер

Ми зараз, власне, розглянули, як використовувати в додатку Visual FoxPro звернення до інших СОМ-серверів. Але цим можливості СОМ-технології в поєднанні з Visual FoxPro не вичерпуються. Можна створити в середовищі Visual FoxPro власний СОМ-сервер. Про це піде мова в розділі 22. Але спочатку в розділі 21 ми розглянемо на прикладах технологію програмування додатку - клієнта СОМ в середовищі Visual FoxPro, яке здатне взаємодіяти з іншими додатками з обширного "гардероба" Microsoft Office.

Управління об'єктами СОМ-додатку

Зверніть увагу на код на самому початку програми CustRpt.PRG, який організовує запуск Excel. Спочатку викликається функція GetObject (), а потім, якщо GetObject () поверне NULL, CreateObject (). Це зроблено для того, щоб запобігти повторному запуску Excel.

Таку ж методику запуску можна застосувати і до будь-якого іншого СОМ-серверу. Тут мимовільно виникає ідея створити універсальну процедуру запуску СОМ-серверу. Програмний код такої процедури приведений в лістингу 21.5. Прогляньте цей лістинг - численні коментарі допоможуть розібратися в деталях виконання процедури.

Лістинг 21.5.21Code05 - процедура запуску СОМ-серверу

*- Програма..: GETCOMINSTANCE.PRG

*- Версія.....: 1.0

*- Автор......: Menachem Bazian, CPA

*- Дата.......: August 23, 1998

*- Проект.....: Using Visual FoxPro 6 Special Edition

*- Copyright (з) 1998 Menachem Bazian, CPA, All Rights Reserved.

*- Компілятор.: Visual FoxPro 06.00.8141.00 for Windows

*- Опис...:

*- Зміни..:

*- Універсальна процедура запуску сом-серверу.

-------------------------------------------------

LPARAMETERS tcCOMServerClass, tcDocumentFileName

*- Параметр tcCOMServerClass - ім'я класу СОМ-серверу

*- об'єкт якого необхідно створити.

*- Наприклад "excel.application".

*- Перевіримо, чи переданий перший параметр.

ASSERT TYPE("tcCOMServerClass") = "С";

MESSAGE "You must provide а character parameter to

GETCOMINSTANCE. "

IF PCOUNT () = 0 OR TYPE ("tcCOMServerClass") # "c"

RETURN .NULL.

ENDIF

*- Раз ми сюди дійшли, значить параметр переданий правильно

*- і можна спробувати створити об'єкт COM-серверу.

*- Спробуємо це зробити за допомогою GETObject ()

LOCAL loCOMInstance, lcOldError

lcOldError = ON("ERROR")

*- Перевіримо, чи переданий другий параметр.

*- Якщо параметр - ім'я файлу - переданий, то потрібно сформувати

*- посилання на цей файл.

*- Інакше потрібно просто створити об'єкт серверу.

.IF PCOUNT () = 2 AND;

TYPE("tcDocumentFileName")="с" AND ;

FILE(tcDocumentFileName)

ON ERROR loCOMInstance = .NULL.

loCOMInstance=GetObject(tcDocumentFileName,

tcCOMServerClass)

ON ERROR &lcOldError

ELSE

*- В цьому випадку не було передано ім'я файлу

*- з яким повинен працювати сервер.

ON ERROR loCOMInstance = .NULL.

loCOMInstance = GetObject(, tcCOMServerClass)

ON ERROR &lc01dError

IF ISNULL(loCOMInstance)

loCOMInstance = CreateObject(tcCOMServerClass)

ON ERROR blcOldError

ENDIF

ENDIF

RETURN loCOMInstance

Для чого можна використовувати СОМ-сервер

В розділах 20 і 21 обговорювалася можливість використовування в програмі на Visual FoxPro засобів COM-серверу, як який виступали деякі додатки з комплекту Microsoft Office. Але врахуйте, це тільки початок нашого оповідання про можливості вживання ідей моделі СОМ до Visual FoxPro. За допомогою засобів Visual FoxPro можна створювати не тільки СОМ-клієнти, але і СОМ-сервери.

Масштаби вживання додатків в даний час безперервно змінюються. Якщо раніше додаток, як правило, працював тільки на тому комп'ютері, на якому було встановлено, то тепер воно розподіляється не тільки в межах локальної мережі, але і по корпоративній мережі 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 (командою ClassClass Info), показане на мал. 22.1.

3. Встановіть прапорець OLE Public.

4. Закрийте діалогове вікно.

5. Збережіть клас.

Установка прапорця означає, що клас надаватиме свої властивості і методи, як об'єкт OLE.

Мал. 22.1. Діалогове вікно Class Info

Тепер залишилося створити виконуваний модуль або модуль DLL з тим, щоб можна було зареєструвати сервер. Для цього спочатку знадобиться створити проект. Цей проект, назвемо його TS.PJX, потребує бібліотеки класів і запускаючої програми - файлу з розширенням .prg. Цей файл я назвав MAIN.PRG, і в ньому буде всього один рядок коду:

*- Програма..: MAIN.PRG

*- Версія.....: 1.0

*- Автор......: Menachem Bazian, CPA

*- Дата.......: September 8, 1998

*- Проект.....: Using Visual FoxPro 6 Special Edition

*- Copyright (с) 1998 Menachem Bazian, CPA, All Rights Reserved.

*-- Компілятор.: Visual FoxPro 06.00.8141.00 for Windows

*-- Опис...:

*- Зміни..:

*************************************************

RETURN

Тестування СОМ-серверу зовні середовища Visual FoxPro

Отже, неначебто все вийшло, як задумано. Але потрібно ще перевірити наш сервер і в іншому операційному середовищі, тобто з використовуванням як клієнт іншого додатку. Візьмемо як таке Excel.

Модель СОМ в N-шаровому додатку клієнт/сервер

В цьому розділі ви познайомилися з технологією розробки СОМ-ссрвера в середовищі Visual FoxPro. Був представлений приклад СОМ-серверу і розглянуті основні його функції. Такого роду СОМ-сервер ідеально вписується в структуру N-шарового додатку клієнт/сервер.

Той СОМ-сервер, про якого йшла мова в цьому розділі, є проміжним в тришаровому "пирозі" додатку. Роль нижнього шару також грає Visual FoxPro, а роль інтерфейсу з користувачем надана Excel.

З упровадженням Internet додаток стає розосередженим справді в географічних масштабах. Використовування броузероподобного інтерфейсу з користувачем на базі ASP, DHTML, XML, XSL і подібних технологій відкриває широкі можливості для проектування клієнтів СОМ. Включення ж серверів на базі Visual FoxPro в середину багатошарової конструкції розподіленого додатку дозволяє оптимально використовувати можливості кожного з програмних продуктів.


 
 

Цікаве

Загрузка...