Разработчик IOT-решений выбирает .Net Core

Разработчик IOT-решений выбирает .Net Core

Клиент

Компания, предоставляющая IOT-сервисы для управления производственными активами, планировала модернизировать ИТ-инфраструктуру для быстрого масштабирования бизнеса.

Решения Клиента преобразуют инфраструктуру предприятий в цифровую среду, в которой каждый объект содержит подробную информацию о перемещениях, взаимодействии с сотрудниками, техническом обслуживании и тп. Их интегрированная платформа – Asset Intelligence Platform (AIP), – состоит из чипов, тегов и программного обеспечения. AIP выполняет сбор, хранение и обработку данных, поступающих от оборудования, позволяет легко и безопасно управлять важными активами производственного предприятия через протокол беспроводной связи.

Решение

С выходом версии 2.1 платформы .NET Core компания приняла решение мигрировать приложения в новую открытую опенсорс-среду. В .NET Core 2.1 появились основные библиотеки ef, signalr, а в некоторых случаях даже более продвинутые аналоги, такие как EF 6 и EF Core, – компактные и продвинутые в части новых фич (alternate keys, batch updates, mixed client/database evaluation in LINQ queries).

Легкое портирование

Наша команда портировала приложения Клиента с .NET Framework на .NET Core.

Миграция оказалась простой задачей, потребовавшей минимальное количество ресурсов. Анализ взаимодействий системы со сторонними компонентами и их зависимостей показал, что для всех из них уже существуют версии для .NET Core или .NET Standard. Спецификация .NET Standard позволяет создавать библиотеки доступные для .NET Core и .NET Framework.

В некоторых случаях правильным решением была переработка сервисов с использованием механизма предоставления внешних зависимостей программным компонентам (Dependency Injection – DI). Одним из важных аспектов являлось также использование всех преимуществ Middleware.

Перевод MVC контроллеров потребовал ряда несложных изменений. Например,  инженеры разработали специальный фильтр, чтобы контролировать авторизацию покупателей на сайте, который сейчас превратился в Middleware.

Технологический стек

Платформа Клиента разработана на основе .NET Framework. В качестве базы данных используется Mongo DB. Мобильная часть написана на Xamarin. Кросс-платформенная библиотека поддерживает все основные мобильные и операционные системы на ПК, такие как iOS, Android, Windows и OS X, интегрируется с корпоративными приложениями предприятий.

Выводы

В результате миграции Клиент получил кросс-платформенное, высоко-производительное и масштабируемое приложение с современной архитектурой и сниженной стоимостью поддержки. После передачи данных IoT Hub на платформу IoT информация становится доступной онлайн через веб-браузеры и мобильные приложения. Благодаря .NET Core компания может предоставлять своим клиентам еще более гибкие, надежные и стабильные IIOT-решения для повышения эффективности производственных и технологических процессов и сокращения капитальных затрат.