Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Краткий обзор сервисно – ориентированной архитектуры (SOA)





Аннотация

 

Данный документ предназначен для проведения лекционных занятий по теоретическому курсу "Основы сервисно – ориентированной архитектуры".

Требования к знаниям слушателей:

· Знание основ архитектуры построения распределенных многозвенных приложений;

По итогам обучения, слушатели должны:

· Получить представление о принципах построения приложений в SOA;

· Узнать о ключевых технологиях, применяемых в SOA;

· Иметь представление о сервисах, как основных строительных элементах SOA приложений;

· Узнать об использовании корпоративной сервисной шины ESB для интеграции Web - сервисов;

· Получить информацию о системах управления бизнес – процессами (BPMS).

· Получить основные сведения об архитектуре фронт – офисного решения Diasoft.SOA

 

Теоретический курс рассчитан на стажеров и сотрудников компании, для которых планируется работа с программными продуктами компании выполненными в SOA.

 

Программой курса предусматривается обязательное итоговое тестирование.

Продолжительность курса

· Лекции – 45 мин;

· Ответы на тесты - 15 мин.

 

 


«Основы сервисно – ориентированной архитектуры»

Теоретический курс

1. Краткий обзор сервисно – ориентированной архитектуры (SOA)..... 4

1.1. Понятие SOA................................................................................................................... 4

1.2. Предпосылки возникновения SOA........................................................................... 4

1.3. Эволюция архитектуры корпоративных IT систем............................................... 4

1.4. Анатомия SOA................................................................................................................ 5

1.5. Стандарты SOA.............................................................................................................. 6

1.6. Преимущества SOA........................................................................................................ 8

1.7. Проблемы использования SOA................................................................................. 8

1.8. Перспективы и прогнозы............................................................................................. 9

2. Инфраструктура для приложений в SOA.............................................. 9

2.1. Элементы инфраструктуры для реализации приложений в SOA.................... 9

2.2. Понятие Web – сервиса................................................................................................ 9

2.3. Схема регистрации и поиска Web – сервисов....................................................... 10

2.4. Механизм вызова Web – сервисов и конвертация данных \ протоколов с использованием ESB................................................................................................................................... 11

2.5. Использование ESB для интеграции приложений.............................................. 11

2.6. BPEL - язык описания бизнес - процессов............................................................. 12

2.7. BPMS – система управления бизнес - процессами.............................................. 14

3. Архитектура фронт - офисного решения Diasoft................................. 17

3.1. Особенности фронт – офисного решения Diasoft............................................... 17

3.2. Архитектурные слои фронт – офисного решения Diasoft................................. 18

Список источников..................................................................................... 19

Приложение 1............................................................................................... 20

 


Краткий обзор сервисно – ориентированной архитектуры (SOA)

 

Понятие SOA

 

Слайд №2

Согласно IT словарю известной консалтинговой компании Gartner - признанного авторитета в данной области, SOA – это «топология приложений, в которой бизнес – логика приложения сосредоточена в модулях (сервисах), имеющих прозрачные интерфейсы идентификации, назначения и программного доступа. Сервисы – это «черные ящики»: их внутренний дизайн не зависит от природы и назначения программы выполняющей запросы к сервисам. Поскольку в SOA данные и бизнес – логика заключены в модульных бизнес – компонентах с хорошо документированными интерфейсами, то это упрощает дизайн и обеспечивает возможность инкрементальной разработки и последующего расширения функциональности. В SOA приложение может быть интегрировано с гетерогенными, внешними унаследованными и приобретенными приложениями более просто, чем монолитное, не – SOA приложение».

Таким образом, SOA — это не продукт и даже не технология, а концепция создания и интеграции отдельных корпоративных приложений. Данная концепция ориентируется на сервисы, характеризуется распределенной архитектурой и слабо связанными интерфейсами.

 

 

Анатомия SOA

Слайды №6, 7

 

Рассмотрим логическую структуру SOA приложения. Как правило, подобное приложение на логическом уровне можно разделить на две большие части:

1. Бизнес – домен

2. IT – домен

Бизнес – домен включает в себя построение композитного корпоративного приложения и формирование бизнес-процессов из доступного набора сервисов.

IT – домен отвечает за создание сервисов, подключения существующих не – SOA приложений и т.д.

