Практический курс для тех, кто стремится стать экспертом в области интеграционных решений и межсистемного взаимодействия! Вы узнаете, когда необходимо использовать асинхронное взаимодействие, какие принципы лежат в основе проектирования структуры JSON-сообщений, и как убедительно аргументировать выбор интеграции через REST API.
Погрузитесь в мир продвинутого Java Spring и откройте новые горизонты в разработке современных приложений. Этот курс не только углубит ваше понимание фреймворка, но и научит вас оптимизировать производительность и безопасность приложений, используя последние практики и инструменты. Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как документирование REST-сервисов, сериализация данных, транзакции в Spring, JWT-авторизация, практическое применение WebFlux, тестирование, развертывание в Docker и многим другим.
Курс посвящен повышению производительности Java-приложений: выявлению узких мест, подходам и методам для повышения производительности, а также инструментам и библиотекам, позволяющим добиться высокой производительности.
Погрузитесь в современные парадигмы Java: функциональное, асинхронное и реактивное программирование. Этот курс не только расширит ваше понимание Java, но и научит эффективно использовать современные подходы для создания масштабируемых и производительных приложений. Вы освоите ключевые концепции и инструменты, такие как NIO2, CompletableFuture, RxJava, Reactor, R2DBC, SSE, Spring Data reactive, WebClient, reactive WebSocket, RSocket, которые помогут вам оставаться на передовой IT-индустрии.
Практический курс по основам архитектуры ПО. Тренинг предлагает глубокое понимание системной архитектуры и её роли в разработке ПО. Участники освоят выявление требований, проектирование, документирование и анализ архитектуры, а также научатся применять эти практики в реальных проектах. Курс охватывает весь жизненный цикл разработки ПО, включая взаимодействие с заинтересованными сторонами и использование гибких методологий. Основные темы: архитектурные стили, атрибуты качества, ATAM, 4+1, QAW, управление рисками и компромиссами. Идеально подходит для архитекторов, разработчиков, аналитиков и менеджеров проектов. Вы с практической точки зрения проанализируете пример: от постановки бизнес-целей к созданию чернового архитектурного документа, а также получите обратную связь.
Кратко об архитектуре ПО. Роль архитектора. Сходства и различия ролей.
Работа архитектора в Agile. Функциональные и кросс-функциональные команды.
Сквозной пример. Работа со стейкхолдерами. Бизнес-требования и функциональные требования. Методы сбора требований. Атрибуты качества (НФТ). Доменные контексты.
Проектирование архитектуры. Архитектурные стили. Site Reliability Engineering (SRE).
Введение в документирование архитектуры. Сочетание архитектурных представлений. Инструменты и форматы.
Проверка принятых проектных решений. Tiny Architectural Review Approach (TARA). Cost-Benefit Analysis Method (CBAM).
Освойте полный цикл работы с требованиями — от выявления потребностей до документирования в Agile и классических подходах. Научитесь превращать разрозненные пожелания заказчиков в четкие требования с помощью FURPS+, user stories и UML. Практикум с реальными кейсами и поддержкой экспертов.
Программа «Архитектор ПО. Путь к мастерству в проектировании систем» подробно рассказывает о работе программного архитектора. Начать обучение можно с 5 бесплатных уроков*, а затем перейти к полной версии программы. Курс учит планировать будущее развитие сложных систем с нуля: выбирать инструменты и средства моделирования архитектуры, формат документирования архитектурных решений, выбирать архитектурный стиль под конкретную бизнес-задачу, планировать будущее масштабирование, гибкость. Знакомит с лучшими практиками построения архитектуры программного обеспечения.
Тема 1: Понятия архитектуры: основные термины и определения.
Тема 2: Понятия архитектуры: критерии качества архитектуры.
Тема 3: Роли и виды архитекторов.
Тема 4: Архитектурные стили: монолит.
Тема 5: Архитектурные стили: микросервисы.
Тема 6: Принципы DDD.
Тема 7: Clean Architecture: правила создания архитектур.
Тема 8: Архитектурные стили: событийно-управляемая архитектура.
Тема 9: Архитектурные стили: классический ETL/DWH/BI.
Тема 10: Позиция архитектора в Agile-проекте.
Практика: Проект «Mobile Street Food». Этап работ: предложить разбиение системы на модули/микросервисы. Отобразить связи модулей/микросервисов на компонентной диаграмме.
Итого на курс 24 часа:
Тема 1: Управление заинтересованными сторонами (стейкхолдерами) проекта.
Тема 2: Виды требований и атрибуты качества.
Тема 3: Влияние нефункциональных требований на архитектуру.
Тема 4: Сбор и работа с функциональными требованиями.
Тема 5: Дополнительные виды требований: ограничения.
Тема 6: Управление критериями надёжности (SLA, SLO, SLI).
Тема 7: Работа с архитектурными изменениями.
Практика: Проект «Mobile Street Food». Этап работ: выделить наиболее приоритетные функциональные требования, сформулировать их в виде пользовательских историй. Сформулировать нефункциональные требования к системе в виде сценариев атрибутов качества. Составить требования к качеству системы с точки зрения масштабов и планов развития бизнеса.
Итого на курс 26 часов:
Тема 1: Проектирование от атрибутов качества.
Тема 2: Тактики и паттерны проектирования.
Практика: Проект «Mobile Street Food». Этап работ: ранжировать требования и выбрать тактики для достижения требований каждой из групп. Создать диаграмму/таблицу взаимосвязи требований.
Итого на курс 28 часов:
Тема 1: Задача коммуникации приложений.
Тема 2: Уровни (методы) интеграционных решений.
Тема 3: Шаблоны коммуникации в контексте приложений и микросервисной архитектуры: применение и практические сценарии.
Тема 4: Синхронное взаимодействие и REST: основы, генерация API и управление версиями.
Тема 5: REST API: рекомендации по дизайну, блокировкам, кешированию и версионированию.
Тема 6: OpenAPI Spec: интеграция и API First подход в создании удобных и гибких интерфейсов.
Тема 7: Архитектура сообщений: ключевые паттерны и методы разработки.
Тема 8: AsyncAPI: организация асинхронного взаимодействия.
Тема 9: Технологии асинхронного обмена сообщениями: RabbitMQ, Kafka в сравнении.
Тема 10: Интеграция баз данных и ETL: сильные стороны, метрики и методы оптимизации.
Тема 11: Capture Data Changes: анализ Debezium и его использование в различных сценариях.
Тема 12: Интеграция через файлы: особенности, преимущества и правила наименования.
Тема 13: Использование вспомогательных протоколов и средств интеграции API.
Практика: Этап работ: спроектировать REST API для работы с заказами с точки зрения клиентского приложения. Описать процессы взаимодействия «заказчик-исполнитель», приёма платежей, поддержки. Отобразить процессы на диаграмме потоков данных. Предложить значения для триггеров уведомлений службы поддержки.
Итого на курс 54 часа:
Тема 1: Реляционные и нереляционные базы данных: обзор, особенности и гарантии доступности.
Тема 2: Как выбрать базу данных на основании требований и контекста.
Тема 3: Организация конкурентного доступа: стратегии блокировок, изоляции транзакций и обеспечение согласованности; детали реализации транзакций и блокировок: обзор PostgreSQL, MySQL и их возможностей. CAP-теорема.
Тема 4: Современные тактики производительности реляционной базы данных.
Тема 5: Виды нереляционных баз данных: обзор, гарантии; отличия и детали реализации нереляционных баз данных.
Тема 6: Проектирование моделей данных.
Практика: Проект «Mobile Street Food». Этап работ: спроектировать модель данных системы, нарисовать ER-диаграмму. Выбрать базу данных и обосновать выбор.
Итого на курс 42 часа:
Тема 1: Технологии виртуализации.
Тема 2: Основы построения информационных сетей.
Тема 3: Архитектура Linux.
Тема 4: Основы CI/CD: построение процессов с использованием Jenkins, GitLab, Ansible.
Тема 5: Мониторинг и наблюдаемость системы: паттерны, инструменты и протоколы.
Тема 6: Проектирование облачной архитектуры: провайдеры, возможности, экономика.
Тема 7: Проектирование облачной архитектуры: паттерны.
Тема 8: Разработка 12-факторного приложения.
Тема 9: Контрактные обязательства сервиса: метрики надёжности, SLA, RTO, RPO и паттерны реализации.
Тема 10: Понимание Kubernetes: типы сущностей, Helm, CI/CD и балансировка трафика.
Практика: Проект «Mobile Street Food». Этап работ: выбрать технологии развертывания сквозного примера, нарисовать диаграмму развертывания, расположить программные элементы по элементам инфраструктуры. Описать метрики мониторинга, технические средства обеспечения отказоустойчивости и масштабирования. Выполнить предварительный расчёт оборудования продуктивной среды: CPU, RAM, Disk.
Итого на курс 42 часа:
Тема 1: UML для моделирования и анализа систем.
Тема 2: BPMN для моделирования бизнес-процессов.
Тема 3: Нотация 4+1 для анализа и проектирования архитектуры.
Тема 4: Нотация C4 для наглядного и эффективного проектирования архитектуры.
Тема 5: Изучение подхода ADR для документации архитектурных решений.
Тема 6: Язык ArchiMate.
Практика: Проект «Mobile Street Food». Этап работ: нарисовать BPMN-диаграмму для процесса заказа, оплаты и получения услуги с учётом начисления и списания баллов лояльности. Нарисовать две диаграммы последовательности (UML Sequence Diagram), отображающие работу с заказами.
Итого на курс 32 часа:
Тема 1: Сдавать задачи в срок: принципы личной эффективности.
Тема 2: Как развивать команду и выстраивать коммуникации.
Итого на курс 2 часа.
В ходе обучения вы будете работать над сквозным проектом «Mobile Street Food» под руководством опытного тренера. Проект предоставляет все необходимые материалы и шаблоны решений, которые станут полезными в вашей дальнейшей профессиональной деятельности. Выполняя задачи проекта, вы освоите навыки принятия решений, разработки архитектурных концепций и эффективного представления информации. Благодаря поддержке тренера, вы успешно завершите проект и получите ценные знания для уверенного старта в сфере разработки и инноваций.
Освойте стратегические и тактические паттерны DDD на реальных примерах. Вы поймете, как применять эти паттерны для построения эффективных архитектур, которые адаптируются к изменениям в бизнес-требованиях. Практика на типичных кейсах позволит вам закрепить знания и подготовиться к решению сложных задач в вашей компании.
Доменные эксперты. Функциональные и нефункциональные требования, атрибуты качества. Шаблоны реализации доменной логики. Связь DDD & Agile.
Общий язык. Роль историй в понимании домена. Event Storming. Разбиение на домены. Impact mapping. User story mapping. Quality Attribute Workshop.
Типы поддоменов и разбиение. Ограниченные контексты. Контекстные карты и шаблоны. Топология команд.
Полезные шаблоны тактического дизайна. Объекты значения и шаблоны на их основе. Сущности. Агрегаты. Сервисы. Фабрики. Репозитории.
Анемичный домен и причины. Работа с «устаревшими системами». Интеграция контекстов. Типы сообщений и коммуникация между поддоменами.
Курс предлагает уникальную возможность изучить ключевые задачи и методы бизнес-анализа в области знания «Планирование и мониторинг бизнес-анализа» BABOK Guide 3.0. Слушатели получат практические навыки и знания, которые помогут им эффективно планировать и контролировать бизнес-анализ в проектах.
Научитесь описывать бизнес-процессы на универсальном языке BPMN, понятном бизнесу и IT! Курс дает фундаментальные знания стандарта BPMN 2.0, необходимые для моделирования процессов разной сложности. Вы освоите базовые элементы нотации и научитесь создавать простые модели, закладывая основу для дальнейшего изучения и самостоятельной работы.