event-driven soa

12
Advanced SOA 27 сентября 2007 Максим Смирнов 1 Максим Смирнов Руководитель департамента архитектуры BSS ОАО «ВымпелКом» Event-driven SOA в телекоммуникационной компании

Upload: maxim-smirnov

Post on 14-Dec-2014

951 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Event-driven SOA

Advanced SOA27 сентября 2007Максим Смирнов 1

Максим СмирновРуководитель департамента архитектуры BSSОАО «ВымпелКом»

Event-driven SOAв телекоммуникационной компании

Page 2: Event-driven SOA

Advanced SOA27 сентября 2007Максим Смирнов 2

Пример: услуга «Позвони мне»*

Value-added services (VAS) – дополнительные услуги связи: информационно-развлекательные услуги на базе WAP, SMS, MMS, интерактивные услуги, передача данных, управление вызовом (АОН, переадресация, конференц-связь…)

1. Запрос: «Позвони мне» 2. SMS:

«Алиса просит перезвонить»

3. Отчет о доставке SMS

4. SMS: «Борис получил Вашу просьбу»

Абонент А (Алиса)

Абонент Б (Борис)

Абонент с нулевым или недостаточным балансом, специальным запросом может попросить другого абонента перезвонить ему

Page 3: Event-driven SOA

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

собственнаяразработка

заказныерешения

«коробочные»продукты

композитныеприложения

Собственная разработка обладает достаточной гибкостью, но существенно увеличивает сложность корпоративного ИТ ландшафта. Заказная разработка снижает гибкость, но не решает проблемы сложности.Коробочные продукты концептуально целостны, но имеют высокую стоимость и низкую динамику изменений

Page 4: Event-driven SOA

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)

Page 5: Event-driven SOA

Advanced SOA27 сентября 2007Максим Смирнов 5

Выбор тактики – задача ИТ

Ранние модели реализации SOA не соответствовали нашим требованиям:

Взаимодействие с абонентом реализуется через слой сервисных платформ (SMS-C, MMS-C, Parlay platform etc.)

Бизнес-логика услуги (подписка, тарификация, управление сервисом) скрыта в «унаследованных» приложениях.

Взаимодействие сервисных платформ с enterprise системами (Billing, CRM, BI и пр.) осуществляется в режиме offline

Page 6: Event-driven SOA

Advanced SOA27 сентября 2007Максим Смирнов 6

Экономика композитных приложений

Стоимость решения складывается из: Стоимости оборудования Лицензий на общесистемное ПО на OS,

DBMS, Application Server и т.п. Лицензий на дополнительное ПО

(framework) Стоимости заказных разработок Поддержки и сопровождения

System 1 System 2 System 3

request

request

response

response

Характеристики композитного приложения: Более низкая доступность. Доступность

равняется произведению доступности каждой из компонент

Емкость решения равна емкости минимальной компоненты

Стоимость транзакции складывается из стоимости транзакции в каждой из систем

Поддержка не централизована, обеспечивается разными поставщиками

Развитие затруднено из-за связности систем. Внесение изменений требует синхронизации

Page 7: Event-driven SOA

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

Page 8: Event-driven SOA

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

Page 9: Event-driven SOA

Advanced SOA27 сентября 2007Максим Смирнов 9

Реализация услуги «Позвони мне»

1. Маршрутизатор запросов сохраняет запросы услуги «Позвони мне» в очереди сообщений

2. Узел SEND извлекает запросы из очереди, преобразует запрос в SMS сообщение и помещает их в очередь отправки

3. Узел RECEIVE извлекает отчет о доставке SMS сообщения, формирует сообщение об успешной доставке запроса и помещает его в очередь отправки SMS сообщений

SEND

RECEIVE

SMS на отправку

отчеты о доставке

маршрутизаторзапросов

очередь ошибочныхсообщений

Page 10: Event-driven SOA

Advanced SOA27 сентября 2007Максим Смирнов 10

Enterprise integration patterns

1. Выравнивание емкости и доступности интегрируемых систем использованием промежуточной очереди сообщений

2. Фильтры сообщений. Предварительное отсеивание заведомо ошибочных сообщений средствами интеграционного слоя

3. Content based routing

4. Использование очереди ошибочных сообщений для итерационной разработки и развития решения

5. Указание «времени жизни» сообщения. Своевременное уничтожение устаревших событий

Page 11: Event-driven SOA

Advanced SOA27 сентября 2007Максим Смирнов 11

Итерационное развитие event-driven решений

Поведение композитной системы мы описываем вариантами использования (use-case) в стиле Alistair Cockburn

Триггер – событие, инициирующее исполнения сценарияШаг сценария состоит в преобразовании данных или вызове внешнего

сервисаТипичный ход событий – кратчайшая последовательность шагов приводящее

действующее лицо к достижению целиНа любом шаге сценария может возникнуть исключение, которое

обрабатывается в ходе исполнения альтернативного сценария

stepstepstepstep

Trigger

Exeption

stepstep

Exeption

Типичный ход событий

Альтернативный сценарий

Очередь ошибочных сообщений

step

Page 12: Event-driven SOA

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