Технологии InterSystems для разработки композитных приложений.  Готовность к SOA . Олег Оленин [email_address]
... или как из трех букв  сложить слово «счастье»
Задачи <ul><li>Определить, что такое SOA  </li></ul><ul><li>Показать, как продукты Intersystems могут быть использованы дл...
План <ul><li>Что такое SOA? </li></ul><ul><li>Сервисы и InterSystems Cache </li></ul><ul><li>ESB и InterSystems Ensemble <...
Что такое SOA? <ul><li>Обещания бизнесу полного счастья? </li></ul><ul><li>Навязчивое слово? </li></ul><ul><li>Подход к пр...
Определения SOA <ul><li>Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabil...
Прагматичный подход к определению <ul><li>SOA -  любой набор лучших практик для построения распределенных систем, которые ...
Немного о стандартах Хаос стандартов
Distributed & Loosly Coupled <ul><li>Сервис ничего  не знает о его потребителях </li></ul><ul><li>Для потребителя вся инфо...
Типовой сценарий <ul><li>В ходе автоматизации бизнес процесса декомпозировали функциональность системы на операции. </li><...
Сервисы и Cache 2008.2 <ul><li>Подход  bottom-up. SOAP Client Wizard. </li></ul><ul><li>Подход top-down. Возможность касто...
WS-* и не только. Различные сценарии взаимодействия. <ul><li>Безопасность </li></ul><ul><ul><li>SSL (HTTPS)‏ </li></ul></u...
SOA Maturity Model, Level I
Определяются операции
Стандартизируются службы
Используются WS-*
Просто сервисы: нерешенные вопросы <ul><li>Проблема сокращения количества связей не решена: </li></ul><ul><li>Каждый из пр...
Предлагаемое решение - ESB
Enterprise Service Bus <ul><li>Сейчас на рынке более 50 продуктов, называемых ESB. Главное знать, что они  должны делать  ...
Типичные возможности ESB <ul><li>Invocation. Synchronous and asynchronous transport protocols, service mapping  </li></ul>...
Реализация ESB в Ensemble <ul><li>Нет  продукта InterSystems ESB. Есть лучше -  E n S em B le: </li></ul><ul><li>Интеграци...
Реализация ESB в Ensemble
SOA Maturity Model, Level II  <ul><li>С высокоуровневой точки зрения в ESB происходит работа без состояний </li></ul><ul><...
SOA Maturity Model, Level III
Исполняемые процессы <ul><li>Слово одно, характеристики разные: </li></ul><ul><ul><li>Workflow-процессы </li></ul></ul><ul...
Бизнес процессы и Ensemble <ul><li>Разработчику проще работать с BPL, чем с BPEL </li></ul><ul><ul><li>XML используется та...
BPMS. Развитие темы. <ul><li>BPM – методология управления бизнеса, основанная на измерении его в процессах </li></ul><ul><...
Типовой состав BPMS <ul><li>Инструменты BPM </li></ul><ul><ul><li>Аналитическая модель </li></ul></ul><ul><ul><li>Исполняе...
BPM + Ensemble = BPMS
SOA Maturity Model, Level IV
Современная IT инфраструктура  предприятия. Connected Enterprise
Современная IT инфраструктура предприятия на основе Ensemble <ul><li>Достоинства каждого из подходов объединены в Ensemble...
Почему Ensemble?
Cпасибо! <ul><li>Вопросы? </li></ul><ul><li>Пишите письма: </li></ul><ul><li>[email_address] </li></ul><ul><li>http://writ...
Upcoming SlideShare
Loading in …5
×

Технологии InterSystems для разработки композитных приложений.

