Чат поддержки
Практикум
Привет! Это поддержка Практикума 👋 Если что-то не получается — постараемся помочь. Пишите в чат или выберите другой способ связи
пт, 2 декабряв 17:21
Мы уже начали заниматься вашим вопросом, ответим в ближайшее время
Практикум

Здравствуйте!

Поддержка не сможет помочь с вопросами, связанными с теорией или задачам из курса «Системный аналитик» — в этой ситуации рекомендуем вам обратиться к вашему преподавателю в чате в Slack.

Если же у вас возникнут иные вопросы — обязательно пишите, будем рады помочь :)

17:24
Выбрать способ связи
Виктория Казмина
kazminaviktoriya1
Пригласить друга
Перейти в профиль
Выйти из профиля
ViktoriyaPolyakova81
natalyaefremova78
tatyana1988tatiana
MiloMilo83
SvetlanaKuznezova1987
milomilo79.maria
tanya1999petrova
Добавить аккаунт

Программные интерфейсы

спринт Программные интерфейсы
Компьютерная сеть и протоколы
6/6
О чём этот спринт
Сетевая модель OSI
Сетевая модель TCP/IP
HTTP-запрос
Параметры HTTP-запроса
HTTP-ответ
Стили представления данных
2/2
Postman
2/2
Стили взаимодействия
4/4
Проектирование взаимодействия
1/1
Воркшоп и домашнее задание
1/2
Заключение
1/1

О чём этот спринт

В этом уроке вы узнаете, что такое взаимодействие процессов и приложений и как системный аналитик участвует в процессе моделирования и проектирования взаимодействия приложений.

Взаимодействие процессов

Когда вы запускаете на своём компьютере приложение, операционная система (ОС) создаёт процесс (Process) для его выполнения. Приложение представляет собой набор инструкций, которые выполняет компьютер, тогда как процесс — это экземпляр выполняемого приложения.
Например, веб-браузер (Safari, Google Chrome, Edge) — это приложение. Когда вы открываете веб-браузер, ОС создаёт одноимённый процесс. Компьютер выполняет инструкции приложения в рамках этого процесса.
Для выполнения одного приложения может быть запущено множество процессов. Например, когда вы открываете в веб-браузере вкладки, то по указанию веб-браузера ОС может создать отдельные процессы для каждой открытой вкладки.
Примеры процессов можно увидеть в утилитах «Мониторинг системы» (macOS) и «Диспетчер задач» (Windows).
Кроме того, процессы одного приложения могут работать на разных компьютерах. Например, процессы приложения с многозвенной клиент-серверной архитектурой распределены между несколькими устройствами в одной сети: клиентами, веб-сервером, сервером приложений и сервером базы данных. Эти процессы не просто взаимодействуют, а зависят друг от друга: одно звено не может работать без других.
Взаимодействие между разными процессами одного приложения называют межпроцессным взаимодействием (Inter-Process Communication), тогда как взаимодействие разных приложений называют интеграцией. Нельзя называть интеграцией взаимодействие разных процессов одного приложения.

Взаимодействие приложений

Приложения редко существуют изолированно от других приложений. Практически каждое из них может стать лучше, взаимодействуя с другими приложениями.
Например, приложение для мобильного телефона, оценивающее состояние здоровья пользователя, может взаимодействовать с приложениями для разных мобильных устройств:
  • Фитнес-браслетов и умных часов Собирает и хранит данные о сердечном ритме, уровне кислорода в крови и количестве шагов.
  • Умных напольных весов Собирает и хранит данные о массе тела.
  • Умных тонометров Собирает и хранит данные о кровяном давлении.
