|
There are many benefits to ASP and
they will be discussed throughout this session. However the
following are a couple of general reasons why ASP is the choice
for so many.
ASP is Language-Independent
The ASP engine does not depend on a single language. In fact,
the ASP engine doesn't actually execute the code you write.
Instead, ASP is a language-independent scripting host. The ASP
engine works with any scripting language that is compatible with
the Microsoft Scripting Host requirements. It can even work with
code written in multiple scripting languages on the same page.
The ASP engine differentiates scripting
code from HTML, then asks the appropriate scripting engine(s) to
execute it. Most of the code in this book is VBScript, the
default ASP scripting language, but you'll also see a
significant amount of JavaScript, and some PerlScript.
ASP is for Non-Programmers
One of the holy grails of computing is
to find a language that ordinary people (read non-programmers)
can use to perform programmer-type tasks. It's based on the idea
that programmers will create reusable, general purpose entities
(the blocks) and anybody with a few hours to spare can then hook
them together to create complex programs. Simplicity in
programming is a moving target.
In the earliest days of computing,
programmers used machine language, flipping switches to
manipulate bits and bytes. Assembly language changed all that
assembler was the glue that let non-programmers manipulate the
bits and bytes easily. As assembler grew increasingly complex,
languages like Fortran and C became the glue that connected
assembly-language modules. Back in the pre-Windows, Disk
Operating System (DOS) days, a simple scripting language used in
batch files was supposed to be the glue. You could hook simple
batch files together to automate other programs and perform
complex tasks. However, the original batch language grew until
only programmers could use it. Just a few years ago, Visual
Basic was the glue language; now Visual Basic is the language
that creates the building blocks. Today the glue language is
ASP-and it's true that ASP as it exists today, is better suited
for glue-like tasks than it is for mainstream processing,
but that may change.
Nevertheless, you should understand
that ASP is not a low-level programming language. It's not a
database language either, although you can access databases from
it. If you're thinking about using ASP as a front-end for your
data warehouse data-scrubbing functions, think again. ASP is not
a component-building language.
If you're planning to learn ASP to
create the next great word processor or spreadsheet, plan
harder. ASP is not a mathematical modeling language, it's not
graphics manipulation language, and it's not a Graphical User
Interface (GUI) builder.
ASP's strength lies in providing simple decision-making
capability to what would otherwise be static HTML pages, and in
coordinating and monitoring back-end components to return quick
HTML responses to disparate clients. In other words, ASP is the
glue.
But it's not yet simple glue. Although you may not need to be a
programmer to build simple ASP pages, you need to become a
programmer to build ASP applications. Becoming a programmer is
more of a state of mind, of talent, and of practice, than a
matter of education. In other words, given talent and time to
practice, you can learn to be a programmer.
ASP code times out
IIS stops executing ASP pages after 90
seconds by default. You can adjust this to a shorter value.
Therefore, if you accidentally write an endless loop, or allow
someone to request a million records, you won't tie up the
server beyond the timeout interval. Many Internet Service
Providers (ISPs) who won't usually host compiled applications
will host ASP applications partly because the scripts time out.
ASP code is server-safe
ASP code runs in a limited
space-for example, you can't natively read or write binary files
with ASP. It's very difficult, if not impossible, to completely
crash an IIS server with native ASP script. That's another
reason many ISPs will host ASP applications when they refuse to
host Web applications developed with other technologies.
ASP code doesn't require registration
The IIS install program installs
the ASP runtime DLLs, scripting DLLs, Microsoft ActiveX Data
Objects (ADO) DLLs, and the Microsoft Scripting Runtime DLL-and
that's the only code you need to run ASP applications. Most
other development tools require additional server-side installs
and registry operations. Some require you to install special
server applications. This may not seem like much trouble on a
development server, but it causes problems in production,
especially when you just want to correct a misspelling or make a
minorchange.
ASP applications are usually small
Because all the DLLs are already
installed on the server you need only deliver the code files,
images, and support files to make an ASP application run-and
those files are usually small and highly compressible. Note that
this becomes less and less true as you add compiled ActiveX
components to your application.
You can upgrade ASP applications without
stopping IIS
Although it may not sound like it, this is a major
advantage. It's no advantage at all when your applica6on is the
only one running on the server, but when there are dozens of
applications running on the same server (typical of larger
businesses), no one wants to stop or shut down the server to
make changes in your application. You must usually schedule such
changes, often well in advance. The problem is that no one can
predict what the effect of stopping the server will have on all
the applications running on
that server. Put yourself in a user's position. You wouldn't
want to have your application suddenly stop responding and possibly lose data
just so
someone else could upgrade an application.
|