+ All Categories
Home > Documents > Технологии InterSystems для разработки композитных...

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

Date post: 25-May-2015
Category:
Upload: zubin67
View: 483 times
Download: 13 times
Share this document with a friend
Popular Tags:
34
Технологии InterSystems для разработки композитных приложений. Готовность к SOA. Олег Оленин [email protected]
Transcript
Page 1: Технологии InterSystems для разработки композитных приложений.

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

Готовность к SOA. Олег Оленин

[email protected]

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

... или как из трех букв сложить слово «счастье»

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

Задачи

• Определить, что такое SOA

• Показать, как продукты Intersystems могут быть использованы для построения сервис ориентированных решений

• Определить, решения какого класса можно реализовывать с помощью линейки продуктов Intersystems

• Определить к каким категориям модных продуктов можно отнести продукты Intersystems

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

План

• Что такое SOA?Что такое SOA?

• Сервисы и InterSystems CacheСервисы и InterSystems Cache

• ESB и InterSystems EnsembleESB и InterSystems Ensemble

• Исполняемые процессы и их реализация в Исполняемые процессы и их реализация в EnsembleEnsemble

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

• Connected IT инфраструктураConnected IT инфраструктура

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

Что такое SOA?

• Обещания бизнесу полного счастья?

• Навязчивое слово?

• Подход к проектированию и реализации систем?

• Новая инфраструктура и специализированные классы систем?

• Типы проектов, которые принято ассоциировать с SOA?

• Опыт о том, как не надо делать?

• Новый способ управления IT подразделениями?

• В SOA главное совсем и не продукт?

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

Определения 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 для разработки композитных приложений.

Прагматичный подход к определению

• SOA - любой набор лучших практик для построения SOA - любой набор лучших практик для построения распределенных систем, которые взаимодействуют распределенных систем, которые взаимодействуют между собоймежду собой

• Фундаментальная основа SOAФундаментальная основа SOA– Использование формально описанных Использование формально описанных

взаимодействий между системамивзаимодействий между системами– Переход к открытым стандартамПереход к открытым стандартам

• XML, HTTP, SOAP, XSD, WSDLXML, HTTP, SOAP, XSD, WSDL– Взаимодействие зависит от внешних интерфейсов и Взаимодействие зависит от внешних интерфейсов и

не зависит от внутренней реализациине зависит от внутренней реализации

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

Немного о стандартах

Хаос стандартов

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

Distributed & Loosly Coupled

• Сервис ничего не знает о его потребителяхСервис ничего не знает о его потребителях

• Для потребителя вся информация о том, как Для потребителя вся информация о том, как взаимодействовать с сервисом содержится в контракте взаимодействовать с сервисом содержится в контракте (WSDL). Но не все.(WSDL). Но не все.

• Потребители ничего не знают о других потребителяхПотребители ничего не знают о других потребителях

• Потребители и сервисы могут работать на разных Потребители и сервисы могут работать на разных платформахплатформах

• Все необходимое для выполнения бизнес операции Все необходимое для выполнения бизнес операции сервисом содержится в сообщении и в ответе на него сервисом содержится в сообщении и в ответе на него – Обмен документамиОбмен документами– Семантика документов ясна всем сторонамСемантика документов ясна всем сторонам

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

Типовой сценарий

• В ходе автоматизации бизнес процесса декомпозировали функциональность системы на операции.

• Операции определили в WSDL описании интерфейсов

• Структуру сообщений в XSD

• Создали сервис. Проверили, что он соответствует WS-I

• Обеспечили его доступность. Опубликовали его описание в реестре

• Нашли сервис в реестре, сделали клиента

• При обращении клиента к сервису определяем местонахождение через реестр

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

Сервисы и 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 для разработки композитных приложений.

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 для разработки композитных приложений.

SOA Maturity Model, Level I

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

Определяются операции

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

Стандартизируются службы

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

Используются WS-*

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

Просто сервисы: нерешенные вопросы

Проблема сокращения количества связей не решена:

• Каждый из провайдеров сервисов сам обеспечивает инфраструктуру его функционирования

