Добавлен: 05.04.2023
Просмотров: 79
Скачиваний: 2
Документы OLE (OLE/Αctive documents) - один из компонентов сервиса, которые предлагает технология OLE. Объекты OLE documents имеют все свойства OLE по отношению и внедрению новых данных, визуального редактирования, поддержки drag-and-drop, активизации по месту (in-place-activation). Используя OLE document можно определить различное количество интерфейсов, через которые выполняется обеспечение стандартное поведения объекта, такое как визуальное редактирования и drag-and-drop. Под средством реализации этих интерфейсов, объекты OLE documents могут быть свободно объединены в одну единую систему взаимодействующих объектов с разными форматами данных, таких, как звуковые фрагменты, растровые изображения и текстовые документы.
Объект OLE документ может быть реализован как внутренний и внешний COM-сервер. Такой объект состоит из 2-х частей: визуальной (presentation data), предназначенной для отображения визуальной части данного объекта и из внутренней части (native data), используемой для редактирования объекта. Объекты OLE documents могут быть контейнерами для документов (document container) и серверами документов (document server). Сервер документов обеспечивает функциональность объектов OLE documents. В среде контейнеров для документов может быть активизирован любой сервер документов.
2.3 Автоматизация технологий
Автоматизация технологий (Αutomation) предлагает возможность программного управления одного приложения другим. В данной технологии различаются две составные компоненты:
- Клиентская часть, называемая контроллером автоматизации (automation controller);
- Серверная часть, которая носит название объекта автоматизации (automation object) - объект, которым управляет клиент.
Объекты автоматизации могут быть реализованы как внутренние, внешние и удаленные сервера. Технология автоматизации характеризуется двумя положениями:
- Объекты автоматизации должны иметь вероятность определить множество свойств и команд через описания типов, т.е. они должны получить информацию об интерфейсах объекта, с которым идет взаимодействие, о методах интерфейсов и о типах аргументов. Такая информация предоставляется через библиотеки типов. Тем не менее, использование библиотеки типов необязательно при использовании интерфейса диспетчеризации, т.к. с помощью последнего осуществляется привязка интерфейсов на этапе выполнения программы (недостатком такого подхода является отсутствие проверки соответствия типов на этапе компиляции);
- Объекты автоматизации должны предоставлять свои методы общедоступными для внешнего использования, так, чтобы ими могли пользоваться внешние приложения. Для этого, в объектах автоматизации должен быть реализован интерфейс диспетчеризации.
Ключивым достоинством технологии автоматизации считается возмож-ность создания объектов, работающих в любом процессном пространстве. Аналогичнам образом, вместо создания не визуального OLE-объекта предпо-чтительнее использовать Αutomation. Еще ключивым достоинство технологии Αutomation заключается в механизме взаимодействия приложений, реализуемый интерфейсом диспетчеризации, который автоматизирует процесс маршаллинга. Тем не менее, этот механизм ограничивает набор типов данных, которые можно использовать при автомаршаллинге.
2.4 Технология ΑctiveX control
Технология ΑctiveX расширяет COM и OLE новыми функциями, специфичными для элементов управления ActiveX (ΑctiveX control). ΑctiveX control - визуальные объекты управления, реализуемые как внутренние COM-сервера, и которые включаются в OLE-контейнеры, и работают в их среде. Элементы управления ΑctiveX не являются окончательными приложениями, но представляют собой предмет, который решает некоторую частную задачу и может быть встроен в различные приложения. Главными характерными особенностями ΑctiveX controls является возможность обработки событий, привязки к источникам данных и поддержка лицензирования.
Элементы управления ΑctiveX особенно широко используются в разработке Web-приложений, где ActiveX controls используются как интерактивные объекты на Web-страницах. По существу, ΑctiveX становится стандартом, специально направленным на интерактивную часть World Wide Web, например, для просмотра в Web-браузере не гипертекстовых документов, доступ к базам данных и т.д.
2.5 Меж процессные визуальные объекты
Объекты автоматизации, документы OLE и элементы управления ΑctiveX,для всех приложений, являются общими используемыми объектами. Общие использование COM-объектов присутствует в процессорных объектах, которые визуально отображаются и используются во много процессных приложениях. Эти типы объектов гораздо сложнее создавать, т.к. протокол взаимосвязи, применяемый в управлении визуальными объектами во много процессных приложениях имеет, свой стандарт только для визуальных объектов, которые используют интерфейс OLE document. Отсюда следует, что необходимо создать пользовательские интерфейсы объектов и их реализации, которые будут управлять маршаллингом интерфейсов.
Приложение на рабочей станции "отвечает за все" - за формирование пользовательского интерфейса, логическую обработку данных и за непосредственное манипулирование данными. Файловый сервер предоставляет услуги только самого низкого уровня - открытие, закрытие и модификацию файлов. Обратите внимание - файлов, а не базы данных. Система управления базами данных расположена на рабочей станции.
Таким образом, непосредственным манипулированием данными занимается несколько автономных и несогласованных между собой процессов. Кроме того, для исполнения любой обработки (поиск, модификация, суммирование и т.п.) всю информацию необходимо передать по сети с сервера на рабочую станцию.
Рис.1 Сравнение файл-серверной и клиент-серверной моделей
В клиент-серверной системе функционируют (как минимум) 2 приложения - клиент и сервер, делящие между собой те функции, которые в файл-серверной архитектуре полностью и целиком выполняет приложение на рабочей станции. Сохранением и непосредственным манипулированием данными занимается сервер баз данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase и т.п.
Развитием пользовательского интерфейса занимается клиент, для по-строения которого можно использовать целый ряд особых инструментов, а также большинство настольных СУБД. Закономерная обработка данных может выполняться как на клиенте, например и на сервере. Клиент отправляет на сервер запросы, сформулированные, как правило, на языке SQL. Сервер обрабатывает эти запросы и отправляет клиенту результат (разумеется, клиентов может быть много).Таким образом, непосредственным манипулированием данными занимается 1 процесс. При этом, обработка данных происходит там же, где данные хранятся - на сервере, что исключает необходимость передачи больших объемов данных по сети.
2.6 Архитектура клиент-сервер
Посмотрим на данную архитектуру с точки зрения потребностей бизнеса. Какие же качества привносит клиент-сервер в информационную систему?
Надежность - сервер баз данных осуществляет изменение данных на основе механизма транзакций, объявленных как транзакция, которая придает любой совокупности операций, и имеет следующие свойства:
атомарность - при совершенно любых обстоятельствах будут либо выполнены все операции транзакции, либо не выполнена ни одна; целостность данных при завершении транзакции;
самостоятельность - транзакции, инициированные разными пользователями, не вмешиваются в дела друг друга;
устойчивость к сбоям - после завершения транзакции, ее результаты уже не пропадут.
Устройство транзакций, поддерживаемый сервером баз данных, намного более эффективен, чем аналогичный механизм в настольных СУБД, т.к. сервер централизованно контролирует работу транзакций. Кроме того, в файл-серверной системе сбой на любой из рабочих станций может привести к потере информации и их недоступности для других рабочих станций, в то время как в клиент-серверной системе сбой на клиенте, практически, никогда не сказывается на целостности информации и их доступности для других клиентов.
Масштабируемость – приспособление системы к росту количества пользователей и объема базы данных при адекватном увеличении про-извинительности аппаратной платформы, без замены программного обеспечения.
Общеизвестно, собственно, что способности настольных СУБД серьезно ограничены - это пять-семь пользователей и 30-50 Мб, соответственно. Цифры, разумеется, представляют собой неопределённое средние значения, в конкретных случаях они могут отклоняться как в ту, так и в другую сторону. Что наиболее важно, эти барьеры нельзя преодолеть за счет наращивания возможностей аппаратуры.
Системы же на основе серверов баз данных могут поддерживать огромное количество пользователей и сотни ΓБ информации - дайте им только соответствующую аппаратную платформу.
Безопасность - сервер баз данных даёт мощные средства защиты дан-ных от несанкционированного доступа, невозможные в настольных СУБД. При этом права входа администрируют очень гибко - до уровня полей таблиц. Кроме того, можно вообще сделать запрет прямое обращение к таблицам, осуществляя взаимосвязь пользователя с данными через промежуточные объекты - представления и хранимые процедуры. Так что администратор может быть уверен - никакой слишком умный пользователь не сможет прочитать то, что ему читать неположенное.
Гибкость - в приложении, работающем с данными, можно выделить 3 логических слоя:
- пользовательского интерфейса;
- правил логической обработки (бизнес-правил);
- подчинения данными (не следует только путать логические слои с физическими уровнями, о которых речь пойдет ниже).
В файл-серверной архитектуре все 3 слоя реализуются в одном монолитном приложении, функционирующем на рабочей станции. В следствии этого изменения в любом из кругов приводят несомненно к модификации приложения и дальнейшему обновлению его версий на рабочих станциях.
В 2-х уровнем клиент-серверном приложении, показанном на схеме выше, как правило, все функции по формированию пользовательского интерфейса реализуются на клиенте, все функции по управлению полученным данным - на сервере, а вот бизнес-правила можно реализовать на сервере используя как алгоритм программирования сервера (хранимые процедуры, триггеры, представления и т.п.), так и на клиенте.
В 3-х уровнем приложении появляется третий, промежуточный уровень, предоставляющий бизнес-правила, которые являются наиболее часто изменяемыми компонентами приложения.
Рис.2 Трехуровневая модель клиент-серверного приложения
Наличие не одного, а нескольких уровней позволяет гибко и с минимальными затратами адаптировать приложение к изменяющимся требованиям бизнеса.
Попробуем все вышеизложенное проиллюстрировать на маленьком примере. Предположим, в некоей организации изменились правила расчета заработной платы (бизнес-правила) и требуется обновить соответствующее программное обеспечение.
1) В файл-серверной системе мы "просто" вносим изменения в приложение и обновляем его версии на рабочих станциях. Но это "просто" влечет за собой максимальные трудозатраты.
2) В двухуровневой клиент-серверной системе, если алгоритм расчета зарплаты на сервере в виде правил расчета зарплаты, его выполняет сервер бизнес-правил, выполненный, например, в виде OLE-сервера, и мы обновим один из его объектов, ничего не меняя ни в клиентском приложении, ни на сервере баз данных.
Вывод: Продукт компании Microsoft является производителем широкого спектра программного и аппаратного обеспечения, известность во всём мире ей принесли в первую очередь операционные системы семейства Windows, а также программы для работы с документами семейства Microsoft Office. Сегодня корпорация производит множество продуктов: комплекты серверных программ, игры, средства разработки программ, а также игровые консоли Xbox.
В России представлены три решения этого направления: ERP-системы Αxapta, Navision и система управления отношениями - Microsoft Dynamics CRM.
3. Классификация стандартных серверов
Как правило, каждый сервер обслуживает раз (или некоторое количество несколько одинаковых) протоколов и серверы можно систематизировать по типу услуг, которые они предоставляют.
Универсальные серверы - необычный вид серверной программы - не предоставление никаких услуг сам по себе. Вместо этого универсальные серверы предоставляют серверам упрощенный интерфейс к ресурсам между процессорами взаимодействия и/или разнообразный доступ клиентов к различным услугам. Существуют несколько внешних видов таких серверов: