[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now


Recommended Wireless Application Architecture?

Posted on 2007-07-30
Medium Priority
Last Modified: 2013-12-17
I am looking for suggested sources (internet or books)  for further information and technologies that should be considered for a new project that we have undertaken:

We have been asked to develop an inspection application that will allow wireless PCs to share and update test information in a central database.  Our customer would like the application to be designed to handle short term disconnections from the wireless network and allow the inpection PCs to continue to operate from buffered information previously received from the central database.  Test results will be buffered in the wireless PC until the wireless network connection is re-established.  Once the connection is re-established, test results will be processed by the central database.

Design criteria:
1) Central database is MS SQL 2005
2) Development platform is .NET (c# is desired)
3) client application to be web based
4) Wireless PCs are XP Pro based
5) Approximately 12 wireless PCs

Question by:tegronakron
  • 2
LVL 37

Expert Comment

ID: 19594216
The generally accepted architecture here is to assume asynchronous queued writes to the database via the command pattern (bundled into unit of works) and using versioning to detect conflict (both of these patterns as well as a discussion can be found in PofEAA by Fowler).

The big questions in dealing with this are...

1) Is data access localized or must the master database be synchronized? i.e. are they dealing with 20 sets of test results or does everyone need access to everything
2) Is the data primarily being inserted or updated? A follow up to this is are there invariants between the inserts. Generally inserting data is much easier than updating as inserts tend to not have versioning conflicts.
3) In the case of a versioning conflict what is the "expected" behavior?

This architecture allows long term isolation but with longer term isolation runs the risk of more conflicts ... One could combine this with a persistent middle manned observer (or similar pattern) on the server side which would allow subscriptions to data on the server side so the application would automatically receive any necesary changes as a push from the server. i.e. user a updates test 12345, user b is subscribed to test 12345 so the change gets pushed to user b at the next point user b is available.



Expert Comment

ID: 19632625


Take a look at ADO.Net for your data transport between web client and database. The DataSet class in ado is designed to support disconnected data, specfic to your needs.

LVL 37

Accepted Solution

gregoryyoung earned 1500 total points
ID: 19632647
if you like using ADO.NET dont just use the dataset, MS is aware of theshortcomings of that methodlogy and have as such added "synchronization services" http://www.codeproject.com/smartclient/takedataoffline.asp

personally I still prefer the command pattern as I can do things that this cant do but using sync services is a faster path



Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

These days, all we hear about hacktivists took down so and so websites and retrieved thousands of user’s data. One of the techniques to get unauthorized access to database is by performing SQL injection. This article is quite lengthy which gives bas…
Without even knowing it, most of us are using web applications on a daily basis.  In fact, Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We generally confuse these web applications to…
Wufoo.com provides powerful tools for surveying targeted groups, and utilizing data from completed surveys to find trends, discover areas of demand or customer expectation, and make business decisions on products or services.
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to choose which pages of your form are visible to your users based on their inputs. The page rules feature provides you with an opportunity to create if:then statements for y…

873 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question