Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Распределенные сервис-ориентированные системы

Покупка
Артикул: 769625.01.99
Доступ онлайн
270 ₽
В корзину
Учебное пособие предназначено для обучения дисциплине «Распределенные сервис-ориентированные системы» для студентов направления подготовки магистратуры: 09.04.01 «Информатика и вычислительная техника», направленность (профиль) программы - «Программное обеспечение вычислительных машин, систем и компьютерных сетей».
Резник, В. Г. Распределенные сервис-ориентированные системы : учебное пособие / В. Г. Резник. - Томск : Томский государственный университет систем управления и радиоэлектроники, 2020. - 305 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1845905 (дата обращения: 24.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министрество науки и высшего образования Российской Федерации

Томский государственный университет
систем управления и радиоэлектроники

В.Г. Резник

РАСПРЕДЕЛЕННЫЕ СЕРВИС
ОРИЕНТИРОВАННЫЕ СИСТЕМЫ

Учебное пособие

Томск
2020

УДК 004.75
ББК 30.2-5-05
          Р 344

Рецензенты:

Бойченко И.В., программист АО «ИнфоТеКС», кандидат техн. наук

Ефремов В.А.,  ведущий инженер ООО «КС Групп», кандидат техн. наук

Резник, Виталий Григорьевич

Р 344
Распределенные  сервис-ориентированные  системы.
 Учебное 

пособие  /  В.Г.  Резник.  –  Томск  :  Томск.  гос.  ун-т  систем  упр.  и 
радиоэлектроники, 2020. – 305 с.

Учебное пособие предназначено для обучения дисциплине «Распределенные сервис
ориентированные системы» для студентов направления подготовки магистратуры: 09.04.01 
«Информатика и вычислительная техника», направленность (профиль) программы - «Программное обеспечение вычислительных машин, систем и компьютерных сетей».

Одобрено на заседании каф. АСУ протокол №  5   от   22.04.2021  

      УДК 004.75 
      ББК 30.2-5-05 

      © Резник В. Г., 2020                       
      © Томск. гос. ун-т систем упр. и
       радиоэлектроники, 2020         
 

Введение

Данное учебное пособие содержит учебный материал предназначенный 

для студентов магистратуры по дисциплине «Распределенные сервис-ориентированные системы» (РСОС) для направления подготовки 09.04.01 «Информатика и вычислительная техника».

Предметная область изучаемой дисциплины  является составной частью 

более обширного научно-технического направления, часто обозначаемого как 
«Распределенные вычислительные системы» и изучаемого в рамках направления подготовки 09.03.01 на уровне бакалавриата. Соответственно, принятый в 
данном пособии стиль изложения предполагает, что студент уже знаком с определениями и аргументацией учебного пособия [1] и использует его в качаестве 
базовой основы изучаемой дисциплины. 

Целью изучаемой дисциплины РСОС является изучение общих архитек
турных принципов построения сервис-ориентированных систем, териториально 
распределенных по множеству вычислительных машин (ВМ) и объединенных 
как средствами компьютерных сетей, так и стандартизированными средствами 
программного обеспечения.

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

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

а) знать общие принципы построения и терминологию описания  распре
деленных  сервис-ориентированных  систем;
 теорию  и  практику 

предметной области; этапы и технологию проектирования РСОС;

б) уметь самостоятельно разрабатывать программы, реализующие элементы 

распределенных  систем;
 проводить  технологическое  описание 

распределенной  предметной  области;  использовать  инструментальные 
средства реализации элементов РСОС;

в) владеть инструментальными  средствами  языка  Java  специализирован
ными
 
на
 
создание
 
распределенных
 
сервисных
 
систем; 

инструментальными средствами создания веб-сервисов.

Общее содержание дисциплины по главам отражает следующую познава
тельную тематику:

а) Тема 1. Предметная область и терминология РСОС. 

3

б) Тема 2. Использование компоненты JSF контейнера Web. 

