⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 three_layers.html

📁 this gives an introduction to microsoft dna.
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<TD>
&nbsp;
</TD>

<TD>
<FONT SIZE = "2" FACE = "HELVETICA, ARIAL, SANS SERIF">
<A HREF="javascript:if(confirm('http://webcompare.internet.com/isapiperl/index.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://webcompare.internet.com/isapiperl/index.html'" tppabs="http://webcompare.internet.com/isapiperl/index.html" 
   TARGET = "Resource Window">ISAPI Perl Primer</A><BR>
</FONT>
</TD>
</TR>

<TR>
<TD VALIGN = "TOP">
&nbsp;<IMG SRC = "pointerbk.gif" tppabs="http://www.extropia.com/graphics/template/pointerbk.gif" BORDER = "0"
     WIDTH = "8" HEIGHT = "8" ALT = "::">
</TD>

<TD>
&nbsp;
</TD>

<TD>
<FONT SIZE = "2" FACE = "HELVETICA, ARIAL, SANS SERIF" COLOR = "#FFFFFF">
<A HREF="javascript:if(confirm('http://webcompare.internet.com/webbasics/index.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://webcompare.internet.com/webbasics/index.html'" tppabs="http://webcompare.internet.com/webbasics/index.html" 
   TARGET = "Resource Window">Serving up web server basics</A>
</FONT>
</TD>
</TR>

<TR>
<TD VALIGN = "TOP">
&nbsp;<IMG SRC = "pointerbk.gif" tppabs="http://www.extropia.com/graphics/template/pointerbk.gif" BORDER = "0"
     WIDTH = "8" HEIGHT = "8" ALT = "::">
</TD>

<TD>
&nbsp;
</TD>

<TD>
<FONT SIZE = "2" FACE = "HELVETICA, ARIAL, SANS SERIF" COLOR = "#FFFFFF">
<A HREF = "javascript:if(confirm('http://www.extropia.com/tutorials/dna/tutorials/itj_slovak.zip  \n\nThis file was not retrieved by Teleport Pro, because it did not meet the project\'s file type specifications.  \n\nDo you want to open it from the server?'))window.location='http://www.extropia.com/tutorials/dna/tutorials/itj_slovak.zip'" tppabs="http://www.extropia.com/tutorials/dna/tutorials/itj_slovak.zip">Introduction to
Java (Parts 1 and 2) in Slovak</A><BR>
</FONT>
</TD>
</TR>

</TABLE>
</TD>
</TR>
</TABLE>

<P>&nbsp;<P>

<!-- ##### END TUTORIALS NAVIGATION ssi -->


<!--  START PAGE_HEADER_WITH_SEARCH_TOP.SSI HERE-->
<!-- first close the left hand cell -->
</TD>
<!-- then open the right hand cell -->
<TD VALIGN = "TOP">
<!-- start table 1 -->
<TABLE BORDER = "0"  WIDTH = "100%" CELLPADDING = "0" CELLSPACING = "0">
<TR>
<TD COLSPAN = "3"><IMG SRC = "clear.gif" tppabs="http://www.extropia.com/graphics/template/top/clear.gif" 
    BORDER = "0" HEIGHT = "20" WIDTH = "0" ALT = " "></TD>
</TR>

<TR>
<TD><IMG SRC = "clear.gif" tppabs="http://www.extropia.com/graphics/template/top/clear.gif" BORDER = "0" 
         HEIGHT = "0" WIDTH = "30" ALT = " "></TD>
<TD WIDTH = "100%"><FONT FACE = "VERDANA, HELVETICA, SAN-SERIF" 
    SIZE = "+2" COLOR = "#999999">

<!--  END PAGE_HEADER_WITH_SEARCH_TOP.SSI INSERT PAGE NAME HERE -->

Introduction to Microsoft DNA
<!--  START PAGE_HEADER_SEARCH_BOTTOM.SSI HERE -->
</FONT>
</TD>

