What is the perfect application model?

What is the perfect application model?

am 02.11.2007 10:46:08 von Andreas Zita

What is the perfect application model?

Lets say we could run a .NET-applikation on the server in a user-session and
only tunnel the interface to the client, similar to how VNC or Remote
Desktop is working (to any klient setup/os). Wouldnt that be a good thing? I
mean, I find it a little problematic to run an XBAP locally for a number of
reasons. First the client obviously has to run the .NET 3.5 framework but we
also get a bit dissconntected to the datasource. We cant well download the
whole dataset to the client and accessing it through a Web Service is still
not good enough since we wont have persistent objects that way (?). It would
be so much nicer to have one single environment to run all instances in and
only displace/tunnel the interface to the client. This is how ASP +
JavaScript allready works in some way I think but I dont like neither ASP or
JavaScript very much. Its a bit straggling and cumbersome to work with I
think.

What are your thoughts about this? Or am I just talking through my hat ....

/Andreas

Re: What is the perfect application model?

am 02.11.2007 11:28:02 von Kevin Spencer

Applications such as this have some inherent problems. First, the network
dependency slows down performance, depending on the state of the network.
Also, network connectivity may be interrupted, in which case, the thin
client is SOL until connectivity has been restored, and data may have been
lost in the process. Redundancy and fail-over mechanisms can deal with some
of this, but add complexity to the application.

Unless there is a reason to access server resources across a network, an
application would best be designed to function independently. The more
dependencies any software has in general (even on DLLs, local services, and
other local resources), the more points of failure it has. This is
especially true with network dependencies.

That is why there is no single "perfect" application model. The requirements
of each application dictate its' architecture.

--
HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP

"Andreas Zita" wrote in message
news:2CF86D5A-7E08-4531-BEE5-3506BFF9694D@microsoft.com...
> What is the perfect application model?
>
> Lets say we could run a .NET-applikation on the server in a user-session
> and only tunnel the interface to the client, similar to how VNC or Remote
> Desktop is working (to any klient setup/os). Wouldnt that be a good thing?
> I mean, I find it a little problematic to run an XBAP locally for a number
> of reasons. First the client obviously has to run the .NET 3.5 framework
> but we also get a bit dissconntected to the datasource. We cant well
> download the whole dataset to the client and accessing it through a Web
> Service is still not good enough since we wont have persistent objects
> that way (?). It would be so much nicer to have one single environment to
> run all instances in and only displace/tunnel the interface to the client.
> This is how ASP + JavaScript allready works in some way I think but I dont
> like neither ASP or JavaScript very much. Its a bit straggling and
> cumbersome to work with I think.
>
> What are your thoughts about this? Or am I just talking through my hat
> ....
>
> /Andreas

Re: What is the perfect application model?

am 03.11.2007 08:40:21 von Andrew Faust

This functionality already exists. X Windows has been able to do this for
at least a decade. Citrix has products for doing this under windows.

In your description you missed what I consider to be the 2 biggest
advantages to this model. You have easier deployment of application
changes. If there's a new version you update it on the server without
needing to install on hundreds of clients. You also gain an added layer of
security. If you need to lock out a particular user you can change a
setting on the server and block their access to the application altogether.

Of course there are downsides as well. You now have to take the network in
to account on all apps that use it. If access to the server is unavailable
then the app can't be used. Likewise, if bandwidth is limited it may make
the app slow. Also, what happens if the app server goes down? All the
sudden none of the users of the app can function. Furthermore, if all the
processing is happening on the server you'll need a very beefy server. From
a cost perspective it could well be much cheaper to run 100 average
computers rather than 1 server powerful enough to do the processing of
thise 100 computers.

As for the perfect application model. There is no such thing. This model is
great for large organizations with many users and high security needs.
However, it's terrible for applications that need to be able to run
disconnected. Or worse, for applications like games.

--
Andrew Faust
andrew[at]andrewfaust.com
http://www.andrewfaust.com


"Andreas Zita" wrote in message
news:2CF86D5A-7E08-4531-BEE5-3506BFF9694D@microsoft.com...
> What is the perfect application model?
>
> Lets say we could run a .NET-applikation on the server in a user-session
> and only tunnel the interface to the client, similar to how VNC or Remote
> Desktop is working (to any klient setup/os). Wouldnt that be a good
> thing? I mean, I find it a little problematic to run an XBAP locally for
> a number of reasons. First the client obviously has to run the .NET 3.5
> framework but we also get a bit dissconntected to the datasource. We cant
> well download the whole dataset to the client and accessing it through a
> Web Service is still not good enough since we wont have persistent
> objects that way (?). It would be so much nicer to have one single
> environment to run all instances in and only displace/tunnel the
> interface to the client. This is how ASP + JavaScript allready works in
> some way I think but I dont like neither ASP or JavaScript very much. Its
> a bit straggling and cumbersome to work with I think.
>
> What are your thoughts about this? Or am I just talking through my hat
> ....
>
> /Andreas

