Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы по тоходу.docx
Скачиваний:
5
Добавлен:
02.08.2019
Размер:
92.68 Кб
Скачать
  1. Базы данных коллективного пользования. Компоненты модели клиент/сервер.

В базовой модели клиент-сервер все процессы в распределенных системах делятся на две возможно перекрывающиеся группы. Процессы, реализующие некоторую службу, например службу файловой системы или базы данных, называются серверами (servers). Процессы, запрашивающие службы у серверов путем посылки запроса и последующего ожидания ответа от сервера, называются клиентами(clients). Взаимодействие клиента и сервера, известно также под названием режим работы запрос-ответ.

Если базовая сеть так же надежна, как локальные сети, взаимодействие между клиентом и сервером может быть реализовано посредством простого протокола, не требующего установления соединения. В этом случае клиент, запрашивая службу, облекает свой запрос в форму сообщения с указанием в нем службы, которой он желает воспользоваться, и необходимых для этого исходных данных. Затем сообщение посылается серверу. Последний, в свою очередь, постоянно ожидает входящего сообщения, получив его, обрабатывает, упаковывает результат обработки в ответное сообщение и отправляет его клиенту.

  1. Автоматизация. Сервер приложений. Клиент приложений.

Сервер приложений (англ. application server ) — это программная платформа (software framework), предназначенная для эффективного исполнения процедур (программ, механических операций, скриптов), которые поддерживают построение приложений. Сервер приложений действует как набор компонентов, доступных разработчику программного обеспечения через API (Интерфейс прикладного программирования), который определен самой платформой.

Целостность данных и кода

Выделяя бизнес логику на отдельный сервер, или на небольшое количество серверов, можно гарантировать обновления и улучшения приложений для всех пользователей. Отсутствует риск, что старая версия приложения получит доступ к данным или сможет их изменить старым несовместимым образом.

Централизованная настройка и управление

Изменения в настройках приложения, таких как изменение сервера базы данных или системных настроек, могут производиться централизованно.

Безопасность

Сервер приложений действует как центральная точка, используя которую, поставщики сервисов могут управлять доступом к данным и частям самих приложений, что считается преимуществом защиты. Её наличие позволяет переместить ответственность за аутентификацию с потенциально небезопасного уровня клиента на уровень сервера приложений, при этом дополнительно скрывая уровень базы данных.

Поддержка транзакций

Транзакция представляет собой единицу активности, во время которой большое число изменений ресурсов (в одном или различных источниках) может быть выполнено атомарно (как неделимая единица работы). Конечные пользователи при этом могут выиграть от стандартизованного поведения системы, от уменьшения времени на разработку и от снижения стоимости. В то время как сервер приложений выполняет массу нужного генерирования кода, разработчики могут сфокусироваться на бизнес-логике.

Клиенты и серверы автоматизации При интеграции двух приложений одно предоставляет свои объекты для использования, а другое использует объекты первого приложения. Приложение, объекты которого доступны для других приложений, называется сервером автоматизации (иногда его еще называют компонентом). Приложение, которое использует объекты другого приложения, называется клиентом (или контроллером) автоматизации. Объекты, которые доступны для других приложений, называют объектами автоматизации.

Через объекты автоматизации приложение-сервер открывает доступ другим программам к тем своим функциям, которые могут быть им полезны. Например, текстовый редактор может открывать другим программам доступ к проверке орфографии, служба связи — доступ к созданию и отправке сообщений. Это позволяет разработчикам ускорить процесс разработки своих приложений, благодаря использованию готовых функций сервера.

Объекты приложения-сервера образуют библиотеку объектов, которая может быть подключена к приложению-клиенту путем установки ссылки в проекте VBA (см. разд. "Установка ссылок на объектные библиотеки"гл. 13). Приложение-клиент использует объекты приложения-сервера путем доступа к их свойствам и методам. При этом он имеет все те возможности, которые есть у сервера автоматизации. Например, Microsoft Excel имеет модель объектов, которая включает такие объекты, как Workbook, Worksheet, Sell и др. К этим объектам можно обращаться из Microsoft Access, а также из других приложений, поддерживающих автоматизацию.

Чтобы получить представление о работе с технологией автоматизации OLE, нужно разобраться в классификации серверов автоматизации, которые могут быть использованы в написании приложений систем управления базами данных. Существуют пять основных типов серверов автоматизации.

Полные серверы (full servers) — это самостоятельные приложения, например Microsoft Excel и Microsoft Word, использующие автоматизацию. Данные приложения, подобно Access, предоставляют свои объекты для использования собственной версии VBA. Полные серверы называются также локальными серверами (local servers), поскольку сервер такого типа должен размещаться на том же компьютере, что и приложение клиента автоматизации.

Серверы автоматизации (automation servers) — это серверы, которые не являются внедряемыми объектами. В качестве примера такого сервера можно привести Microsoft Access. Название Microsoft Access не содержится в списке Тип объекта (Object Type) вкладки Создание (Create New) диалогового окна Объект (Object) меню Вставка (Insert) приложений Microsoft Word или Microsoft Excel. При попытке указать файл базы данных во вкладке Создание из файла (Create From File) элемент управления Упаковщик объектов (Object Packager) пытается создать пакет из файла базы данных.

Мини-серверы (mini-servers) — это приложения, которые могут быть запущены только из приложений-клиентов автоматизации, например Microsoft Graph (MSGraph9) или Visio Express. Приложение, являющееся мини-сервером, должно представлять собой выполнимый файл (с расширением ехе) и иметь возможность раскрывать окно приложения. Мини-серверы, отображающие объекты конкретного класса, например файлы изображений, видеоклипы и т. д., называются средствами просмотра (viewers).

Специальные элементы управления OLE (OLE Controls) — это одна из разновидностей мини-серверов. Специальные элементы управления OLE, имеющие расширение файлов осх, кроме методов и свойств, предоставляют для использования другими приложениями еще и события. Они похожи на специальные элементы управления Visual Basic (VBXs). Некоторые элементы управления OLE, подобно VBXs, в режиме выполнения выводятся на экран, другие в режиме выполнения невидимы.

Элементы управления ActiveX (ActiveX Controls) являются облегченной 32-разрядной версией элементов управления OLE. Такие элементы хранятся в файлах с тем же, что и у элементов OLE, расширением (осх), однако их размер на 30—50% меньше, чем у заменяемых ими элементов OLE. Элементы управления ActiveX являются основой развиваемой в настоящее время фирмой Microsoft технологии ActiveX

Служебные серверы (process servers) — это подкласс серверов автоматизации, используемых для выполнения функций, которые не взаимодействуют с интерфейсом пользователя. Служебные серверы делятся на внешние (OutOfProc(ess)) и внутренние (InProc(ess)). Внешние серверы — это выполнимые файлы, которые запущены собственным процессом, т. е. имеют отдельную зарезервированную память. К внешним серверам можно отнести полные серверы и мини-серверы. Внутренние серверы используют память совместно с приложением клиента автоматизации. К внутренним серверам относятся специальные элементы управления ActiveX.

Внешние серверы взаимодействуют с приложением клиента, используя упрощенный механизм удаленного вызова процедур (Lightweight Remote Procedure Calls, или LRPC). В свою очередь, внутренние серверы (OLE DLL) используют вызовы обычных функций Windows. Благодаря этому, внутренние серверы быстрее реагируют на инструкции клиента, чем внешние. Внешний сервер можно' разместить на удаленном компьютере, а для взаимодействия с ним можно использовать DCOM. Такой внешний сервер называют удаленным объектом автоматизации (Remote Automation Object— RAО).

Одним из преимуществ автоматизации является возможность работы с управляемыми полными серверами и мини-серверами без создания видимого экземпляра сервера автоматизации. Автоматизация запускает приложение самостоятельно, без внешнего вмешательства. Если серверу не указано активизировать окно, он невидим, и в списке задач его имя не содержится.