SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
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
Определение SOA
• Сервисно-ориентированная архитектура
  (SOA) – это интегрированный подход к
  инфрастуктуре и проектированию
  программного обеспечения, использующий
  Web стандарты, для предоставления
  бизнес функций как сервисов
• Лучшая реализация SOA архитектуры –
  использование web-сервисов в качестве
  middleware технологии



                                           4
Преимущества 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
                                                               Service
Components     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 Assembly
Deployment
 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 Tool
NetBeans Enterprise
Pack 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 Enterprise
Pack 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
Вопросы!

Contenu connexe

Similaire à SOA Strategy and Architecture

Service oriented architecture, Oracle Service Bus
Service oriented architecture, Oracle Service BusService oriented architecture, Oracle Service Bus
Service oriented architecture, Oracle Service BusSergey Nemchinsky
 
Опыт реализации систем электронного архива и документооборота на основе облач...
Опыт реализации систем электронного архива и документооборота на основе облач...Опыт реализации систем электронного архива и документооборота на основе облач...
Опыт реализации систем электронного архива и документооборота на основе облач...Sergey Poltev
 
Cloud Infodocum
Cloud InfodocumCloud Infodocum
Cloud InfodocumEOS-soft
 
Решения ЭОС по модели SaaS
Решения ЭОС по модели SaaSРешения ЭОС по модели SaaS
Решения ЭОС по модели SaaSEOS-soft
 
Куда летят облака? Примеры внедрений, вопросы и прогнозы развития в России
Куда летят облака? Примеры внедрений, вопросы и прогнозы развития в РоссииКуда летят облака? Примеры внедрений, вопросы и прогнозы развития в России
Куда летят облака? Примеры внедрений, вопросы и прогнозы развития в РоссииMichael Kozloff
 
оракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соа
оракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соаоракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соа
оракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соаNick Turunov
 
Миграция в облако легко и непринужденно
Миграция в облако легко и непринужденно Миграция в облако легко и непринужденно
Миграция в облако легко и непринужденно DataLine
 
Хостинг и аренда приложений на базе ПО Microsoft
Хостинг и аренда приложений на базе ПО MicrosoftХостинг и аренда приложений на базе ПО Microsoft
Хостинг и аренда приложений на базе ПО MicrosoftISS
 
Как заработать в облаке? FAQ для реселлеров и интеграторов
Как заработать в облаке? FAQ для реселлеров и интеграторовКак заработать в облаке? FAQ для реселлеров и интеграторов
Как заработать в облаке? FAQ для реселлеров и интеграторовMichael Kozloff
 
Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014Egor Konovalov
 
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...BDA
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеCUSTIS
 
Oracle Policy Automation & Siebel CRM Fraud detection solution
Oracle Policy Automation & Siebel CRM Fraud detection solutionOracle Policy Automation & Siebel CRM Fraud detection solution
Oracle Policy Automation & Siebel CRM Fraud detection solutionVladimir Kohanov
 
Интеграция информационных систем с использованием OpenSource ESB
Интеграция информационных систем с использованием OpenSource ESBИнтеграция информационных систем с использованием OpenSource ESB
Интеграция информационных систем с использованием OpenSource ESBКРОК
 
Варианты развертывания СЭД - ограничения и выгоды
Варианты развертывания СЭД - ограничения и выгодыВарианты развертывания СЭД - ограничения и выгоды
Варианты развертывания СЭД - ограничения и выгодыExpolink
 
Belotserkovsky novosibirsk171012
Belotserkovsky novosibirsk171012Belotserkovsky novosibirsk171012
Belotserkovsky novosibirsk171012Microsoft
 
1с битрикс и seo
1с битрикс и seo1с битрикс и seo
1с битрикс и seoSMSdesign
 

Similaire à SOA Strategy and Architecture (20)

Intrus 2007 - SaaS
Intrus 2007 - SaaSIntrus 2007 - SaaS
Intrus 2007 - SaaS
 
Service oriented architecture, Oracle Service Bus
Service oriented architecture, Oracle Service BusService oriented architecture, Oracle Service Bus
Service oriented architecture, Oracle Service Bus
 
Опыт реализации систем электронного архива и документооборота на основе облач...
Опыт реализации систем электронного архива и документооборота на основе облач...Опыт реализации систем электронного архива и документооборота на основе облач...
Опыт реализации систем электронного архива и документооборота на основе облач...
 
Cloud Infodocum
Cloud InfodocumCloud Infodocum
Cloud Infodocum
 
Решения ЭОС по модели SaaS
Решения ЭОС по модели SaaSРешения ЭОС по модели SaaS
Решения ЭОС по модели SaaS
 
