Question: SQL Replication vs. Push/Pull

  • Thread starter Thread starter Chris
  • Start date Start date
C

Chris

I have a question from you mobile gurus regarding an upcoming PocketPC
project I will be working on which can be summarized as:

A PocketPC based application which will require users to log in and receive
user-specific form data from values stored in a SQL 2K database. The DB
values will populate a template form on the device (or one will be drawn
dynamically based on the values queried from the DB). The end-user then
fills in additional values and sends the resulting data back to the DB.

Some restraints:
*We can only use synchronization via the cradle to move data back and forth
from the device.

Question:
*Would it be best to use SQL / SQL CE with replication, allowing users to
receive updated DB values once they log in to the device and sync? In the
past, I've used this method to populate a form application which already
exists on the device.

OR

*Is it better to use a Push/Pull (ie. query from the device) when syncing,
and use .Net or eVC to call stored procedures and get the data to the
device?

Your opinion is appreciated!

Thanks,
Chris
 
Sounds like either way would work for you. I would prefer to choose
replication if I already had a SQL 2K database in place. I would only chose
RDA if I had to pull data from another database, like Oracle.
 
Correction: RDA cannot pull data from Oracle database.
RDA might be less overhead than Replication.
Please correct me if I am wrong.
 
Thanks for your input.
I wanted to make sure there wasn't something I was completely overlooking.

As far as a presentation/business logic layer to display data replicated to
the device from SQL 2K, is .Net CF stable enough for use in a production
environment? If so, would it be feasible to use ASP.Net or a form
application to populate synchronized data?

The last time I undertook something of this nature, it was using eVB, which
was definitely *not* ready for a production environment.

Many thanks for your input-
 
I am not an expert yet, but I can tell you from my three months experience.
As far as stable, I think the .NET CF is stable. There are lots of
production apps out there. I am working on one. You might encounter some
features that are not yet, the CE team is coming up with a bunch of new
features.

Users often complain SQL CE insert and update performance is a little slow.
But depending on your data requirents it could be enough.
You need some patience when you are compiling/debugging because the emulator
is still pretty slow, it takes a while to compile. If you use wireless it is
faster.

But so far I am enjoying working with it, and I bet most people are too.

Hope it helps.
Simone
 
Chris,

I have worked on dozens of handheld applications - most of which revolve
around SQL CE. I have to say that SQL CE 2.0 is a great tool... and of all
the technologies - RDA is a real performer.

However, for sake of keeping an open mind. Configuration of RDA is
involved, and due to the pieces in the RDA puzzle... things _can_ break.
Debugging is already hard enough - and trying to find out what the problem
is... can cause bouts of temporary insanity. This is especially true if you
have a couple developers at your location... a single configuration change
in one of the many steps can cause your app to fail. That is a stability
issue...

As a general rule - if the application requires a fair amount of logic in
the pushing / pulling of data... even though RDA is a real performer, it is
always nice to be able to write a web service that can 'talk' to your
application and simplify data updates. I have found that debugging is far
easier with this approach...

Seriously - If you haven't tried web services... Check out the (great)
article that Derek Mitchell wrote on www.devbuzz.com.
http://www.devbuzz.com/content/zinc_compact_framework_web_service_xml_pg1.as
p

Cheers,

Rick Winscot
rickly@zyche dot com
 
Back
Top