Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
C# replacement for VFP code
Message
From
02/12/2006 15:01:21
Walter Meester
HoogkarspelNetherlands
 
 
To
02/12/2006 10:01:49
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01167122
Message ID:
01174399
Views:
17
>Walter,
>
>It's got nothing to do with the tool ... it's got everything to do with client/server processing.
>
>Jojo was talking about pulling down all his data to the client (his Form) and that's something you don't need to do. What you're talking about with your statistical processing is something that should be done server-side, not client-side.

Rubbish, SQL servers are not capable of doing complex statistical analysis. If I want to calculate trendlines, scatter diagrams etc, IOW calculations with a lot of datapoints I need all data in an application that is capable of doing the statistical calculations. It requires the whole dataset to be downloaded to the client. The server side is responsible of getting me the data, the client side is responsible of processing that data into a form that has meaning to the users.

>And when I say "server-side", I don't necessarily mean in SQL Server itself (although with SQL2005's capability of being able to use managed code now, you can probably write more powerful stuff than you're able to with T-SQL ... I haven't experimented with this aspect yet).

Even then, what are you trying to say here? That I should generate the graphs or do the statistical analysis on the server? Client server does not mean that the client is on a different machine than the server. It is about different layers (in which the layers can be on the same machine). In anyway, you're not providing a solution for this specific case. A SQL server (yes the machine itself) should do concenrtate on providing data. Analysis of data should take place elsewhere or else your server performance is severely affected. In a traditional C/S setup that means the client machine.

Not many people do realise that because they are contraint by the capabilities of the tool. There are a whole heap of niche products that fill those gaps. Those products are specifically aimed to process whole heaps of data to do statistical analysis on large amounts of data. Those product do requery whole heaps data from the SQL server. More mainstream examples of such products are business object and holos (two market leaders).

Look downloading 50,000 row of 500 bytes a row, = 25 megs and takes about 3 seconds to download on a 100 mps network. Not a big deal... Why force the statiscal processing on a central server
while you have so much processing power on your workstation ??




>Client/server apps should have server-side business classes where you can do datamunging if you need to. Since it's done server-side, those vast amounts of data do not need to travel down the wire to the client-side.

Great.... then I suppose those scatter, trendline graphs are to be send to the client in a JPEG file ?? That might make sense on a web application where you don't have much choice, but not in a real C/S desktop app. Further, since those statistical calculations can take a whole lot of time, you want to introduce a single point of (performance) failure by usinng a shared server doing the work, again knowing that your brand new dual core client machine would handle the job just fine.


Bonnie, I appreciate that you have learned to solve problems in a certain way, but as I see it you have learned to work with limitations that are constrained by the tools at hand and totally forgot why you are solving problems the way you do. This is BAD. You should be open to find the ideal solution, and *if* constrained by the tool, hardware or infrastructure, you should know that. Only that insight makes you capable of find the best solution in any given case. Sometimes it might be better to do server processing, sometimes it pays off to download the data to the client.

Walter,

Walter,
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform