SOA Strategy and Architecture
Upcoming SlideShare
Loading in...5
×
 

SOA Strategy and Architecture

on

  • 754 views

SOA Strategy and Architecture

SOA Strategy and Architecture

Statistics

Views

Total Views
754
Views on SlideShare
754
Embed Views
0

Actions

Likes
1
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

SOA Strategy and Architecture SOA Strategy and Architecture Presentation Transcript

  • SOA, BPEL, JBI: Стратегия и АрхитектураДмитрий Ширяевhttp://developers.sun.comДиректорSun Microsystems, Inc. 1
  • Путеводитель по галактике SOA 3. BPMN Вы здесь 2. BPEL 4. JBI 1. Введение 5. Ответ на все вопросы 6. Demo 2
  • Что такое SOA?• Метод проектирования распределенных программных систем• Не зависит от технологии• Философия SOA – слабая связанность (loose coupling)• Не путайте Web-сервисы и SOA > Web-сервисы могут быть использованы для создания SOA > Tак же могут быть использованы CORBA, RMI, DCOM... > Различие – в акценте на слабую связанность• Для большинства людей Web-сервисы – единственное проявление SOA 3 View slide
  • Определение SOA• Сервисно-ориентированная архитектура (SOA) – это интегрированный подход к инфрастуктуре и проектированию программного обеспечения, использующий Web стандарты, для предоставления бизнес функций как сервисов• Лучшая реализация SOA архитектуры – использование web-сервисов в качестве middleware технологии 4 View slide
  • Преимущества SOA• Гибкие Информационные Технологии > Легко приспосабливаемые для изменяющихся потребностей бизнеса• Быстрый вывод продукта на рынок > Повторное использование существуещего кода, сведение к минимуму новой разработки• Управляемая бизнесом и процессами > Новые возможности в бизнесе• Лучший возврат инвестиций (ROI) > Использование существующих активов ИТ 5
  • ая Проблемы интеграции С лучай н а р ар х и т ект у Каналы • Негибкость ВнутренниеПартнеры Заказчики пользователи Поставщики инфраструктуры ИТ • Сложность проектов интеграции $ $ $ • Затраты на $ $$ $ $ интеграцию $ $ $ $ • Время вывода продукта на рынок $ • Ограниченная гибкость $ партнерства $ • Ограниченность EDI $ $ Inventory (электронный обмен Legacy CRM Billing Provisioning данными) Информационные активы 6
  • Уровни SOA Уровень доступа (Access Layer) Уровень процессов (Process Layer) Уровень сервиса (Service Layer) Уровень ресурсов (Resource Layer) 7
  • Переход к SOA Не интегрированная Интегрированная и разделяемая 8
  • Новый подход• SOA – это совместные усилия ИТ и бизнеса ние SOA Опр уров еделе ле са тав рви ня п ние дос се ре ня роц ессоП в в уро ИТ Бизнес 9
  • Сценарий до эпохи SOA Кредитная карта Ипотека Проверка Распознование Проверка Проверка Проверка Вычисление баланса обмана кредито- кредито- баланса процентов способности способности Данные Back- Данные Данные Back- Данныезаказчика End кредитоспособности кредитоспособности End заказчика System партнера партнера System 10
  • Сценарий с использованием SOA Кредит на Оплата Паевые машину счетов Акции фонды Кредитная Ипотека карта Повторно используемые сервисы Сервис Проверка Распознование Сервис Вычисление Проверка Сервис управления кредито- обмана доступа процентов баланса данных Трейдер-Сервис платежами способности заказчикаInternet Кредитные данные Back-End System Back-End System Данные закачика партера 11
  • Основные правила архитектурыSOAКрупномодульные Документо- сервисы ориентированные Ассинхроные Диалоговые Надежные Конфеденциальность/ Использование Регистрация и поиск Идентификация политик Описываемые WSDL Оркестрируемые с Основанные на JBI помощью BPEL 12
  • Основные правила архитектурыSOA Крупномодульные сервисы Основанные на XML Асинхронные Диалоговые 13
  • Основные правила архитектуры ктSOA е Асп ства кач е Конфеденциальность/ Надежные Идентификация Использование политик Регистрация и поиск 14
  • Основные правила архитектуры ектSOA Асп ртов танд а с Описываемые WSDL Оркестрируемые с помощью BPEL Основанные на JBI 15
  • Путеводитель по галактике SOA Вы здесь 3. BPMN 2. BPEL 4. JBI 1. Введение 5. Ответ на все вопросы 6. Demo 16
  • Необходимость бизнес процессов• Недостаточно разрабатывать web-сервисы и предоставлять функциональность• Так же необходимо оркестрировать эти функции в правильном порядке• Пример: > Web-сервис покупки билета на концерт состоит из 3 операций, которые должны быть выполнены в следующем порядке: > Получение цены билета > Покупка билета > Подтверждение и аннулирование 17
  • BPEL (Business Process Execution Language) • Основанный на XML язык для определения бизнес процессов, основанных на Web-сервисах > Процессы языка BPEL описывают > Длительные, имеющие состояния, поддерживающие транзакции, диалоги между двумя и более сервисами партнеров > BPEL – это ключ к реализации Основных Правил SOA > Диалоговые > В основном асинхронные > Основанные на документах XML > Оркестрируемые > Описываемые WSDL > Крупномодульные бизнес сервисы 18
  • BPEL и WSDL• Web-сервисы описаны на WSDL > Операции – это обмен сообщениями > Каждая операция представляет отдельную часть действия• Необходим способ оркестрировать эти операции с различными web-сервисами в правильном порядке для выполнения бизнес процесса > Упорядоченное, обусловленное поведение и т.п.• BPEL предоставляет стандартизированный способ оркестрирования этих операций 19
  • BPEL: взаимоотношения партнеров WSDL Сервис инвентаризации Сервис проверки кредитаСервис заказчика Оркестрируемый процесс Сервис (BPEL) другого партнера 20
  • BPEL: структура документа<process> <!– Definition and roles of process participants --> <partnerLinks> ... </partnerLinks> <!- Data/state used within the process --> <variables> ... </variables> <!- Properties that enable conversations --> <correlationSets> ... </correlationSets> <!- Exception handling --> <faultHandlers> ... </faultHandlers> <!- Error recovery – undoing actions --> <compensationHandlers> ... </compensationHandlers> <!- Concurrent events with process itself --> <eventHandlers> ... </eventHandlers> <!- Business process flow --> (activities)*</process> 21
  • BPEL: ДействияОсновные действия Структурные действия• <invoke> • <sequence>• <receive> • <while>• <reply> • <pick>• <assign> • <flow>• <throw> • <scope>• <wait> • <compensate>• <empty> • <switch> • <link> 22
  • BPEL: Основные действия• <invoke> > Вызвать одностороннюю операцию или операцию запрос/ответ на portType предлагаемый партнером• <receive> > Заблокировать и ожидать прихода подходящего сообщения > Может создавать новый экземпляр бизнес процесса• <reply> > Отправление сообщения в ответ на сообщение, полученное в <receive> > Сочетание <receive> и <reply> формирует операцию запрос-ответ 23
  • BPEL: Основные действия• <assign> > Используется для изменения значений переменных• <throw> > Генерирует ошибку внутри бизнес процесса• <wait> > Ожидание в течение заданного периода времени или до наступления определенного времени• <empty> > Позволяет вставить пустую команду в бизнес процесс > Полезно при синхронизации параллельных действий 24
  • BPEL: структурные действия• <sequence> > Выполняет действия в последовательном порядке• <flow> > Выполняет действия параллельно• <switch> > Выбор действия в зависимости от условия• <scope> > Объединяет несколько действий 25
  • Пример бизнес процесса Receive <PO> <sequence>Invoke <InventoryService> Invoke <CreditService> <flow> Reply <Invoice> </sequence> 26
  • BPEL – ответ на все вопрсы?• Удобен в > ...параллелизм > ...длительные диалоги > ...отправление и получение сообщений > ...сложная логика решений > ...обработка ошибок и компенсирующая логика• Не так удобен > ...при взаимодействовии с не Web-сервисами, не XML- объектами, такими как – Реляционные базы данных – J2EE connectors и EJBs – Объекты Java > ... при выполнении сложных вычислений и проверок 27
  • Путеводитель по галактике SOA 3. BPMN 2. BPEL Вы здесь 4. JBI 1. Введение 5. Ответ на все вопросы 6. Demo 28
  • BPMN(Business Process Modeling Notation)Писать на BPEL? • BPEL – трудный > Програмирование в XML: брррр! > XML схема > В действительности схемы громадны и сложны > Сделай по-другому, если можешь > Расширения WSDL > Как будто WSDL не достаточно сбивает с толку?! • BPEL – это только язык выполнения > Не нотация моделирования 29
  • BPMN(нотация моделирования бизнес процессов) • Стандарт, разработанный Business Process Management Initiative (BPMI) > Версия 1.0 выпущена в 2004 • Нотацая для диаграмм бизнес процессов > Основана на технике блок-схем (flowchart) > Отдельно рассматривает Web-сервисы > Без труда могут понять... > Бизнес пользователи > Бизнес аналисты > Разработчики программного обеспечения • Может быть отображена в BPEL 30
  • Визуальное оркестрированиесервисов 31
  • BPMN – ответ на все вопросы?• BPMN – только нотация > Определяет линии, формы и их аттрибуты• Но, BPMN и BPEL взаимо дополняющие > BPEL: язык выполнения без нотации > BPMN: нотация с полным отображением в BPEL• Достаточно сложно перевести BPMN в BPEL 32
  • Путеводитель по галактике SOA 3. BPMN Вы здесь 2. BPEL 4. JBI 1. Введение 5. Ответ на все вопросы 6. Demo 33
  • Что такое JBI (JSR-208)?Java Business Integration – стандарт бизнес интеграции● Одна из важнейших мотиваций для SOA – уменьшение стоимости интеграции приложений• Стандартная, подключаемая инфраструктура: SPI (Service Provider Interface) > Service Engines: предоставляют бизнес логику и интеграцию сервисов > Binding Components: предоставляют протоколы взаимодействия• Комбинированные, управляемые событиями сервисы• Слабая связанность с помощью механизма обмена сообщениями WSDL 34
  • JBI (JSR 208) – стандартизованная интеграция Контейнер JBI (JVM) BPEL SPI SPI SOAP Binding Route ServiceComponents FTP Engines Маршрутизатор сообщений REST Transform ebMS Нормализованный обмен Correlate сообщениями 35
  • Архитектура JBI 36
  • JBI – Service Engine• Управляет сервисами реализующими бизнес логику• Предоставляет endpoints (точку в сети) для сервисов > Независим от протокола и транспорта• Поддерживает шаблоны обмена сообщениями > Нормализованный обмен сообщениями – планируемый удаленный сервис• Место для развертывания (установки) - контейнер > Специфичные для движка елементы > Может активировать точку для доступа к сервису 37
  • JBI – Binding Component• Осуществляет переформатирование сообщения, специфичное для протокола > Занимается передачей сообщений > Например: SOAP/HTTP, FTP, SMTP, JMS, ebMS, AS2, и т.д.• Не должен содержать бизнес логику• Предоставляет прокси JBI-сервисов для удаленных потребителей• (Повторно)используется различными движками (service engines) 38
  • Администрирование JBI• Стандартная установка компонентов > Переносимый формат архива• Сборка Сервисов (Service Assembly – SA) > Переносимый пакет составного сервиса• Service Unit (SU) > Каждый SU разворачивается в компонент определенного типа• Управление жизненным циклом > Старт/Стоп/Выключить 39
  • JBI – Service AssemblyDeployment SA=Proxy Service BPEL JBI.xml Engine SU1 activity.xml XSLT Engine SU2 transform.xslt SOAP/HTTP SU3 endpoint.xml Binding 40
  • Путеводитель по галактике SOA 3. BPMN 2. BPEL 4. JBI Вы здесь 1. Введение 5. Ответ (наконец-то) на все вопросы 6. Demo 41
  • Ответ на все вопросы... Tools 42
  • SOA ToolNetBeans EnterprisePack 5.5Быстрые архитектурные решенияof Services Rapid Architecture and Design ипроектирование сервисов
  • Обзор• Рассмотрим высокоуровневые возможности, которые важны для построения промышленных приложений... например... > SOA > Построение сложных приложений > Оркестрирование бизнес процессов > Интеграция > Богатый возможностями визуальный XML Tools > Управление жизненным циклом приложения > Моделирование UML > Управление проектами > Автоматическая документация проекта на основе Wiki 44
  • Потребности бизнесаПроектирование сложного сервиса 45
  • Быстрые архитектурные решения ипроектирование сервисов SOA Платформа J2EE J2EE 1.5 Sun Java System Application Server XML Переносимость web Services данныхПереносимость Sun Web Services приложения Developer Pack 46
  • Визуальное оркестрированиеСервисов• Оркестрирование сервисов > Моделирование бизнес процессов с помощью Orchestration Designer > Создание оркестрированного бизнес-процесса (на основе BPEL), который может быть развернут > Синхронизация изменений в исходном коде (BPEL) и визуальной модели > Импортирование и экспортирование BPEL 47
  • Визуальное оркестрированиесервисов 48
  • Путеводитель по галактике SOA 3. BPMN 2. BPEL 4. JBI 1. Введение 5. Ответ на все вопросыВы здесь 6. Demo 49
  • Demo:NetBeans EnterprisePack 5.5 Preview
  • Travel Reservation Service• Сценарий составления плана поездки > 1 сервис BPEL > 3 сервиса партнеров• Асинхронное взаимодействие• Диалоговое взаимодействие• Взаимодействие при помоощи обмена документами > Передача документа между партнерами > Построен на корпоративном стандарте, используемом в туристической индустрии: Open Travel Authority (OTA) > >800 KB ASCII текста, 282 страницы 51
  • Travel Reservation Service Airline Service (J2EE) Vehicle Service (J2EE)Travel Client Travel Reservation Hotel Service Service (BPEL) (J2EE) 52
  • Travel Reservation Service Демонстрационный сценарий• Получаем предварительный план поездки от клиента• Если необходимо, заказываем авиабилеты• Получаем ответ от службы заказа билетов• Если необходимо, заказываем прокат автомобиля• Получаем ответ от службы проката• Если необходимо, бронируем номер в гостинице• Получаем ответ от службы бронирования гостиниц• Возвращаем полностью заполненный план поездки клиенту 53
  • ЗаключениеЧто делать?Sun Developer NetworkРесурсы
  • Заключение• SOA делает архитектуру корпоративного приложения гибкой и подвижной• JBI предоставляет SOA-инфраструктуру, основанную на стандартах• BPEL делает возможным оркестрирование сервисов, основанное на стандартах• Sun Java Studio Enterprise/NetBeans Enterprise Pack 5.5 TPR – средство, используемое для построения корпоративных приложений, использующих SOA 55
  • Что делать?• Попробуйте бесплатную Java Studio Enterprise для создания промышленных Web- сервисов• Попробуйте версию NetBeans Enterprise Pack 5.5 Technology Preview Release для интеграции integrating SOA-enabled services• Присоединяйтесь к Sun Developer Network (SDN), чтобы получать свежую информацию о SOA 56
  • Sun Developer Network Все для разработчика!Увеличивает продуктивность http://developers.sun.comразработки: Технические статьи Учебники и образцы кода Экспертная поддержка форумов Поддержка user groups, событий и конференций И еще многое... 57
  • Resources• SDN (Sun Developer Network) SOA/WebServices > http://java.sun.com/reference/soawebservices/• Java Studio Enterprise > http://developers.sun.com/prodtech/javatools/jsent erprise/• NetBeans Enterprise Pack 5.5 > http://developers.sun.com/prodtech/javatools/jsent erprise/tpr/ 58
  • Вопросы!