DS L-4 (1034014)
Текст из файла
РаспределенныевычислительныесистемыЛекция №4:Метамодель распределенной системы;принципы ПО среднего слояАлексей В. Бурдаков, к.т.н.burdakov@usa.net3-1План лекции• Метамодель распределенной системы• Объектно-ориентированное ПО среднего слоя• Разработка с помощью ОО ПО среднего слоя• Литература3-21Различные уровниабстракции системMeta-ObjectFacilityLevel 3Meta ObjectModelLevel 2ObjectTypesLevel 1ObjectsLevel 0Эталоннаямодельметаобъектногосредства OMG3-3Метамодель распределеннойсистемы• Распределенные системы состоят измножества компонентов• Компоненты являются гетерогенными• Компоненты взаимодействуют между собой• Должна быть общая модель компонентов,отражающая:• Состояние компонентов• Сервисы компонентов• Взаимодействие между компонентами3-42Объект (компонент)• Реализует функциональность с помощьюопераций• Обладает набором атрибутов, которые всовокупности определяют состояние объекта• Частные (private) – доступны внутри• Общие (public) – доступны из других компонентов;пара операций модификации• Только для чтения – доступны из другихкомпонентов для чтения• Статические атрибуты не поддерживаются3-5Объект (компонент)• Имеет уникальный объектный идентификатор• Присваивается при создании• Сохраняется на протяжении всей жизни• Объектная ссылка – дескриптор объекта• Используются для доступа к объектам• Может существовать несколько ссылок на данныйобъект• Равенство и идентичность:• Равные объекты (в соответствии с критериемравенства)• Идентичные объекты (имеющие одинаковыеидентификаторы)• Идентичные объекты равны, но не наоборот• Может вызывать исключительные события3-63Типы• Типы объектов определяют техарактеристики, которые являются общимидля похожих объектов• Задается с помощью интерфейса• Определяют набор операций и атрибутов• Объекты являются экземплярами типов• Экземпляр одного или• Нескольких типов• Связь с типом позволяет получить информациюоб атрибутах и операциях• Тип определяется интерфейсом3-7Необъектные типы• Высокие издержки на передачу объектов(ссылок на объекты)• Информация о местоположении• Информация о безопасности• Поддержка простых типов данных (логическиезначения, символы и числа)••••Являются значениямиНе имеют идентификаторовА) АтомарныеБ) Сложные (сконструированные)•Записи•Массивы•Последовательности•…3-84Заявки• Объектная заявка – триада из объектнойссылки, имени операции и наборафактических параметров• Значительно большие издержки посравнению с обычным вызовом• Устранение неоднородности данных• Синхронизирование клиента и сервера• Установление связи по сети3-9Исключения• Отказы происходят• Отказы должны скрываться промежуточнымслоем• Отказы, которые не могут быть скрытыпередаются в прикладные программы в видеисключений (exceptions)• Исключение – структура данных,предназначенная для хранения информацииоб отказах• Исключение генерируется объектом-сервероми передается объекту-клиенту3-105Исключения• Исключения• 1) Системные (генерируются промежуточнымслоем)• 2) Типо-зависимые (генерируются прикладнымкомпонентом)3-11Операции• Операция определяется• Именем• Списком входных и выходных параметров• Типом возвращаемого значения• Списком исключений3-126Подтипы и множественноенаследование• Подтип содержит (говорят – «наследует») всеоперации, атрибуты и исключения своего«супертипа»• Подтип содержит дополнительные элементы,т.е.
расширяет определение супертипа• Объектный тип может наследоваться отболее чем одного супертипа образуямножественное наследование• Преимущества••••Повторное использование типовОблегчение изменений в иерархической структуреОблегчение восприятия проектаПолиморфизм (вместо типа использование подтипа)3-13План лекции• Метамодель распределенной системы• Объектно-ориентированное ПО среднего слоя• Разработка с помощью ОО ПО среднего слоя• Литература3-147Язык определенияинтерфейсов (IDL)• Все реализации ПО среднего слоя реализуютЯзык определения интерфейсов• Сверх того, что предложено в RPC, IDL ОО ПОсреднего слоя поддерживает объектные типы вроли параметров, обработку ошибок инаследование• ОО ПО среднего слоя предоставляеткомпиляторы IDL, создающие клиентские исерверные стабы для реализации уровня сеансаи представления модели ISO/OSI3-15Пример IDLinterface Player : Object {typedef struct _Date {short day; short month; short year;} Date;attribute string name;readonly attribute Date DoB;};interface PlayerStore : Object {exception IDNotFound{};short save (in Player p);Player load(in short id) raises(IDNotFound);void print(in Player p);};3-168Реализация уровняпредставления• В дополнение к уровню представления,реализованному в RPC, ОО ПО среднего слоя:• Определяет представление объектных ссылок втранспортном слое• Поддерживает исключения• Выполняет маршалинг наследованных атрибутов3-17Реализация уровня сеансаОбъектныессылкиУзлыОбъектные ПроцессыОбъектыадаптеры3-189Реализация уровня сеанса• Задачи, решаемые уровнем сеанса:• Отображение объектных ссылок в узлы• Реализация примитивов активации и деактивацииобъектов• Вызов запрашиваемой операции• Синхронизация клиента с сервером3-19План лекции• Метамодель распределенной системы• Объектно-ориентированное ПО среднего слоя• Разработка с помощью ОО ПО среднего слоя• Литература3-2010Шаги разработкиПроектированиеОпределениеинтерфейсаГенерациясерверных стабовГенерацияклиентских стабовНаписаниекода сервераНаписаниекода клиентаРегистрациясервера3-21Обеспечение прозрачностидоступа• Стабы клиента декларируют те же операции, что исерверные объекты• Следовательно клиенты могут:• Выполнять локальные вызовы клиентских стабов• Или локальные вызовы серверных объектов(Без изменения кода)• ПО среднего слоя может ускорить выполнениезапросов не используя клиентские и серверныестабы3-2211Обеспечение прозрачностирасположения• Идентификатор объекта• Ссылки на объект• Клиент запрашивает выполнение операции усерверного объекта, идентифицированногообъектной ссылкой• Информация о физическом расположенииобъекта не нужна• Как получить объектные ссылки?3-23Генерация стабовTeam.idlTeam.idlIDL-CompilerTeamcl.hhTeamsv.hhTeamcl.ccTeamsv.ccincluded ingeneratesreads3-2412Реализацияклиента и сервераTeam.idlTeam.idlClient.ccClient.ccServer.ccServer.ccIDL-CompilerTeamcl.hhTeamsv.hhTeamcl.ccC++C++Compiler,Compiler,LinkerLinkerClientTeamsv.ccC++ Compiler, Linkerincluded ingeneratesreadsServer3-25Регистрация на сервере• Объектные адаптеры должны иметь возможностьнахождения и запуска серверов• Объекты сервера регистрируются в «репозитарииреализации» (реестре, и т.п.)• Процессы регистрации зависят от ПО среднегослоя и продукта• Объектный адаптер до выполнения запускасерверного объекта обращается к «репозитариюреализации»3-2613Литература / Internetисточники• В.
Эммерих Конструирование распределенныхобъектов. - М.:Мир. - 2002.• М.Р. Когаловский Энциклопедия технологий базданных. - М.: ФС. - 2002.• Ю.А. Григорьев, А.Д. Плутенко. - Жизненный циклпроектирования распределенных баз данных. Благовещенск. - 1999.• Э. Таненбаум, М.
Ван Стеен Распределенныесистемы. Принципы и парадигмы. – СПб.: Питер,2003. – 877 с.: ил. – (Серия «Классика computerscience»)• www.omg.org3-2714.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.