Куда летят облака? Примеры внедрений, вопросы и прогнозы развития в России
Куда летят облака? Примеры внедрений, вопросы и прогнозы развития в РоссииКуда летят облака? Примеры внедрений, вопросы и прогнозы развития в России
Куда летят облака? Примеры внедрений, вопросы и прогнозы развития в России
 
оракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соа
оракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соаоракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соа
оракл нидерланд б.в. Odi Suite – готовая интеграционная платформа на базе соа
 
Миграция в облако легко и непринужденно
Миграция в облако легко и непринужденно Миграция в облако легко и непринужденно
Миграция в облако легко и непринужденно
 
Хостинг и аренда приложений на базе ПО Microsoft
Хостинг и аренда приложений на базе ПО MicrosoftХостинг и аренда приложений на базе ПО Microsoft
Хостинг и аренда приложений на базе ПО Microsoft
 
Как заработать в облаке? FAQ для реселлеров и интеграторов
Как заработать в облаке? FAQ для реселлеров и интеграторовКак заработать в облаке? FAQ для реселлеров и интеграторов
Как заработать в облаке? FAQ для реселлеров и интеграторов
 
Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014Асинхронный биллинг для службы такси - IzhDevCom November 2014
Асинхронный биллинг для службы такси - IzhDevCom November 2014
 
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
«Упрощая работу администратора: Enterprise Manager - единая точка управления ...
 
Systematica 5 min
Systematica 5 minSystematica 5 min
Systematica 5 min
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банке
 
Oracle Policy Automation & Siebel CRM Fraud detection solution
Oracle Policy Automation & Siebel CRM Fraud detection solutionOracle Policy Automation & Siebel CRM Fraud detection solution
Oracle Policy Automation & Siebel CRM Fraud detection solution
 
Интеграция информационных систем с использованием OpenSource ESB
Интеграция информационных систем с использованием OpenSource ESBИнтеграция информационных систем с использованием OpenSource ESB
Интеграция информационных систем с использованием OpenSource ESB
 
Варианты развертывания СЭД - ограничения и выгоды
Варианты развертывания СЭД - ограничения и выгодыВарианты развертывания СЭД - ограничения и выгоды
Варианты развертывания СЭД - ограничения и выгоды
 
Aoip2012 aнаньев
Aoip2012 aнаньевAoip2012 aнаньев
Aoip2012 aнаньев
 
Belotserkovsky novosibirsk171012
Belotserkovsky novosibirsk171012Belotserkovsky novosibirsk171012
Belotserkovsky novosibirsk171012
 
1с битрикс и seo
1с битрикс и seo1с битрикс и seo
1с битрикс и seo
 

Plus de Dmitri Shiryaev

Enterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdf
Enterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdfEnterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdf
Enterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdfDmitri Shiryaev
 
Uniting Data JavaOne2013
Uniting Data JavaOne2013Uniting Data JavaOne2013
Uniting Data JavaOne2013Dmitri Shiryaev
 
RFID Technology and Internet of Things
RFID Technology and Internet of ThingsRFID Technology and Internet of Things
RFID Technology and Internet of ThingsDmitri Shiryaev
 
Hadoop: Big Data Stacks validation w/ iTest How to tame the elephant?
Hadoop:  Big Data Stacks validation w/ iTest  How to tame the elephant?Hadoop:  Big Data Stacks validation w/ iTest  How to tame the elephant?
Hadoop: Big Data Stacks validation w/ iTest How to tame the elephant?Dmitri Shiryaev
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EEDmitri Shiryaev
 
A Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best PracticesA Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best PracticesDmitri Shiryaev
 

Plus de Dmitri Shiryaev (6)

Enterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdf
Enterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdfEnterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdf
Enterprise Cyber-Physical Edge Virtualization Engine (EVE) Project.pdf
 
Uniting Data JavaOne2013
Uniting Data JavaOne2013Uniting Data JavaOne2013
Uniting Data JavaOne2013
 
RFID Technology and Internet of Things
RFID Technology and Internet of ThingsRFID Technology and Internet of Things
RFID Technology and Internet of Things
 
Hadoop: Big Data Stacks validation w/ iTest How to tame the elephant?
Hadoop:  Big Data Stacks validation w/ iTest  How to tame the elephant?Hadoop:  Big Data Stacks validation w/ iTest  How to tame the elephant?
Hadoop: Big Data Stacks validation w/ iTest How to tame the elephant?
 
Composite Applications with SOA, BPEL and Java EE
Composite  Applications with SOA, BPEL and Java EEComposite  Applications with SOA, BPEL and Java EE
Composite Applications with SOA, BPEL and Java EE
 
A Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best PracticesA Guide to the SOA Galaxy: Strategy, Design and Best Practices
A Guide to the SOA Galaxy: Strategy, Design and Best Practices
 

Dernier (9)

Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 

SOA Strategy and Architecture

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