By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
457,973 Members | 1,242 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 457,973 IT Pros & Developers. It's quick & easy.

Winforms over LAN and Internet - Best approach? (WS, Remoting, etc)

P: n/a
I am starting a project that may be suitable for vb.net, using windows
forms. I want a rich client, thus win forms vs web forms. Most users
will access the app data over a LAN, but some will be remote users,
accessing via vpn. I could use terminal services for this but am
thinking that an alternate technology like remoting or web servies could
be viable.

- Rich client
- N-Tier
- LAN & Internet clients (via VPN)
- Same interface for local and remote users
- Easy deploy to remote users
- Local and remote users will need to retrieve and update data from db
- Has to be secure

From what I've read, remoting sounds like it could work well, but that
it's already on the way out in favor of some future edition of web
services. My understanding is that the reason I couldn't use the current
implementation of .net web services for this app is that it's not
effective for data updates and uses xml for data transfers (thus bloat).
Is that right?

I'm new to .net, and need this all to be as simple to pick up as
possible. I'd really appreciate any pointers as to which technology set
would be most appropriate to gain exposure to. If the upcoming edition
of .net isn't too far down the road, and if it offers significant
benefits for this sort of project, that'd be great...in particular, if
remoting is going to go away, what should I be looking at?

I don't mind buying a 3rd party dev framework if that could simplify.
Any books or articles out there that address this topic?

Posting to 3 newsgroups as all seemed like they might have different and
relevant perspectives on this subject.
Nov 23 '05 #1
Share this Question
Share on Google+
11 Replies


P: n/a
The easiest way would be web services. Use multiple threads for data
interaction/responses to web services to ensure a rich user application.
Depending on the requirements, you could go with remoting or event COM+
services. All three have their own benefits and limitations. From the sounds
of it though, the web services would be your easiest solution.

Let me know if you have more of the requirements and I could be more specific.
I hope this was helpful.
"kiln" wrote:
I am starting a project that may be suitable for vb.net, using windows
forms. I want a rich client, thus win forms vs web forms. Most users
will access the app data over a LAN, but some will be remote users,
accessing via vpn. I could use terminal services for this but am
thinking that an alternate technology like remoting or web servies could
be viable.

- Rich client
- N-Tier
- LAN & Internet clients (via VPN)
- Same interface for local and remote users
- Easy deploy to remote users
- Local and remote users will need to retrieve and update data from db
- Has to be secure

From what I've read, remoting sounds like it could work well, but that
it's already on the way out in favor of some future edition of web
services. My understanding is that the reason I couldn't use the current
implementation of .net web services for this app is that it's not
effective for data updates and uses xml for data transfers (thus bloat).
Is that right?

I'm new to .net, and need this all to be as simple to pick up as
possible. I'd really appreciate any pointers as to which technology set
would be most appropriate to gain exposure to. If the upcoming edition
of .net isn't too far down the road, and if it offers significant
benefits for this sort of project, that'd be great...in particular, if
remoting is going to go away, what should I be looking at?

I don't mind buying a 3rd party dev framework if that could simplify.
Any books or articles out there that address this topic?

Posting to 3 newsgroups as all seemed like they might have different and
relevant perspectives on this subject.

Nov 23 '05 #2

P: n/a
You have a lot of questions and of course a lot of answers that I waiting
to.

The way I use WinForms with a SQL database is with a simple alias from the
client utility, this work great for me, and don't have to change any line of
code and the WinForm app work with a server datadase any where at LAN or WAN
or internet

This way I get the best of both worlds, the rich and smart desktop
application (and lot easer) and the data centralized at internet some where.
The client only have to install the application and can download and install
notouch deployment and doesn't matter where is running , he get the
centralized information they need

I want to see the other scenarios

MajorTom


"kiln" <ki**@brick-like.com> wrote in message
news:MP************************@msnews.microsoft.c om...
I am starting a project that may be suitable for vb.net, using windows
forms. I want a rich client, thus win forms vs web forms. Most users
will access the app data over a LAN, but some will be remote users,
accessing via vpn. I could use terminal services for this but am
thinking that an alternate technology like remoting or web servies could
be viable.

- Rich client
- N-Tier
- LAN & Internet clients (via VPN)
- Same interface for local and remote users
- Easy deploy to remote users
- Local and remote users will need to retrieve and update data from db
- Has to be secure

From what I've read, remoting sounds like it could work well, but that
it's already on the way out in favor of some future edition of web
services. My understanding is that the reason I couldn't use the current
implementation of .net web services for this app is that it's not
effective for data updates and uses xml for data transfers (thus bloat).
Is that right?

