Интеграция корпоративных приложений и автоматизация бизнес-процессов с использованием Oracle BPEL Process Manager BPEL Алексей Сальников Oracle СНГ Консультант по интеграционным технологиям Барьеры на пути к успеху Сложность инфраструктуры Предприятие Клиенты & Агенты Поставщики & Партнеры Барьеры на пути к успеху Негибко, Неэффективно, Дорого • Интеграция точка-точка • Файловый обмен как инструмент прогнозирования и отчетности • Взаимодействие с поставщиками и клиентами через телефон/email Почему бы не запрограммировать? Inventory Mgmt Manufacturing Inventory DBMS Web App Procurement HR Finance Billing CRM Fulfillment Барьеры на пути к успеху Негибко, Неэффективно, Дорого • Не управление ИТ инфраструктурой, а ее программирование • Для сопровождения требуется команда программистов • Обновление даже одного приложения влечет модификацию (перепрограммирование) всех сопряженных интерфейсов • Нелинейное увеличение сложности сопровождения в зависимости от количества систем • Кроме приложений, в интеграционные процессы часто вовлечены еще и пользователи • Cложность самостоятельной реализации задач Workflow Что такое SOA? ПРИЛОЖЕНИЯ Приложение .NET Веб приложение .NET, Java, Basic, MS Office… Портал ЛОГИКА ВЫПОЛНЕНИЯ BPEL XSLT XQuery Оркестровка WS-Security WS-Policy Управление и Безопасность WSDL WSDL WSDL WSDL WSDL SOAP JDBC JMS JCA RMI .NET/Axis Database Mainframe ERP EJB СЕРВИСЫ XML, XML Schema WSDL/WSIF SOAP, JCA, JMS Преимущества сервис ориентированного подхода ПРИЛОЖЕНИЯ Приложение .NET Веб приложение Различные варианты доступа Портал ЛОГИКА ВЫПОЛНЕНИЯ Повторное использование Оркестровка Адаптивность Управление и Безопасность WSDL WSDL WSDL WSDL WSDL SOAP JDBC JMS JCA RMI СЕРВИСЫ Реестр сервисов … .NET/Axis Database Mainframe ERP EJB Пример: активизация тарифного плана Заявление для обеспечения и активации планов сотового телефона Telco Activation Services J2EE Service provisioning systems Local Service Activation Manager Approval Rules Application Server Sales/Customer Service Interfaces New Plan Selection User Interface Exception Handling and Rollback/Re-try ADF BPEL Process Manager Billing Services Payment Services Credit Card Payment Services Требования к оркестровке процессов Java Services (EJB) Messaging Destinations (JMS) Legacy Applications (JCA, adapters) Доступ к ИС Portal Гетерогенные системы и форматы данных Поддержка различных API User Tasks Синхронизация различных источников данных Java Platform ? ADF Оркестровка Управление Асинхронность, Координация потоков, Преобразования данных, Откат изменений, Контроль версий, Аудит Web Services (Sync and Async) Масштабируемость Непредсказуемые нагрузки Управление и безопасность Контроль доступа, Шифрование, Ведение логфайлов и Метрик, Независимость от сервиса BPEL Введение в BPEL Что такое BPEL? Язык разметки для организации множества дискретных сервисов в непрерывный процесс • Лучшее решение для интеграции Веб-сервисов, а также Java, JCA и JMS SAP R/3 start ИНН не найден! • Базируется на открытых XML стандартах • Процесс — это сервис Router Billing end BPEL на примере <variable> <process> BPEL Flow 10:00am start Credit Rating <faultHandlers> Get Rating <invoke> <flow> <partnerLink> Handle Negative Credit Exception Send Loan Application Send Loan Application <invoke> United Loan <receive> <partnerLink> Receive Loan Offer Receive Loan Offer </flow> <switch> </process> ? end Select Lowest Offer 03:00pm Star Loan <partnerLink> Oracle BPEL Process Manager BPEL Oracle BPEL Process Manager Инфраструктурное решение масштаба предприятия для проектирования в формате BPEL, размещения и управления бизнес-процессами. • Полная поддержка BAM BPEL Designer Oracle BPEL Process Manager Сервисы адаптеров BPEL Console Трансформация данных Web Service JMS XQuery XSLT User Tasks BPELJ JCA Email Ядро BPEL Application Server ( Oracle, BEA, JBoss, IBM) Адаптеры спецификации BPEL • Легкий в использовании инструмент моделирования • Масштабируемый и надежный сервер • Широкие возможности по управлению и мониторингу • Поддержка Oracle AS, JBoss, БД состояний (Oracle Database) WebLogic и WebSphere Инструмент проектирования BPEL Designer (JDeveloper / Eclipse) • Визуальное моделирование Drag-and-drop • Родная, на 100% стандартная реализация спецификации BPEL • Подготовка и запуск процесса занимает меньше 15 минут! Консоль администрирования BPEL Console • Инициализация процессов • Визуальный мониторинг • Аудит • Администрирование Преобразование данных XSLT Mapper • Связывание полей • Drag-and-drop • Auto-mapping • Встроенная библиотека функций • Встраивание собственных функций • Поддержка списков и итерации Адаптеры • Настраиваются, не программируются • Вызовы и события • Оптимальное связывание • Более 250 систем, любой JCA адаптер Управление потоками работ (Workflow) Системы Люди BPEL Oracle BPEL Process Manager позволяет связывать информационные системы и вовлекать пользователей в законченные бизнес–процессы Моделирование потоков работ (workflow) • Маршрутизация • Роли • Вложения • Санкционирование • Уведомления через e-mail, FAX, SMS… • Интеграция с LDAP Рабочее место (Worklist Application) Готовое приложение с исходными текстами. Можно изменить внешнее представление или поведение. Рабочее место (Worklist Application) Автоматически создается форма для ввода/обновления данных. Исходный текст в формате JSP доступен для изменения внешнего вида или поведения. Эффективность BPEL Высокая производительность BPEL-Optimized SOAP Stack BPEL Server LOAD BALANCER App. Server Binary DOM • Lazy Loading • Smart Partitioning • W3C DOM Interface • Support for Large Documents BPEL Server App. Server Dehydration Store (Oracle Database) BPEL Server Stateless Architecture • Clustering • Fail Over App. Server Support for large BPEL Processes (20,000+ activities) Масштабируемость On Demand • По необходимости • Без изменения кода • Легкость администрирования Веб-сервисы?! Это XML по HTTP?! WSDL HTTP SOAP ИНТЕРФЕЙС ПРИВЯЗКА Веб сервисы Приложения .NET ДА! НО НЕ ОБЯЗАТЕЛЬНО! Веб-сервисы?! Это XML по HTTP?! WSDL HTTP SOAP ИНТЕРФЕЙС ПРИВЯЗКА RMI Веб сервисы Приложения .NET Java/J2EE приложения ПРИВЯЗКА JDBC Базы данных Хранимые процедуры JCA Пакетные приложения Oracle, SAP… ПРИВЯЗКА Вовлечение Java/J2EE ресурсов • Вставка Java кода в процесс BPEL • Наивысшая производительность • Реализовано как расширение стандарта BPEL • Привязка WSIF • Позволяет вызывать Java объекты из BPEL как Веб-сервисы • Имеет ограничения по используемым интерфейсам Java • http://ws.apache.org/wsif/ • Оборачивание Java кода Веб-сервисом (SOAP) • Используем любой инструмент (например JDeveloper) • Дополнительные потери производительности Поддержка различных платформ Application Server IDE • Oracle Application Server • JDeveloper • BEA WebLogic • Eclipse • IBM WebSphere • JBoss Operating Systems • Linux Database • Window …2003 • Oracle Database, Lite • Solaris • MS SQL Server • HP UX • IBM DB2 • AIX Пример внедрения BPEL Belgacom Требования • Консолидация всех сервисов активации в единой стандартной платформе • Автоматизация процесса обработки ошибок • Постоянное изменение и адаптация процессов Результаты • BPEL — сердце процессов активации, изменения и ремонта (DSL, арендованные линии, интерактивное TV) • Обработка 15 000 ордеров в день • Начался как маленький проект наращиваемый постепенно в течении 18 месяцев • Реализовано 300+ процессов BPEL, некоторые в 100+ шагов • Существенно снижено количество ошибок Belgacom Приложение обеспечения и активации DSL Activation Services DSL Activation Manager SDSL Activation Manager SLEE Access Manager Application Server Exception Management Task Order Review Task Batch Processor (Stream of orders) ADF BPEL Process Manager Reporting Service Account Management Database Oracle AS Integration 10g Adapters InterConnect BPEL PM B2B Oracle Application Server BAM Информация для контактов Алексей Сальников Oracle СНГ Консультант по интеграционным технологиям Тел. +7 (495) 364-52-54 oracle.com/bpel