• Управление затруднено

• Нет общего реестра сервисов

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

Предлагаемое решение - ESB

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

Enterprise Service Bus

Сейчас на рынке более 50 продуктов, называемых ESB. Главное знать, что они должны делать в рамках реализации архитектурного подхода:

• Сервисы не зависят от технологии доступа к ним. Слабая связность в плане протоколов доступа

• Mediation. Маршрутизация, трансформация сообщений• Канонический формат. Enrichment.• Общая инфраструктура - безопасность, логгирование, управление,

non-blocking вызовы, масштабирование• В концептуальном плане предполагается работа без состояний

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

Типичные возможности 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 для разработки композитных приложений.

Реализация 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 для разработки композитных приложений.

Реализация ESB в Ensemble

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

SOA Maturity Model, Level II

• С высокоуровневой точки С высокоуровневой точки зрения в ESB происходит зрения в ESB происходит работа без состоянийработа без состояний

• Как реализовывать “долгие Как реализовывать “долгие процессы”?процессы”?

• Как делать более “крупные” Как делать более “крупные” сервисы?сервисы?

• Как реализовывать сценарии Как реализовывать сценарии взаимодействия с участием взаимодействия с участием пользователей?пользователей?

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

SOA Maturity Model, Level III

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

Исполняемые процессы

• Слово одно, характеристики разные:Слово одно, характеристики разные:– Workflow-процессыWorkflow-процессы– Оркестровка веб службОркестровка веб служб– Интеграционные процессыИнтеграционные процессы

• Сервера бизнес процессов, два типа:Сервера бизнес процессов, два типа:– BPEL4WS BPEL4WS – XPDLXPDL

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

Бизнес процессы и Ensemble

• Разработчику проще работать с BPL, чем с BPEL– XML используется там, где надо– Более удобные активности, сокращающие код– <branch/> и <label/>– Проще изменять и тестировать

• Всегда есть возможность унаследовать Ens.BusinessProcess и сделать свой собственный процесс:

– Это важно– Не нужно начинать с 0. Используем инфраструктуру

Ensemble и работаем в привычном окружении

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

BPMS. Развитие темы.

• BPM – методология управления бизнеса, основанная на BPM – методология управления бизнеса, основанная на измерении его в процессахизмерении его в процессах

• BPMS решения - исполняемый BPMBPMS решения - исполняемый BPM• Исполняемые процессыИсполняемые процессы• Измеряемые критерииИзмеряемые критерии• Оптимизация на базе собранных показателейОптимизация на базе собранных показателей• Замкнутый циклЗамкнутый цикл

• Технологическая платформа для моделирования, Технологическая платформа для моделирования, автоматизации, мониторинга, управления и оптимизации автоматизации, мониторинга, управления и оптимизации процессовпроцессов

• BPM + SOA = BPMSBPM + SOA = BPMS

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

Типовой состав 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 для разработки композитных приложений.

BPM + Ensemble = BPMS

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

SOA Maturity Model, Level IV

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

Современная IT инфраструктура предприятия. Connected Enterprise

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

Современная IT инфраструктура предприятия на основе Ensemble

Достоинства каждого из подходов объединены в Достоинства каждого из подходов объединены в Ensemble:Ensemble:

• BPMBPM– Прозрачность логики исполнения процессаПрозрачность логики исполнения процесса– Объединение пользователей и приложенийОбъединение пользователей и приложений– Мониторинг исполнения процессовМониторинг исполнения процессов

• SOASOA– Разделение ответственностиРазделение ответственности– Слабая связность компонентов взаимодействияСлабая связность компонентов взаимодействия– Повторное использование компонентовПовторное использование компонентов

• EAI EAI – Связность с приложениямиСвязность с приложениями– Готовые средства для разработкиГотовые средства для разработки

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

Почему Ensemble?

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

Cпасибо!

Вопросы?Вопросы?

Пишите письма:Пишите письма:

[email protected]

http://writeimagejournal.com/http://writeimagejournal.com/


Recommended