Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Event-driven SOA

1,637 views

Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Event-driven SOA

  1. 1. 2 7 сентября 2007 Максим Смирнов Максим Смирнов Руководитель департамента архитектуры BSS ОАО «ВымпелКом» Event-driven SOA в телекоммуникационной компании
  2. 2. 2 7 сентября 2007 Максим Смирнов Пример: услуга «Позвони мне»* Value-added services (VAS) – дополнительные услуги связи: информационно-развлекательные услуги на базе WAP , SMS , MMS , интерактивные услуги, передача данных, управление вызовом (АОН, переадресация, конференц-связь…) Абонент с нулевым или недостаточным балансом, специальным запросом может попросить другого абонента перезвонить ему
  3. 3. 2 7 сентября 2007 Максим Смирнов Эволюция разработки 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 Собственная разработка обладает достаточной гибкостью, но существенно увеличивает сложность корпоративного ИТ ландшафта. Заказная разработка снижает гибкость, но не решает проблемы сложности. Коробочные продукты концептуально целостны, но имеют высокую стоимость и низкую динамику изменений
  4. 4. 2 7 сентября 2007 Максим Смирнов Композитные решения заказывает бизнес 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 <ul><li>Построение композитных приложений – сложная, дорогостоящая и не всегда быстрая задача: </li></ul><ul><li>Интерфейсы унаследованных систем не являются SOA сервисами, т.е. не представляют собой бизнес-функции, сильно связаны и не обеспечены контрактом </li></ul><ul><li>Отраслевые стандарты развиты недостаточно. Интеграция приложений требует доработки интерфейсов или создания новых </li></ul><ul><li>Семантика «унаследованных» приложений различна, а зачастую и непрозрачна </li></ul><ul><li>SOAP не обеспечивает гарантированной доставки </li></ul><ul><li>Поставщики «коробочных» решений не спешат переходить к сервис ориентированной архитектуре (к 2010 году более 30% новых приложений не будут отвечать SOA ) </li></ul>
  5. 5. 2 7 сентября 2007 Максим Смирнов Выбор тактики – задача ИТ <ul><li>Ранние модели реализации SOA не соответствовали нашим требованиям: </li></ul><ul><ul><li>Взаимодействие с абонентом реализуется через слой сервисных платформ ( SMS-C , MMS-C , Parlay platform etc .) </li></ul></ul><ul><ul><li>Бизнес-логика услуги (подписка, тарификация, управление сервисом) скрыта в «унаследованных» приложениях. </li></ul></ul><ul><ul><li>Взаимодействие сервисных платформ с enterprise системами (Billing, CRM , BI и пр. ) осуществляется в режиме offline </li></ul></ul>
  6. 6. 2 7 сентября 2007 Максим Смирнов Экономика композитных приложений <ul><li>Стоимость решения складывается из: </li></ul><ul><ul><li>Стоимости оборудования </li></ul></ul><ul><ul><li>Лицензий на общесистемное ПО на OS , DBMS , Application Server и т.п. </li></ul></ul><ul><ul><li>Лицензий на дополнительное ПО (framework) </li></ul></ul><ul><ul><li>Стоимости заказных разработок </li></ul></ul><ul><ul><li>Поддержки и сопровождения </li></ul></ul><ul><li>Характеристики композитного приложения: </li></ul><ul><ul><li>Более низкая доступность. Доступность равняется произведению доступности каждой из компонент </li></ul></ul><ul><ul><li>Емкость решения равна емкости минимальной компоненты </li></ul></ul><ul><ul><li>Стоимость транзакции складывается из стоимости транзакции в каждой из систем </li></ul></ul><ul><ul><li>Поддержка не централизована, обеспечивается разными поставщиками </li></ul></ul><ul><ul><li>Развитие затруднено из-за связности систем. Внесение изменений требует синхронизации </li></ul></ul>
  7. 7. 2 7 сентября 2007 Максим Смирнов Event - driven architecture : Next big thing <ul><li>July 2003, Roy W. Schulte, Gartner </li></ul><ul><li>« The Growing Role of Events in Enterprise Applications » Five forces. </li></ul><ul><li>Свойства Event-driven architecture </li></ul><ul><li>Асинхронность </li></ul><ul><li>Схема «публикация-подписка» </li></ul><ul><li>Мгновенная публикация событий </li></ul><ul><li>Экстремальная слабая связность </li></ul><ul><li>Complex event processing </li></ul><ul><li>Преимущества EDA при реализации VAS </li></ul><ul><li>Поддержка EDA может осуществляться зрелыми, отлаженными программными системами класса message-oriented middleware </li></ul><ul><li>Асинхронность взаимодействия смягчает требования к capacity , availability , response time и др. характеристикам интегрируемых систем </li></ul><ul><li>Маршрутизация и трансформация событий возможна без доработок «тяжелых» систем а за счет изменения конфигурации интеграционной среды </li></ul><ul><li>Значительная часть VAS базируется на обмене сообщениями (messaging) </li></ul>
  8. 8. 2 7 сентября 2007 Максим Смирнов Эталонная архитектура Event-driven SOA
  9. 9. 2 7 сентября 2007 Максим Смирнов Реализация услуги «Позвони мне» <ul><li>Маршрутизатор запросов сохраняет запросы услуги «Позвони мне» в очереди сообщений </li></ul><ul><li>Узел SEND извлекает запросы из очереди, преобразует запрос в SMS сообщение и помещает их в очередь отправки </li></ul><ul><li>Узел RECEIVE извлекает отчет о доставке SMS сообщения, формирует сообщение об успешной доставке запроса и помещает его в очередь отправки SMS сообщений </li></ul>
  10. 10. 2 7 сентября 2007 Максим Смирнов Enterprise integration patterns <ul><li>Выравнивание емкости и доступности интегрируемых систем использованием промежуточной очереди сообщений </li></ul><ul><li>Фильтры сообщений. Предварительное отсеивание заведомо ошибочных сообщений средствами интеграционного слоя </li></ul><ul><li>Content based routing </li></ul><ul><li>Использование очереди ошибочных сообщений для итерационной разработки и развития решения </li></ul><ul><li>Указание «времени жизни» сообщения. Своевременное уничтожение устаревших событий </li></ul>
  11. 11. 2 7 сентября 2007 Максим Смирнов Итерационное развитие event-driven решений Поведение композитной системы мы описываем вариантами использования ( use-case ) в стиле Alistair Cockburn Триггер – событие, инициирующее исполнения сценария Шаг сценария состоит в преобразовании данных или вызове внешнего сервиса Типичный ход событий – кратчайшая последовательность шагов приводящее действующее лицо к достижению цели На любом шаге сценария может возникнуть исключение , которое обрабатывается в ходе исполнения альтернативного сценария
  12. 12. 2 7 сентября 2007 Максим Смирнов Источники 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

×