Если разделить SOA на уровни, то мы увидим следующие семь уровней:

Уровень 1: Уровень унаследованных систем. Состоит из существующих заказных приложений, называемых также унаследованными системами, например, приложения системы управления взаимосвязями с клиентами (CRM) и планирования ресурсов предприятия (ERP) и т.д. Многоуровневая архитектура SOA может помочь улучшить уже существующие системы и способствовать их интеграции с использованием сервис - ориентированных методов.

Уровень 2: Уровень корпоративных компонентов. Корпоративные компоненты несут ответственность за обеспечение функциональности и поддержание качества обслуживания (QoS) сервисов. Для реализации компонентов, управления рабочей нагрузкой, отказоустойчивостью и балансирования нагрузки данный уровень обычно использует такие технологии, основанные на использовании контейнеров, как серверы приложений.

Уровень 3: Уровень сервисов. На этом уровне находятся сервисы, выявленные бизнесом. Данный уровень выводит подмножество интерфейсов корпоративных компонентов в форму описания сервисов. Таким образом, корпоративные компоненты обеспечивают реализацию сервиса в период работы, используя функциональность, предоставленную их интерфейсами. На данном уровне интерфейсы экспортируются как описания сервиса, в котором они доступны для использования. Сервисы могут существовать отдельно или как композитный (составной) сервис.

Уровень 4: Уровень объединения (хореографии) бизнес процессов. На этом уровне определяется способы объединения сервисов, определенных на Уровне 3. Сервисы связаны в поток путем группировки (хореографии) и, следовательно, они действуют совместно как отдельное приложение. Для проектирования потоков приложения могут использоваться визуальные инструменты компоновки.

Уровень 5: Уровень презентации. SOA отделяет пользовательский интерфейс от компонентов, но без пользовательского интерфейса, как правило, обойтись нельзя. Пользовательский интерфейс позволяет вывести сервисы на уровень интерфейса приложения или презентации.

Уровень 6: Интеграция (ESB). Этот уровень допускает интеграцию сервисов путем предоставления набора таких возможностей, как интеллектуальная маршрутизация, посредничество протоколов и других механизмов преобразований, обычно описанных как ESB (Enterprise Service Bus) – корпоративная сервисная шина.

Уровень 7: Качество обслуживания (QoS). Этот уровень предоставляет возможности для мониторинга, управления и поддержки таких аспектов качества обслуживания, как обеспечение безопасности, производительности и доступности. Он является фоновым процессом, использующим механизмы запросов и ответов, и инструменты, контролирующие общее состояние приложений SOA. Сюда включены все важные стандартные реализации WS - Management и других значимых протоколов и стандартов, реализующих качество обслуживания для SOA.

 

Стандарты SOA

 

Слайды №8, 9

 

Прежде чем рассмотреть каждый из вышеперечисленных уровней более подробно, необходимо познакомиться с основными стандартами, используемыми при создании приложений в SOA.

Спецификации SOAP, WSDL и UDDI де-факто определяют стандартную инфраструктуру текущей технологии Web-сервисов. Две группы по стандартизации работают над официальными стандартами Web-сервисов – W3C и OASIS (Organization for the Advancement of Structured Information Standards).

W3C фокусируется на спецификациях инфраструктуры ядра технологии, а OASIS на высокоуровневой функциональности.

Simple Object Access Protocol (SOAP) – протокол обмена сообщениями, основанными на XML, определяет как Web - сервисы могут посылать сообщения друг другу. Это высокоуровневый протокол, который лишь определяет структуру сообщений и несколько правил по их обработке. SOAP не зависит от транспортного протокола, поэтому обмениваться SOAP - сообщениями можно через множество транспортных протоколов. В настоящее время чаще всего для передачи SOAP – сообщений в качестве транспортного протокола используется HTTP.

 

Web Services Definition Language (WSDL) – стандарт для описания Web - сервисов. Описание на WSDL содержит всю информацию необходимую для доступа и использования Web - сервиса, включая интерфейс Web сервиса. Описание на WSDL – это XML документ, содержащий набор определений, таких как типы данных, формат сообщений и т.д.

Таким образом, WSDL определяет стандартный описательный механизм для Web – сервисов, документ WSDL описывает, какую функциональность предлагает Web – сервис, как получить доступ и т.д. Документ WSDL может быть откомпилирован для создания proxy для клиентов, которые вызывают данный сервис (proxy позволяет клиенту «думать», что сервис расположен на той же машине, что и сам клиент).

 

Universal Description Discovery and Integration (UDDI) – «желтые страницы», в которых могут быть зарегистрированы Web - сервисы и их описания на WSDL. UDDI сам по себе Web - сервис и является реестром общего назначения, где могут быть зарегистрированы не только Web - сервисы.

UDDI определяет стандартный механизм обнаружения для Web – сервисов, пользователи могут запросить реестр UDDI, задавая, например, название компании, тип сервиса или другие критерии поиска. UDDI обеспечивает указание на WSDL документ, который описывает Web – сервис и точки входа к реализации сервиса.

 

Транспортные протоколы для Web-сервисов

В процессе разработки Web – сервиса, необходимо определить какие транспортные протоколы будет поддерживать Web-сервис для обмена сообщениями. В настоящее время, для транспортировки XML – сообщений чаще всего используется HTTP (основной протокол, используемый web-серверами и web – браузерами), а при реализации Web-сервисов на платформе Java может использоваться Java Messaging Service (JMS), который является частью спецификации J2EE. Web-сервис может поддерживать несколько транспортных протоколов, это обстоятельство находит свое отражение в WSDL файле сервиса.

 

Достоинства HTTP в том, что он используется повсеместно, гибкий и большинство сетевых экранов пропускают HTTP – сообщения. HTTP позволяет передавать не только WWW - документы, но и практически любые другие документы. HTTP также полезен для Web-сервисов, которые требуют синхронных двунаправленных соединений. Когда клиент вызывает метод Web-сервиса через HTTP, этот метод должен сразу же возвратить результат клиенту.

Однако у HTTP есть ряд недостатков, которые могут оказаться критичными для приложений уровня предприятия, требующих, например, асинхронного обмена сообщениями. Для того, чтобы две системы могли обмениваться сообщениями через HTTP, обе системы должны быть доступными. Если это не так, никто не гарантирует, что сообщения будут доставлены, HTTP не может обеспечить хранение не доставленных сообщений. Также HTTP не поддерживает поддержку транзакций, поэтому сложные операции не могут быть выполнены через HTTP.

 

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

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

JMS также поддерживает транзакции, что позволяет выполнять сложные операции в распределенных системах, которые при этом будут оставаться в стабильном состоянии.

Когда Web-сервис использует JMS как транспортный протокол, он работает с сообщениями через очередь JMS.

 

Форматы сообщений

Когда мы выбрали транспортный протокол для Web-сервиса, необходимо определиться с форматом собственно сообщений, которыми мы будем обмениваться. Формат сообщений описывает, как сообщение должно быть подготовлено к отправке по транспортному протоколу. Например, мы можем оформлять наши сообщения в SOAP – формате или в виде обычного XML. Независимо оттого, что мы выбрали – SOAP или XML, мы можем пересылать их через HTTP или JMS.

Web-сервис может поддерживать несколько транспортных протоколов и форматов сообщений.

 

 

Преимущества SOA

 

Слайд №10

 

Слабая связанность сервисов существенно повышает их мобильность и возможность многосторонней интеграции. Благодаря этому сервисы можно перемещать с одного сервера на другой, менять параметры связи и объединять сервисы в единое приложение не на этапе разработки, а на этапе исполнения. Это придает системе, построенной на базе SOA, особую гибкость и позволяет предприятиям осуществить давнюю мечту о многократном использовании одного и того же кода. Основная цель SOA — добиться более высокого уровня повторного использования разработок и более дешевой интеграции. Если система строится на базе Web-сервисов, то все последующие проекты смогут еще не раз воспользоваться функциями, разработанными на первом этапе. Поэтому в перспективе стоимость проектов будет снижаться. SOA позволяет также повысить эффективность процесса разработки приложений за счет применения имеющихся в продаже готовых программных компонентов.

 

У SOA есть и другие достоинства.

 

Во-первых, ее внедрение не требует полной перестройки корпоративной инфраструктуры. Предприятиям не нужно отказываться от привычных, хорошо себя зарекомендовавших приложений. Достаточно снабдить их соответствующими интерфейсами — и Web-сервисы готовы. Практическая ценность SOA для бизнеса заключается в возможности постепенного эволюционного развития корпоративной информационной инфраструктуры. Это позволяет внедрять SOA постепенно, начиная с небольших пилотных проектов.

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


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

 

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

 

Проблемы использования SOA

 

Слайд №11

 

В целом идеи SOA понятны и производителям ПО и клиентам, однако нельзя сказать, что данная технология находится в зрелом состоянии. Недостаточно проработаны стандарты, не хватает инструментов управления. Как и часто бывает в таких случаях, сложилось группировки производителей программного обеспечения, разрабатывающих свои спецификации. В результате на роль «заполнителей дыр» в SOA сейчас претендует множество различных методов, но явного лидера нет. Сближение подходов намечается в рамках организация Web Services Interoperability (www.ws-i.org), которая пытается выработать некий общий знаменатель для технологии Web-сервисов. Она выпустила документ WS-I Basic Profile, определяющий требования к различным компонентам SOA, которые могут гарантировать их совместимость и прояснить тонкости использования Web-сервисов.

 

Перспективы и прогнозы

 

Аналитики с большим оптимизмом смотрят на будущее SOA и Web-сервисов. Так, по прогнозу компании Gartner, к 2008 г. более 60% предприятий будут использовать эту архитектуру в качестве основного принципа при создании ответственных бизнес-приложений.
В IDC подсчитали, что в прошлом году предприятия потратили на поддержку Web-сервисов 1,1 млрд. долл., а в 2008 г. израсходуют 11 млрд. долларов. Компания ZapThink, занятая исследованиями в области SOA, прогнозирует, что рынок инструментов для реализации Web-сервисов вырастет со 120 млн. долл. в 2003 г. до 8,3 млрд. долл. в 2008 г. Аналитики объясняют такой подъем тем, что SOA, позволяющая снизить расходы на IT, становится главной стратегией при решении проблем интеграции разнородных систем. Отношение предприятий к SOA становится более серьезным, и они переходят от экспериментов к реальным внедрениям.

 

 

Понятие Web – сервиса

 

Слайд №13

 

Web - сервисы можно рассматривать как «plug and play» приложения. Web -сервис представляет собой часть информационной системы или бизнес-процесса, к которой можно обратиться в том числе и через Интернет с целью сборки требуемой информационной системы.

Отличие Web - сервисов от приложений других типов в том, что Web – сервисы разрабатываются для поддержки связи и взаимодействия приложений с приложениями. Другие Web приложения поддерживают коммуникации человек – человек (например, e-mail) или человек – приложение (браузеры). Технология Web – сервисов позволяет приложениям общаться с другими приложениями без участия человека.

Итак, Web – сервисы - это слабосвязанные, инкапсулированные компоненты которые выполняют определенную задачу, доступ к ним осуществляется через их интерфейсы по стандартным протоколам.

 

Основными возможностями, предоставляемыми Web-сервисами, являются:

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

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

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

· Доступ к Web –сервису можно осуществлять как через интранет, так и через Интернет.

 

На концептуальном архитектурном уровне Web-сервисы – это основанные на стандартах «обертки» для сервисов и ресурсов, которые провайдер делает доступными для потребителей.

 

Виды Web – сервисов

По формату сообщений, Web – сервисы разделяются на:

1. Web – сервисы, основанные на сообщениях SOAP.

2. Web – сервисы, основанные на технологии Representational State Transfer (REST).

3. Web – сервисы, основанные на XML-RPC.

Так как для приложений уровня предприятия требуется такие возможности как обеспечение безопасности и т.д., то, как правило, для таких целей выбирают Web-сервисы, обменивающиеся SOAP-сообщениями.

По способу обработки входящих сообщений Web - сервисы могут быть:

1. Синхронные

2. Асинхронные

 

Список источников

 

1. Об использовании BPMS - http://www.bpms.ru

2. Демонстрация BPMS - http://www.unify.ru/demo/bpm/index.html

3. Материалы исследований компании ZapThink - http://www.zapthink.com

4. Материалы о механизмах интеграции компании Intersoft Lab -

http://www.iso.ru/journal/articles/themes/17

5. Техническая библиотека компании BEA - http://dev2dev.bea.com/soa/

6. Техническая библиотека компании Sun - http://java.sun.com/webservices/index.jsp

7. Техническая библиотека компании IBM –

http://www-128.ibm.com/developerworks/ru/views/webservices/libraryview.jsp

8. mig_ssdoc\\$/ПРОИЗВОДСТВО SOA/Архитектура/Презентация платформы v2.ppt

9. mig_ssdoc\\$/ПРОИЗВОДСТВО SOA/Архитектура/Архитектура системы v2.doc

 

 

Приложение 1

Рисунок для иллюстрации архитектуры фронт – офисного решения Diasoft.

 

 

Аннотация

 

Данный документ предназначен для проведения лекционных занятий по теоретическому курсу "Основы сервисно – ориентированной архитектуры".

Требования к знаниям слушателей:

· Знание основ архитектуры построения распределенных многозвенных приложений;

По итогам обучения, слушатели должны:

· Получить представление о принципах построения приложений в SOA;

· Узнать о ключевых технологиях, применяемых в SOA;

· Иметь представление о сервисах, как основных строительных элементах SOA приложений;

· Узнать об использовании корпоративной сервисной шины ESB для интеграции Web - сервисов;

· Получить информацию о системах управления бизнес – процессами (BPMS).

· Получить основные сведения об архитектуре фронт – офисного решения Diasoft.SOA

 

Теоретический курс рассчитан на стажеров и сотрудников компании, для которых планируется работа с программными продуктами компании выполненными в SOA.

 

Программой курса предусматривается обязательное итоговое тестирование.

Продолжительность курса

· Лекции – 45 мин;

· Ответы на тесты - 15 мин.

 

 


«Основы сервисно – ориентированной архитектуры»

Теоретический курс

1. Краткий обзор сервисно – ориентированной архитектуры (SOA)..... 4

1.1. Понятие SOA................................................................................................................... 4

1.2. Предпосылки возникновения SOA........................................................................... 4

1.3. Эволюция архитектуры корпоративных IT систем............................................... 4

1.4. Анатомия SOA................................................................................................................ 5

1.5. Стандарты SOA.............................................................................................................. 6

1.6. Преимущества SOA........................................................................................................ 8

1.7. Проблемы использования SOA................................................................................. 8

1.8. Перспективы и прогнозы............................................................................................. 9

2. Инфраструктура для приложений в SOA.............................................. 9

2.1. Элементы инфраструктуры для реализации приложений в SOA.................... 9

2.2. Понятие Web – сервиса................................................................................................ 9

2.3. Схема регистрации и поиска Web – сервисов....................................................... 10

2.4. Механизм вызова Web – сервисов и конвертация данных \ протоколов с использованием ESB................................................................................................................................... 11

2.5. Использование ESB для интеграции приложений.............................................. 11

2.6. BPEL - язык описания бизнес - процессов............................................................. 12

2.7. BPMS – система управления бизнес - процессами.............................................. 14

3. Архитектура фронт - офисного решения Diasoft................................. 17

3.1. Особенности фронт – офисного решения Diasoft............................................... 17

3.2. Архитектурные слои фронт – офисного решения Diasoft................................. 18

Список источников..................................................................................... 19

Приложение 1............................................................................................... 20

 


Краткий обзор сервисно – ориентированной архитектуры (SOA)

 

Понятие SOA

 

Слайд №2

Согласно IT словарю известной консалтинговой компании Gartner - признанного авторитета в данной области, SOA – это «топология приложений, в которой бизнес – логика приложения сосредоточена в модулях (сервисах), имеющих прозрачные интерфейсы идентификации, назначения и программного доступа. Сервисы – это «черные ящики»: их внутренний дизайн не зависит от природы и назначения программы выполняющей запросы к сервисам. Поскольку в SOA данные и бизнес – логика заключены в модульных бизнес – компонентах с хорошо документированными интерфейсами, то это упрощает дизайн и обеспечивает возможность инкрементальной разработки и последующего расширения функциональности. В SOA приложение может быть интегрировано с гетерогенными, внешними унаследованными и приобретенными приложениями более просто, чем монолитное, не – SOA приложение».

Таким образом, SOA — это не продукт и даже не технология, а концепция создания и интеграции отдельных корпоративных приложений. Данная концепция ориентируется на сервисы, характеризуется распределенной архитектурой и слабо связанными интерфейсами.

 

 







Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.