<TD>
<!-- this is the start of the right hand search box -->
<FORM METHOD = "POST" ACTION = "http://www.extropia.com/cgi-bin/prod/Search/search_engine.cgi">
<TABLE BORDER = "0" CELLPADDING = "0" CELLSPACING = "0">

<TR>
<TD><IMG SRC = "newsearch1.gif" tppabs="http://www.extropia.com/graphics/template/newsearch1.gif"
         HEIGHT = "31" WIDTH = "11"></TD>
<TD WIDTH = "100%" BACKGROUND = "newsearch2.gif" tppabs="http://www.extropia.com/graphics/template/newsearch2.gif"><FONT 
    FACE = "ARIAL, HELVETICA" SIZE = "1"><INPUT 
    SIZE = "15" TYPE = "TEXT" NAME = "keywords"></FONT></TD>
<TD><INPUT TYPE = "IMAGE" SRC = "newsearch4.gif" tppabs="http://www.extropia.com/graphics/template/newsearch4.gif" 
           WIDTH = "85" HEIGHT = "31" ALT = "search" NAME = "submit_keyword_search" 
           VALUE = "on" BORDER = "0"></TD>
</TR>

</TABLE>
</FORM>

</TD>
</TR>
</TABLE>

<!--  HERE STARTS THE RIGHT HAND MAIN CONTENT THE FIRST HEADER WILL WANT TO CLOSE A TABLE CELL SO WE SHOULD OPEN ONE HERE THEN WE DONT HAVE TO WORRY ABOUT STARTING THE MAIN PAGE USING A FIXED FORMAT -->
<CENTER>

<TABLE BORDER = "0" CELLPADDING = "0" CELLSPACING = "0" WIDTH = "90%">

<TR>
<TD>
<FONT SIZE = "2" FACE = "ARIAL, HELVETICA, SANS SERIF">
<!--  END PAGE_HEADER_WITH_SEARCH_BOTTOM.SSI HERE -->


<!--  BEGIN SECTION_HEADER_TOP SSI -->
</FONT>
</TD>
</TR>

<TR>
<TD>
<TABLE BORDER = "0" WIDTH = "100%" CELLPADDING = "0" 
       CELLSPACING ="0">
<TR>
<TD COLSPAN = "4">
<IMG SRC = "clear_dot-1.gif" tppabs="http://www.extropia.com/graphics/template/clear_dot.gif" 
     WIDTH = "10" HEIGHT = "20" BORDER = "0">
</TD>
</TR>

<TR>
<TD ALIGN = "LEFT"><IMG SRC = "tab1.gif" tppabs="http://www.extropia.com/graphics/template/tab1.gif"
                        WIDTH = "8" HEIGHT = "19"></TD>
<TD ALIGN = "CENTER"  BGCOLOR = "#666666" nowrap>
<FONT FACE = "ARIAL, VERDANA, SAN SERIF" COLOR = "#FFFFFF" SIZE = "2">

<!-- END SECTION HEADER TOP SSI INSERT SECTION TITLE HERE -->

Understanding the 3 Layers of an Applicaiton
<!-- START SECTION HEADER BOTTOM HERE --></FONT></TD>
<TD><IMG SRC = "tab2.gif" tppabs="http://www.extropia.com/graphics/template/tab2.gif"
         WIDTH = "8" HEIGHT = "19"></TD>

<TD WIDTH = "100%" BACKGROUND = "tabext.gif" tppabs="http://www.extropia.com/graphics/template/tabext.gif">&nbsp;</TD>
</TR>

<TR>
<TD COLSPAN = "4">
<IMG SRC = "clear_dot-1.gif" tppabs="http://www.extropia.com/graphics/template/clear_dot.gif" 
     WIDTH = "10" HEIGHT = "20" BORDER = "0">
</TD>
</TR>
</TABLE>
</TD>
</TR>
<!-- THIS OPENS A NEW CELL AND STARTS FONT --> 
<TR>
<TD><FONT SIZE = "2" FACE = "ARIAL, HELVETICA, SANS SERIF" >
<!--  END OF SECTION_HEADER_BOTTOM.SSI -->

