IIS & XMLHTTP


B

Brian Staff

I was recently on a OO Design course<g> and as a result I've decided to
"Tier" my ASP classic pages for maintainability.

Browser <----> PT <---> BT <---> DT
PT == Presentation Tier
BT == Business Tier
DT == Data Tier

Right now, the browser communicates with just one ASP page and it's a fairly
simple job to divide each one into 3 separate ASP pages with each new page
doing the work of one tier and communicating with the other tiers using
XMLHTTP (I'm using Msxml2.ServerXMLHTTP in non-async mode) and returning XML
to the calling tier.

I'm a small web site, so right now, all of my tiers will exist on just one
box. While I can get it to work, I've found that XMLHTTP communication
between pages on the same box does not work unless you use different Virtual
Directories for each tier _and_ you set them to different "Application
Protection" - high, medium and low. If you don't do this, the web server
"hangs" as MS so correctly states in point 2 of
http://support.microsoft.com/?id=290591

The only solutions I see here is to either have separate boxes for each tier
or manage the protection for each Virtual Directory - both of which I can't
do, because the servers are not mine.

Does anybody have any suggestions on how to solve this problem, as it seems
to be a fundamental weakness in IIS. I'm guessing that large sites have the
luxury of separating the tiers onto distinct boxes, but what do other
small/medium sites do, that want to maintain "tier" code?

BTW - it does not seem to matter whether the type of protection is higher or
lower for the calling page to the called page - it just needs to be
different - is that understanding correct?

Brian Staff
 
Ad

Advertisements

K

Ken Schaefer

Your data tier should probably be your database.
Your business tier would be either a COM component or web classes
Your presentation tier would be your .ASP page

That's how I've typically see these types of things divided up.

You may additionally choose to have a data access layer (DAL) which all your
middle tier code goes through to speak to the underlying data source.

Cheers
Ken

: I was recently on a OO Design course<g> and as a result I've decided to
: "Tier" my ASP classic pages for maintainability.
:
: Browser <----> PT <---> BT <---> DT
: PT == Presentation Tier
: BT == Business Tier
: DT == Data Tier
:
: Right now, the browser communicates with just one ASP page and it's a
fairly
: simple job to divide each one into 3 separate ASP pages with each new page
: doing the work of one tier and communicating with the other tiers using
: XMLHTTP (I'm using Msxml2.ServerXMLHTTP in non-async mode) and returning
XML
: to the calling tier.
:
: I'm a small web site, so right now, all of my tiers will exist on just one
: box. While I can get it to work, I've found that XMLHTTP communication
: between pages on the same box does not work unless you use different
Virtual
: Directories for each tier _and_ you set them to different "Application
: Protection" - high, medium and low. If you don't do this, the web server
: "hangs" as MS so correctly states in point 2 of
: http://support.microsoft.com/?id=290591
:
: The only solutions I see here is to either have separate boxes for each
tier
: or manage the protection for each Virtual Directory - both of which I
can't
: do, because the servers are not mine.
:
: Does anybody have any suggestions on how to solve this problem, as it
seems
: to be a fundamental weakness in IIS. I'm guessing that large sites have
the
: luxury of separating the tiers onto distinct boxes, but what do other
: small/medium sites do, that want to maintain "tier" code?
:
: BTW - it does not seem to matter whether the type of protection is higher
or
: lower for the calling page to the called page - it just needs to be
: different - is that understanding correct?
:
: Brian Staff
 
Ad

Advertisements

B

Brian Staff

Ken,

Ah! so COM eliminates the "IIS threading" problem. I do understand that the
tiers can be programmed in any language at all, but I'm quite content doing
it all in ASP.

I do have it working on my test machine using ASP for all 3 tiers, with
separate Virtual Directories using different protection. I just want to know
if I can get around the need for different protection on each VD.

Brian
 

Top