Архитектура решения GROTEM / Express

Обзор архитектуры

Платформа "Grotem.Mobile"

В состав платформы "Grotem.Mobile" входят "Сервер Grotem.Mobile" и "Мобильный контейнер".

"Сервер Grotem.Mobile" представляет собой web-приложение, которое обеспечивает следующие возможности:

  • управление решениями (создание, удаление, лицензирование)
  • генерацию базы данных в соответствии со структурой прикладного решения
  • реализация API для интеграции с внешними решениями
  • доступ к решениям с мобильных приложений
  • авторизация доступа
  • хранение файлов и разграничение доступа
  • отслеживание изменений данных
  • взаимодействие с мобильным контейнером:
    • формирование структуры БД для мобильного приложения
    • авторизация и разграничение доступа мобильных пользователей
    • синхронизация данных с соответствии с доступом

Функции и возможности "Мобильного контейнера":

  • синхронизация данных и файлов с "Сервером Grotem.Mobile"
  • исполнение прикладного кода решения
  • обеспечение в рамках прикладного решения кросс-платформенной работы с аппаратным обеспечением мобильных устройств:
    • камера и доступ к галерее фото
    • GPS-датчики
    • Push-уведомления
    • работа с мобильной БД

Для прикладных разработчиков "мобильный контейнер" предоставляет средства разработки (SDK), позволяющие реализовывать на языке C# кросс-платформенные бизнес-приложения.

Прикладное мобильное решение "Grotem/Express"

В рамках решения реализована бизнес-логика программного продукта, отрисованы экраны и их поведение.

В состав прикладного решения входят: мобильное приложение, web-интерфейс и web-сервисы

Web-интерфейс "Grotem/Express"

Предоставляет доступ пользователей к функционалу приложения через web-доступ. Обеспечивает отображение и редактирование данных, графическое представление информации, поведение экранных элементов в соответствии с бизнес-логикой приложения.

Web-интерфейс реализован на фреймворке Angular. Для доступа к данным (получение, создание и изменение объектов) интерфейс обращается к web-сервисам.

Реализация web-интерфейса на JS позволяет разворачивать его практически на любом web-сервере: как IIS, так и Apache или Nginx.

Для клиентов, развернутых в облаке, используется IIS.

Web-сервисы "Grotem/Express"

Web-сервисы - это связующее звено между web-интерфейсом и базой данных.

Сервисы предстваляют собой ASP.Net приложение. Получая по WebAPI запросы от web-интерфейса, возвращают в соответствующем формате данные. При этом проверяют доступ к данным, обрабатывают фильтрацию и выполняют сортировку. На основе полученных от Сервисов данных Интерфейс строит модели, обрабатывает их, и отправляет обратно.

В качестве хранилища данных используется БД прикладного решения. Таким образом обеспечивается единое состояние данных для сервера "Grotem/Express" (и соответственно для мобильных устройств) и для web-интерфейса.

Приложение разворачивается на сервере IIS.

Сервер Grotem.Mobile, web-интерфейс и web-сервисы могут располагаться как на одном сервере (в этом случае - только IIS), так и на различных серверах как в рамках одной сети, так и в разных сетях. Основное требование - компоненты должны быть доступны друг для друга по протоколу HTTP(S).

Мобильное приложение "Grotem/Express"

Мобильное приложение реализовано с использованием в качестве платформы "Мобильного контейнера".

Обеспечивает бизнес-логику для мобильных пользователей:

  • синхронизацию и отображение списка Заявок
  • работу с Заявками и Заказами
  • взаимодействие с фискальными регистраторами (поддерживаются ККТ компании АТОЛ)
  • сохранение и передачу о выполненных Заявках, пробитых Чеках

СУБД

В качестве СУБД может использоваться Microsoft SQL Server (версий MS SQL Server 2008 R2 и выше). Поддерживается любая редакция, включая бесплатную Express Edition.

Написать комментарий...