<CENTER>
<FONT FACE = "ARIAL">
<A HREF = "monolithic_apps.html" tppabs="http://www.extropia.com/tutorials/dna/monolithic_apps.html">Previous Page</A> |
<A HREF = "client_server_intro.html" tppabs="http://www.extropia.com/tutorials/dna/client_server_intro.html">Next Page</A> |
<A HREF = "toc.html" tppabs="http://www.extropia.com/tutorials/dna/toc.html">Table of Contents</A>
</FONT>
</CENTER>

<P>

All applicaitons can be broken into three layers

<P>

<OL>
<LI><B>Presentation Layer</B> - What the user sees. (aka GUI, 
    Client-side, or "view")
<LI><B>Business Rules Layer</B> - The underlying processing engines 
    and their rules (aka middle-tier, backend, or "control")
<LI><B>Data Layer</B> - The physical data storage layer (aka: "model")
</OL>

<P>

Most applications have requitements that span all three of the layers.  
That is, most applications need a user interface (1) and process (2) 
user requests based upon some underlying data (3).

<P>

However, as a developer, it is usually better to make sure that 
within the design of your applicaiton, that you separate the three 
layers.

<P>

Why?

<P>

Well, mainly because things change.  Especially in the world of 
computers. In fact, things don't just change, they change 
extremely quickly and often dramatically.

<P>

As a result, developers must often modify applications to meet 
new requirements in short order. And how flexible your application 
will be, will depend on how well the three layers have been separated.

<P>

Let's understand this by exaple. Suppose you wrote an applicaiton 
that drew its data from a simple delimited data file.

<P>
<CENTER>
<IMG SRC = "flat_file.gif" tppabs="http://www.extropia.com/tutorials/dna/flat_file.gif">
</CENTER>
<P>

If the data manipulation code were embedded into the 
presentation and Rules layer, what do you suppose would 
happen if you decided at a later date that you preferred 
to store your data in a relationsal database like Oracle?  
(Or what would happen if the technical environment suddenly 
changed and B2B XML streams were the norm?)

<P>
<CENTER>
<IMG SRC = "oracle.gif" tppabs="http://www.extropia.com/tutorials/dna/oracle.gif">
</CENTER>
<P>

Well, in this case, you would most certainly have to 
<B>rewrite</B> your application because your code would be
hand-carved for flat files.

<P>

As you might imagine, this is incredibly inefficient.  
Rewriting is never a very good situation to be in.

<P>

Since the environment in which your application must 
survive will change so fast, you need a design that 
will allow you to switch in new technologies without
having to rewrite.

<P>

In order to do this however, the layers must be very 
distinct...they must be "pluggable". In the example below,
we show that an "interface" can sit between the application
(the presentatin and rules layers) and the data layer.

<P>

The interface separates them safely into distinct layers.

<P>
<CENTER>
<IMG SRC = "driver.gif" tppabs="http://www.extropia.com/tutorials/dna/driver.gif">
</CENTER>
<P>

As you might imagine, a good program will also separate the presentation
layer from the rules layer as well.  With good separation,
one can switch presentation drivers as desired....whether the client 
uses a browser, a handphone, or a PDA should not matter!

<P>

<CENTER>
<FONT FACE = "ARIAL">
<A HREF = "monolithic_apps.html" tppabs="http://www.extropia.com/tutorials/dna/monolithic_apps.html">Previous Page</A> |
<A HREF = "client_server_intro.html" tppabs="http://www.extropia.com/tutorials/dna/client_server_intro.html">Next Page</A> |
<A HREF = "toc.html" tppabs="http://www.extropia.com/tutorials/dna/toc.html">Table of Contents</A>
</FONT>
</CENTER>

<!-- #### START NAVIGATION_TEMPLATE_BOTTOM.SSI HERE #### -->
<!-- #### THIS ENDS THE MAIN PAGE CONTENT TABLE AND THE MAIN PAGE ENCLOSURE TABLE #### -->
</FONT>
</TD>
</TR>

