Link to home
Start Free TrialLog in
Avatar of Kyle Foster
Kyle FosterFlag for United States of America

asked on

Client/Server to Briefcase Model

I have a client/server application that depends on a vpn connection to a MSSQL Server.  Clients are requesting the ability to work offline.  I have done some testing with TClientDataset storing information locally, but this will entail rewriting all of my stored procedures and user defined functions into the client.

Does anyone have any experience in this area?  Any ideas that will broaden my thoughts on the subject are greatly appreciated.
Avatar of atul_parmar
atul_parmar
Flag of India image

There is NO need to rewrite all the logic of stored procedure and UDFs to client. The main thing is that all these depends on the existing design and scope of extention of your application.

The best thing is to go through with the capabilities and limitations of the TClientDataset  and map it to your existing design architecture. Personally, I would suggest you to visit Borland Quality Centre and see the issues related with TClientDataset.
Major consideration is how your data should behave in specific conditions.
The data you are adding/modifying will not reflect  to other users. eg: The details of the person will not change frequently. Any changes will not a must to reflect immediately(depends on situation).

Another situation is the data should get update immediately on the database. eg: Receipt Generation doing from centrally. In this case the last receipt number will take from the central data. If keeping the sequence number in the client data set and updating later will give trouble.

Analyize the situation and make sure that the client dataset is updating in the right time depends on the process you are doing.

Hope this gives a general idea on it.

sun4sunday

     
Avatar of Kyle Foster

ASKER

A little more definition.

I have a dynamic process inside SQL Server that goes through a table of steps.  Each of these steps has a script that gets processed to determine a boolean result.  If all of the steps (currently 45) return true then the client is eligible to receive services.  The client simply saves the data to the server and calls a stored procedure sp_DetermineEligibility(ClientID).

If I allow the user to enter a new client offline there is no means in the client to determine if te new client is eligible for services.  

In this scenario, I am thinking it would be easier to install MSDE an all of the user machines so that the client doesn't change.  Then all I have to deal with is whether to use the local MSDE database or the Central SQL 2000 server.  I would then write a process to move new data to the server when a connection is made.  MSDE does not support 2 way repllication.  In order to make this a 1 way replication situation.  I will require the client to check out  a client prior to working with them offline.  This way I don't have to deal with reconciling new data on the users laptop with new data on the server.  I will simply do a push.

Any ideas?
Here are few ideas that click in mind
1. You can delay the step of determining whether the client is eligible or not.
2. Such a step can be disabled when the application is running in briefcase mode. The user must connect to the server in order to perform such task.

Installing MSDE in client is also a good solution and can offer you many advantages. Speed, time, effort, etc. But the main thing to consider is  your validation routine. e.g. consider a case when a client validates successfully but due to some changes in central validation it might fail on server.
The validation is based on federal guidelines and if they change it is on an annual basis.  Therefore, I already have in place a mechanism for which set of guidelines were used to determine the eligibility status.  But, with that in mind,  when a client created offline is posted to the main server it will probably be a good idea to rerun the process for eligibility determination.  just in case...  :)

I can't delay the determination because if a government grantee gives services to a client that is not eligible then the non-profit has to eat the cost of those services.  That ussually :) upsets my clients.

It looks like MSDE is going to be the easiest solution to implement.  I just wanted to see if anyone had a solution or 3rd party product that I haven't run across in my research phase.
ASKER CERTIFIED SOLUTION
Avatar of Computer101
Computer101
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial