Service Oriented Architecture

Автор: Пользователь скрыл имя, 12 Января 2011 в 15:58, доклад

Описание работы

Service Oriented Architecture (SOA) - технология разработки распределенных систем, функциональность которых обеспечивается с помощью сервисов (служб). Службы взаимодействуют между собой посредством сообщений и реализуют бизнес-функции и правила, описанные их контрактом (интерфейсом). W3C определяет SOA как

Работа содержит 1 файл

Реферат тат.docx

— 217.60 Кб (Скачать)

     Объекты потока управления

     Объекты потока управления разделяются на три  основных типа: события (events), действия (activities) и логические операторы (gateways).

     События изображаются окружностью и означают какое-либо происшествие в мире. События инициируют действия или являются их результатами. Согласно расположению в процессе события могут быть классифицированы на начальные (start), промежуточные (intermediate) и завершающие (end). Начиная с BPMN 1.1 различают события обработки и генерации.

     Действия изображаются прямоугольниками со скругленными углами. Среди действий различают задания и подпроцессы. Графическое изображение свёрнутого подпроцесса снабжено знаком плюс у нижней границы прямоугольника.

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

Соединяющие объекты

     Объекты потока управления связаны друг с  другом соединяющими объектами. Существует три вида соединяющих объектов: потоки управления, потоки сообщений и ассоциации.

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

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

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

Роли

     Роли — визуальный механизм организации различных действий в категории со сходной функциональностью. Существует два типа ролей:

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

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

Артефакты

     Артефакты позволяют разработчикам отображать дополнительную информацию в диаграмме. Это делает диаграмму более читабельной  и насыщенной информацией. Существуют три предопределённых вида артефактов:

     Данные показывают читателю какие данные необходимы действиям для выполнения и какие данные действия производят.

     Группа изображается прямоугольником с закругленными углами, граница которого — штриховая линия. Она позволяет объединять различные действия, но не влияет на поток управления в диаграмме.

     Текстовые аннотации используются для уточнения значения элементов диаграммы и повышения её информативности.

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

 

     BPEL (англ. Business Process Execution Language) — язык на основе XML для формального описания бизнес-процессов и протоколов их взаимодействия между собой.

     BPEL - это язык описания бизнес  процессов, который был создан  с целью облегчить интеграцию корпоративных приложений. Его прототипом послужили языки, разрабатываемые для этой цели более 10 лет компаниями Microsoft (язык XLANG) и IBM (WSFL, FDML). Сильной стороной BPEL является то, что он является специализированным, "интеграционным диалектом" XML, т.е. имеет все преимущества XML, например, такие как простота синтаксиса и кроссплатформенность. В языке BPEL описание бизнес-процесса - это XML файл, в котором взаимодействующие в рамках одного бизнес-процесса сервисы представлены в виде партнеров, обменивающихся сообщениями. Важно отметить, что такие необходимые для построения реально работающих бизнес-процессов вещи, как транзакционность, асинхронные вызовы, обработка ошибок - поддерживаются синтаксисом BPEL. Кроме того, предусмотрена вложенность бизнес-процессов, когда несколько описанных в терминах BPEL бизнес-процессов могут выступать "строительными блоками" более общего бизнес-процесса, также описанного на BPEL.

     BPEL - это еще и стандарт, развитием  которого занимается OASIS BPEL Technical Committee. Активными участниками этого комитета являются BEA Systems, IBM, Microsoft, Oracle, SAP, Sun Microsystems и ряд других ведущих производителей программного обеспечения.

     BPEL определяет поведение бизнес-процессов,  базирующихся на Web-сервисах. BPEL реализует  функциональность экспорта и  импорта, используя исключительно  интерфейсы Web-сервисов. BPEL вписывается  в архитектуру основных Web-сервисов, построенную поверх UDDI, WSDL, XML и XML Schema.

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

     Идея web-сервисов максимально проста. Под  сервисами вообще понимается функция  приложения, представленная в виде компоненты, которая может использоваться для построения бизнес-процесса. Сервис либо возвращает какую-либо информацию по запросу, либо меняет состояние приложения, например, заносит информацию в базу данных. В случае же web-сервисов дополнительно  предполагается, что этот компонент  имеет программный интерфейс, описанный  на WSDL (WSDL - Web Service Definition Language).

     BPEL является одним из средств  реализации сервисно -ориентированного подхода к созданию приложений (SOA - Service Oriented Architecture) - новой концепции создания информационных систем, полностью основанной на открытых стандартах и протоколах.

     Идеологию SOA проще всего представить в  виде трехуровневой пирамиды, которая  демонстрирует связь таких фундаментальных  концепций SOA, как web-сервис, ESB и BPEL. В  основе пирамиды SOA - web-сервисы, реализующие  компоненты бизнес функциональности. Компоненты взаимодействуют на уровне обмена данными и сообщениями  при помощи ESB (Enterprise Service Bus) - "общей  шины" предприятия, в рамках которой  реализуется асинхронный обмен  сообщениями, преобразование данных (XML и другие форматы) и интеллектуальная маршрутизация (content-based routing) . Для описания бизнес-процессов и интеграции приложений внутри ESB используется язык BPEL.

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

Asynchrony (Асинхронность) Поддержка асинхронности необходима для разрешения Web-сервисов в сценариях интеграции и является обязательной для оптимального использования рабочего времени. За счет разделения запросов на обслуживание и соответствующих им откликов асинхронность повышает масштабируемость и помогает избежать узких мест при выполнении приложения.

Flow coordination. (Координация потоков) Координация потоков включает параллельный поток выполнения, образцы соединений и динамические потоки. В реальных приложениях бизнес-потоки могли бы включать образцы сложных взаимодействий, и с синхронными, и с асинхронными сервисами.

BPEL includes basic and structured activities. (В BPEL включены основные и структурированные действия). Основные действия состоят из индивидуальных шагов для взаимодействия с сервисом, манипулирования обмениваемыми данными или обработки исключительных состояний, с которыми сталкиваются в течение выполнения. Структурированные действия определяют последовательность выполнения и описывают создание процесса, транслируя выполняемые ими действия в структуры; в состав этих структур включены поток данных, шаблоны управления, обработка внешних событий, обработка ошибок и координация сообщений.

Exception management. (Управление исключительными ситуациями). Управление исключительными ситуациями имеет дело с синхронными ошибками, асинхронным управлением исключительными ситуациями и компенсацией бизнес-транзакций. BPEL упрощает управление исключительными ситуациями для Web-сервисов. При возникновении исключительных ситуаций вызываются локальные обработчики ошибки, связанные с Web-сервисами, и асинхронные сервисы уведомляются об этих исключительных ситуациях.

     Главными  преимуществами BPEL являются:

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

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

     WSDL (англ. Web Services Description Language) — язык описания веб-сервисов, основанный на языке XML.

     Язык  описания веб-сервисов (Web Services Description Language, WSDL) - это формат XML-схем, определяющий расширенную структуру описания интерфейсов веб-сервисов. WSDL первоначально был разработан компаниями Microsoft и IBM. А затем его поддержали консорциум W3C и 25 компаний. WSDL - это сердце структуры веб-сервиса. Это общий способ представления передаваемых в сообщениях типов данных, указывающий действия, которые должны быть выполнены с данным сообщением и согласно которому сообщения привязываются к сетевым транспортам.

     WSDL - это XML-формат, описывающий состав  веб-сервиса. WSDL предназначен для  использования как в процедурно-ориентированных, так и в документно-ориентированных приложениях. Так же как и другие XML-технологии, WSDL является расширяемым языком и имеет такое количество параметров, что обеспечение совместимости при организации взаимодействия между различными реализациями может вызвать сложности. Полное взаимопонимание возможно лишь в том случае, если отправитель и получатель сообщения могут совместно использовать и одинаково интерпретировать один и тот же WSDL-файл.

     WSDL в соответствии с уровнем абстрагирования  состоит из трех элементов. WSDL можно разделить на три основные  составляющие:

     ·  определение типов данных;

     ·  абстрактные операции;

     ·  связывание сервисов.

     Каждая  составляющая может быть указана  в различных XML-документах и импортирована  в виде различных комбинаций, что  позволяет создавать окончательное  описание веб-сервиса. Кроме того, все составляющие могут быть представлены и в одном XML-документе. "Определение типов данных" задает структуру и содержание сообщений. "Абстрактные операции" определяют операции, которые должны быть выполнены с содержанием сообщения, а "связывание сервисов" подразумевает сетевой транспорт, который доставит сообщение по месту назначения.

     Типы  данных веб-сервисов основаны на XML-схемах, но могут быть распространены на любые другие механизмы. WSDL-описания типов данных базируются на XML-схемах, но здесь годятся для использования и другие эквивалентные или аналогичные системы определения типов данных. Например, вместо типов данных XML-схемы может применяться язык описания интерфейса (Interface Definition Language, IDL) CORBA. (Если используется иная модель определения типов, ее должны "понимать" обе стороны.)

Информация о работе Service Oriented Architecture