Naming layers/tiers

Naming layers/tiers

Old forum URL: forums.lhotka.net/forums/t/11949.aspx


RockfordLhotka posted on Monday, April 22, 2013

Prior to version 4.5 the data portal supported 3- and 4-tier deployments.

In a 3-tier deployment the layers and tiers are named like this:

Client -> Server -> <your database goes here>
    or
Silverlight -> Client ->  <your database goes here>

In a 4-tier deployment the layers and tiers are named like this:

Silverlight -> Client -> Server -> <your database goes here>

We now face a problem I didn't really anticipate, because in 4.5.30 and higher you'll be able to use the "Silverlight" or Mobile data portal implementation in a pure .NET environment.

Sadly this results in something like this:

Client -> Client -> <your database goes here>
    or
Client -> Client -> Server -> <your database goes here>

Obviously this is confusing and blocks effective use of the ExecutionLocation app setting property.

Behind the scenes the way this works is pretty simple. As the server-side data portal starts its processing it sets the ExecutionLocation property.

I could make the Mobile data portal host set the value to Server, and that would solve the 1-, 2-, and 3-tier scenarios. But that'd leave the 4-tier scenario with two "Server" values.

I could make the server-side data portal default to Server, but also add an AppServer value that you can specify via a setting in web.config. That would allow the most back-end server to be different in a 4-tier setting.

Client -> Server -> AppServer -> <your database goes here>

Or I could make the server-side data portal default to Server, but also add a WebServer value that you can specify via a setting in web.config. That would allow the middle DMZ server to be different in a 4-tier setting.

Client -> WebServer -> Server -> <your database goes here>

Thoughts?

Copyright (c) Marimer LLC