Re: What is the perfect application model?

am 03.11.2007 17:45:38 von notmyfirstname

Andrew,

Are your statements not a little bit from the previous millenium?

Even Internet is on most places fast enough to do it as Kevin wrote. All
user handling by updating, by instance from security updates, is nothing
anymore.

Just my idea.

Cor

Re: What is the perfect application model?

am 05.11.2007 01:55:47 von Radek Cerny

How about a totally abstract model where all the business objects (Fields +
Methods etc) live server-side inside an application server, and the UI is
simply a view into the server objects? Use stateless web service calls to
publish deltas; all business rules etc are server-side. This allows for a
true rich/thin client such as XAML or Flash.

For example, you may have a Person business object with date of birth
(editable) and a readonly Age field. Server-side code watches for changes
in DOB and recalculates Age, and publishes all changes which the cleint
simply renders as its told. To the end user, as soon as he tabs out of DOB,
age changes, although a round-trip to the occurred.

So the client simply understands a fixed schema from the server and has
placeholders for Fields, result sets etc published by the business objects
on the server.

The application server shoul be stateful of course, and simply issue session
handles to clients as they log in.

Traffic is minimal - only Deltas, and you are forced to code properly - eg
abstractly - total separation of the UI from business rules, persistence
etc.

User Interface can be anything - HTML/Javascript (AJAX), Windows Forms,
Flash and most recently XAML.

Thats how we build our RIAs - Rich Internet Applications.

Cheers,

Radek

"Andreas Zita" wrote in message
news:2CF86D5A-7E08-4531-BEE5-3506BFF9694D@microsoft.com...
> What is the perfect application model?
>
> Lets say we could run a .NET-applikation on the server in a user-session
> and only tunnel the interface to the client, similar to how VNC or Remote
> Desktop is working (to any klient setup/os). Wouldnt that be a good thing?
> I mean, I find it a little problematic to run an XBAP locally for a number
> of reasons. First the client obviously has to run the .NET 3.5 framework
> but we also get a bit dissconntected to the datasource. We cant well
> download the whole dataset to the client and accessing it through a Web
> Service is still not good enough since we wont have persistent objects
> that way (?). It would be so much nicer to have one single environment to
> run all instances in and only displace/tunnel the interface to the client.
> This is how ASP + JavaScript allready works in some way I think but I dont
> like neither ASP or JavaScript very much. Its a bit straggling and
> cumbersome to work with I think.
>
> What are your thoughts about this? Or am I just talking through my hat
> ....
>
> /Andreas

Re: What is the perfect application model?

am 06.11.2007 02:14:53 von Andrew Faust

The operative is most. Perhaps your app has to be available to all your
users, not just most of your users. If your app is only being used on an
intranet or on a high speed internet connection fine. However, there are
many instances where you are going to be constrained massively. We have a
lot of remote workers at my company and they have anywhere from 10 Mb fiber
connections to 1.5 Mb DSL. They still need to be able to work through a VPN
connection. For the fiber connections it would be fine, but for the DSL
users their productivity would drop considerably by forcing them to run all
their apps through the network.

You are also discounting the disconnected user. Have you ever wanted to get
work done on a plane? Do you really have internet access on your computer
at ALL times? I do because my phone can serve as a modem. However, most of
the people I work with don't. There are cases where you just need to be
able to work no matter what.

The OP posted this as the "perfect" application model. In my opionion
"perfect" implies that it should work for every single conceivable
scenario. If it doesn't it isn't perfect. I'd hate to try and run Bioshock
streaming through the internet.

It seems to me that you are only looking at the optimal case and ignoring
the reality. Maybe where you live everyone can get 20+ Mb/s connection
affordably. However, in Salt Lake City we have laughably few high speed
internet options. Unless you're lucky enough to be located in one of the
few areas that can get on the UTOPIA fiber network.

--
Andrew Faust
andrew[at]andrewfaust.com
http://www.andrewfaust.com


"Cor Ligthert[MVP]" wrote in message
news:A3667246-AB73-4202-9656-5BAF0BCF9E04@microsoft.com...
> Andrew,
>
> Are your statements not a little bit from the previous millenium?
>
> Even Internet is on most places fast enough to do it as Kevin wrote. All
> user handling by updating, by instance from security updates, is nothing
> anymore.
>
> Just my idea.
>
> Cor