A Midlet is installed on the phone, which would keep needing additional functionality based on User requirements.
This functionality could be located on remote server.
What would be the most preferable way to implement this.
Should the functionality be midlets, classes... ?
How would it link to the main midlet?
Well, if you want to get pedantic, the app would run on the server(s), but you'd probably control it from the browser.
Older, dumber phones used a special XML presentation format called WAP. Newer, smarter phones typically have a true web browser, although there are some things you'll have to allow for:
1. The display window is likely to be a LOT smaller than most modern-day webapps are designed for. 320x240 is not uncommon.
Inside the server itself, you can do anything any other server app would. It's just the browser side that's limited.
Joined: Aug 05, 2009
Isn't there any workaround for the J2ME app running on the phone.
What are the cons of that path and the pros of making a browser based app?
Well, you should be able to upload and run any classes you want, providing that JME has enough of the basic dynamic classhandling facilities we know and love from J2SE (I'd have to RTFM). And as long as you don't run afoul of the sandbox.
However, web-based has a couple of advantages. First, however, one big disadvantage: you have to have a live Internet connection to run webapps!
Some advantages are:
1. Software updating. You only have to update the servers, not every phone.
2. Wider hardware support. As mentioned, many smartphones have web browsers. But my phone came with Windows Mobile, and you know how many Windows products come with Java built-in.
3. Server security. Data can be kept more secure in a central location. And by "secure", I mean backed-up as much as I mean "keep your nasty little hacking paws off my data!".
4. Maintainability. It's a lot easier to find people who can maintain stock webapp code than the more specialized JME platform and you have a wider variety of proven platforms to build on.
Of course, there are certain things that really shouldn't be held hostage to an Internet connection. For these, a blended JME/webapp approach is worth considering.