Прототип-симулятор маркетплейса ит-решений имеет следующие сервисы:
- Сервис авторизации(включая внешнюю) на основе IdentityServer
- Сервис решений реализующий логику работы с моделями программных решений(CRUD, фильтрация, система отзывов и тарифных планов)
- Сервис биллинга, который отвечает за обработку заказов обычных пользователей (пополнение/обновление баланса пользователя, покупка решения и получение доступа к облаку(симуляция) )
- Сервис тематический подборок от владельца маркетплейса.
Приложение на основе .NET Core реализует RESTFul апи для всех своих сервисов, что значительно упрощает интеграцию. К программному интерфейсу прилагается документация на Swagger.
Для реализации клиентской части использовался MVC для экономии времени. В дальнейшем приложения будет SPA на Angular.
Чтобы иметь возможность реализовать автоматическое развертывание продуктов пользователей мы используем 2 пути:
- нашу собственную спецификацию по разработке собственного провайдера для доступа к своему облаку(последующий редирект на сервисы владельца решения)
- Docker контейнер с решением для дальнейшего развертывания в нашем облаке
Приложение разбито на 2 солюшна (Маркетплейс и IdentityServer)
- Уровень доступа к базе данных(DataAccessLayer): code first БД на EntityFramework CORE.
- Уровень бизнес-логиги(BusinnessLogicLayer): основные сервисы для обработки данных
- API для доступа к сервисам BLL
- UI на MVC для взаимодействия с API приложения.
- Contracts - вспомогательные классы для передачи данных в соседние уровни
- Infrastructure - расширяющие методы для DependencyInjection
Обычное MVC приложение, которое содержит в себе IdentityServer, контекст БД и вспомогательное API для клиентской части. Решение предоставляет все возможные способы идентификации пользователей и их обработку(редактирование, верификация, восстановление)