DS L-3 (Лекции по распределённым системам)
Описание файла
Файл "DS L-3" внутри архива находится в папке "Лекции по распределённым системам". PDF-файл из архива "Лекции по распределённым системам", который расположен в категории "". Всё это находится в предмете "распределённые системы" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "распределённые системы" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
РаспределенныесистемыЛекция №3:Эволюция распределенныхтехнологий, принципы ПО среднегослояАлексей В. Бурдаков, к.т.н.2-1План лекции• Эволюция распределенных технологий• Прикладное ПО среднего слоя2-21Эволюция объектнойтехнологии.NET2000DCOMXMLJavaUMLCOM1990 CORBADCE1980Sun ONC1970РаспределенныесистемыOOADC++EiffelSmalltalkСкрытие информацииSimula-67ЯзыкиРазработка ПОпрограммирования (с) В. Эммерих2-3Эволюция объектнойтехнологии• Simula (1966, Скандинавия) - начало объектнойориентации• разработка программ имитационного моделирования,• понятие класса как типа,• экземпляры могут реагировать на сообщения• Скрытие информации (1972, Д.
Парнас)• сокрытие структур данных наиболее часто изменяемых принеизменном интерфейсе• идея модуля (module)2-42Эволюция объектнойтехнологии• Smalltalk (конец 70-х, начало 80-х) - для созданиянового пользовательского интерфейса в центре Xerox• концепция - «все есть объект»,• наследование,• Полиморфизм• С++ (середина 80-х) – Бьярн Строструп вместе сгруппой исследователей из AT&T Bell Labs• строгое супермножество C - приемственность• статическое определение типов означающее контроль настадии компиляции• более успешен нежели Smalltalk2-5Эволюция объектнойтехнологии• RPC разработанная Sun Microsystems как частьархитектуры ONC (Open Network Communications Открытое сетевое взаимодействие):• удаленный вызов процедур,• описание интерфейсов с помощью специализированногоязыка,• использование клиентских и серверных стабов (stub),• передача параметров по сетевым протоколам• DCE (Distributed Computing Environment - Средараспределенных вычислений) - стандарт OSF (OpenSoftware Foundation);• стандарт RPC был включен в DCE• среди прочего определяет внешнее представление данных(External Data Representation, XDR),• служба высокого уровня: 1) имен и 2) безопасности2-63Эволюция объектнойтехнологии• CORBA – Common Request Broker Architecture – Общаяархитектура брокера объектных запросов• версия 1.0 принята в 1991 г.• удаленный вызов и объектно-ориентированная парадигма• брокер объектных запросов – средний слой,обеспечивающий удаленные вызовы, независимость отрасположения объектов, аппаратных и программныхсредств, языков прогр.• Java/RMI (Remote Method Invocation - Удаленный вызовметодов)• удаленный вызов методов интегрированы в Java• компоненты Java могут мигрировать и выполняться наразличных платформах• нет проблем с неоднородностью, так как «Весь мир - этоJava»2-7Эволюция объектнойтехнологии• COM (Component Object Model - Компонентная модель объектов)- модель взаимодействия приложений, написанных на разныхязыках• несколько интерфейсов (множественное наследование)• Только локальное взаимодействие• DCOM (Distributed Component Object Model - Объектная модельраспределенных компонентов)• представлена в Windows NT 4.0• доступ к удаленным объектам по OSF/RPC• .NET – набор технологий и архитектурных моделей,предложенный Microsoft• XML – eXtensible Markup Language• SOAP – Simple Object Access Protocol• Web-сервисы2-84Эволюция объектнойтехнологии: сравнениеПрограммный аспект• DCE не является объектно-ориентированным, независимым отсредств разработки, не поддерживает состояние объектов;• DCOM зависим от платформы, имеет слабую независимость отязыков и не поддерживает состояние объектов.Коммуникационный аспект• DCE, DCOM и .NET не поддерживают методы вызовов:асинхронный, отложенный синхронный, передача сообщений;• DCE кроме того не поддерживает динамических вызовов, аDCOM – свободу перемещения объектов в вычислительнойсети.2-9Эволюция объектнойтехнологииИнфраструктура:• DCE определяет намного более слабую инфраструктуру, DCOMне определяет стандарта на инфраструктуру.• .NET определяют только сервис именования UDDIПризнание и поддержка индустрией:• CORBA – наибольшая поддержка.2-105План лекции• Эволюция распределенных технологий• ПО среднего слоя2-11Эталонная модель ISO/OSIПрикладнойПредставленияОбъекты?СеансаТранспортныйСетевойСетеваяОСКанальныйФизическийАпп.
об.2-126Концептуальный разрыв• Объектная заявка: запрос на выполнениеоперации удаленного объекта• Обмен данными реализован во всех современныхсетевых ОС• Концептуальный разрыв между вызовомоперации и передачей данных• Средний слой ликвидирует концептуальныйразрыв2-13Прямое использованиесетевого протокола• Ручное отображение комплексных параметровзапросов в последовательности байтов• Ручное разрешение проблемы гетерогенностипредставления данных• Ручная идентификация компонентов с помощьюуказания доменных имен, номеров портов и т.п.• Ручная реализация процедур активациикомпонентов• Не гарантирована безопасность типов• Ручная синхронизация взаимодействия междукомпонентами• Качество сервиса не гарантировано2-147Эталонная модель ISO/OSI:ПО среднего слояПрикладнойОбъектыОбъекты?ПОсреднегослояСетеваяОССетеваяОСАпп.
об.Апп. об.ПредставленияСеансаТранспортныйСетевойКанальныйФизический2-15ПО среднего слоя• Размещается между приложениями и ОС/сетью• Делает распределение прозрачным• Решает проблемы гетерогенности:••••Аппаратного обеспеченияОперационных системСетейЯзыков программирования• Обеспечивает среду разработки и исполнения дляраспределенных систем2-168Виды ПО среднего слоя• Транзакционно-оринетированное (2PC, DTP / XA)• IBM CICS• BEA Tuxedo• Encina• Ориентированное на сообщения• IBM MQSeries• DEC MessageQueue• NCR TopEnd• Системы, основанные на RPC• ANSA• Sun ONC• OSF/DCE2-17Виды ПО среднего слоя• Объектно-ориентированное• OMG/CORBA• DCOM• Java/RMI2-189Принципы RPC• RPC – основа ПО среднего слоя• Позволяет осуществлять вызовы процедур заграницами узлов• Интерфейсы вызовов определены с помощью IDL(Interface Definition Language)• Компилятор RPC генерирует реализацию слояпредставления и сессий из IDL2-19Пример RPC IDLconst NL=64;struct Player {struct DoB {int day; int month; int year;}string name<NL>;};program PLAYERPROG {version PLAYERVERSION {void PRINT(Player)=0;int STORE(Player)=1;Player LOAD(int)=2;}= 0;} = 105040;2-2010Задачи, решаемые реализациейуровня представленияРазрешение проблемынеоднородности данныхОбщее (стандартное)представлениеданныхПередачадекларацииданныхМаршалинг и демаршалингстатическийдинамический• Преобразование между прикладным итранспортным представлением данныхназывается маршалингом и демаршалингом2-21Маршалинг и демаршалинг• Маршалинг: собирает данные в форму дляпередачиchar * marshal() {char * msg;msg=new char[4*(sizeof(int)+1) +strlen(name)+1];sprintf(msg,"%d %d %d %d %s",dob.day,dob.month,dob.year,strlen(name),name);return(msg);};2-2211Маршалинг и демаршалинг• Демаршалинг: разбирает данные в комплексныеструктурыvoid unmarshal(char * msg) {int name_len;sscanf(msg,"%d %d %d %d ",&dob.day,&dob.month,&dob.year,&name_len);name = new char[name_len+1];sscanf(msg,"%d %d %d %d %s",&dob.day,&dob.month,&dob.year,&name_len,name);};2-23Литература / Internetисточники• В.
Эммерих Конструирование распределенныхобъектов. - М.:Мир. - 2002.• М.Р. Когаловский Энциклопедия технологий базданных. - М.: ФС. - 2002.• Ю.А. Григорьев, А.Д. Плутенко. - Жизненный циклпроектирования распределенных баз данных. Благовещенск. - 1999.• Э. Таненбаум, М. Ван Стеен Распределенныесистемы. Принципы и парадигмы. – СПб.: Питер,2003. – 877 с.: ил. – (Серия «Классика computerscience»)• www.omg.org2-2412.