I'm new to .net, and need this all to be as simple to pick up as
possible. I'd really appreciate any pointers as to which technology set
would be most appropriate to gain exposure to. If the upcoming edition
of .net isn't too far down the road, and if it offers significant
benefits for this sort of project, that'd be great...in particular, if
remoting is going to go away, what should I be looking at?

I don't mind buying a 3rd party dev framework if that could simplify.
Any books or articles out there that address this topic?

Posting to 3 newsgroups as all seemed like they might have different and
relevant perspectives on this subject.

Nov 23 '05 #3

P: n/a
Thanks for all of that. I somehow had the impression that web services
wasn't really meant for updates, that it was more for data retrieval
etc.

One "limitation" of remoting from what I gather is that it's more
complex than web services; web services has more of the plumbing in
place. If true that would be a big plus for me. But I'd thought that
part of the issue too with webservices is that by transmitting
everything as xml, the amt of data sent over the wire is quite expanded,
and that conversions on both ends add to the processing load. Wouldn't
this be so?

Functionally the app will be your standard data entry, update, report,
scenario just like most client server apps are.

In article <CF**********************************@microsoft.co m>,
Ex*************@discussions.microsoft.com says...
The easiest way would be web services. Use multiple threads for data
interaction/responses to web services to ensure a rich user application.
Depending on the requirements, you could go with remoting or event COM+
services. All three have their own benefits and limitations. From the sounds
of it though, the web services would be your easiest solution.

Let me know if you have more of the requirements and I could be more specific.
I hope this was helpful.
"kiln" wrote:
I am starting a project that may be suitable for vb.net, using windows
forms. I want a rich client, thus win forms vs web forms. Most users
will access the app data over a LAN, but some will be remote users,
accessing via vpn. I could use terminal services for this but am
thinking that an alternate technology like remoting or web servies could
be viable.

- Rich client
- N-Tier
- LAN & Internet clients (via VPN)
- Same interface for local and remote users
- Easy deploy to remote users
- Local and remote users will need to retrieve and update data from db
- Has to be secure

From what I've read, remoting sounds like it could work well, but that
it's already on the way out in favor of some future edition of web
services. My understanding is that the reason I couldn't use the current
implementation of .net web services for this app is that it's not
effective for data updates and uses xml for data transfers (thus bloat).
Is that right?

I'm new to .net, and need this all to be as simple to pick up as
possible. I'd really appreciate any pointers as to which technology set
would be most appropriate to gain exposure to. If the upcoming edition
of .net isn't too far down the road, and if it offers significant
benefits for this sort of project, that'd be great...in particular, if
remoting is going to go away, what should I be looking at?

I don't mind buying a 3rd party dev framework if that could simplify.
Any books or articles out there that address this topic?

Posting to 3 newsgroups as all seemed like they might have different and
relevant perspectives on this subject.

Nov 23 '05 #4

P: n/a
WSE using ws-security and/or ws-secureconversation. Very flexible and
allows complete secure conversation or just the parts you need. Can do
anything you can do in code in the server web method, so have at it. If the
WSE web service is not the db box itself, you would probably want to secure
the link between the web server and the db using IPSec so no data or
connection strings can be picked over the internal wire.

--
William Stacey, MVP
http://mvp.support.microsoft.com

"kiln" <ki**@brick-like.com> wrote in message
news:MP************************@msnews.microsoft.c om...
I am starting a project that may be suitable for vb.net, using windows
forms. I want a rich client, thus win forms vs web forms. Most users
will access the app data over a LAN, but some will be remote users,
accessing via vpn. I could use terminal services for this but am
thinking that an alternate technology like remoting or web servies could
be viable.

- Rich client
- N-Tier
- LAN & Internet clients (via VPN)
- Same interface for local and remote users
- Easy deploy to remote users
- Local and remote users will need to retrieve and update data from db
- Has to be secure

From what I've read, remoting sounds like it could work well, but that
it's already on the way out in favor of some future edition of web
services. My understanding is that the reason I couldn't use the current
implementation of .net web services for this app is that it's not
effective for data updates and uses xml for data transfers (thus bloat).
Is that right?

I'm new to .net, and need this all to be as simple to pick up as
possible. I'd really appreciate any pointers as to which technology set
would be most appropriate to gain exposure to. If the upcoming edition
of .net isn't too far down the road, and if it offers significant
benefits for this sort of project, that'd be great...in particular, if
remoting is going to go away, what should I be looking at?

I don't mind buying a 3rd party dev framework if that could simplify.
Any books or articles out there that address this topic?

Posting to 3 newsgroups as all seemed like they might have different and
relevant perspectives on this subject.


Nov 23 '05 #5

P: n/a
OK, thanks, thats the second webservices vote here. Most remoting
articles plug the efficient binary transer vs soap that ws uses; what
about that?

Are there any books or good articles, focus points on the web, for these
technologies? I'd love to find a couple of real world mini db app
examples that I could see work.

Would you recommend vs 2003, or the vs 2005 beta for kicking the tires?
I have vs 2003 pro; don't have any access to the 2005 beta other than
the express previews.

In article <OJ**************@TK2MSFTNGP09.phx.gbl>,
st***********@mvps.org says...
WSE using ws-security and/or ws-secureconversation. Very flexible and
allows complete secure conversation or just the parts you need. Can do
anything you can do in code in the server web method, so have at it. If the
WSE web service is not the db box itself, you would probably want to secure
the link between the web server and the db using IPSec so no data or
connection strings can be picked over the internal wire.

Nov 23 '05 #6

P: n/a
WSE is not same thing as IIS Web services, however you can use WSE in IIS
Web services. You can also use WSE without IIS using soap.tcp as transport
(which I like). I would not use remoting over the web. I probably would
not use current remoting at all as versioning is a killer. The next version
of remoting will address some of those issues to make it much better.
However, all the mind capital is going with WS specs and web services and
they have standards and published specs so they interop with other
platforms. Strick perf of the WS -vs- remoting is not the question IMO.
Compared to the whole app, the binary vs soap perf is small. I would rather
write my services in WSE today so that others could use via standards then
have to do it twice (once for remoting and once for public web service
apis.) You can also leverage a lot of WS security stuff already baked in.
I would get the WSE 2.0 for your VS 2003 and start working with it. sp2 is
supposed to work with VS2005, but I would stick with 2003 for now.

--
William Stacey, MVP
http://mvp.support.microsoft.com

"kiln" <ki**@brick-like.com> wrote in message
news:MP************************@msnews.microsoft.c om...
OK, thanks, thats the second webservices vote here. Most remoting
articles plug the efficient binary transer vs soap that ws uses; what
about that?

Are there any books or good articles, focus points on the web, for these
technologies? I'd love to find a couple of real world mini db app
examples that I could see work.

Would you recommend vs 2003, or the vs 2005 beta for kicking the tires?
I have vs 2003 pro; don't have any access to the 2005 beta other than
the express previews.

In article <OJ**************@TK2MSFTNGP09.phx.gbl>,
st***********@mvps.org says...
WSE using ws-security and/or ws-secureconversation. Very flexible and
allows complete secure conversation or just the parts you need. Can do
anything you can do in code in the server web method, so have at it. If the WSE web service is not the db box itself, you would probably want to secure the link between the web server and the db using IPSec so no data or
connection strings can be picked over the internal wire.


Nov 23 '05 #7

P: n/a
Thanks that's super advice.

Versioning of what part of remoting is 'killer'? Did you mean updating
the client software, or did you mean that remoting technology is
shifting enough to make dev difficult?

Are you aware of *any* .net web service app, a tutorial or sample app or
anything, that uses web forms and includes updates to the server data
from the client, that I could have a look at?

In article <O$**************@TK2MSFTNGP11.phx.gbl>,
st***********@mvps.org says...
WSE is not same thing as IIS Web services, however you can use WSE in IIS
Web services. You can also use WSE without IIS using soap.tcp as transport
(which I like). I would not use remoting over the web. I probably would
not use current remoting at all as versioning is a killer. The next version
of remoting will address some of those issues to make it much better.
However, all the mind capital is going with WS specs and web services and
they have standards and published specs so they interop with other
platforms. Strick perf of the WS -vs- remoting is not the question IMO.
Compared to the whole app, the binary vs soap perf is small. I would rather
write my services in WSE today so that others could use via standards then
have to do it twice (once for remoting and once for public web service
apis.) You can also leverage a lot of WS security stuff already baked in.
I would get the WSE 2.0 for your VS 2003 and start working with it. sp2 is
supposed to work with VS2005, but I would stick with 2003 for now.

Nov 23 '05 #8

P: n/a
We are using .NET Remoting but are a backend to an application over LAN
only. For scalability reasons, we are using Remoting hosted in IIS so we can
use the web garden to take advantage of multiple CPUs. The structure we are
using is HTTP using binary formatter BUT I am currently in the process of
looking to create a custom sink to Zip the data that is going over the wire
so that datasets can be compressed before and after transmission. I noticed
that I could get 100K down to 9k in some instances due to repitition in XML.

I am not sure this would be best in your circumstance but thought I would
put it out the for consideration.

Fred

"kiln" <ki**@brick-like.com> wrote in message
news:MP************************@msnews.microsoft.c om...
I am starting a project that may be suitable for vb.net, using windows
forms. I want a rich client, thus win forms vs web forms. Most users
will access the app data over a LAN, but some will be remote users,
accessing via vpn. I could use terminal services for this but am
thinking that an alternate technology like remoting or web servies could
be viable.

- Rich client
- N-Tier
- LAN & Internet clients (via VPN)
- Same interface for local and remote users
- Easy deploy to remote users
- Local and remote users will need to retrieve and update data from db
- Has to be secure

From what I've read, remoting sounds like it could work well, but that
it's already on the way out in favor of some future edition of web
services. My understanding is that the reason I couldn't use the current
implementation of .net web services for this app is that it's not
effective for data updates and uses xml for data transfers (thus bloat).
Is that right?

I'm new to .net, and need this all to be as simple to pick up as
possible. I'd really appreciate any pointers as to which technology set
would be most appropriate to gain exposure to. If the upcoming edition
of .net isn't too far down the road, and if it offers significant
benefits for this sort of project, that'd be great...in particular, if
remoting is going to go away, what should I be looking at?

I don't mind buying a 3rd party dev framework if that could simplify.
Any books or articles out there that address this topic?

Posting to 3 newsgroups as all seemed like they might have different and
relevant perspectives on this subject.

Nov 23 '05 #9

P: n/a
> looking to create a custom sink to Zip the data that is going over the
wire
so that datasets can be compressed before and after transmission. I noticed that I could get 100K down to 9k in some instances due to repitition in

XML.

I would test the perf before and after. Although you send less data, the
zip before and unzip at receiver adds time and costs cpu. You may end up
with less wire data at the cost of less performance - so does that hurt your
goal of doing it in the first place?

--
William Stacey, MVP
http://mvp.support.microsoft.com
Nov 23 '05 #10

P: n/a
I am going to do performance testing to see what this will do but I am
expecting to make it somewhat intelligent (and maybe highly customized to
our app) so that it will detect when it should deflate the stream and signal
the client when to inflate. This could eliminate those situations where
there is more time spent in zip/unzip than transmission. We are sending
large datasets and so for us it should be a small gain ~1-3 seconds.

Fred

"William Stacey [MVP]" <st***********@mvps.org> wrote in message
news:et**************@TK2MSFTNGP12.phx.gbl...
looking to create a custom sink to Zip the data that is going over the wire
so that datasets can be compressed before and after transmission. I

noticed
that I could get 100K down to 9k in some instances due to repitition in

XML.

I would test the perf before and after. Although you send less data, the
zip before and unzip at receiver adds time and costs cpu. You may end up
with less wire data at the cost of less performance - so does that hurt

your goal of doing it in the first place?

--
William Stacey, MVP
http://mvp.support.microsoft.com

Nov 23 '05 #11

P: n/a
Thanks for responding...could you give me an example (some article etc
on the web) that describes what you mean by "simple alias from the
client utility"? I'm new to .net and I'm not sure what client utility
you refer to...you mean SQL alias in ADO that points to a server over a
vpn, something like that?

In article <Ol**************@TK2MSFTNGP10.phx.gbl>,
m.********@NOverizon.net.do says...
You have a lot of questions and of course a lot of answers that I waiting
to.

The way I use WinForms with a SQL database is with a simple alias from the
client utility, this work great for me, and don't have to change any line of
code and the WinForm app work with a server datadase any where at LAN or WAN
or internet

This way I get the best of both worlds, the rich and smart desktop
application (and lot easer) and the data centralized at internet some where.
The client only have to install the application and can download and install
notouch deployment and doesn't matter where is running , he get the
centralized information they need

I want to see the other scenarios

MajorTom


"kiln" <ki**@brick-like.com> wrote in message
news:MP************************@msnews.microsoft.c om...
I am starting a project that may be suitable for vb.net, using windows
forms. I want a rich client, thus win forms vs web forms. Most users
will access the app data over a LAN, but some will be remote users,
accessing via vpn. I could use terminal services for this but am
thinking that an alternate technology like remoting or web servies could
be viable.

- Rich client
- N-Tier
- LAN & Internet clients (via VPN)
- Same interface for local and remote users
- Easy deploy to remote users
- Local and remote users will need to retrieve and update data from db
- Has to be secure

From what I've read, remoting sounds like it could work well, but that
it's already on the way out in favor of some future edition of web
services. My understanding is that the reason I couldn't use the current
implementation of .net web services for this app is that it's not
effective for data updates and uses xml for data transfers (thus bloat).
Is that right?

I'm new to .net, and need this all to be as simple to pick up as
possible. I'd really appreciate any pointers as to which technology set
would be most appropriate to gain exposure to. If the upcoming edition
of .net isn't too far down the road, and if it offers significant
benefits for this sort of project, that'd be great...in particular, if

Nov 23 '05 #12

This discussion thread is closed

Replies have been disabled for this discussion.