Client/Server to Briefcase Model

Posted on 2006-06-07
Last Modified: 2010-04-05
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.
Question by:kfoster11
    LVL 10

    Expert Comment

    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.
    LVL 10

    Expert Comment

    LVL 9

    Expert Comment

    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.


    LVL 7

    Author Comment

    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?
    LVL 10

    Expert Comment

    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.
    LVL 7

    Author Comment

    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.
    LVL 1

    Accepted Solution

    PAQed with points refunded (500)

    EE Admin

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Suggested Solutions

    Title # Comments Views Activity
    Windows Drag & Drop Location 2 79
    Delphi XE7 Rest Client 2 147
    How to use Hashing sha1 in Delphi 2010 4 114
    delphi parse string to params 3 40
    Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
    In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
    Need more eyes on your posted question? Go ahead and follow the quick steps in this video to learn how to Request Attention to your question. *Log into your Experts Exchange account *Find the question you want to Request Attention for *Go to the e…
    Hi everyone! This is Experts Exchange customer support.  This quick video will show you how to change your primary email address.  If you have any questions, then please Write a Comment below!

    779 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

    Need Help in Real-Time?

    Connect with top rated Experts

    12 Experts available now in Live!

    Get 1:1 Help Now