At the heart of each BellHawk system is a SQL database that runs on a Windows database server computer. All of the interaction between the users and the BellHawk database is controlled by a set of Transact SQL (TSQL) stored procedures that provide the central logic and processing capability for a BellHawk system.
All the data setup and reporting is performed on PCs using a client-server approach. The client code is written in Access/VBA so as to make this code easy to modify for specific client business requirements. The Access/VBA code controls the user interface but all the computational and database access work is performed by TSQL stored procedures.
The Access/VBA client code is also used to capture transactional data, when the PC is equipped with a tethered or cordless barcode scanner. In this case, point-of-action validation is carried out against the main database and the data is stored in the main database, using the TSQL stored procedures.
The code that runs within the mobile computers is written in VB.Net. Each mobile computer has its own local SQL-CE database, which is kept in non-volatile memory, typically on a high-speed SD card, similar to those used for image storage in high-end digital cameras. Each local database contains a frequently-updated abstract of the data in the main BellHawk database.
The local databases, in the mobile data collection devices, are used to provide real-time point-of-action validation of operational data collection, irrespective of whether the device is within communications range of the server at the time the data is collected. All transactional data is stored within the local database until it can be transferred to the main server.
There is a BSAF (pronounced be-safe) BellHawk store and forward communications process continuously running in the background in each mobile data collection device. Every five seconds or so, this process “pings” the server by sending a UDP packet to a specific socket at the server’s IP address. Once communications is established then the BSAF software exchanges data between the local database on the mobile device and the main BellHawk database.
The data exchange mechanism is very robust. It ensures that data being transferred will not get lost even if the mobile device goes out of range during communications. It also ensures that data will be delivered securely, even if some data packets are “destroyed” by electrical interference from machinery or industrial equipment.
All the mobile devices communicate through a BSAF wireless server process on the server, which then communicates with the main database through TSQL procedures. The mobile devices use the wireless server process to send transactions to the main database. They also use the wireless server to retrieve changes to any status objects (such as item master records or purchase order data) in the main database that are needed on the mobile devices to perform real-time point-of-action validation of data being captured and operations being performed.
The wireless server process is designed to handle requests from many mobile devices in parallel. It, in turn, launches parallel requests into the SQL Server database to retrieve and put away data. We recommend using at least 4GBytes of high speed memory in the database server computer so that SQL Server can load the whole of the main database (except for history tables) into main memory. This enables the wireless server requests to be serviced in parallel at high speed.
Once data transfer is initiated, data will flow at the maximum rate permitted by the wireless network. Also data will flow from one mobile device to another in near real-time, provided both devices are in communications range. This ensures an update recorded to inventory on one device will be available on another device within a few seconds when they are both within communications range, such as at a receiving or loading dock. Yet, with no human intervention, the same devices can record the pickup and put away of materials in areas where there is no communications coverage, such as in outside storage facilities or in the back recesses of a warehouse aisle.
The BSAF communications protocol can be layered on top of any secure communications protocol such as WEP, WPA or LEAP that supports the transfer of UDP packets. It can also work over cell-phone data networks and secure military data links. BellHawk also supports a secure-cradle mode, which enables data capture with wireless communications turned off. In secure cradle mode, the BSAF data exchange only takes place when the mobile computer is placed in a cradle attached to a PC on the wired local area network. Cradle mode is used in secure facilities and also in those situations where wireless communications presents a potential hazard for explosion.
There are a number of mechanisms for external applications to communicate with the BellHawk database. These include:
An ODBC data exchange interface, called DEX. This enables external applications to read and write data from interface tables in the BellHawk database without needing to interact directly with the BellHawk database tables. Data is imported and exported upon demand by calling TSQL stored procedures.
A VB.Net library that enables users to write VB.Net code to read and write fields within BellHawk data objects without writing SQL code.
A program called Bell-Connector, which automates the transfer of data between an external relational database and the BellHawk database.
Bell-Connector uses a meta-database that contains a description of fields and tables in an external relational database and their relationship to the fields and tables in the BellHawk database. Bell-Connector periodically examines all the relevant tables in both BellHawk and the external relational database and then, whenever it finds changes in the data, automatically transfers the changes from one database to the other.
BellHawk also supports the import and export of comma delimited files. This is primarily to enable the manual import and export of data in Excel spreadsheet (CSV) format. CSV files can, however, also be used when implementing automated data transfer interfaces to older legacy systems that do not use relational databases.
BellHawk comes with a set of standard reports that can be customized to meet the business needs of each organization. To this end, the BellHawk reports module is supplied as a separate Access/VBA source-code program that users can modify to generate their own custom reports.
The report data is also available as views into the BellHawk database or can be generated as record sets by calling stored procedures. This enables users to generate their own reports using programs such as Crystal Reports. It also enables business intelligence display software to generate real-time moving graphs and dashboards, using the BellHawk data, as it is continuously updated.
BellHawk licensing is controlled by encrypted stored procedures in the BellHawk database. The encrypted procedures contain details of which modules are licensed and the number of mobile and PC scan devices that have been licensed for use with a specific BellHawk database. They also contain data about how many facilities BellHawk is licensed for use at. These licenses can be updated in the field by BellHawk sending a one-time-use update program to the client by Email.
The server components of BellHawk are currently supported on Windows 2000 and 2003 server platforms using SQL Server 2000 or SQL Server 2005, including SQL Server 2005 Express. We only support 32 bit versions of these operating systems on these platforms. We plan to validate BellHawk on 64 Bit versions of Windows Server 2008 and SQL Server 2008 later this year.
The client components of BellHawk are currently supported on the 32 bit versions of Windows 2000 and XP. They are supported using Access 2002 and 2003. We plan to validate BellHawk on 64 bit versions of Vista and Access 7 later this year.
The mobile computer components of BellHawk are supported on the following Windows mobile operating systems, on the following devices: Windows Mobile 2003, 2nd edition on the Honeywell 9500, Windows CE 5 on the Motorola 3000 series, and Windows mobile 5 on the Motorola 9000 series. We plan to validate BellHawk on Windows Mobile 6 later this year. As each Windows mobile operating system is configured specifically for each device, it is necessary to drop ship the device and pay BellHawk Systems for the time required to test BellHawk and make any needed adjustments for any other device.
For more information about the BellHawk software architecture or the application of this architecture to a specific tracking or traceability data collection problem, please click on the link below.
|
Copyright © 2000 - 2009 BellHawk Systems Corporation |
| Login | Home | Contact BellHawk for Assistance | Webmaster | Logoff |