When developing a smart client application, many factors come into play, not the least of which are concerns about operating system support, development tools support, and standards. Each of these should be evaluated when choosing which device, operating system, and database vendor is right for your project.
Operating System/Device Support
At a minimum, the database you choose should be capable of running on the leading mobile operating systems and devices, both during development and deployment. These include Windows CE, Palm OS, and Symbian OS. Moreover, because the mobile operating system and device market is changing constantly, you need a solution that can adapt quickly to those changes.
Developers in your organization have likely done some database development, meaning they have SQL skills as well as knowledge of ODBC or JDBC. Because these standards are used widely and have a broad level of industry support, the database system you choose would ideally support these standards. Even if you do not have previous database experience, choosing a solution that is standards-based will help you to learn the system faster and gain skills that are transferable to other platforms. While most commercial database systems are SQL based, many of the alternatives such as those included with the OS, and flat file systems are not.
Low Resource Requirements
Because mobile devices have constrained resources, the database should be capable of running on slow processors and have a small footprint that doesn't hog local memory. Choosing a solution that is modular, so you can deploy only the features you require, will minimize resource usage.
Developers need tools for the development, testing, administration, and deployment of mobile applications and the more familiar those tools are, the more productive developers will be. Ideally, for maximum flexibility, the database system will support development of both native and Java applications. Being able to leverage existing tools and programming language skills will dramatically reduce the amount of training required.
Because synchronization is critical to the smart client architecture, the solution you choose should be able to synchronize to a variety of relational databases as well as other enterprise applications. Most of the commercial mobile database solutions do offer some form of data synchronization, although it is often limited to that particular company's enterprise database offering. The other file-based or operating system mechanisms typically offer no synchronization support, further limiting their suitability for enterprise applications.
Zero Client Administration
You can't deploy technical staff to troubleshoot and resolve problems wherever mobile clients are. At the same time, it is unrealistic to expect the end user to do IT tasks. This means that you need to choose a solution that is easy to install, configure, and manage. When support is required, mobile device management solutions let you remotely troubleshoot and repair a device as well as perform software upgrades.
|Choosing a vendor with no track record or a technology platform that only works with a narrow set of standards may leave you with an application that is obsolete only a short time after it is deployed.|
The mobile application you deploy today may not be the same application you will need tomorrow. Because you expect your business to grow and new technologies to emerge, your mobile application should be built on a platform that is likely to incorporate new technologies and functionality. If you decide to go with a commercial solution, don't be afraid to ask vendors for references from deployed solutions to see how well they understand the market. Choosing a vendor with no track record or a technology platform that only works with a narrow set of standards may leave you with an application that is obsolete only a short time after it is deployed.
The Bottom Line
While many organizations will start small with pilot applications, the benefits of mobile and wireless applications on worker productivity, customer service and operational efficiency can be significantand can scale up dramatically as more workers and applications are mobilized. Leveraging a smart client architecture offers many advantages for helping ensure that your workers have "always available" access to key data anywhere, anytime. Whether your plan is to mobilize five users or thousands, the key point is not to let the mobile application revolution pass you by.