Online / Offline: SmartClient

Online / Offline: SmartClient

Old forum URL: forums.lhotka.net/forums/t/366.aspx


kdubious posted on Tuesday, June 13, 2006

Any suggestions out there for Smart Client style CSLA apps?

I rigged up some code before to allow a local DB, then used remoting in my BO's to build a sync routine, but it was very ugly.

I've been researching SQL 2005 Replication, which looks promising.

I've never touched Enterprise Library... looks a little daunting.

Anyone solved this already?

 

Kevin

Jan replied on Wednesday, June 14, 2006

Kevin,

I'm in the same situation and got good testresults with "SQL Server 2005 Everywhere"  (CTP released last Monday : http://www.microsoft.com/downloads/details.aspx?FamilyId=85E0C3CE-3FA1-453A-8CE9-AF6CA20946C3&displaylang=en ) on the client (desktop in my case).  Then I use merge-replication to get the data synchronised with a SQL Server 2005 database on the server.

Regards,

Jan

kdubious replied on Wednesday, June 14, 2006

Thanks, Jan...

I just saw another thread (http://forums.lhotka.net/forums/thread/263.aspx) in here talking about the issue.  Any reason (since my client is OK with it) not to use SQL Express?

I need to use stored procedure... mostly because there are about 100 already written.

Thanks,

Kevin

ajj3085 replied on Wednesday, June 14, 2006

Kevin,

Sql Express would work just as well.  This is the route I'm planning on taking,when we get to need this kind of functionality, which may be  a while off. 

My investigations so far suggest Merge replication is the best way to go.

Andy

Jan replied on Wednesday, June 14, 2006

Kevin,

The advantage of SQL Express is indeed the support for stored procedures.  On the other hand the SQL Express 2005 SP1 installer is about 55MB large, so if you need to deploy that over gprs/umts, it might be a bit large.  And of course there are the RAM requirements 192MB minimum, and 512MB recommended.  As it installs as a service, you absolutely need admin rights, while for the "Everywhere version" (although not recommended by MS) you could deploy the dll's directly in the application directory with clickonce, and that works even for a "limited user".

If you prefer something easy and lightweight, I think SQL Server 2005 Everywhere is the way to go.

Jan

kdubious replied on Wednesday, June 14, 2006

I'm starting to think that Jan gets a commission on every SQL/e user? Anyone agree?

I'm not so concerned about the install size in my case, but I do hate the fact that SQL Express will always run.  I may look at a means of starting and stopping it with my app.

Jan replied on Thursday, June 15, 2006

Kevin,

Don't worry, no special relationship with Microsoft.  I'm only an independent programmer with the typical love/hate relationship towards Microsoft.  Love because they have nice products; hate because too often missing or not working features in their products give me the impression they (Microsoft) don't really use their own products. 

 

 "I do hate the fact that SQL Express will always run"

It looks like you just gave another reason to use "SQL Server Everywhere"   :-)

Greetings,

Jan

brettswift replied on Monday, June 19, 2006

I was just going to post on the same thing.

I have 50% of a Win Forms application developed, and want this to become a smart client.

I was thinking of replication with SQL Server Everywhere(if that feature is compatibile with the Anywhere version). 


My goal is this: I have my WinForms setup to tie into a local database, so all the code so far is just like in the project tracker.. 

ie.   ProjectList list = ProjectList.GetProjectList();

now my goal, is to keep ALL of the code the same, so that I don't have to change all of those to:

PTService svc = new PTService();

svc.GetProjectList();

in every instance that I interact with my BO's.


Is that possible?  Rocky hopefully you read this thread, I'm guessing you may be the only one that has seen this.  

If not, I'm thinking my application has to have a global mode property of "offline" or "online", and in every situation where I access my BO's I will need a condition to see my online status to determine which methods I can use...

Am I on the right track here or is there a better way someone can think of ?


Copyright (c) Marimer LLC