в) Тема 3. Современные способы доступа к данным.

г) Тема 4. Обработка документов XML и JSON.

д) Тема 5. Web-службы SOAP. 

е) Тема 6. Web-службы в стиле REST. 

Глава 1 дает краткое описание изучаемой предметной области. Ее содер
жание основано на обобщении материала, изложенного в главах 1 и 5 учебного 
пособия [1], и конкретизировано для целевой предметной области. В ней также 
раскрывается назначение и тематика последующих глав.

Глава 2, озаглавленная как «Использование компоненты JSF контейнера 

Web», посвящена демонстрации контейнерной и компонентной технологии программной платформы Java EE на примере серверной парадигмы представления 
визуальной информации.

Глава 3 раскрывает программную платформу Java EE, демонстрируя но
вые подходы работы с СУБД, отличные от классической парадигмы SQL-запросов. Такими подходами являются EJB-компоненты серверов приложений и технология JPA, обеспечивающая объектно-реляционное отображение объектовсущностей на структуру таблиц баз данных.

Глава 4 описывает инструментарий платформы Java EE для работы с ин
формацией, представленной форматами документов XML и JSON, что обеспечивает обмен сообщениями в сервис-ориентированных системах.

Глава 5 непосредственно рассматривает классическое представление сер
вис-ориентированных систем, основанных на использовании протокола SOAP и 
языка описания Web-сервисов — WSDL.

Глава 6 завершает учебный курс дисциплины, демонстрируя реализацию 

Web-служб в стиле REST.

В заключении к данному учебному пособию подводятся итоги по всему 

объему теоретического и практического материала дисциплины «Распределенные сервис-ориентированные системы». Эта часть определяет границы усвоенного студентом учебного материала и намечает пути дальнейшего изучения 
рассмотренной тематики.

4

Тема 1. Предметная область и терминология РСОС

Объектом внимания изучаемой дисциплины «Распределенные сервис-ори
ентированные системы» является особый класс искусственно созданных на 
основе вычислительной техники систем, элементы которых представляются в 
виде двух основных групп: поставщиков сервисов и потребителей сервисов. В 
последующем изложении текста мы будем использовать акроним РСОС, понимая под ним как объект или предмет изучения, так и частные теоретические 
толкования уже принятые в литературных источниках.

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

Целью изучения дисциплины РСОС является получение более глубоких 

знаний и практических навыков о современных технологиях создания сложных 
компьютерных  систем,  охватываемых  более  широкой  предметной  областью 
дисциплины «Распределенные вычислительные системы». 

В качестве результата этой цели предполагается подготовка обучающего
ся до уровня, обеспечивающего самостоятельное создание элеменов РСОС и 
возможность его успешной работы в соотвествующих коллективных проектах. 
Тем не менее, в силу достаточно большого объема и сложности изучаемой предметной области, знания о ней ограничены только технологиями реализованными на основе языка Java. Подобное ограничение имеет целью обеспечить целостность практических навыков обучающихся уже проверенными подходами, 
доказавшими свою значимость, а также сохранить преемственность учебнометодического подхода, сформированного в учебном пособии [1]. С этой же целью мы будем опираться на сформулированные ранее термины и определения, 
раскрывая и модифицируя их по мере необходимости.

Сосредоточенные  системы группируют  «классическое  направление» 

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

Детальное толкование таких систем  интерпретируется в трех основных 

аспектах:

1. ЭВМ —  согласованный  в  функциональном  назначении  аппаратный 

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

5

2. Вычислительные системы — все прикладные аспекты программного 

обеспечения,  реализованные  поверх  виртуальной  машины  ОС;  в  последующем, такие  системы также рассматриваются как элементы более 
сложных систем;

3. Вычислительные комплексы — системы аппаратных средств, ориен
тированные  на  повышение  вычислительной  мощности  и  надежности 
всего  конструктива,  а  также  —  дополненные  соотвествующей  виртуальной  машиной  ОС;  в  последующем,  такой  комплекс  также  может 
рассматривается  как  отдельная  ЭВМ  или  составляющая  часть  вычислительной системы.

Распределенные системы группируют «современное направление» раз
вития цифровых технологий, основной характеристикой которых является интеграция  сосредоточенных систем (ЭВМ, ВС) на основе сетевых техно-логий. 
Важной особенностью таких систем является их свойство несводи-мости к моделям сосредоточенных систем. Обычно, это определяется самой природой интегрируемых приложений, например, программное обеспечение клиента банка 
должно быть отделено от ПО самого банка в силу норма-тивных требований к 
проведению финансовых операций.

Распределенные вычислительные сети (РВ-сети) — распределенные 

системы, дополнительно интерпретируемые схемой рисунка 1.1.

Рисунок 1.1 — Обобщенная модель РВ-сетей

С целью более полного раскрытия терминологии и содержания предмет
6

ной области дисциплины, рассмотрим ее место в более широкой области распределенных систем, которую уточним в двух аспектах. Сначала рассмотрим 
этапы развития РВ-сетей до уровня объектных распределенных систем. Затем 
опишем становление систем с сервис-ориентированной архитектурой. Это позволит более точно обосновать структуру и последовательность изложения учебного материала данного пособия.

1.1 Этапы развития распределенных систем

Любые  получаемые  студентом  знания  отражают  прошлое,  сформули
рованное в настоящем и проецируемое на будущее. Такому же отражению подвергаются и технологии изучаемой предметной области. Например, в апреле 
1964 года корпорация IBM анонсировала семейство компьютеров класса майнфреймов,  обозначив  это  семейство как  IBM  System/360  и  объявив  его  как 
«компьютеры третьего поколения».  Это событие стимулировало формирование знаний об эволюции средств автоматизации вычислений, что нашло отражение в ряде международных стандартов и ГОСТ как последовательность поколений вычислительных машин (ВМ): начиная с нулевого поколения и заканчивая 
— шестым. Учебник [2] отражает это событие в виде «…

Вычислительная машина (ВМ) — совокупность технических средств, 

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

Поколение вычислительных машин — это классификационная группа 

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

В настоящее время знание характеристик каждого поколения ВМ явля
ется обязательным для специалистов научного направления «Информатика и 
вычислительная техника», тем не менее, как отмечено в том же учебнике [2]: «... 
Пятое и шестое поколения в эволюции ВТ — это отражение нового качества, 
возникающего в результате последовательного накопления частных достижений, главным образом в архитектуре вычислительных систем и, в меньшей 
мере, в сфере технологий ...».

Последнее замечание показывает нам, что шестое поколение ВМ, обозна
ченное как «1990 — и далее», исчерпало себя как текущая парадигма прогресса 
и полностью уступила место новым идеям, основанным на развитии сетевых 
технологий и систем. В концептуальном плане это привело к выделению новой 
и самостоятельной группы систем «Распределенные системы», что стало про
7

тивоставляться «старой» группе, именуемой как «Сосредоточенные системы». 
Этот аспект разделения и рассмотрим в следующих пунктах.

1.1.1 Классификация систем обработки данных

В период пятого поколения ВМ (1984 — 1990 годы) интенсивно стали 

распространяться персональные компьютеры на базе микропроцессорной техники.  Кроме  широкого  распространения  ОС  UNIX  появляются:  Mac  OS 
(Macintosh Operating System, 1984 год), MS Windows (1985 год), Minix (UNIXподобная микроядерная ОС, 1987 год). Появляется возможность обучения системным исследованиям с использованием языков программирования, появившихся в период четвертого поколения эволюции ВТ, например, таких как С. В 
образовательной среде вузов начинает закрепляться понятие «Системы обработки данных» или СОД, показанное на рисунке 1.2.

Рисунок 1.2 — Структура классификации СОД (Ларионов А.М., [3])

Здесь хорошо видно разделение  на сосредоточенные и распределенные 

системы, причем предполагается, что все указанные элементы классификации 
дополняются системным программным обеспечением (ОС), а вычислительные 
сети  характеризуются следующим образом [3, стр. 8-9]: «... Вычислительные 
сети. С ростом масштабов применения электронной вычислительной техники в 

8

научных исследованиях, проектно-конструкторских работах, управлении производством  и  транспортом  и  прочих  областях  стала  очевидна  необходимость 
объединения  СОД,  обслуживающих  отдельные  предприятия  и  коллективы. 
Объединение разрозненных СОД обеспечивает доступ к данным и процедурам 
их  обработки  для  всех  пользователей,  связанных  общей  сферой  деятельности ...».

К существенным недостаткам классификации Ларионова следует отнести 

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

1.1.2 Распределенные вычислительные сети

Достаточно подробная критика классификации Ларионова приведена в 

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

а) разделенными вычислительными ресурсами;

б) поставщиками ресурсов;

в) потребителями ресурсов;

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

В условиях выделенных характеристик был обоснован и использован тер
мин «Распределенные вычислительные сети» (РВ-сети), который конкретизирует предметную область распределенных систем, предполагая интерпретацию:

1. Вычислительные  системы —  элемент  разделенных  вычислительных 

ресурсов, имеющий конкретный собственный сетевой адрес;

2. Поставщики ресурсов и  Потребители ресурсов — являются конкрет
ными характеристиками прикладной части распределенных систем;

3. Среды взаимодействия — характеристики служебных частей распре
деленных систем.

В классическом варианте РВ-сети начинали развиваться на основе про
стейшей модели «Клиент-сервер», основанной на методе «Удаленный вызов 
процедур» и схематично показанной на рисунке 1.3.

Удаленный  вызов  процедур (Remote Procedure Call,  RPC)  — техно
логия, позволяющая программам одной ВМ вызывать функции или процедуры 
на другой ВМ. Характерной чертой RPC является работа в разных адресных 
пространствах, как правило, на  разных ВМ. Для согласования адресных пространств необходимо создавать программые заглушки как на стороне клиента, 

9

так и на стороне сервера:

1) Client stub — программная заглушка на стороне клинета;
2) Server stub — программная заглушка на стороне сервера.

Рисунок 1.3 — Классическая модель взаимодействия «Клиент-сервер»

В начале 90-х годов ряд компаний стала развивать идею распределенных 

вычислительных сред (Distributed Computing Environment,  DCE), которые на 
основе методов RPC должны были включать в себя:

а) удаленный вызов процедур DCE/RPC;
б) службу каталогов;
в) службу связанную со временем;
г) службу проверки подлинности;
д) файловую систему DCE/DFS.

Подобную  идею  развивал  и  Эндрю  Таннебаум,  создавая  Distributed 

Operating Systems (Распределенные Операционные Системы), о чем можно 
прочитать в его работе [4].

Существенным недостатком классической модели «Клиент-сервер», основанной на методе 
RPC, является необходимость учитывать все детали использования сетевых протоколов 
транспортного уровня. Это существенно ограничивает масштаб реализаций прикладных 
систем, делая их сложными и ненадежными.

1.1.3 Объектные распределенные системы

В 1984 году была подготовлена первая версия стандарта Open Systems 

Interconnection (OSI) — Basic Reference Model: The Basic Model, которая зафиксировала открытую семиуровневую  архитектуру протоколов для взаимосвязи 
приложений в сети.

В  1989  году  была  организована  Object  Management  Group (OMG)  – 

рабочая группа, включающая компании Hewlett Packard, Sun Microsystems и 
Canon,  которые  стали  продвигать объектно-ориентированные  технологии  и 
стандарты.

10

Клиент
Сервер

Сеть

Stub
Stub
RPC

Доступ онлайн
270 ₽
В корзину