<TR>
<TD><IMG SRC = "clear_dot.gif" tppabs="http://www.extropia.com/graphics/clear_dot.gif" BORDER = "0"
         WIDTH = "1" HEIGHT = "60"></TD>
</TR>


</TABLE>
</TD>
</TR>

</TABLE>

<!-- #### BOTTOM BANNER AND COMPANY LOGO START HERE #### -->

<TABLE WIDTH = "100%" BORDER = "0" CELLPADDING = "0" 
       CELLSPACING = "0" ALIGN = "CENTER">
<TR>
<TD BGCOLOR = "#000000">
    <A HREF = "javascript:if(confirm('http://www.extropia.com/contactus.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://www.extropia.com/contactus.html'" tppabs="http://www.extropia.com/contactus.html">
    <IMG BORDER = "0" SRC = "contactbot.gif" tppabs="http://www.extropia.com/graphics/template/contactbot.gif"
	     HEIGHT = "19" WIDTH = "133" ALT = "contact us"></A></TD>
<TD WIDTH = "100%" BGCOLOR = "#000000">&nbsp;</TD>
<TD BGCOLOR = "#000000">
<A HREF = "#top" TARGET = "_top"><IMG SRC = "backtop.gif" tppabs="http://www.extropia.com/graphics/template/backtop.gif" BORDER = "0"
                      HEIGHT = "19" WIDTH = "93" ALT = "back to top"></A>
</TD>
</TR>
</TABLE>

<TABLE WIDTH = "100%" BORDER = "0" CELLPADDING = "0" 
       CELLSPACING = "0" ALIGN = "CENTER">
<TR HEIGHT = "30">
<TD WIDTH = "100%" COLSPAN = "2" ALIGN = "RIGHT" VALIGN = "BOTTOM"
    BACKGROUND = "greylinesbot.gif" tppabs="http://www.extropia.com/graphics/template/greylinesbot.gif"
	HEIGHT = "33" WIDTH = "8">
    <FONT SIZE = "1" FACE = "ARIAL, HELVETICA, SANS SERIF" COLOR = "#000000">
    design & copyright: eXtropia - the open web technology company
</FONT>
</TD>
</TR>
                        
<TR>
<TD ALIGN = "RIGHT" COLSPAN = "2">&nbsp;</TD>
</TR>
</TABLE>

<TABLE WIDTH = "100%" BORDER = "0" CELLPADDING = "0"
       CELLSPACING = "0" ALIGN = "CENTER">
<TR>
<TD ALIGN = "CENTER" COLSPAN = "3">
<IMG SRC = "clear_dot-1.gif" tppabs="http://www.extropia.com/graphics/template/clear_dot.gif" BORDER = "0"
     WIDTH = "1" HEIGHT = "20">
<BR>
<!-- BEGIN LINKEXCHANGE CODE -->
<CENTER>
<iframe src="showiframe-.htm" tppabs="http://leader.linkexchange.com/1/X1188309/showiframe?"
        width=468 height=60 marginwidth=0 marginheight=0
        hspace=0 vspace=0 frameborder=0 scrolling=no>
<a href="http://leader.linkexchange.com/1/X1188309/clickle"
   target="_top"><img width=468 height=60 border=1 ismap alt=""
src="showle-" tppabs="http://leader.linkexchange.com/1/X1188309/showle?"></a></iframe><br><a
href="http://leader.linkexchange.com/1/X1188309/clicklogo"
target="_top"><img
src="showlogo-" tppabs="http://leader.linkexchange.com/1/X1188309/showlogo?"
width=468 height=16
border=0 ismap alt=""></a>
<!-- END LINKEXCHANGE CODE -->
</CENTER>
</TD>
</TR>

</TABLE>

</TABLE>
<!-- BOTTOM BANNER AND COMPANY LOGO END HERE -->
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>

<!--  END NAVIGATION_TEMPLATE_BOTTOM.SSI HERE:  THAT'S ALL FOLKS ! -->

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -