IBuySpy Delivery Application Design
La aplicación IBuySpy Delivery utiliza SQL Server, SQL Server Compact 3.5, Microsoft Internet Information Services (IIS) y Microsoft .NET Compact Framework. La aplicación para el dispositivo inteligente proporciona una interfaz de usuario que permite que un repartidor pueda tener acceso y modificar información. La aplicación almacena y recupera esta información en una base de datos local de SQL Server Compact 3.5. El dispositivo se comunica con SQL Server mediante IIS, lo que permite que los datos de la base de datos local se sincronicen con los de la base de datos del servidor mediante replicación o acceso a datos remotos (RDA). El sitio web de IBuySpy Store almacena y recupera información de la base de datos de SQL Server y permite que el usuario especifique y vea la información sincronizada.
Escenario de empresa de IBuySpy
IBuySpy distribuye sus productos directamente a los consumidores con una flota de camiones de transporte propiedad de la empresa. En el proceso de entrega, se utilizan dispositivos de mano para comprobar y registrar las cantidades de entrega. Constituyen un componente clave en el proceso de la cadena de suministro de IBuySpy. En los dispositivos de mano se ejecuta el software de Windows Mobile 2003 para Pocket PC y SQL Server Compact 3.5. Al entregar un pedido a un cliente, un repartidor de IBuySpy descarga la mercancía y registra la firma del cliente en el dispositivo de mano.
La aplicación IBuySpy Delivery puede descargar los datos de la entrega de un servidor a un dispositivo, procesar los datos sin conexión con el servidor y, posteriormente, sincronizar los cambios en el servidor cuando se restaure la conexión. Si hay un excedente de mercancía en el camión de reparto, también se puede vender al realizar una ruta de entrega. Es necesario disponer de la funcionalidad de procesamiento de pedidos en la aplicación del dispositivo de mano, y de la funcionalidad de seguimiento de las mercancías y listas de clientes. Siempre que haya una conexión de red disponible, el dispositivo del repartidor se comunicará con el equipo donde se ejecute IIS y SQL Server. El dispositivo envía los pedidos completados y recibe las actualizaciones disponibles.
Sitio web de IBuySpy Delivery
El sitio web de IBuySpy se incluye en la aplicación IBuySpy Delivery. En el sitio web se pueden crear pedidos. Dichos pedidos se transfieren a los dispositivos inteligentes de los repartidores. En el sitio web también se puede ver el resultado del trabajo realizado en el dispositivo, por ejemplo, la firma de un pedido o los productos agregados a un pedido.
Esquema de la base de datos de IBuySpy Delivery
La aplicación IBuySpy Delivery utiliza una versión modificada del esquema de la base de datos de IBuySpy, que admite características adicionales de la aplicación. Además de las siete tablas del esquema de IBuySpy (Orders, OrderDetails, Customers, Products, Categories, ShoppingCart y Reviews) el esquema de IBuySpy Delivery contiene la tabla Settings.
Por otro lado, en la aplicación IBuySpy Delivery se modifican dos tablas y se agrega una relación de clave externa:
- Se agrega la columna Signature a la tabla Orders, en la que se almacenan imágenes de mapas de bits de las firmas de los clientes que registran los repartidores en sus dispositivos de mano. Se agrega la columna Status para realizar el seguimiento del estado de entrega de los pedidos. Este valor de estado se usa para determinar si hay excedente de mercancías para realizar ventas adicionales en los puntos de entrega. Para obtener más información, vea Control Inventory.
- Se agregan seis columnas a la tabla Customers: Address, City, State, Zip, Phone y DriverID. DriverID se usa para determinar el repartidor asignado a la entrega de un pedido concreto a un cliente.
- Se agrega una relación de clave externa entre la tabla OrderDetails y la tabla Products para garantizar que no se crean pedidos de productos que no existen.
La tabla Settings no se sincroniza con el almacén de datos de SQL Server. Dicha tabla sólo existe en el dispositivo de mano y contiene la información necesaria para que el dispositivo se conecte con el servidor.
La tabla Reviews no se descarga en el dispositivo de mano. La lectura e introducción de las revisiones de productos carece de importancia en el punto de entrega. La tabla no se descarga para reducir lo máximo posible el tamaño de la base de datos en el dispositivo. La tabla ShoppingCart tampoco se incluye en el dispositivo, por que los repartidores no pueden crear nuevos pedidos en la aplicación del dispositivo de mano. Sólo pueden agregar artículos a los pedidos existentes.
Las otras cinco tablas, Customers, Order, OrderDetails, Products y Categories, se descargan en el dispositivo de mano. Para que el tamaño de la base de datos del dispositivo sea el mínimo posible y garantizar que los repartidores sólo ven los datos que les interesan, cada repartidor recibe la información específica de sus clientes. Al producirse la sincronización entre el dispositivo y la base de datos del servidor, la columna DriverID de la tabla Customers filtra la información. Los registros de las tablas de la base de datos local contienen un subconjunto específico de los registros de la base de datos completa.