#python #c# #angular #docker #iis
#python #c# #angular #docker #iis
Вопрос:
Моя компания предлагает финансовый продукт (готовый), построенный на C #, SQL Server (серверная часть) и Angular (интерфейс) с Microsoft IIS в качестве веб-сервера. Серверная часть в основном выполняется на уровне базы данных с использованием набора динамических SQL / хранимых процедур, где часть C # в основном обрабатывает связь с интерфейсом.
Теперь мы хотим внедрить продукт машинного обучения в тот же интерфейс. Однако проблема в том, что команда data science кодирует на Python. Вместо того, чтобы заставлять C # выполнять скрипты Python, мы говорили о создании микросервиса Python. Это позволило бы команде data science работать независимо.
Сервис будет представлять собой приложение ML, встроенное в веб-фреймворк Python (например, Django, FastAPI и т. Д.), А Затем контейнеризированное с помощью Docker. Приложение также будет обрабатывать аутентификацию. Связь с приложением и из приложения осуществляется через RESTful API и подключение DB к встроенной базе данных. Мы предполагаем, что основной продукт и микросервис запущены на одном сервере («рядом» друг с другом).
Мы хотим, чтобы интерфейс взаимодействовал с обоими серверными частями (основным продуктом и микросервисом). Можно ли это сделать? Или, что более важно, это должно быть сделано?
Ответ №1:
Да, Angular — это интерфейс, который является клиентом, поэтому его не волнует язык API REST, поэтому он может работать с разными API на разных хостах с разными языками.
Ответ №2:
Да, это можно сделать, насколько я понимаю, ваши бэкэнды — это службы REST, пока они REST, ничего не изменится, также Angular имеет хорошие оболочки HttpClient, которые будут легко и красиво обрабатывать все остальные вызовы