ebook img

Современные средства проектирования информационных систем. SOA-архитектуры : пособие PDF

64 Pages·02.434 MB·Russian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Современные средства проектирования информационных систем. SOA-архитектуры : пособие

Министерство образования Республики Беларусь Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники» Факультет компьютерных систем и сетей Кафедра информатики Р И И. И. Пилецкий, В. Н. Козуб У Г Б СОВРЕМЕННЫЕ СРЕДСТВА ПРОЕКТИРОВАНИЯ а ИНФОРМАЦИОННЫХ СИСТЕМ. SOA-АРХИТЕКТУРЫ к е Рекомендовано УМО по образованию в области информатики т и радиоэлектроники в качестве пособия для специальности о 1-40 01 03 «Информатика и технологии программирования» и л б и Б Минск БГУИР 2017 УДК 004.415.23(076) ББК 32.971.32-02я73 П32 Рецензенты: кафедра многопроцессорных систем и сетей факультета прикладной математики и информатики Белорусского государственного университета Р (протокол №3 от 31.10.2016); И заведующий лабораторией информационного обеспечения научных исследований государственного научного учреждения «УОбъединенный институт проблем информатики Национальной академии наук Беларуси», Г кандидат технических наук, доцент Р. Б. Григянец Б а к е т о и л Пилецкий, И. И. б П32 Современные средства проектирования информационных систем. SOA-архитектуры : пособие / И. И. Пилецкий, В. Н. Козуб. – Минск : и БГУИР, 2017. – 64 с. : ил. Б ISBN 978-985-543-319-5. УДК 004.415.23(076) ББК 32.971.32-02я73 ISBN 978-985-543-319-5 © Пилецкий И. И., Козуб В. Н., 2017 © УО «Белорусский государственный университет информатики и радиоэлектроники», 2017 Содержание 1. Сервис-ориентированная архитектура ................................................... 4 1.1. Движущие силы SOA .......................................................................... 4 1.2. Основные принципы SOA .................................................................. 6 1.3. Преимущества SOA ............................................................................ 8 1.4. Определение SOA ............................................................................... 8 1.5. Понятие службы .................................................................................. 9 1.6. Фундамент SOA (IBM SOA Foundation) ......................................... 10 Р 2. Web-сервисы ............................................................................................ 13 2.1. Распределенная система ................................................................... 13 И 2.2. Понятие web-сервиса ........................................................................ 13 2.3. Основные технологии web-сервисов ..........................У..................... 16 2.4. Использование web-сервисов ........................................................... 16 Г 2.5. Язык XML .......................................................................................... 18 2.6. Simple Object Access Protocol ......................Б..................................... 19 2.7. Web Service Definition Language ...................................................... 22 2.8. Отправка сообщений ......................................................................... 25 а 2.9. Universal Description, Discovery and Integration .............................. 25 к 2.10. Web-сервисы и SOA ........................................................................ 26 е 2.11. Свойства web-сервисов ................................................................... 26 3. Сервисная шина ESB ........т...................................................................... 28 3.1. Что такое «сервисная шина предприятия» ..................................... 28 о 3.2. Вызов сервисов .................................................................................. 30 и 3.3. Синхронный и асинхронный вызовы сервисов ............................. 31 3.4. Другие сволйства ESB ........................................................................ 38 4. Архитектура сервисных компонентов .................................................. 44 б 4.1. Основные понятия SCA .................................................................... 44 и 4.2. Посреднические функции, потребители и поставщики служб .... 45 4.3. Элементы SCA ................................................................................... 46 Б 4.4. Посреднические модули ................................................................... 48 4.5. Компоненты посреднических потоков ........................................... 49 4.6. Сервисные объекты-данные ............................................................. 49 4.7. Пример SDO ....................................................................................... 51 4.8. Структура документа WSDL ............................................................ 53 4.9. Пример разработки на ESB-шине .................................................... 54 Приложение ................................................................................................. 57 Перечень принятых терминов ................................................................... 61 Список использованных источников ...................................................... 613 3 1. СЕРВИС-ОРИЕНТИРОВАННАЯ АРХИТЕКТУРА 1.1. Движущие силы SOA «Ненадежные, негибкие системы». «Дорогостоящее в обслуживании про- граммное обеспечение». Часто можно услышать такие фразы об ИТ. «Прихо- дится иметь дело с системами, будто отлитыми из бетона». «Можно подумать, что приложения разрабатывались в расчете на то, что ничто и никогда не изме- нится». Автоматизация внесения изменений в системы почти отсутствует, по- Р скольку для этого требуется вмешательство человека и перепрограммирование со стороны отделов ИТ, а сама подгонка технологии под бизнес-цИели увязает в проблемах интеграции. У В повседневной практике термин «сервис» означает, что одна сторона предоставляет нечто, запрашиваемое другой стороной согласно условиям кон- Г тракта. Если обслуживание стоит слишком дорого или не соответствует требо- Б ваниям компании, то она может обратиться к другому поставщику того же са- мого сервиса. Парадигма сервисов включает в себя и систему взаимоотношений в процессе совместного оказания услуг, когдаа несколько партнеров объединяют свои усилия для удовлетворения насущных нужд клиентов. к Руководители бизнес-подразделений требуют от поставщиков приложе- е ний, чтобы они лучше обеспечивали поддержку динамических взаимоотноше- т ний сервисов. Бизнес-менеджеры хотят определять сервисы, а затем в сотруд- ничестве с внутренними илио внешними ИТ-провайдерами развертывать их со- гласно условиям, прописанным в соглашении SLA (Service-Level Agreement). и Наиболее продвинутые из них мечтают о том, чтобы самим определять процес- л сы и сервисы, причем делать это непринужденно, изменяя их или вводя в дей- ствие одним щеблчком мыши. Но пока это действительно лишь мечты, посколь- ку каждый, кто ясно представляет себе реальное положение дел, знает о том, и сколько сил уходит даже на простую интеграцию процессов или согласование форматБов данных с поставщиками и партнерами. Ответом ИТ-отрасли на все эти вызовы времени стала сервис- ориентированная архитектура (SOA). Быстро развивающиеся стандарты XML- и web-сервисов революционным образом меняют то, как разработчики компо- нуют свои системы и интегрируют их в распределенные сети. Программистам больше не нужно иметь дело с жесткими фирменными языками и объектными моделями, царившими в эпоху архитектур CORBA и DCOM (Common Object Request Broker Architecture и Distributed Component Object Model). С появлени- ем SOA в среду разработки приходит новый подход, характерный для распре- деленной обработки данных на базе web. Распространение архитектуры SOA 4 приведет к революционным изменениям средств BPM, EAI и связующего ПО на базе обмена сообщениями. Основные проблемы ИТ: − размножение систем ведет к беспрецедентной сложности; − паутина технологий и поставщиков; − 50 % бюджета направлено на сопровождение (Back Office); − несоизмеримость затрат со значением для бизнеса; − длительный возврат инвестиций; Р − не достигаются требования бизнеса; − запаздывание с внедрением новых услуг. И Сервис-ориентированная архитектура представляет собой стиль создания У архитектуры ИТ, направленный на превращение бизнеса в ряд связанных сер- висов – стандартных бизнес-задач, которые можно при Гнеобходимости вызы- вать через сеть. Б Это может быть Интернет, локальная сеть или географически распреде- ленная сеть, объединяющая различные техноло гии и сочетающая сервисы из а Нью-Йорка, Лондона и Гонконга так, как если бы они были установлены на ло- кальной машине. Для выполнения определенной бизнес-задачи можно будет к объединять множество таких сервисов. Это позволит компании быстро адапти- е роваться под изменение условий и требований рынка. т Основные преимущества SOA приведены в табл. 1.1. о Таблица 1.1 и Преимущества SOA л Преимущества Вместе с SOA Без SOA 1 б 2 3 SOA повышает способ- ИТ-инфраструктура бо- ИТ-инфраструктура не- и ность бизнеса реагиро- лее гибкая и быстрее ре- способна быстро реаги- Б вать на потребности агирует на потребности ровать на изменение рынка благодаря более бизнеса рынка, запросы клиен- гибкой инфраструктуре тов, партнеров и конку- рентов SOA позволяет бизнесу Сервисы являются кир- ИТ-инфраструктура со- расти благодаря созда- пичиками для ИТ- стоит из инфраструк- нию ИТ-сервисов в со- инфраструктуры турных компонентов ответствии с бизнес- процессами 5 Окончание табл. 1.1 1 2 3 SOA помогает бизнесу Интеграция возможна Интеграция возможна снижать расходы благо- «сцеплением» модулей «жесткой» сцепкой даря простой интегра- ции SOA помогает бизнесу Новые услуги могут Приложения должны снижать расходы благо- быть легко добавлены быть полностью заме- Р даря повторному ис- благодаря повторному нены пользованию активов использованию активов И SOA снижает бизнес- Простота и гибкость Сложность и негибкость риски, предлагая другое уменьшают риски повышУают риски качество, простоту и Г управляемость Б Основные движущие факторы внедрения SOA приведены на рис. 1.1. а к е т о и л б Рис. 1.1. Основные движущие факторы внедрения SOA и 1.2. Основные принципы SOA Б Популярность и широкое распространение при разработке информацион- ных систем SOA-архитектура получила благодаря своим основным принципам: 1. Открытость исходного кода дает возможность компаниям, внедрившим у себя систему c SOA-архитектурой, обслуживать себя самим, участвовать в разработке новой функциональности и сообщать поставщику программного обеспечения о необходимости доработки SOA-платформы с целью ее дальней- шего развития. Этот принцип позволяет компании сохранить важное для бизне- са программное обеспечение, даже когда поставщик программного продукта прекратит его техническую поддержку. 6 2. Стандартизация производственных задач в системе управления в виде сервисов. SOA-система ориентирована на предоставление сервисов. SOA поз- воляет выстраивать логику процесса в системе управления отдельно от логики определенной производственной задачи (бизнес-логики), исполнение которой разрабатывается в виде стандартизованного сервиса. Весь процесс представляет собой объединение производственных задач. Так, например, процесс приемки товара на склад является объединением таких производственных задач, как сортировка прихода, идентификация товара, маркировка, палеттизация, печать Р актов приемки. Работу сервиса в системе управления можно разделить на три этапа: по- И лучение данных на входе, обработка информации и формирование результата на выходе. Сформированные данные на выходе сервиса перУедаются на вход следующего сервиса или выводятся в том или ином виде пользователю системы Г (на монитор или в виде печатных отчетов). Сервис должен быть слабосвязан- ным и автономным. Б 3. Принцип повторного использования. SOA-архитектура предоставляет возможность комбинирования и многократного использования стандартизован- а ных производственных задач системы (сервисов). Например, такие операции, к как обработка серийных номеров при приемке товара, учет партии, алгоритмы е перемещения, пополнения и отбора товара могут быть стандартизированы в си- стеме управления в виде сервисовт и многократно использоваться для построе- ния процессов в системе управления складом. о 4. Гибкость при разработке и внесении изменений в систему управления и позволяет запустить новые процессы или модифицировать существующие, со- храняя основные процлессы неизменными. Например, если необходимо доба- вить в процесс приемки задачу учета серийных номеров, бизнес-логика задачи б реализуется в системе управления в виде сервиса (подпроцесса), и затем сервис и добавляется в процесс. 5. SOA основана на принципе слабосвязанности, который ведет к умень- Б шению числа взаимозависимостей компонентов в процессах системы. Если в системе управления процессы имеют наименьшее количество связей, это упро- щает процесс разработки новой функциональности и изменения процессов. Однако при внедрении SOA-системы необходимо помнить, что эти пре- имущества обеспечивает не сама архитектура, а ее правильное использование. 7 1.3. Преимущества SOA Создание сервис-ориентированной архитектуры может помочь подгото- вить как ИТ, так и бизнес-процессы к быстрым изменениям. Даже на ранних стадиях внедрения SOA организация получит преимущества за счет: − роста доходов из-за создания новых рыночных возможностей и полу- чения новых преимуществ от существующих систем; − предоставления гибкой бизнес-модели, позволяющей быстрее реагиро- Р вать на вызовы рынка; − снижения стоимости в связи с устранением дублирующих систем, И наращиванием возможностей уже имеющихся систем и сокращением времени до выхода на рынок; У − снижения рисков и количества дефектов благодаря повышению Г наглядности бизнес-операций. Подход, основанный на SOA, позволяет сокраБтить разрыв между тем, что вы хотите от бизнеса, и инфраструктурными инструментами, которые для этого нужны: а − сокращает время на разработку и размещение благодаря использова- к нию уже созданных сервисов, пригодных для повторного использова- е ния, в качестве строительных блоков; − позволяет интегрироватть в масштабах предприятия даже те системы, которые всегда были изолированы, и облегчает поглощение и приобре- о тение предприятий; и − сокращает время цикла и стоимость за счет перехода от ручных к авто- матизированлным транзакциям; − облегчает взаимодействие с бизнес-партнерами благодаря повышению б гибкости; и − предлагает адаптируемые и масштабируемые решения сложных про- Бблем бизнеса, основанные на передовом опыте, таком как разделение приложения на слои и слабосвязанные компоненты. 1.4. Определение SOA Сервис-ориентированная архитектура – это подход к созданию интегра- ционных архитектур, основанный на такой концепции, как «служба» (service). Приложения взаимодействуют, вызывая службы, входящие в состав дру- гих приложений, и эти службы могут объединяться в более крупные последова- тельности, реализуя бизнес-процессы. 8 SOA – это подход к интеграционной архитектуре, основанный на концеп- ции служб. Бизнес-функции и инфраструктурные функции, которые необходимы для построения распределенных систем, реализуются в форме служб, которые, в сочетании или по отдельности, предоставляют прикладную функциональность либо приложениям, работающим с конечным пользователем, либо другим службам. SOA определяет, что внутри любой архитектуры должен быть единый Р механизм взаимодействия служб. Этот механизм должен строиться на основе свободных связей и должен поддерживать использование формальных интер- И фейсов. Википедия определяет SOA как модульный подход кУ разработке про- граммного обеспечения, основанный на использовании распределенных, слабо Г связанных (loose coupling), заменяемых компонентов, оснащенных стандарти- зированными интерфейсами для взаимодействия по сБтандартизированным про- токолам. Программные комплексы, разработанные в соответствии с сервис- а ориентированной архитектурой, обычно реализуются как набор web-служб, к взаимодействующих по протоколу SOAP, но существуют и другие реализации е (например, CORBA на основе REST). В сети Интернет вызов удалтенной процедуры может представлять собой обычный HTTP-запрос («GET» или «POST»; такой запрос называют «REST- о запрос»), а необходимые данные передаются в качестве параметров запроса. и Интерфейсы компонентов в сервис-ориентированной архитектуре инкап- сулируют детали реаллизации (операционную систему, платформу, язык про- граммирования) от остальных компонентов, таким образом обеспечивая ком- б бинирование и многократное использование компонентов для построения и сложных распределенных программных комплексов, обеспечивая независи- мость от используемых платформ и инструментов разработки, способствуя Б масштабируемости и управляемости создаваемых систем. 1.5. Понятие службы Поскольку мы определили SOA как подход к созданию интеграционных архитектур, основанных на службах, важно определить, что же представляет собой служба в данном контексте, чтобы можно было полностью описать SOA и понять, чего можно добиться с ее помощью. На рис. 1.2 приведена схема связи служб с бизнес-задачами, или функци- ями. 9 Р И У Г Б а к е Рис. 1.2. Связь служб с бизнес-задачами, или функциями т Службой можно назваоть любую дискретную функцию, которая может быть предложена внешнему потребителю. Это может быть отдельная бизнес- и функция или набор функций, которые формируют процесс. л Общепринятыми являются положения, согласно которым службы: − включаюбт в себя многократно используемые бизнес-функции; − определены с использованием формальных, не зависящих от реализа- и ции, интерфейсов; − Бвызываются при помощи протоколов связи, обеспечивающих прозрач- ность местонахождения и возможность взаимодействия. 1.6. Фундамент SOA (IBM SOA Foundation) Фундамент SOA – это интегрированный открытый набор программного обеспечения, лучшие методы и шаблоны, которые предоставляют вам все, что необходимо для того, чтобы приступить к созданию SOA. Фундамент SOA обеспечивает полную поддержку жизненного цикла SOA с помощью интегрированного набора инструментов и компонентов времени 10

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.