Сервис-ориентированная архитектура. Решения Oracle. Александр Игнатович технический консультант Компит Технолоджис Интеграция приложений Application Screen Scrape Application Download File Application Message Queue Sockets Application Sockets RPC Application ORB Transaction File Application ORB APPC Message Application Screen Scrape Transaction File Screen Scrape Transaction File CICS Gateway Download File Application Application Message Queue Application Transaction File CICS Gateway Screen Scrape Message Download File Message Queue APPC RPC Бизнес-процессы Что такое бизнес-процесс? • Набор скоординированных задач и действий, вовлекающий во взаимодействие людей и системы, который ведет к достижению определенных целей организации Технология Процесс Люди Организация Управление бизнес-процессами • Управление бизнес-процессами (BPM) – процесс эффективного выравнивания организации в соответствии с желаниями и потребностями клиентов. • Управление бизнес-процессами – это структурированный подход, использующий методы, политики, метрики, способы управления и программные инструменты, для управления и непрерывной оптимизации деятельности организации и процессов. Принцип работы BPM Процесс (отгрузка товара со склада с оплатой по факту) Нет Сигнал Да рвис Web-се Webсерв ис Web-сервис КИС «Продажи» Есть продукт на складе и транспорт? Подготовить сопроводительную документацию ИС «Бухгалтерия» КИС «Трансцех» Зарезервировать Транспорт р те ап Ад Оформление заявки на Отгрузку продукта отдельные базы данных и приложения Отгрузить со склада ИС «Корпоративное хранилище» Да Оплата поступила? Адаптер Оформление закрытия процесса Нет Сигнал Web-сервис КИС «Склад» Корпоративная информационная система (ERP) Web-сервис Информационная панель • Создается модель процесса; • Определяются информационные системы участвующие в процессе; • С помощью адаптеров, операции (подпроцессы) модели связываются с информационными системами; • Мониторинг прохождения бизнес-процесса (ключевых показателей работы процессов и параметров их выполнения); Проблемы управления бизнес-процессами и интеграции приложений Oracle OracleEBS EBS НормативноНормативносправочная справочная информация информация Унаследованные Унаследованные приложения приложения SAP SAPR/3 R/3 1С: 1С: Предприятие Предприятие Филиал 2 Филиал 1 MS MSAxapta Axapta Филиал 3 1С: 1С: Предприятие Предприятие MS MSAxapta Axapta SAP SAPR/3 R/3 НормативноНормативносправочная справочная информация информация Oracle OracleEBS EBS Унаследованные Унаследованные приложения приложения Мэйнфреймы Мэйнфреймы Будущие Будущие приложения приложения Главный офис Трудно использовать и расширять Сложно и несогласованно Возможность потери и искажения информации Увеличение доли ручного труда Большие накладные расходы Сервис-ориентированная архитектура Сервис-ориентированная архитектура (Service-Oriented Architecture, SOA) - это архитектура, в которой система строится из набора слабосвязанных компонентов (сервисов) Сервис-ориентированная архитектура Цели SOA: • Повышение эффективности использования существующей инфраструктуры IT • Эффективная координация работы сотрудников, партнеров, приложений • Гарантированная доступность сервисов в любое время и любому участнику взаимодействия • Локализация негативного эффекта от изменений в интегрируемых системах SOA-решения: • Система корпоративных композитных приложений • Система корпоративных Web-сервисов • Интеграция приложений, бизнес-процессов • Автоматизация бизнес-процессов Сервис-ориентированная архитектура Преимущества SOA: • Сокращение времени и стоимости разработки - сервисы SOA можно легко использовать повторно и быстро интегрировать в новые, комплексные приложения • Снижение стоимости поддержки - повторно используемые сервисы сокращают количество и внутреннюю сложность ИТ-сервисов • Повышение уровня услуг - увеличение степени повторного использования сервисов обеспечивает высокий уровень услуг - через многократные циклы тестирования, проводимого различными потребителями • Снижение стоимости интеграции - стандартизированные сервисы свободно взаимодействуют друг с другом, обеспечивая быструю и легкую связь разрозненных приложений • Сокращение рисков - уменьшение сервисов за счет их повторного использования обеспечивает более сильный контроль над политиками корпоративного управления и управления ИТ и сокращает общие риски SOA: ключевые компоненты Сервис Единица бизнес-функциональности, которая может быть вызвана через сеть Web-сервис Сервис, который вызывается стандартным способом, так что каждый может его использовать без необходимости знать его внутреннее устройство “Слабо связанный” Когда сервисы автономны и могут легко комбинироваться и разъединяться, они являются слабо связанными. Сервисориентированная архитектура Платформа, основанная на стандартах, которая позволяет моделировать, разрабатывать, находить и комбинировать сервисы в гибкие бизнес-процессы Оркестровка Объединение сервисов в согласованный бизнеспроцесс (организация бизнес-процесса) Что нужно, чтобы построить сервисориентированную архитектуру? Сервисы Предпочтительно один сервис для одной бизнес-функции Регистр Место, где хранятся сервисы, чтобы можно было легко их находить Менеджер процессов Инструмент для оркестровки, чтобы соединять сервисы Шина сообщений Способ для взаимодействия сервисов между собой Безопасность Обеспечение безопасности SOA Мониторинг Мониторинг деятельности в реальном времени и оптимизация Oracle Fusion Middleware Oracle SOA Suite BPA Suite Analyst Tools JDeveloper BAM Analytics Events BPEL Process Manager Native Human BPEL Workflow Monitoring Decision Service Management Web Services Manager Enterprise Service Bus App Dev Framework B2B Adapters Business Rules XSLT Transform Routing Security Application Server J2EE, WS-*, Event Services UDDI Registry Oracle SOA Suite BAM Сервисы Регистр Менеджер процессов Шина сообщений Безопасность Мониторинг Monitoring BPEL Process Manager Native BPEL Workflow Web Services Manager Rules Security Enterprise Service Bus Adapters Routing Application Server UDDI Registry Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Построение SOA: анализ и моделирование бизнес-процессов Важность первого этапа – при анализе и моделировании процессов выявляются организационные, структурные и технологические слабые стороны в системе BPM предприятия Oracle Business Process Analysis Suite – средство для детального анализа и моделирования бизнес-процессов Почему Oracle BPA Suite? • Лидер рынка – Более 4,000 заказчиков – Сильная научноисследовательская команда – Опыт OEM соглашений • Наиболее развитый набор инструментов – Богатая функциональность – Гибкая и расширяемая метамодель Oracle BPA Suite Business Process Architect Business Process Simulator Интеграция с SOA, BPEL PM Business Process Publisher Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Oracle JDeveloper 10g Oracle JDeveloper 10g интегрированная среда разработки, ориентированная на создание сервис-ориентированных (SOA) приложений и использующая последние стандарты в области Java, XML, Web-Services и SQL Цель JDeveloper - упрощение создания J2EE-приложение Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Oracle Enterprise Service Bus (Oracle ESB) Основные функции Моделирование, Мониторинг, Конфигурирование Соединение Адаптеры Метаданные WS Manager Безопасность События Обработка Трансформация Приведение моделей Обогащение данных Шина Доставка Маршрутизация по содержимому Взаимодействие Масштабируемость Oracle ESB Варианты использования • Точка-Точка – Адаптер -> Преобразование -> Адаптер – Быстрая и легкая интеграция – Файл -> СУБД, Тема -> Очередь • Классическая модель (публикация-подписка) – Интеграция n+ приложений – Приведение моделей данных (DVM) • Маршрутизация – Гибкая, прозрачная маршрутизация – Конфигурируемость – Доступность как WS для BPEL, BAM, WSM Oracle ESB Доступно более 300 адаптеров! Applications ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ Oracle Applications SAP R/3 Peoplesoft JD Edwards Siebel Clarify Lotus Notes Ariba AXIOM mx/open Baan BroadVision Clarify Commerce One Hogan Financials i2 Technologies Lawson Livelink Manugistics Microsoft CRM Vantive Walker Interactive Remedy Salesforce.com Databases Technology ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ Oracle 8i and above IBM DB/2 UDB Informix Clarion Clipper Cloudscape DBASE Dialog Essbase FOCUS Data Access Great Plains Microsoft SQL Server MUMPS (Digital Standard MUMPS) Navision Financials (ODBC 3.x) Nucleus Paradox Pointbase PROGRESS Red Brick RMS SAS Transport Format Sybase Teradata Unisys DMS 1100/2200 UniVerse SOAP HTTP, HTTP-S Email – POP3, SMTP, IMAP FTP, FTP-S Flat File LDAP JMS Oracle AQ IBM MQSeries TIBCO Rendezvous Socket Legacy ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ ⌧ CICS IMS/DB IMS/TM VSAM ADABAS Natural Tuxedo CA-Datacom Screen Scraping CA-IDMS C-ISAM,D-ISAM,K-SAM, QSAM Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Что такое оркестровка? Оркестровка - организация взаимодействия сервисов BPEL PORTAL BPEL-процесс выдачи ссуды receive Oracle eBusiness Suite getRating United Load Star Loan invoke invoke 5-15 min PORTAL receive receive select Web Services Interface: XML, SOAP, WSDL, WSIF getSSN Credit Rating .NET Exception Task Async. Loan Providers review end Notification Service Что такое BPEL ? • Язык на основе XML для проектирования последовательного взаимодействия • Разрабатывался свыше 10 лет с участием множества компаний • Лучшее решение интеграции на основе XML и Web-сервисов. • Основан на отраслевых стандартах: – XML Schema – XSLT – XML Query – WS-Security – WS-Addressing – WSIF <process name="GetRequest">….. <receive name="Прием_запроса" partnerLink="client" portType="client:GetRequest" operation="initiate" variable="inputVariable" createInstance="yes"/> <invoke name="Проверка_договора" partnerLink="Система_учета_договоров" portType="ns1:AIS" operation="initiate” inputVariable="inVar" outputVariable=“outVar”> <switch> <case condition="bpws:getData('outVar','payload')='found'"> Для чего нужен BPEL? • Описание логики исполнения процесса start • Выполнение процесса • Интеграция приложений • Организация взаимодействия с пользователем • Мониторинг исполнения процессов end Oracle BPEL Process Manager (Oracle BPEL PM) Промышленная платформа для проектирования, запуска и управления бизнес-процессами на основе BPEL • Полная поддержка спецификации BPEL • Легкий в использовании инструмент моделирования • Масштабируемый и надежный сервер • Широкие возможности по управлению и мониторингу • Поддержка Oracle AS, J2EE Application Server JBoss, WebLogic и (Oracle AS, WebLogic, JBoss, WebSp here) WebSphere JDeveloper, Eclipse BPEL Designer BPEL BPEL Process Manager WSDL Binding Built-in Integration Services Web Service Java, JMS XQuery XSLT User JAVA Tasks File, FTP Database Core BPEL Engine MANAGE Apps BPEL Console Oracle BPEL Process Manager Oracle BPEL PM представлен тремя модулями: - BPEL Process Designer (проектирование BPEL-процессов) - BPEL PM Console (управление, администрирование и отладка процессов, развернутых на сервере BPEL) - BPEL PM Server (исполняемая средам для BPEL-процессов Oracle BPEL Process Manager Human Workflow Services Назначение заданий пользователю, группе или роли Правила передачи и делегирования Настраиваемый список заданий, форм и присоединённой информации Маршрутизация заданий Уведомление пользователей по Email, SMS … Журнал заданий, аудит, отчётность BPEL Process Manager Human Workflow Services – Типичные сценарии Сценарий 1 Сценарий 2 Утверждение документа Цепочки согласований и утверждений Примеры: • • • Утвердить отчет о расходах Рассмотрение заявки на отпуск Приём нового сотрудника Сценарий 3 Согласование несколькими пользователями или группами Отметки о выполнении Совместная работа над документами и предложениями После выполнения поставленной задачи, пользователь ставит в систему отметку и процесс продолжается дальше Примеры: • • Голосование Утверждение документа Примеры: • • Сделать звонок Предоставить услугу Oracle Business Rules • • • Декларативные, а не процедурные Лучший способ для SOA – Легкость формирования и использования – Прозрачность Приложения, требующие быстроты реагирования: – Часто изменяющиеся законодательные нормы – Частые изменения политики, отражающие изменения рынка – Требуется возможность высокоуровневой настройки Правила отсоединяют механизмы принятия решений от приложений Oracle Business Rules Автор правил Приложения, использующие правила факты Rules Engine результаты Исполняемая логика RuleSession Class приложения Репозитарий правил Приложен ие для настройки правил Rules SDK Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Business Activity Monitoring “Мониторинг бизнес-деятельности определяет концепцию предоставления значений ключевых показателей эффективности (KPI) бизнеса в реальном масштабе времени с целью повышения производительности и эффективности выполнения бизнес-операций” - Gartner Group • Перехват событий из различных информационных систем; • Определение, агрегирование и фильтрация событий; • Мониторинг ключевых показателей эффективности (KPI); • Сигналы (Alerts) – уведомление пользователей разными способами (электронная или голосовая почта, пэйджеры,..) о превышении пороговых значений различных параметров; • Визуализация в масштабе реального времени. Проблемы мониторинга бизнес-процессов • Индикаторы и отчеты не являются информацией реального времени • Невозможность оперативного вмешательства для обеспечения требуемого уровня обслуживания (SLA) • Неэффективные процессы принятия решения • Разрастание количества индикаторов Business Activity Monitoring (Oracle BAM) • Oracle BAM позволяет: – Наблюдать ключевые бизнес-метрики в режиме реального времени (Key Performance Indicators – KPIs, Service-Level Agreements - SLAs) – Анализировать данные в режиме реального времени для обнаружения «узких мест», исключений и решать бизнес-задачи (обнаруженные проблемы) – Воздействовать на текущие условия автоматически или в «ручном режиме» через инструментальную панель (dashboard) • Oracle BAM легко интегрируется в существующую IT инфраструктуру для снятия информации в режиме реального времени – Поддерживает снятие информации с любой БД или приложения и из 11 систем управления очередями, включая MQ Series и JMS Oracle BAM Основные преимущества • • • • • • • • • Oracle BAM легко интегрируется в существующую IT инфраструктуру для снятия информации в режиме реального времени Система обработки сообщений Кэширование данных «на лету» в оперативной памяти Аналитическое представление больших объёмов информации в реальном времени Низкая задержка передачи информации - информация всегда актуальная Web-интерфейс пользователя Сообщения и отчёты отображаются немедленно, по мере поступления или изменения Доставка сообщений пользователю на экран, email или SMS Работает прозрачно для имеющихся систем Business Activity Monitor Определение объектов, показателей KPI, отчетов, событий и правил обработки событий Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Развертывание Grid Grid Control Control Oracle AS Service Registry Oracle AS Service Registry - надежный, масштабируемый и конфигурируемый репозиторий web-сервисов, базирующийся на спецификации UDDl v3 Основные возможности: • Публикация web-сервисов • Классификация web-сервисов • Обнаружение web-сервисов • Управление потоками операций • Уведомления об изменениях • Управление доступом к службам Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Безопасность сервисов Access Manager Identity Manager Policy Manager Federation Manager Кто? Какие привилегии? Какие политики? Доступ партнерам Oracle Web-Services Manager Контроль доступа на основе политик Основные возможности: •Проверка идентификации и доступов •Динамическое изменение политик без изменения точек входа (endpoint) •Проверка подписей, шифрование/дешифрование •Обработчики пользовательских сообщений •Поддержка WS-Policy, WSSecurity Oracle Web Services Manager Построение Применение и исполнение Мониторинг политики политики политики Клиенты веб сервисов Менеджер политик Монитор Шлюз Агенты Приложения или веб сервисы Построение SOA Разработка сервисов Анализ и моделирование бизнес-процессов Интеграция Оркестровка Мониторинг и анализ Доступ Развертывание Безопасность Приложения на основе SOA ВОПРОСЫ ОТВЕТЫ