634 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
634
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Технологии InterSystems для разработки композитных приложений.

  1. 1. Технологии InterSystems для разработки композитных приложений. Готовность к SOA . Олег Оленин [email_address]
  2. 2. ... или как из трех букв сложить слово «счастье»
  3. 3. Задачи <ul><li>Определить, что такое SOA </li></ul><ul><li>Показать, как продукты Intersystems могут быть использованы для построения сервис ориентированных решений </li></ul><ul><li>Определить, решения какого класса можно реализовывать с помощью линейки продуктов Intersystems </li></ul><ul><li>Определить к каким категориям модных продуктов можно отнести продукты Intersystems </li></ul>
  4. 4. План <ul><li>Что такое SOA? </li></ul><ul><li>Сервисы и InterSystems Cache </li></ul><ul><li>ESB и InterSystems Ensemble </li></ul><ul><li>Исполняемые процессы и их реализация в Ensemble </li></ul><ul><li>Композитные приложения </li></ul><ul><li>Connected IT инфраструктура </li></ul>
  5. 5. Что такое SOA? <ul><li>Обещания бизнесу полного счастья? </li></ul><ul><li>Навязчивое слово? </li></ul><ul><li>Подход к проектированию и реализации систем? </li></ul><ul><li>Новая инфраструктура и специализированные классы систем? </li></ul><ul><li>Типы проектов, которые принято ассоциировать с SOA? </li></ul><ul><li>Опыт о том, как не надо делать? </li></ul><ul><li>Новый способ управления IT подразделениями? </li></ul><ul><li>В SOA главное совсем и не продукт? </li></ul>
  6. 6. Определения SOA <ul><li>Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains </li></ul><ul><li>OASIS Reference Model for Service Oriented Architecture 1.0 </li></ul><ul><li>SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners. </li></ul><ul><li>http://www.xml.com/pub/a/ws/2003/09/30/soa.html </li></ul>
  7. 7. Прагматичный подход к определению <ul><li>SOA - любой набор лучших практик для построения распределенных систем, которые взаимодействуют между собой </li></ul><ul><li>Фундаментальная основа SOA </li></ul><ul><ul><li>Использование формально описанных взаимодействий между системами </li></ul></ul><ul><ul><li>Переход к открытым стандартам </li></ul></ul><ul><ul><ul><li>XML, HTTP, SOAP, XSD, WSDL </li></ul></ul></ul><ul><ul><li>Взаимодействие зависит от внешних интерфейсов и не зависит от внутренней реализации </li></ul></ul>
  8. 8. Немного о стандартах Хаос стандартов
  9. 9. Distributed & Loosly Coupled <ul><li>Сервис ничего не знает о его потребителях </li></ul><ul><li>Для потребителя вся информация о том, как взаимодействовать с сервисом содержится в контракте (WSDL). Но не все. </li></ul><ul><li>Потребители ничего не знают о других потребителях </li></ul><ul><li>Потребители и сервисы могут работать на разных платформах </li></ul><ul><li>Все необходимое для выполнения бизнес операции сервисом содержится в сообщении и в ответе на него </li></ul><ul><ul><li>Обмен документами </li></ul></ul><ul><ul><li>Семантика документов ясна всем сторонам </li></ul></ul>
  10. 10. Типовой сценарий <ul><li>В ходе автоматизации бизнес процесса декомпозировали функциональность системы на операции. </li></ul><ul><li>Операции определили в WSDL описании интерфейсов </li></ul><ul><li>Структуру сообщений в XSD </li></ul><ul><li>Создали сервис. Проверили, что он соответствует WS-I </li></ul><ul><li>Обеспечили его доступность. Опубликовали его описание в реестре </li></ul><ul><li>Нашли сервис в реестре, сделали клиента </li></ul><ul><li>При обращении клиента к сервису определяем местонахождение через реестр </li></ul>
  11. 11. Сервисы и Cache 2008.2 <ul><li>Подход bottom-up. SOAP Client Wizard. </li></ul><ul><li>Подход top-down. Возможность кастомизировать сгенеренный WSDL. </li></ul><ul><li>Поддерживаются SOAP 1.1 , 1.2, WSDL 1.1., HTTP 1.1 </li></ul><ul><li>Реализована работа с UDDI version 1.0 </li></ul><ul><li>Поддержка .Net DataSet </li></ul>
  12. 12. WS-* и не только. Различные сценарии взаимодействия. <ul><li>Безопасность </li></ul><ul><ul><li>SSL (HTTPS)‏ </li></ul></ul><ul><ul><li>WS-Security. HTTP Auth. </li></ul></ul><ul><li>Асинхронное взаимодействие, корреляция. </li></ul><ul><ul><li>WS-Addressing. </li></ul></ul><ul><li>Производительность </li></ul><ul><ul><li>Транспорты, отличные от HTTP </li></ul></ul><ul><ul><li>Caché binary SOAP format. </li></ul></ul><ul><li>Передача бинарных данных </li></ul><ul><ul><li>MTOM 1.0, SOAP With Attachments </li></ul></ul><ul><li>Службы с состояниями. Session support. </li></ul><ul><li>Проверка на совместимость. WS-Inspection. </li></ul>
  13. 13. SOA Maturity Model, Level I
  14. 14. Определяются операции
  15. 15. Стандартизируются службы
  16. 16. Используются WS-*
  17. 17. Просто сервисы: нерешенные вопросы <ul><li>Проблема сокращения количества связей не решена: </li></ul><ul><li>Каждый из провайдеров сервисов сам обеспечивает инфраструктуру его функционирования </li></ul><ul><li>Управление затруднено </li></ul><ul><li>Нет общего реестра сервисов </li></ul>
  18. 18. Предлагаемое решение - ESB
  19. 19. Enterprise Service Bus <ul><li>Сейчас на рынке более 50 продуктов, называемых ESB. Главное знать, что они должны делать в рамках реализации архитектурного подхода: </li></ul><ul><li>Сервисы не зависят от технологии доступа к ним. Слабая связность в плане протоколов доступа </li></ul><ul><li>Mediation. Маршрутизация, трансформация сообщений </li></ul><ul><li>Канонический формат. Enrichment. </li></ul><ul><li>Общая инфраструктура - безопасность, логгирование, управление, non-blocking вызовы, масштабирование </li></ul><ul><li>В концептуальном плане предполагается работа без состояний </li></ul>
  20. 20. Типичные возможности ESB <ul><li>Invocation. Synchronous and asynchronous transport protocols, service mapping </li></ul><ul><li>Routing Addressability. Static/deterministic routing, content-based routing, rules-based routing, policy-based routing </li></ul><ul><li>Mediation Adapters </li></ul><ul><li>Messaging processing, transformation and enhancement </li></ul><ul><li>Complex Event Processing </li></ul><ul><li>Quality of Service. Security, reliable delivery, transaction management </li></ul><ul><li>Management. Monitoring, audit, logging, metering, admin console, BAM </li></ul>
  21. 21. Реализация ESB в Ensemble <ul><li>Нет продукта InterSystems ESB. Есть лучше - E n S em B le: </li></ul><ul><li>Интеграция </li></ul><ul><ul><li>Что можем слушать: EDI, POP3, File, FTP,HL7, HTTP, IWay, MQ Series,MSMQ, Pipe, SOAP, SQL, TCP, Java, JMS </li></ul></ul><ul><ul><li>Куда можем говорить: EDI, SMTP, File, FTP, HL7, HTTP, IWay, LDAP,MQSeries,MSMQ,Pipe,SAP,Siebel,SOAP,SQL,TCP,Telnet,TN3270, Java,JMS </li></ul></ul><ul><li>Маршрутизация сообщений. EnsLib.MsgRouter.RoutingEngine, BPL. </li></ul><ul><li>Трансформация. Data Transformation Language, XSLT </li></ul><ul><li>Канонизация. Трансформация сообщения в объект класса. </li></ul><ul><li>Business Alarm Monitoring </li></ul><ul><li>Ensemble Management Portal </li></ul>
  22. 22. Реализация ESB в Ensemble
  23. 23. SOA Maturity Model, Level II <ul><li>С высокоуровневой точки зрения в ESB происходит работа без состояний </li></ul><ul><li>Как реализовывать “долгие процессы”? </li></ul><ul><li>Как делать более “крупные” сервисы? </li></ul><ul><li>Как реализовывать сценарии взаимодействия с участием пользователей? </li></ul>
  24. 24. SOA Maturity Model, Level III
  25. 25. Исполняемые процессы <ul><li>Слово одно, характеристики разные: </li></ul><ul><ul><li>Workflow-процессы </li></ul></ul><ul><ul><li>Оркестровка веб служб </li></ul></ul><ul><ul><li>Интеграционные процессы </li></ul></ul><ul><li>Сервера бизнес процессов, два типа: </li></ul><ul><ul><li>BPEL4WS </li></ul></ul><ul><ul><li>XPDL </li></ul></ul>
  26. 26. Бизнес процессы и Ensemble <ul><li>Разработчику проще работать с BPL, чем с BPEL </li></ul><ul><ul><li>XML используется там, где надо </li></ul></ul><ul><ul><li>Более удобные активности, сокращающие код </li></ul></ul><ul><ul><li><branch/> и <label/> </li></ul></ul><ul><ul><li>Проще изменять и тестировать </li></ul></ul><ul><li>Всегда есть возможность унаследовать Ens.BusinessProcess и сделать свой собственный процесс: </li></ul><ul><ul><li>Это важно </li></ul></ul><ul><ul><li>Не нужно начинать с 0. Используем инфраструктуру Ensemble и работаем в привычном окружении </li></ul></ul>
  27. 27. BPMS. Развитие темы. <ul><li>BPM – методология управления бизнеса, основанная на измерении его в процессах </li></ul><ul><li>BPMS решения - исполняемый BPM </li></ul><ul><ul><ul><li>Исполняемые процессы </li></ul></ul></ul><ul><ul><ul><li>Измеряемые критерии </li></ul></ul></ul><ul><ul><ul><li>Оптимизация на базе собранных показателей </li></ul></ul></ul><ul><ul><ul><li>Замкнутый цикл </li></ul></ul></ul><ul><li>Технологическая платформа для моделирования, автоматизации, мониторинга, управления и оптимизации процессов </li></ul><ul><li>BPM + SOA = BPMS </li></ul>
  28. 28. Типовой состав BPMS <ul><li>Инструменты BPM </li></ul><ul><ul><li>Аналитическая модель </li></ul></ul><ul><ul><li>Исполняемая модель </li></ul></ul><ul><ul><ul><li>Human activities. Roles, Tasks, UI, Deadlines </li></ul></ul></ul><ul><ul><ul><li>Automated steps. Component, Process data, Events, Exceptions </li></ul></ul></ul><ul><li>Движок процессов </li></ul><ul><li>Business Rules </li></ul><ul><li>Application Integration </li></ul><ul><li>Performance Management </li></ul><ul><li>Human interaction </li></ul>
  29. 29. BPM + Ensemble = BPMS
  30. 30. SOA Maturity Model, Level IV
  31. 31. Современная IT инфраструктура предприятия. Connected Enterprise
  32. 32. Современная IT инфраструктура предприятия на основе Ensemble <ul><li>Достоинства каждого из подходов объединены в Ensemble: </li></ul><ul><li>BPM </li></ul><ul><ul><li>Прозрачность логики исполнения процесса </li></ul></ul><ul><ul><li>Объединение пользователей и приложений </li></ul></ul><ul><ul><li>Мониторинг исполнения процессов </li></ul></ul><ul><li>SOA </li></ul><ul><ul><li>Разделение ответственности </li></ul></ul><ul><ul><li>Слабая связность компонентов взаимодействия </li></ul></ul><ul><ul><li>Повторное использование компонентов </li></ul></ul><ul><li>EAI </li></ul><ul><ul><li>Связность с приложениями </li></ul></ul><ul><ul><li>Готовые средства для разработки </li></ul></ul>
  33. 33. Почему Ensemble?
  34. 34. Cпасибо! <ul><li>Вопросы? </li></ul><ul><li>Пишите письма: </li></ul><ul><li>[email_address] </li></ul><ul><li>http://writeimagejournal.com/ </li></ul>

×