Сервис-ориентированная архитектура

advertisement
Сервис-ориентированная
архитектура.
Решения 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
ВОПРОСЫ
ОТВЕТЫ
Download