Groups | Blog | Home
all groups > dotnet distributed apps > march 2004 >

dotnet distributed apps : No Touch Deployment question


Terry Diederich
3/18/2004 2:43:15 PM
I'm just starting to look at no touch deployment and I have a question.
Do you write an application differently that will be deployed via
no-touch compared to an application that will be installed locally?

For example, for an application that is installed locally I would handle
database access through classes within the application using ado.net.
For an no-touch application is it better to handle data access through
web services?

I took an application I wrote that is normally installed locally and put
it out on the server to experiment with no touch. Everything works fine
except when I try to do anything with the database. Then I get a
security violation. I am wondering if the limited permissions you get
with running under no touch are causing these problems and would web
services solve the problem. I know I can change the local security
settings to get it to work as is but that isn't an option for this
application due to client requirements.

Thanks
Sami Vaaraniemi
3/19/2004 1:48:48 AM
Inline:

[quoted text, click to view]

The main reason why fat clients access a database through a middle tier is
scalability. Basically, you could access the database directly from the
client but then every client instance would hold a database connection and
your application would be less scalable. Accessing the database through a
middle tier is more scalable because the middle tier can serve a large
number of clients with just a few database connections.

There are some additional issues you may run into with no-deployment:
- only assemblies are downloaded automatically to the client, other files
are not (most notably config files)
- with multi-DLL applications you may run into version compatibility
problems if DLLs are updated in the server while a client is downloading
them

[quoted text, click to view]

That's one of the features of no-touch deployment. By default, the client
runs in a limited security context, and making network connections to hosts
other than the host where the client was loaded from is prohibited.

hth,
Sami
www.capehill.net

[quoted text, click to view]

Terry Diederich
3/19/2004 8:09:40 AM
Thanks for the information Sami.

[quoted text, click to view]

Scalability isn't an issue for this particular application but I'll take
a look at the web services. I was thinking that would probably be the
route to take. I'm assuming you are referring to web services when you
mention middle-tier

[quoted text, click to view]

Are you sure about this? In experimenting with my application I found
that when I add the application to a new code group in the .NET
configuration, the application was able to access the database. The
connection string to the database is held in the config file.
Sami Vaaraniemi
3/19/2004 9:41:15 AM
[quoted text, click to view]

My experience has been that trying to load values with the AppSettingsReader
fails with an exception in a no-touch deployed application.

However, I went ahead and tried it again - and it worked as you say! I am
able to read values with AppSettingsReader from the config file. In IIS logs
I can see that there is a request for the .config file and that it succeeds.
I wonder if this is something that changed in .NET framework 1.1?

Anyway, thanks for pointing this out.

Sami
www.capehill.net

AddThis Social Bookmark Button