- J2ME for the front-end app
- Back-end database
- Java servlet on the back-end using JDBC
There are really three development issues you should be looking at in terms of creating an application:
- The client user interface: The software should be as simple to understand and use as possible, preferably taking a forms-based approach since most of these applications on handhelds will be used for data collection or simple order-taking;
- The synchronization technology: The software should take advantage of available synchronization techniques and technology offered in the Palm platform -- specifically it should update any information that has not been updated since the last synchronization. Also, the client-side software should be as compatible with the back-end data base as possible, since it is essentially injecting information into a window of that data base to update central files;
- The client software (and related server-side software) should be flexible enough to make simple changes in the form, since these programs will inevitably change over time and may even be "free-form" type data entry vehicles. So, they shouldn't require a lot of additional programming to make these changes.
Finally, XML is a good pick when you are dealing with legacy data on the server side -- that is, a lot of historical information that must be accessed by the client devices. XML compatibility has quickly become a standard in mobile applications development. However, in terms of sped and flexibility, simple, forms-based programs that target small segments of server data are quick and easy to develop. You can get more information on applications development directly from Palm, which will even provide a software development kit for applications-minded developers. There are also a lot of third-party solutions from companies that offer development environments, or building-block programs that let you quickly and easily develop simple applications.