Progress Corticon - высокопроизводительная технология управления правилами от Progress Software Максим Соколов 2013 год
© 2013 Progress Technologies. All rights reserved. 2 Решения, основанные на правилах – важная часть многих информационных систем Примеры принятия решений на основе правил: Если заемщик старше 60 лет, отказать в выдаче кредита. Если водитель младше 25 лет, страховая премия увеличивается на 20%. Если клиент страхует имущество, то предоставить ему скидку по полису КАСКО в 10%. Герои Российской Федерации имеют право на освобождение от транспортного налога Примеры принятия решений на основе правил: Если заемщик старше 60 лет, отказать в выдаче кредита. Если водитель младше 25 лет, страховая премия увеличивается на 20%. Если клиент страхует имущество, то предоставить ему скидку по полису КАСКО в 10%. Герои Российской Федерации имеют право на освобождение от транспортного налога Обычные проблемы: Большое количество правил, переменных и вариантов. Правила постоянно меняются в зависимости от требований бизнеса. Большие потоки информации и высокие требования скорости отклика системы. Обычные проблемы: Большое количество правил, переменных и вариантов. Правила постоянно меняются в зависимости от требований бизнеса. Большие потоки информации и высокие требования скорости отклика системы.
© 2013 Progress Technologies. All rights reserved. 3 Для чего нужна система управления бизнес- правилами? Множество вложенных условных выражений. Создавать код и вносить изменения могут только разработчики, логика правил встроена в приложение. Отдельные изменения могут влиять на другие части кода, ошибки можно выявить только при тестировании. Производительность вычислений может быть неудовлетворительной. Множество вложенных условных выражений. Создавать код и вносить изменения могут только разработчики, логика правил встроена в приложение. Отдельные изменения могут влиять на другие части кода, ошибки можно выявить только при тестировании. Производительность вычислений может быть неудовлетворительной. Традиционный подход – реализация логики принятия решений в коде программы Отдельная система управления бизнес-правилами Правила формулируются простым и прозрачным образом, логика правил отделена от логики приложения. Создавать правила и вносить изменения могут бизнес- пользователи. Оптимальные алгоритмы вычисления правил. Изменения вносить быстро и безопасно! Стоимость владения системой снижается! Правила формулируются простым и прозрачным образом, логика правил отделена от логики приложения. Создавать правила и вносить изменения могут бизнес- пользователи. Оптимальные алгоритмы вычисления правил. Изменения вносить быстро и безопасно! Стоимость владения системой снижается!
© 2013 Progress Technologies. All rights reserved. 4 Где нужны системы управления правилами? Финансовые услуги – скоринг, индивидуальная работа с клиентами. Страхование – расчет страховых премий, оценка рисков. Логистика – управление грузопотоками и транспортом. Телекоммуникации – индивидуальная работа с клиентами. Государственное управление – принятие решений. Здравоохранение – индивидуальная работа с клиентами. Электронная коммерция – решения о проведении платежей, отказ в выставлении товара, варианты доставки товара.
© 2013 Progress Technologies. All rights reserved. 5 Составные части решения Corticon Исследование ПроектированиеРеализация Развертывание Исполнение Corticon Server (Rule Execution) Corticon Deployment Console Приложения Бизнес- процессы Enterprise Data Connectivity (Data integration) Corticon Studio (Rule Modeling)
© 2013 Progress Technologies. All rights reserved. 6 Ключевые преимущества Corticon Удобный инструмент создания, отладки и тестирования бизнес-правил, который могут использовать бизнес- пользователи. Запатентованный алгоритм выполнения правил DeTI обеспечивает высокую производительность и масштабируемость. Показывает линейный рост времени ответа в зависимости от объемов и сложности входных данных. Возможно развертывание решения в неоднородных системах, поддерживаются платформы Java и.Net. Поддерживается множество способов обращения к сервисам бизнес-правил: вызовы SOAP и XML, объекты Java.
© 2013 Progress Technologies. All rights reserved. 7 Производительность алгоритма вычисления правил DeTi при увеличении сложности и размера данных
© 2013 Progress Technologies. All rights reserved. 8 Масштабируемость алгоритма вычисления правил DeTi при увеличении количества правил
© 2013 Progress Technologies. All rights reserved. 9 Удобный визуальный инструмент для разработки бизнес- правил. Не требует навыков в программировании. Возможно анализировать созданные правила на непротиворечивость, полноту и цикличность. Тестирование и отладка правил непосредственно в среде разработки. Среда разработки правил Corticon Designer
© 2013 Progress Technologies. All rights reserved. 10 Готовое решение для использования Бизнес-аналитиками IT-специалистами Среда моделирования в стиле Excel Нет программирования Дружественная к бизнесу Обширная и расширяемая библиотека операторов Rule Statements обеспечивают документацию и трассировку правил Правила легко редактируются в стиле drag-and-drop Словарь содержит ваши бизнес-объекты Среда разработки правил Corticon Designer
© 2013 Progress Technologies. All rights reserved. 11 Логический анализ правил Полнота Все ли комбинации условий учтены ? Непротиворечивость Нет ли противоречивых условий ? Постоянная проверка при внесении изменений
© 2013 Progress Technologies. All rights reserved. 12 Тестирование и отладка правил Можно создавать тесты с различными исходными данными непосредственно из исходной модели данных. Можно исполнять тесты непосредственно в среде разработки. Можно проводить сравнение с ожидаемыми результатами и регрессионное тестирование при внесении изменений. Тестирование правил производится без привязки к конкретным способам вызова сервиса в рабочей среде.
© 2013 Progress Technologies. All rights reserved. 13 Принципы развертывания бизнес-правил в среде исполнения Ruleflow Business rules server: Servlet, EJB, In-Process Java,.NET Business rules server: Servlet, EJB, In-Process Java,.NET Decision Service Внешние приложения XML, Java Object HTTP SOAP, Java API
© 2013 Progress Technologies. All rights reserved. 14 Пользователи Corticon Insurance Financial Services Federal Government Health & Human Services eCommerce State Department DIA OPM FBI
© 2013 Progress Technologies. All rights reserved. 15 Одна из крупнейших торговых площадок в Интернете Более 20 сайтов миллионов активных продавцов. Более 250 миллионов зарегистрированных пользователей. Более 100 категорий товаров миллионов просмотров в день миллионов транзакций в день.
© 2013 Progress Technologies. All rights reserved. 16 Пример успешного использования Corticon в индустрии Чтобы обеспечить уверенность покупателей, что они получат купленный товар, eBay может задерживать поступления платежей по определенным транзакциям. По каждой транзакции Progress Corticon вычисляет необходимые задержки платежей, анализируя множество переменных, таких как категорию продукта, репутацию продавца, местоположения продавца и покупателя, валюты и т.д. Corticon был выбран компанией eBay после попыток работать с другим производителем, написания собственного процессора правил и пробного использования свободного программного обеспечения. Corticon обеспечивает миллисекундную скорость ответа от процессора правил. Ключевые критерии, по которым был выбран Corticon – производительность и масштабируемость, точность результатов, гибкость и простота изменений правил. Результат – ни одной проблемы в работе, вызванной процессором бизнес-правил
© 2013 Progress Technologies. All rights reserved. 17 Использование Corticon в исполняемой среде Решение: задержка платежа Когда нужно: для уведомления продавца при размещении товара (синхронно) Количество: 20 миллионов в день Требуемое время отклика: 250 ms % выполнения SLA: 99,8 % Решение: задержка платежа Когда нужно: при выписке товара покупателем (синхронно) Количество: 5-8 миллионов в день Требуемое время отклика: 250 ms % выполнения SLA: ~99 % Решение: проведение платежа Когда нужно: после доставки товара (асинхронно) Количество: миллионов в день Требуемое время отклика: 2000 ms % выполнения SLA : 99,99 %