Описание
Прохождение тренинга позволит увидеть все основные варианты интеграции как независимых систем и приложений, так и отдельных подсистем внутри одной системы.
Такая интеграция может выполняться практически незаметно для самих систем, например использованием BPM-системы для их вызова, или путем экспорта данных из одной и импорта в другую, или путем описания шагов ETL-процесса в соответствующем инструменте.
Но чаще где-то в приложении происходит обращение к чужому сервису, вызов удаленной процедуры и отправка сообщения в очередь, то есть одно приложение целенаправленно взаимодействует с другим. Мы рассмотрим, как разные способы интеграции – синхронные и асинхронные, пакетные и индивидуальные, с ответами и без ответов, так и стандарты, которые позволяют использовать готовые проверенные решения – SOAP, WSDL, REST, HATEOAS, RPC.
Конкретные технологии начнем рассматривать с очередей сообщений, затем выясним, в чем разница (и есть ли она) между брокерами сообщений и корпоративными сервисными шинами (ESB), а также шинами сообщений, шинами данных и интеграционными шинами.
Большой модуль содержит описания паттернов интеграции – не только из соответствующей книжки, но и дополнительные паттерны, которые один из ее авторов (Gregor Hohpe) описал только на своем сайте.
Дополнительно в тренинге рассматриваются некоторые шаблоны и анти-шаблоны для обеспечения стабильности интеграционных решений.
Знания, полученные на данном тренинге, позволят слушателям строить по-настоящему надежные, легко расширяемые и поддерживаемые интеграционные решения с учетом потребностей бизнеса и неизбежных компромиссов в условиях ограниченных ресурсов.
удостоверение о повышении квалификации государственного образца
Цели
- обоснованно выбирать подход к интеграции, исходя из существующих технических и бизнес-ограничений;
- понимать, на какие компромиссы придется пойти при выборе конкретного похода и осмысленно делать выбор на базе проверенных шаблонов;
- строить архитектуру решения, исходя из потребностей и ожиданий как бизнеса, так и конечных пользователей;
- строить гибкое интеграционное решение, способное на адаптацию к изменчивым задачам бизнеса в кратчайшие сроки.
Целевая аудитория
Предварительная подготовка
Разбираемые темы
-
1. Обзор (теория 1 ч, практика 1 ч)
- Интеграция: определение, задачи, обзор основных направлений и технологий (EAI, EII, ETL, SOA), интеграция на разных уровнях: бизнес-логики, презентационном и бизнес-процессов;
- Интеграция на уровне данных: подходы и их ограничения (общая база данных, хранилище данных, витрины данных, федеративные базы данных).
-
2. Интеграционные требования (теория: 1,5 ч, практика 1 ч)
- Способы сбора и описания, функциональные требования, нефункциональные требования.
-
3. Промышленные стандарты интеграции (теория: 2 ч, практика 2 ч)
- Обзор OASIS, W3C, WS-I; SOAP; REST. Форматы обмена сообщениями: XML, JSON, ProtoBuf, Avro;
- Системы обмена сообщениями и их интерфейсов (AMPQ 0.9, 1.0).
-
4. Инструменты и средства интеграции (теория: 1,5 ч, практика 1 ч)
- Основные функции; основные производители: Messaging, ESB, ETL, Integration frameworks.
-
5. Шаблоны интеграции приложений (Enterprise Integration Patterns) (теория: 4 ч, практика 4 ч)
- Подходы и шаблоны при реализации функциональных требований;
- Подходы при реализации нефункциональных требований;
- Способы построения сервисов и интеграционных решений, лучшие практики.
-
6. Шаблоны коммуникации приложений (теория: 2 ч, практика 1 ч)
- Подходы и шаблоны при реализации функциональных требований. Подходы при реализации нефункциональных требований. Способы построения сервисов и интеграционных решений, лучшие практики.
-
7. Обеспечение стабильности (теория: 1 ч, практика 1 ч)
- Практики обеспечения стабильности интеграции, и что может привести к печальным последствиям (Dogpile, Slow Responses, Bulkhead, Bounded datasets и другие).
Андрей с 2007 г. занимается разработкой ПО в финансовой области с использованием стека технологий .Net. Имеет большой опыт построения middle-ware-систем, а также обладает технологической экспертизой решений. Основные задачи стоят в области интегрирования нескольких разрозненных систем в единую информационную систему с высоким уровнем отклика.
Более 5 лет Андрей активно ведет собственный блог (http://softblog.violet-tape.ru), где рассказывает о технологиях разработки в статьях и видеоуроках. Является постоянным участником дискуссионного клуба Microsoft «Клуб директоров разработки». Также выступал в качестве автора для журнала MSDeveloper.ru.
Андрей постоянно интересуется новыми технологиями, способными сократить рутинную ручную работу, максимально отделить рутинные процессы от человеческого влияния: Continuous Integration, Testing, Deployment.
В Luxoft Training Андрей проводил курсы для сотрудников таких компаний, как Aker Solutions, Ижмаш - Беспилотные системы, Ойл-Телеком, Лаборатория Касперского, Московская биржа - Технологии, Video International, Ай-Теко, UBS, CreditSuisse.