Приложение для мобильного телефона будет использовать собранные устройствами данные для оценки состояния здоровья и отображения этой информации пользователю на экране мобильного телефона.
Интеграцией приложений (Application Integration) называют взаимодействие независимых друг от друга приложений. Каждое взаимодействующее (интегрированное) приложение самостоятельно выполняет определённый набор функций, при этом обращаясь по сети к другим приложениям для выполнения некоторых дополнительных функций.
Например, в мобильном приложении для оценки состояния здоровья пользователь может настраивать персональное расписание сна, списки принимаемых лекарств, витаминов и биологически активных добавок.
Существует четыре основных стиля взаимодействия (интеграции) приложений, которые позволяют приложениям обмениваться данными и давать друг другу указания:
  • Передача файлов (File Transfer) Приложение создаёт файлы с данными, которые необходимы другим приложениям, и использует файлы, созданные другими приложениями.
  • Общая база данных (Shared Database) Данные, необходимые разным приложениям, хранятся в одной базе данных.
  • Удалённый вызов процедур (Remote Procedure Invocation) Каждое приложение описывает для других приложений все процедуры, которые можно вызвать удалённо (например, с другого компьютера), чтобы обменяться данными или дать указания. Процедурой называют часть программного кода, которая выполняет некоторую функцию. Под вызовом процедуры понимают выполнение функции.
  • Обмен сообщениями (Messaging) Приложения связаны с общей системой обмена сообщениями, с помощью которой обмениваются данными и дают указания друг другу.
Приложение может быть интегрировано с другими приложениями с помощью разных стилей: например, оно может передать одному приложению файлы и вызвать процедуры другого приложения.
Стиль взаимодействия архитектор ПО и разработчики интегрируемых приложений выбирают во время проектирования взаимодействия.

Программный интерфейс (API)

Важной частью процесса разработки взаимодействия приложений является разработка интерфейса прикладного программирования (Application Programming Interface — API, программный интерфейс).
Программный интерфейс приложения описывает набор указаний, которые оно может выполнить по запросу других приложений. Указаниями могут быть выполнение функции, предоставление или получение данных.
Существует множество стилей API, например: REST, HATEOAS, SOAP, GraphQL, gRPC.
Системный аналитик участвует в процессе разработки API, моделируя требования к нему. СА также часто занимается изучением существующих API приложений, чтобы понять, например, какие из них могут стать источниками данных для разрабатываемого приложения.
Модель требований к API может быть спроектирована и реализована с использованием любого стиля. Стиль программного интерфейса архитектор ПО и команда разработки выбирают во время проектирования API.

Проектирование и реализация взаимодействия

Стили взаимодействия и стили API могут определять такие детали проектирования и реализации взаимодействия, как:
  • Протокол компьютерной коммуникации (Computer Communication Protocol) Набор семантических и синтаксических правил для обмена данными, например: HTTP, HTTPS, SMTP, FTP, IP, TCP.
  • Стиль представления данных (Data Representation Style) Набор синтаксических правил оформления данных, которыми обмениваются приложения, например: JSON, XML, YAML.
Системный аналитик может участвовать в проектировании и реализации взаимодействия, изучая данные, которыми обмениваются приложения.

В этом спринте

В спринте «Программные интерфейсы» вы узнаете о протоколах компьютерной коммуникации и научитесь разбираться в данных, представленных в разных стилях. Вы подробнее познакомитесь со стилями взаимодействия приложений и стилями API, а также научитесь моделировать требования к API и составлять диаграмму последовательности (UML Sequence Diagram) для моделирования взаимодействия приложений.

Курсы

Вводный модуль

Понимание профессии системного аналитика

Разработка требований

Проект 1. Спецификация требований ко второму релизу Chatty

SQL для аналитиков

Моделирование данных

Проект 2. Моделирование данных и работа с базой данных интернет-магазина «Накарабине»

Моделирование процессов

Пользовательские интерфейсы

Agile-практики

Проект 3. Бэклог приложения для сети клиник «Вита»

Трудоустройство

Архитектура системы

Программные интерфейсы

Проект 4

Реализация системы

Поддержка, обслуживание и оценка результатов

Дипломный проект

Дополнительные материалы