Tuesday, November 4, 2008

eoStar Communications


I get asked many times about the technical details on how the eoStar Route Accounting software package communicates to the main server in the office. You can click on the thumbnail of the diagram above to see the overall architecture.

In all, it basically works like this: A mobile eoStar user (Preseller, Driver, Merchandiser, Warehouse operations) uses the eoMobile software, which provides all of the functions needed for the particular user (or any combination of roles, combo presales/driver, etc).

When the user synchronizes with the home database, the mobile device (Any windows mobile 2005 or newer, or tablet XP or newer) then makes contact with the eoNetservice box. The eoNetservice box is an ASP.NET IIS7 capable box that runs the eoNetservice software (comes free with the eoStar system) which is an ASP.NET web services software. The eoNetservice box then communicates with the Microsoft SQL database server on behalf of the mobile user.

Most of those people then ask why we don't talk to the SQL server directly. There are two major reasons: Security and Scalability. With regards to security, the SQL box can stay behind firewalls and not be exposed to possible attack surfaces. Additionally in the area of security, the eonetservice process is responsible to create and manage a secured communications channel between the mobile device and itself. It is the traffic cop in the first place. We had a group of professional hackers try and break the eonetservice process and outright attack it. It has survived completely. On the scalability front, any one eonetservice box can service multiple database servers. Likewise, any database server can be serviced by any number of eonetservice machines. Thus a larger organization can deploy a web farm to manage communications and security with ease.

More importantly, the eonetservice process is a headless process. That is, there is no console or some interaction involved by the administration to 'watch what it is doing'. It is also self-cleaning as it stores no database data (outside of the data being transmitted at that moment).

The eonetservice box can be located anywhere. Most companies place it on their networks where it is accessible from the field, so that the mobile users synchronize anytime they want. There is NO preparation required for a synchronization of information between the mobile device and the main database. No administration has to 'build files' or tell something that it is time to download new information. The mobile device asks the eonetservice to provide all updates needed at the time of communication. The comm has become automatic for the office staff. As soon as data is updated in the database, it is available immediately for update on the mobile device. That is very cool.

A more detailed note about the security. In particular, we do transfer data on port 80 (standard http web services port). That is to be able to wind through intermediary firewalls. In that scenario, it was imperative to secure the messaging and data payloads. That is performed by standard x.509 certificates with multi key encryption (2k keys for the USA, 48bit for the rest of the world).

A note about comm time. On average, full sync times are less than 3 minutes for a large set of data.

THE MOST CRITICAL aspect of the communications comes into the design when uploading things such as payments, orders, etc. The app protocol utilized is a positive-acknowledgement-database transaction committed system. That means, when the mobile device says to the user that data was 'posted to the database', that the mobile device has received POSITIVE acknowledgement from the SQL server that data was successfully COMMITTED to the database server. This is SOOOO critical and is the primary differentiator from us and other route accounting systems. We KNOW the data was posted to the database. Unless the mobile device gets this positive acknowledgement from the POSTED data, the orders are not released from the mobile device. This is a desirable design for any modern system. When the software says it 'got there', it had better got there!

Hope that is informative, and thanks for looking into the eoStar route accounting system. By far, we think it is the most definitive solution for the Direct Store Delivery wholesaler available today.