473,386 Members | 1,766 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

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

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
11 4098
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
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
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
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
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
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
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
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
> 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
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
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 thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Paul | last post by:
Hi. Just trying to find out the best approach as I beleive it might give me problems later on down the road. I have an ASP.NET application which references a shared database class which...
2
by: Andrew | last post by:
Hi, friends, We need to programm a .dll (C#) which will collect all selected files from various locations, such as a DB, a file system, a VSS, etc. So, it may take long time. I created a method...
5
by: Darin | last post by:
Hi, I have a winforms app that will need to save certain runtime values that will need to be accessed by different classes throughout the life of the app. Is the best approach to create a...
1
by: milesm | last post by:
I've spent the last 3 hours reading various MSDN articles, other site articles and news group postings and was wondering what the best approach to my situation would be since I'm unable to come up...
0
by: D. Shane Fowlkes | last post by:
OK - I'm looking for the best approach on how to do this. I have a form page where the user can edit their "Profile" (data) which is in SQL Server. It's your basic company information - address,...
2
by: --== Alain ==-- | last post by:
Hi, I'm currently working under VC++.NET 2005 and i'm deriving my custom control from ListView. I need your feedback to know in which direction should i develop this control. I've seen on...
5
by: gw7rib | last post by:
I'm writing a program which has "notes" - these can appear on the screen as windows with text in. It is possible to create an "index note" - at present, this will contain a list of the titles (or...
2
by: J | last post by:
I'm a bit new to asp.net and I'm investigating the best approach to this: I have a contact table that includes stuff like Name, address, phone, etc. Because each contact can contain multiple...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.