Структура приложения IBuySpy Delivery
В приложении IBuySpy Delivery используются SQL Server, SQL Server Compact 3.5, службы Microsoft Internet Information Services (IIS) и Microsoft .NET Compact Framework. Пользовательский интерфейс приложения позволяет курьеру вводить и изменять данные. Приложение сохраняет эти данные в локальной базе данных SQL Server Compact 3.5 и извлекает их из нее. С помощью служб IIS устройство обменивается данными с SQL Server, что обеспечивает синхронизацию локальной базы данных с базой данных на сервере методом репликации или удаленного доступа к данным. Веб-узел интернет-магазина IBuySpy сохраняет данные в базе данных SQL Server и извлекает их из нее, что позволяет пользователю вводить данные и просматривать синхронизированные сведения.
Сценарий деятельности компании IBuySpy
Компания IBuySpy доставляет товары непосредственно заказчикам на собственных грузовиках. В процессе доставки мобильные устройства используются для проверки и записи количества доставленных товаров. Они играют ключевую роль в системе поставок IBuySpy. Мобильные системы работают под управлением программного обеспечения Windows Mobile 2003 для карманных ПК и SQL Server Compact 3.5. При доставке заказа клиенту курьер IBuySpy разгружает товары и фиксирует на мобильном устройстве подпись заказчика.
Приложение IBuySpy Delivery позволяет загружать данные о доставке с сервера на устройство, работать с ними в автономном режиме, а затем при восстановлении соединения с сервером синхронизировать с ним изменения. Излишки товарного запаса на грузовике могут быть также проданы на маршруте доставки. Помимо отслеживания товарного запаса и ведения списков заказчиков приложение на мобильном устройстве должно выполнять функцию обработки заказов. При любой возможности подключиться к сети устройство курьера осуществляет обмен данными с компьютером, на котором выполняются службы IIS и SQL Server. Устройство отправляет данные о выполненных заказах и загружает с сервера имеющиеся обновленные данные.
Веб-узел приложения IBuySpy Delivery
В состав приложения IBuySpy Delivery входит веб-узел интернет-магазина IBuySpy. На веб-узле можно формировать заказы. Эти заказы передаются на устройства курьеров службы доставки. На веб-узле можно также просмотреть результаты работы, выполненной на устройстве, например подпись, подтверждающую получение заказа, либо товары, добавленные к заказу.
Схема базы данных приложения IBuySpy Delivery
Приложение IBuySpy Delivery работает с измененной версией схемы базы данных IBuySpy, обеспечивающей поддержку дополнительных функций программы. Помимо семи таблиц в схеме IBuySpy, а именно Orders (Заказы), OrderDetails (Сведения о заказах), Customers (Заказчики), Products (Товары), Categories (Категории), ShoppingCart (Корзина заказа) и Reviews (Обзоры), схема IBuySpy Delivery также включает таблицу Settings (Параметры).
Кроме того, в приложении IBuySpy Delivery изменены две таблицы и добавлена связь по внешнему ключу.
- В таблицу Orders (Заказы) добавлен столбец Signature (Подпись) для хранения растровых изображений подписей заказчиков, зафиксированных курьерами с помощью мобильных устройств. Добавлен столбец Status (Состояние) для отслеживания данных о состоянии заказов. Значение состояния служит для определения, имеются ли в товарном запасе излишки для дополнительных продаж в пунктах доставки. Дополнительные сведения см. в разделе Элемент управления Inventory.
- В таблицу Customers добавлено шесть столбцов: Address, City, State, Zip, Phone и DriverID. Идентификатор курьера служит для определения, какому курьеру поручена доставка того или иного заказа.
- Отношение внешнего ключа между таблицами OrderDetails (Сведения о заказах) и Products (Товары) добавлено, чтобы гарантировать, что не будут заказаны несуществующие товары.
Таблица Settings (Параметры) не синхронизируется с хранилищем данных SQL Server. Эта таблица существует только на мобильном устройстве и содержит данные, необходимые, чтобы установить соединение между устройством и сервером.
Таблица Reviews (Обзоры) на устройство не загружается. Считывание и ввод обзоров товаров в пунктах доставки не требуются. Отказ от загрузки этой таблицы позволяет уменьшить размер файла базы данных на устройстве. Таблица ShoppingCart (Корзина заказа) также отсутствует на устройстве, поскольку курьеры не могут создавать новые заказы на мобильных устройствах. Они могут лишь добавлять товары к существующим заказам.
Остальные пять таблиц — Customers (Заказчики), Orders (Заказы), OrderDetails (Сведения о заказах), Products (Товары) и Categories (Категории) — загружаются на устройство. Чтобы ограничить размеры файла базы данных на устройстве и гарантировать, что курьерам доступны только имеющие отношение к делу данные, каждому из курьеров предоставляются сведения, касающиеся только его заказчиков. Во время синхронизации баз данных на устройстве и на сервере данные фильтруются по столбцу DriverID (Идентификаторы курьеров) в таблице Customers (Заказчики). Записи в каждой таблице локальной базы данных содержат целевое подмножество записей всей базы данных приложения.