Basic question about datasets

  • Thread starter Thread starter Chak
  • Start date Start date
C

Chak

If i am running a Windows Forms application from a remote PC, and the
application creates a dataset, am i right in assuming that the dataset will
reside in the memory of the remote PC ? And if the client is running the
application from his own PC, then the dataset would be in the client PC ?

If this is so, then the PC which serves up the applications needs to have
sufficient memory to handle multiple instances of datasets and other memory
objects.

Regards,

Chak
 
Chak,

Do you mean that you are using two ore more PC where one is processing and
the other one is only doing Terminal operations by the keyboard and the
screen (Terminal emulation with terminal services).

Than the computer running the terminal services will need sufficient memory
(including datasets) for all computers using that terminal service. The
dataset is basicly not shared (or you should create a special multi tiered
application for that).

Cor
 
Cor Ligthert said:
Chak,

Do you mean that you are using two ore more PC where one is processing and
the other one is only doing Terminal operations by the keyboard and the
screen (Terminal emulation with terminal services).

Than the computer running the terminal services will need sufficient
memory (including datasets) for all computers using that terminal service.
The dataset is basicly not shared (or you should create a special multi
tiered application for that).

Actually, if it is a terminal service nothing is shared other than display,
mouse and keyboard more or less.
 
I meant a network share.

Thanks.

Miha Markic said:
Chak said:
If i am running a Windows Forms application from a remote PC,

What do you mean? Do you start the application from a network share or
through remote desktop?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

and the
application creates a dataset, am i right in assuming that the dataset
will reside in the memory of the remote PC ? And if the client is running
the application from his own PC, then the dataset would be in the client
PC ?

If this is so, then the PC which serves up the applications needs to have
sufficient memory to handle multiple instances of datasets and other
memory objects.

Regards,

Chak
 
Then it will residet on the client machine. The application will be loaded
into the memory of that machine, and so will any variables/data that this
application uses.

To run it on the remote machine, you would have to log in through terminal
services, and then run it.

Think about it, when you run an install off of a network share - the program
still gets installed onto your machine, right? That's because the program
gets copied to your machine and loaded into memory, and then it runs and
installs onto your machine and not on the network share. Same here.

Chak said:
I meant a network share.

Thanks.

Miha Markic said:
Chak said:
If i am running a Windows Forms application from a remote PC,

What do you mean? Do you start the application from a network share or
through remote desktop?

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://cs.rthand.com/blogs/blog_with_righthand/

and the
application creates a dataset, am i right in assuming that the dataset
will reside in the memory of the remote PC ? And if the client is
running the application from his own PC, then the dataset would be in
the client PC ?

If this is so, then the PC which serves up the applications needs to
have sufficient memory to handle multiple instances of datasets and
other memory objects.

Regards,

Chak
 
If you're just executing the .exe on the remote machine, then it executes
locally on your own machine. To prove it, double click the .exe on the
share and then check your processes. You'll see it locally, that's where
it's executing.
 
Miha - this intrigues me in that i haven't written apps with TS in mind. Is
it a correct statement then that if I have a machine and 20 users go into it
with Terminal services, that my app executes locally and that the host
machine isn't really holding all the business objects on it? What I mean is
if my app creates a dataset that consumes 1mb, if I have 20 users, is 20mb
used (+ the screen and all that jazz) on the host, or does it just share the
display, mouse etc and each client will hold one of the 1mb datasets?

Sorry for the n00b question, I'm just new to TS.

Thanks buddy.

Bill
 
Bill,

Terminal services simulates a kind UNIX or whatever mainframe environment.
Think about the classic VT100 for that. (See at the end because it is not
really doing that, it looks alike)

http://vt100.net/

This means that your programs can be as shared data on the server (not the
actual processing parts), for the typical user information should be taken
steps to hold that. Therefore needs mostly a terminal service a hug amount
of memory. With more users you need at the moment to have more computers
(balance loaded placed). Depending on the applications is 10 to 20 mostly
the maximum for one server. (I don't know yet the effect of the 64Bits
computer on that).

At the moment you can buy modern VT100 terminals (the name for that) which
can be connected to Citrix.

http://www.wyse.com/products/winterm/3235le/3235.pdf

It has only memory to hold it logic for the keyboard, the mouse the screen
and connection.

The back point from this is, that Unix processes are mostly made for this.
MultiTiering their data use or whatever use, so make it possible to let the
users share that.

Windows applications are not directly build for that approach however more
for the Client Server approach. Here you see direct the advantage from a
multitier in such an environment what as you probably know from me, I don't
find direct an advantage in a windows environment.

Before you misunderstand me. Terminal sharing stays a Client Server approach
it is not a real Unix design approach. The Terminal Server is doing all the
client processes as where they on the clients computer user by user.

I hope that this gives an idea.

Cor
 
Hiya Bill,

W.G. Ryan - MVP said:
Miha - this intrigues me in that i haven't written apps with TS in mind.
Is it a correct statement then that if I have a machine and 20 users go
into it with Terminal services, that my app executes locally and that the
host machine isn't really holding all the business objects on it? What I mean is
if my app creates a dataset that consumes 1mb, if I have 20 users, is 20mb
used (+ the screen and all that jazz) on the host, or does it just share
the display, mouse etc and each client will hold one of the 1mb datasets?

Everything runs on the server - it is just a dumb terminal on the client
side.
So the server has to be a beast of a machine.
Sorry for the n00b question, I'm just new to TS.

Sure, no problem.
Limited TS is remote desktop - even Windows XP has it so you might check it.
 
Bill,

A short correction otherwise it can be understood wrong.
.Here you see direct the advantage from a multitier in such an environment
what as you probably know from me, I don't find direct an advantage in a
windows environment.
In a Unix/mainframe environment you see etc.

I do not mean the TS environment, that is mostly taken to migrate easily
windows application to a central processing situation. Change that to
multitier is than the horse behind the car.

Cor
 
Back
Top