Project Feedback

Topics: Mobile Client Software Factory
Apr 22, 2006 at 7:24 PM
originally posted by: johnkattenhorn


I've now been through the latest drop and the assoicated documentation, (which i like that you have publishing using PDF format.).

The project goal's and target's look spot on from my perspective. We already have an advanced Windows Mobile 5 application on the blocks. I'm already thinking about re-engineering it to utilise this SF!!!

The only comment i would like to register is that in our business sincero we do not have access to an SQL server for the staging of the data. In our current situation we have Web Services pulling reference information from a backend Oracle database.

I would like to see the project consider the possibility of no SQL server backend availability.

On the whole it's looking great and i'm already looking forward to the next drop. And i'll be sure to send you any feedback i have from testing in the next week or so.


Apr 25, 2006 at 2:22 AM
originally posted by: EdJez

Hi - Absolutely.
The SF recommends an architecture for the app, and in that architecture it's up to you to get data over to the device using either replication or calling web services that return reference data and then saving that in a local cache yourself. You don't need to use the replication block if you don't need it, as a matter of fact, that's why we left it out the blocks as small interindepenmdent units.

To get reference data via web services you would do something like this, if I understand your target design:
1) You have to have the application deal with a local cache of data in a read-only fashion. Both the cache and/or the app can issue a request to refresh data, when the probability of it being stale by next connection becomes too high.
2) Create the web services that return reference data. You might specify 'filters' for the data either as a parameter of the web service or as an optional SOAP header. You populate this header when the web service request is actually dispatched, as well as any final tweaking before you make the actual WS call by implementing your own ProxyFactory.
3) When the callback for return happens, you clear the cache of the apporpriate elements and re-populate it.

There are some patterns about state management in message-oriented apps that you might want to consider, e.g. versioning reference data; how does a command specify the version of reference data is using (e.g. does an 'Order' call reference by ID, by date, or actually embed 'Catalog' info such as price). I personally recommend Pat's oldie-but-goldie article for a drilldown of these considerations: