Технологии InterSystems для разработки композитных...
Transcript of Технологии InterSystems для разработки композитных...
Технологии InterSystems для разработки композитных приложений.
Готовность к SOA. Олег Оленин
... или как из трех букв сложить слово «счастье»
Задачи
• Определить, что такое SOA
• Показать, как продукты Intersystems могут быть использованы для построения сервис ориентированных решений
• Определить, решения какого класса можно реализовывать с помощью линейки продуктов Intersystems
• Определить к каким категориям модных продуктов можно отнести продукты Intersystems
План
• Что такое SOA?Что такое SOA?
• Сервисы и InterSystems CacheСервисы и InterSystems Cache
• ESB и InterSystems EnsembleESB и InterSystems Ensemble
• Исполняемые процессы и их реализация в Исполняемые процессы и их реализация в EnsembleEnsemble
• Композитные приложенияКомпозитные приложения
• Connected IT инфраструктураConnected IT инфраструктура
Что такое SOA?
• Обещания бизнесу полного счастья?
• Навязчивое слово?
• Подход к проектированию и реализации систем?
• Новая инфраструктура и специализированные классы систем?
• Типы проектов, которые принято ассоциировать с SOA?
• Опыт о том, как не надо делать?
• Новый способ управления IT подразделениями?
• В SOA главное совсем и не продукт?
Определения 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
Прагматичный подход к определению
• SOA - любой набор лучших практик для построения SOA - любой набор лучших практик для построения распределенных систем, которые взаимодействуют распределенных систем, которые взаимодействуют между собоймежду собой
• Фундаментальная основа SOAФундаментальная основа SOA– Использование формально описанных Использование формально описанных
взаимодействий между системамивзаимодействий между системами– Переход к открытым стандартамПереход к открытым стандартам
• XML, HTTP, SOAP, XSD, WSDLXML, HTTP, SOAP, XSD, WSDL– Взаимодействие зависит от внешних интерфейсов и Взаимодействие зависит от внешних интерфейсов и
не зависит от внутренней реализациине зависит от внутренней реализации
Немного о стандартах
Хаос стандартов
Distributed & Loosly Coupled
• Сервис ничего не знает о его потребителяхСервис ничего не знает о его потребителях
• Для потребителя вся информация о том, как Для потребителя вся информация о том, как взаимодействовать с сервисом содержится в контракте взаимодействовать с сервисом содержится в контракте (WSDL). Но не все.(WSDL). Но не все.
• Потребители ничего не знают о других потребителяхПотребители ничего не знают о других потребителях
• Потребители и сервисы могут работать на разных Потребители и сервисы могут работать на разных платформахплатформах
• Все необходимое для выполнения бизнес операции Все необходимое для выполнения бизнес операции сервисом содержится в сообщении и в ответе на него сервисом содержится в сообщении и в ответе на него – Обмен документамиОбмен документами– Семантика документов ясна всем сторонамСемантика документов ясна всем сторонам
Типовой сценарий
• В ходе автоматизации бизнес процесса декомпозировали функциональность системы на операции.
• Операции определили в WSDL описании интерфейсов
• Структуру сообщений в XSD
• Создали сервис. Проверили, что он соответствует WS-I
• Обеспечили его доступность. Опубликовали его описание в реестре
• Нашли сервис в реестре, сделали клиента
• При обращении клиента к сервису определяем местонахождение через реестр
Сервисы и 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
WS-* и не только. Различные сценарии взаимодействия.
• Безопасность– SSL (HTTPS)– WS-Security. HTTP Auth.
• Асинхронное взаимодействие, корреляция. – WS-Addressing.
• Производительность– Транспорты, отличные от HTTP– Caché binary SOAP format.
• Передача бинарных данных– MTOM 1.0, SOAP With Attachments
• Службы с состояниями. Session support.• Проверка на совместимость. WS-Inspection.
SOA Maturity Model, Level I
Определяются операции
Стандартизируются службы
Используются WS-*
Просто сервисы: нерешенные вопросы
Проблема сокращения количества связей не решена:
• Каждый из провайдеров сервисов сам обеспечивает инфраструктуру его функционирования
• Управление затруднено
• Нет общего реестра сервисов
Предлагаемое решение - ESB
Enterprise Service Bus
Сейчас на рынке более 50 продуктов, называемых ESB. Главное знать, что они должны делать в рамках реализации архитектурного подхода:
• Сервисы не зависят от технологии доступа к ним. Слабая связность в плане протоколов доступа
• Mediation. Маршрутизация, трансформация сообщений• Канонический формат. Enrichment.• Общая инфраструктура - безопасность, логгирование, управление,
non-blocking вызовы, масштабирование• В концептуальном плане предполагается работа без состояний
Типичные возможности 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
Реализация 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
Реализация ESB в Ensemble
SOA Maturity Model, Level II
• С высокоуровневой точки С высокоуровневой точки зрения в ESB происходит зрения в ESB происходит работа без состоянийработа без состояний
• Как реализовывать “долгие Как реализовывать “долгие процессы”?процессы”?
• Как делать более “крупные” Как делать более “крупные” сервисы?сервисы?
• Как реализовывать сценарии Как реализовывать сценарии взаимодействия с участием взаимодействия с участием пользователей?пользователей?
SOA Maturity Model, Level III
Исполняемые процессы
• Слово одно, характеристики разные:Слово одно, характеристики разные:– Workflow-процессыWorkflow-процессы– Оркестровка веб службОркестровка веб служб– Интеграционные процессыИнтеграционные процессы
• Сервера бизнес процессов, два типа:Сервера бизнес процессов, два типа:– BPEL4WS BPEL4WS – XPDLXPDL
Бизнес процессы и Ensemble
• Разработчику проще работать с BPL, чем с BPEL– XML используется там, где надо– Более удобные активности, сокращающие код– <branch/> и <label/>– Проще изменять и тестировать
• Всегда есть возможность унаследовать Ens.BusinessProcess и сделать свой собственный процесс:
– Это важно– Не нужно начинать с 0. Используем инфраструктуру
Ensemble и работаем в привычном окружении
BPMS. Развитие темы.
• BPM – методология управления бизнеса, основанная на BPM – методология управления бизнеса, основанная на измерении его в процессахизмерении его в процессах
• BPMS решения - исполняемый BPMBPMS решения - исполняемый BPM• Исполняемые процессыИсполняемые процессы• Измеряемые критерииИзмеряемые критерии• Оптимизация на базе собранных показателейОптимизация на базе собранных показателей• Замкнутый циклЗамкнутый цикл
• Технологическая платформа для моделирования, Технологическая платформа для моделирования, автоматизации, мониторинга, управления и оптимизации автоматизации, мониторинга, управления и оптимизации процессовпроцессов
• BPM + SOA = BPMSBPM + SOA = BPMS
Типовой состав BPMS
• Инструменты BPM– Аналитическая модель– Исполняемая модель
• Human activities. Roles, Tasks, UI, Deadlines• Automated steps. Component, Process data, Events,
Exceptions• Движок процессов• Business Rules• Application Integration• Performance Management• Human interaction
BPM + Ensemble = BPMS
SOA Maturity Model, Level IV
Современная IT инфраструктура предприятия. Connected Enterprise
Современная IT инфраструктура предприятия на основе Ensemble
Достоинства каждого из подходов объединены в Достоинства каждого из подходов объединены в Ensemble:Ensemble:
• BPMBPM– Прозрачность логики исполнения процессаПрозрачность логики исполнения процесса– Объединение пользователей и приложенийОбъединение пользователей и приложений– Мониторинг исполнения процессовМониторинг исполнения процессов
• SOASOA– Разделение ответственностиРазделение ответственности– Слабая связность компонентов взаимодействияСлабая связность компонентов взаимодействия– Повторное использование компонентовПовторное использование компонентов
• EAI EAI – Связность с приложениямиСвязность с приложениями– Готовые средства для разработкиГотовые средства для разработки
Почему Ensemble?
Cпасибо!
Вопросы?Вопросы?
Пишите письма:Пишите письма:
http://writeimagejournal.com/http://writeimagejournal.com/