Выбор Функций Azure для выполнения бизнес-логики
Сейчас мы рассмотрим другой процесс в сервисе по прокату велосипедов и решим, какая технология лучше всего отвечает потребностям. Мы примем во внимание технические аспекты процесса, аудиторию и то, как будет развиваться процесс.
Сценарий
Ваши технические специалисты сейчас используют электронную таблицу для записи выполняемых действий по ремонту и обслуживанию каждого велосипеда. Трудности возникают, когда для велосипеда нужны запасные части — сотрудники просто не знают об этом. Эта проблема привела к тому, что велосипеды арендуются клиентам с носить тормозные колодки, плоские шины и другие ошибки, которые могут повредить бренд компании в качестве высококачественной компании по прокату велосипедов.
Вы хотите создать систему для управления процессом обслуживания и ремонта, с помощью которой любой сотрудник сможет найти ответы на перечисленные ниже вопросы.
- Какие работы были выполнены с велосипедом?
- Какие работы осталось выполнить, прежде чем велосипед можно будет снова сдавать в прокат?
- Какие велосипеды в настоящее время можно сдавать в прокат?
- Какие велосипеды недоступны для сдачи в прокат?
- Для каждого велосипеда, который недоступен:
- Почему мы не можем арендовать его?
- Требуются ли запчасти и, если да, то какие?
- Когда велосипед предположительно будет снова готов к сдаче в прокат?
Вы хотите объединить эту систему с процессом резервирования и аренды велосипедов из последнего урока. Но когда сотрудники пункта проката ищут доступные велосипеды, они находят только те велосипеды, которые доступны для аренды. Ваш руководитель попросил вас выступить в роли разработчика в этом проекте.
Бизнес-процесс
Вам необходимо сделать так, чтобы при обслуживании велосипедов после проката технические специалисты на обеих площадках придерживались описанного ниже рабочего процесса.
Ниже перечислены этапы.
- Клиент возвращает велосипед в любой пункт. Начинается процесс обслуживания велосипеда.
- Технический специалист помечает велосипед как недоступный.
- Технический специалист проводит весь перечень проверок, включая шины, тормоза, ведущую цепь и световые приборы.
- Требуются ли запасные части?
- Запасные части требуются, но их нет в наличии.
- Технический специалист заказывает запасные части.
- Запасные части поступают.
- Запасные части устанавливаются.
- Запасные части требуются, но их нет в наличии.
- Технический специалист вносит последние изменения.
- Технический специалист помечает велосипед как доступный для проката.
Выбор технологии
Чтобы реализовать бизнес-процесс и интегрировать его с базой данных местонахождения велосипедов, рассмотрим следующий набор технологий.
- Microsoft Power Automate
- Приложения логики Azure
- Функции Azure
- Веб-задания службы приложений Azure
Так же как в предыдущем сценарии, для создания рабочего процесса можно использовать любую из этих технологий. Однако оптимальный выбор зависит от двух факторов.
Ориентация на проектирование или код
Реализовать этот рабочий процесс с помощью только Logic Apps или Power Automate будет сложно. Хотя все подробности пока неизвестны, ясно, что в рамках процесса требуется доступ к системе управления запасами, а заказы будут оформляться в сторонних компаниях — поставщиках запасных частей. Это новая бизнес-логика, и требование использовать подход, ориентированный на проектирование, не предъявляется. Решение можно оформить в виде пользовательского соединителя для интеграции с другими рабочими процессами, созданными в Logic Apps или Power Automate. Вам как разработчику проще решить поставленную проблему с помощью подхода, ориентированного на код, поэтому так и поступим.
Функции Azure или веб-задания службы приложений Azure
Вам нужно выбрать одну из двух технологий:
- Функции Azure
- Веб-задания службы приложений Azure
На выбор влияют указанные ниже факторы.
- Стоимость. С помощью веб-заданий вы платите за всю виртуальную машину или план Служба приложений, на котором размещено задание. Функции Azure может выполняться в плане потребления, поэтому вы платите только при выполнении функции. Так как этот процесс начинается только при возвращении велосипеда, мы можем сэкономить деньги, выбрав Функции Azure.
- Интеграция. Вы хотите интегрировать рабочий процесс обслуживания с приложением логики, которое вы создаете для процесса бронирования велосипедов и аренды в предыдущем уроке. Хотя веб-задание можно вызывать из приложения логики, Logic Apps и Функции интегрированы более тесно. Например, можно проще управлять вызовом функции из визуального конструктора Logic Apps.
По этим причинам мы выберем Функции Azure для управления бизнес-процессом обслуживания велосипедов.