Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / Distributed Applications / December 2005

Tip: Looking for answers? Try searching our database.

Yet another, remoting vs web services, datasets vs custom objects....

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Chaz - 08 Dec 2005 21:48 GMT
Hi all,

Im about to embark into the development of a 12 month project, the project
is basically a WinForms app with a web based server supplying the data and
business logic.

We are an ISV so the intention is to use ClickOnce to get our winforms
accounting package out to our web based global client base and then point
those clients to our public data centre servers for application services.

Once again we are on the Web Services vs Remoting territory, the fore and
against arguments so far as I can tell are....

Web Service Ups...Remoting Downs
> Interopability across multiple platforms and technologies, remoting
> requires .NET either end, not a problem since we are supplying the client
> I guess
> Highly supported in the M$ community, WSE etc, remoting seems to have a
> MUCH smaller following and less emphasis by M$ as a technology for this
> kind of app?
> Ive used Web Services in anger for over 4 years since M$ SOAP Toolkit v1,
> Ive never used remoting

Web Service Downs...Remoting Ups
> Compared to Remoting Im told they are slower (serialise and deserialise I
> guess) and have seen a few Microsoft articles that state the difference is
> actually negligable
> Web Services are Stateless, as I understand it it would be much easier for
> our developers to have Stateful remoting objects as our application is
> highly object driven and complex as well as data centric

The general advice seems to be that if you are controlling the desktop use
remoting, otherwise use web services, but which is going to best for moving
to Indigo ?

I was also planning to use custom objects and collections rather than
datasets, then a colleague told me about using binary XML datatables,
apparently they are a good DTO if you are using web services.

Also to keep firewall friendly we are planning on pushing everything through
HTTP port 80 and likely running the remoting service inside IIS - but
everytime I make a decision I seem to find some conflicting article, forum,
newsgroup to choosing the best technology for my application.

Anyone out there done anything similar and can point me in the right
direction on some of these decisions?

TIA

Chaz
Klaus H. Probst - 09 Dec 2005 02:56 GMT
ROFL, did you copy/paste this from a Slasdot post or something?

'M$', indeed.

Signature

Klaus H. Probst, MVP
  http://www.simulplex.net/

> Hi all,
>
[quoted text clipped - 46 lines]
>
> Chaz
Chaz - 09 Dec 2005 10:40 GMT
I wish, spent 40minutes typing up that mail  :)   I also read SlashDot a bit
;)

Any ideas on how I can move forward with choosing my technology Klaus or
anyone else ?

Chaz

> ROFL, did you copy/paste this from a Slasdot post or something?
>
[quoted text clipped - 50 lines]
>>
>> Chaz
Paul Gielens - 09 Dec 2005 20:20 GMT

Hi Chaz,

>> Ive used Web Services in anger for over 4 years since M$ SOAP Toolkit v1,
>> Ive never used remoting

The first "real" argument... use the technology you (and your team) feel
comfortable with.

> Web Service Downs...Remoting Ups
>> Compared to Remoting Im told they are slower (serialise and deserialise I
>> guess) and have seen a few Microsoft articles that state the difference
>> is actually negligable

Do you have performance related acceptance criteria? How do these measure up
against these two technology options?

>> Web Services are Stateless, as I understand it it would be much easier
>> for our developers to have Stateful remoting objects as our application
>> is highly object driven and complex as well as data centric

Stateful designs requires server resources, how many concurrent users do you
have? Stateful doesn't work well in server farms and for this reason doesn't
scale up/out well. You should prefer a stateless design server-side.

> The general advice seems to be that if you are controlling the desktop use
> remoting, otherwise use web services, but which is going to best for
> moving to Indigo ?

Web Service Enhancements (WSE) 3.0 offers the migration path towards Indigo.

> I was also planning to use custom objects and collections rather than
> datasets, then a colleague told me about using binary XML datatables,
> apparently they are a good DTO if you are using web services.

You should prefer XML since it offers maximal interoperability. Share schema
and contract, not class (do not put a System.Data.DataTable type on the
wire). To efficiently transport high volume XML over the wire, use MTOM.
MTOM enables interoperable solutions to transmit binary data as part of a
SOAP message.

Best regards,
Paul Gielens

Visit my blog @ http://weblogs.asp.net/pgielens/
###
Chaz - 11 Dec 2005 16:01 GMT
First of all thankyou for your insights Paul, your comments are very
valuable to me.

> Do you have performance related acceptance criteria? How do these measure
> up against these two technology options?

Not as such, although our software is used in a call centre environment
where every second counts to the operators in that environment.

> Stateful designs requires server resources, how many concurrent users do
> you have? Stateful doesn't work well in server farms and for this reason
> doesn't scale up/out well. You should prefer a stateless design
> server-side.

Is it fair to say that using stateful designs is always a big no-no,
regardless of whether I select the remoting or web service options, does
that include any use of ASP Session State in the case of Web Services ?  -
If thats the case doesnt that mean much more data has to pass between the
server and client to maintain state between operations ?

> Web Service Enhancements (WSE) 3.0 offers the migration path towards
> Indigo.

I was hoping you would say that, I have just started playing with WSE 3 and
am looking at MTOM

Thanks again for you advice Paul, can you recommend any good source code
examples of using these technologies the way you describe in a SmartClient
environment, I already have TaskVision, IssueVision and some of the M$ 24/7
series but find them pretty hard to follow.

Chaz

=========================================================

> Hi Chaz,
>
[quoted text clipped - 43 lines]
> Visit my blog @ http://weblogs.asp.net/pgielens/
> ###
Paul Gielens - 11 Dec 2005 20:32 GMT

Hi Chaz,

> First of all thankyou for your insights Paul, your comments are very
> valuable to me.

Thanks!

>> Stateful designs requires server resources, how many concurrent users do
>> you have? Stateful doesn't work well in server farms and for this reason
[quoted text clipped - 4 lines]
> regardless of whether I select the remoting or web service options, does
> that include any use of ASP Session State in the case of Web Services ?

It's always a tradeoff. With a stateless design you need to decide where to
persist state outside of the service so that it can be retrieved on a per
request basis, typically a database.

> If thats the case doesnt that mean much more data has to pass between the
> server and client to maintain state between operations ?

Yes. How does the data volume messure up against the server-side
computing/processing cost? This also depends on the service- and
datacontract... fine/coard grained.

> Thanks again for you advice Paul, can you recommend any good source code
> examples of using these technologies the way you describe in a SmartClient
> environment, I already have TaskVision, IssueVision and some of the M$
> 24/7 series but find them pretty hard to follow.

Actually (unfortunately no example code) I used Neo
(http://neo.codehaus.org) in a smart client application. Neo stores the
context of your application, how obvious, in a ObjectContext object. The
ObjectContext can work disconnected and be serialized to XML. You can then
send the whole context as XML across the wire and let the service persist it
in a data store. An alternative is to map the context to data transfer
objects (DTO) consumed by the service. I know ThoughtWorks (the creators of
Neo) have experience building smart client application with Neo. Please ask
your questions here user@neo.codehaus.org. To subscribe send an empty mail
to user-subscribe@neo.codehaus.org and follow the instructions.

Best regards,
Paul Gielens

Visit my blog @ http://weblogs.asp.net/pgielens/
###
Chaz - 12 Dec 2005 17:55 GMT
Funny you should mention NEO its one I have had a play with, I have looked
at many ORM frameworks including NEO, but have so far found IDEABLADE
DevForce to be one of the most feature rich environments, Im having trouble
finding out how much it costs though..  Stangely enough it seems to use
Remoting as its preferred Internet connectivity.

> Hi Chaz,
>
[quoted text clipped - 44 lines]
> Visit my blog @ http://weblogs.asp.net/pgielens/
> ###
sdurity@cornercap.com - 20 Dec 2005 19:02 GMT
I agree. Take a look at DevForce from IdeaBlade (www.ideablade.com).
They have have put lots of work into the remoting aspect of their
framework. And it can work in a disconnected state (and then
replicate), if that matters for your application. I use the ORM and
DataBinding parts of the framework which have been very helpful. Smart
folks over there.

Pricing is pretty reasonable on a developer basis. Server-based pricing
is still evolving, IMO, so work with them on it.

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.