event-driven soa
DESCRIPTION
TRANSCRIPT
Advanced SOA27 сентября 2007Максим Смирнов 1
Максим СмирновРуководитель департамента архитектуры BSSОАО «ВымпелКом»
Event-driven SOAв телекоммуникационной компании
Advanced SOA27 сентября 2007Максим Смирнов 2
Пример: услуга «Позвони мне»*
Value-added services (VAS) – дополнительные услуги связи: информационно-развлекательные услуги на базе WAP, SMS, MMS, интерактивные услуги, передача данных, управление вызовом (АОН, переадресация, конференц-связь…)
1. Запрос: «Позвони мне» 2. SMS:
«Алиса просит перезвонить»
3. Отчет о доставке SMS
4. SMS: «Борис получил Вашу просьбу»
Абонент А (Алиса)
Абонент Б (Борис)
Абонент с нулевым или недостаточным балансом, специальным запросом может попросить другого абонента перезвонить ему
Advanced SOA27 сентября 2007Максим Смирнов 3
Эволюция разработки Value added services
IT complexity is the measure of your inability to understand, use, repair and enhance your IT environment.
Applied SOA: Conquering IT Complexity Through Software Architecture, Yefim V. Natis Gartner Group
complexity
agile
собственнаяразработка
заказныерешения
«коробочные»продукты
композитныеприложения
Собственная разработка обладает достаточной гибкостью, но существенно увеличивает сложность корпоративного ИТ ландшафта. Заказная разработка снижает гибкость, но не решает проблемы сложности.Коробочные продукты концептуально целостны, но имеют высокую стоимость и низкую динамику изменений
Advanced SOA27 сентября 2007Максим Смирнов 4
Quality of service
Time2marketCost
Композитные решения заказывает бизнес
Strategic Planning Assumption: By 2010, 40% of new application
development will target the integrated composable enterprise model, up from 5% in 2005
Applied SOA: Conquering IT Complexity Through Software Architecture, Yefim V. Natis Gartner Group
Построение композитных приложений – сложная, дорогостоящая и не всегда быстрая задача:
Интерфейсы унаследованных систем не являются SOA сервисами, т.е. не представляют собой бизнес-функции, сильно связаны и не обеспечены контрактом
Отраслевые стандарты развиты недостаточно. Интеграция приложений требует доработки интерфейсов или создания новых
Семантика «унаследованных» приложений различна, а зачастую и непрозрачна
SOAP не обеспечивает гарантированной доставки
Поставщики «коробочных» решений не спешат переходить к сервис ориентированной архитектуре (к 2010 году более 30% новых приложений не будут отвечать SOA)
Advanced SOA27 сентября 2007Максим Смирнов 5
Выбор тактики – задача ИТ
Ранние модели реализации SOA не соответствовали нашим требованиям:
Взаимодействие с абонентом реализуется через слой сервисных платформ (SMS-C, MMS-C, Parlay platform etc.)
Бизнес-логика услуги (подписка, тарификация, управление сервисом) скрыта в «унаследованных» приложениях.
Взаимодействие сервисных платформ с enterprise системами (Billing, CRM, BI и пр.) осуществляется в режиме offline
Advanced SOA27 сентября 2007Максим Смирнов 6
Экономика композитных приложений
Стоимость решения складывается из: Стоимости оборудования Лицензий на общесистемное ПО на OS,
DBMS, Application Server и т.п. Лицензий на дополнительное ПО
(framework) Стоимости заказных разработок Поддержки и сопровождения
System 1 System 2 System 3
request
request
response
response
Характеристики композитного приложения: Более низкая доступность. Доступность
равняется произведению доступности каждой из компонент
Емкость решения равна емкости минимальной компоненты
Стоимость транзакции складывается из стоимости транзакции в каждой из систем
Поддержка не централизована, обеспечивается разными поставщиками
Развитие затруднено из-за связности систем. Внесение изменений требует синхронизации
Advanced SOA27 сентября 2007Максим Смирнов 7
Event-driven architecture: Next big thing
July 2003, Roy W. Schulte, Gartner
«The Growing Role of Events in Enterprise Applications» Five forces.
Свойства Event-driven architecture Асинхронность Схема «публикация-подписка» Мгновенная публикация событий Экстремальная слабая связность Complex event processing
Преимущества EDA при реализации VAS Поддержка EDA может осуществляться зрелыми, отлаженными
программными системами класса message-oriented middleware Асинхронность взаимодействия смягчает требования к capacity,
availability, response time и др. характеристикам интегрируемых систем
Маршрутизация и трансформация событий возможна без доработок «тяжелых» систем а за счет изменения конфигурации интеграционной среды
Значительная часть VAS базируется на обмене сообщениями (messaging)
Event cloudOrderentry
Website
Financialsystem
Mailgateway
Warehouse
New order
InventoryLow
Addresschanged Payment
declined
E-mailreturned
Advanced SOA27 сентября 2007Максим Смирнов 8
Эталонная архитектура Event-driven SOA
Network Layer
Subscribers Mobile phone SMS, USSD, Voice,
Service Platforms
Transport System / Base Station System
GSM-core SMS, USSD,Voice
USSDCSMSC MMSC IVR
EAI layer
Events cloudon message queues
Event drivenLouse couplingAsynchronous Message oriented middleware
Application layer
Business ProcessChoreography
Services
Enterprisecomponents
Advanced SOA27 сентября 2007Максим Смирнов 9
Реализация услуги «Позвони мне»
1. Маршрутизатор запросов сохраняет запросы услуги «Позвони мне» в очереди сообщений
2. Узел SEND извлекает запросы из очереди, преобразует запрос в SMS сообщение и помещает их в очередь отправки
3. Узел RECEIVE извлекает отчет о доставке SMS сообщения, формирует сообщение об успешной доставке запроса и помещает его в очередь отправки SMS сообщений
SEND
RECEIVE
SMS на отправку
отчеты о доставке
маршрутизаторзапросов
очередь ошибочныхсообщений
Advanced SOA27 сентября 2007Максим Смирнов 10
Enterprise integration patterns
1. Выравнивание емкости и доступности интегрируемых систем использованием промежуточной очереди сообщений
2. Фильтры сообщений. Предварительное отсеивание заведомо ошибочных сообщений средствами интеграционного слоя
3. Content based routing
4. Использование очереди ошибочных сообщений для итерационной разработки и развития решения
5. Указание «времени жизни» сообщения. Своевременное уничтожение устаревших событий
Advanced SOA27 сентября 2007Максим Смирнов 11
Итерационное развитие event-driven решений
Поведение композитной системы мы описываем вариантами использования (use-case) в стиле Alistair Cockburn
Триггер – событие, инициирующее исполнения сценарияШаг сценария состоит в преобразовании данных или вызове внешнего
сервисаТипичный ход событий – кратчайшая последовательность шагов приводящее
действующее лицо к достижению целиНа любом шаге сценария может возникнуть исключение, которое
обрабатывается в ходе исполнения альтернативного сценария
stepstepstepstep
Trigger
Exeption
stepstep
Exeption
Типичный ход событий
Альтернативный сценарий
Очередь ошибочных сообщений
step
Advanced SOA27 сентября 2007Максим Смирнов 12
Источники
The Growing Role of Events in Enterprise Applications. Five forces. July 2003, Roy W. Schulte, Gartner
“Event-Driven Architecture Complements SOA”, by Roy W. Schulte, Yefim V. Natis, July 2003, by Gartner
“2.0 The Mission and Future of Integration” 2004, Gartner “Enterprise Integration Patterns: Designing, Building, and
Deploying Messaging Solutions” by Hohpe G., Woolf B., 2004
“Applied SOA: Conquering IT Complexity through Software Architecture”, by Yefim V. Natis, May 2005, by Gartner, Inc.
“Event-driven architecture” by Hohpe G., 2006
“Writing Effective Use Cases” by Alistair Cockburn