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