No Slide Title

Download Report

Transcript No Slide Title

Scripting
Nick Ackmann
Which language do I need?







Who is maintaining the site?
What are their skills and resources?
Who is hosting?
What scripting tools do you support?
What database is going to be used?
What drivers are available?
What platforms?
Factors in choosing scripting
language




Operating systems supported
Database
Main language used
Web server
Operating system


Pre-purchased: No choice already owned
New setup: Experience, budget, and needs
Databases




Access
DB2
FileMaker
MSSQL
•MySQL
•Oracle
•PostgreSQL
•Sybase
Access



Microsoft's low-end database
Not used for serious web development
Main benefit is easy to create simple DBs
without knowing anything about databases
IBM’s DB2 v8.1







Platform: PC
OS: AIX, Linux, HP-UX, Sun, and Windows
Purchase most versions: $400-$1000
Large amount of users (depending on edition
purchased)
e-business, Business intelligence, Content,
management, Enterprise Resource Planning,
Customer Relationship Management
automation capabilities including self-configuring, selfoptimizing and self-managing capabilities
Competes with Oracle
Filemaker



Platform: Mac
Limited amount of users, more useful over
intranet
Comparable to Access, but said to be easier to
use
MSSQL Server 2000






Microsoft's SQL server
Platform: PC
License Only: $1,500-$20,000
Software: $1,200-$4,000
Based on code licensed from Sybase 6.0
Comes with user interface tools for database
manipulation
MySQL





Platforms: Windows, Linux, Sun
Workhorse of the Web
Price: Free
No transaction processing, but fast and powerful
enough to manage the vast majority of web sites
Purchase tools cheaply $50-$400
Oracle v8.0








Platform:PC
OS: Windows 2000 server, Windows NT server 4.0
License only
Web-based
DB, reporting, and groupware
Worlds leading supplier of software
Second largest independent software company
Competes with IBMs DB2, but more widely used with
big businesses
PostgreSQL




Platform: Linux
Price: Free, or license commercial versions
Has triggers, transactions, and other DB
features
Compares to MySQL, but is slower
Sybase



Platform: Windows, Sun, Linux
Comparable to Oracle
Sold source code to Microsoft: Mistake?
Languages







Javascript
Java
Perl
TCL
Python
Vbscript
PHP
Javascript





Official standard is ECMA script
Designed by Netscape roughly based on C, retargeted
to look like Java once it was introduced
Java and Javascript not related in any form but have
similar syntaxes
Primarily a Browser extension language, but some
servers can interpret to add server-side scripting
a few companies that sell JavaScript interpreters that
can be embedded in other applications as extension
languages (ex. Macromedias dreamweaver, heavy
use)
Java



Designed by Sun as an interpreted language for
TV set top boxes
Quickly retargeted to web browsers ,then to
server-side software (particularly for intranets)
where it has been very successful
The power of C++, without all the mistakes.
Perl



Claim to fame is easy text processing
Since web sites typically involve manipulating
text in one way or another, it has become the
most popular server extension language on the
web
Objected-orientated makes for easy
implementation of new libraries
Tcl



As popular as Perl, but more formally designed
Tcl is often used as a scripting language for
programs that have a graphical interface, since
Tcl comes with a nice cross-platform interface
library
More extensive user interfacing than Perl
Python

Extremely object-oriented, and has the
distinction of using indentation to specify
program structure
VBScript




Microsoft's primary scripting language
Available in both server and client-side versions
(and for non-web applications).
VBScript is to VB as JavaScript is to Java, as in
look the same but are not
ChiliSoft sells a Unix variety of VBScript, which
is primarily used by companies who have to
develop for both Window's and Unix platforms.
PHP



Started as Perl, but was quickly replaced by it's
own interpreter
Syntactically it is very similar to Perl
PHP is only available as a server-side scripting
language.
Web Servers




Apache
Microsoft IIS
Netscape
WebSTAR
Apache




The leading web server, available both Linux
and NT, but primarily used on non-windows
Used widely in the ISP and virtual hosting
markets
Apache is also available for the Mac through a
company called Tenon that runs it under a
virtual Unix environment
The standard web server on MacOS X.
Microsoft IIS



Second most popular server
Used heavily in intranets and ecommerce sites
due to heavy integration with other Microsoft
components
This is only available on NT
Netscape



Third most popular
Now known as iPlanet; when AOL bought
Netscape, the server software went into a joint
venture with Sun
Available on *ix and Windows platforms
Webstar


Macintosh web server from StarNine (a
company that started out making tools that
integrated Macs with Unix )
Variety of free, shareware and commercial
plugins
Scripting Languages





ASP/Perl
ASP/VBScript
ColdFusion
HTML::Embperl
HTML::Mason




JSP
Lasso
PHP
Zope
ASP/Perl




Microsoft's ASP is a framework
defines a set of standard objects that may be used for
communicating with the web server and the remote
browser
Perl is another language that can use the ASP
framework(VBScript more common)
Two version: Unix version(Apache::ASP) and Windows
version (from ActiveState) called PerlScript
ASP/VBScript




What the majority of people mean by “ASP”
Chilisoft offers Unix version also
A lot of comercial add-ons
VBScript is embedded inside of a few special
tags (e.g. "<% %>") within the web page.
Virtually all modern HTML editors recognize
those tags and leave the contents alone
Coldfusion




From Allaire was the first commercial server-side
scripting language for the web
Tag Based: instead of having a limited set of tags
which then contain a traditional programming
language, you get a whole bunch of new tags
Most modern HTML editors can recognize and ignore
ColdFusion tags
Some editors (UltraDev from Macromedia, a high-end
HTML editor based on DreamWeaver) can assist in
editing the tags.
HTML::EmbPerl





Embperl does not use HTML tags to embed the code
(it uses variations on square brackets such as "[+ +]]")
Parses some HTML tags and handles them specially
based on the context (ex. a form page will
automatically be filled in if it submits to itself )
Table rows can automatically loop over the contents of
a Perl array or rows in a database without the need to
explicitly create loops around them
Embperl can also be run stand-alone, without a web
server, to create static web pages
has a powerful templating system
HTML::Mason



Similar to HTML::Embperl or Apache::ASP
Primary strength in in building template-based
web sites (where each web page is constructed
on the fly from a set of component files )
Syntactically it uses tags like those in
Apache::ASP to set apart the Perl code
JSP



Java Server Pages are tightly integrated with
Java Servlets
Java Servlet on the fly, where each page
becomes it's own servlet
Java code fragments are embedded in the web
page, and the server compiles them on the fly
Lasso




Primary solution if you want to do server-side
scripting on the Mac
Strong database links and reasonable string
processing routines
Like Cold Fusion, this is a tag-based language
Very good for taking an existing database and
making it available quickly on the web
PHP




most popular scripting language at sharedhosting facilities
PHP is easy to configure for shared hosting
Focus has been on providing routines for doing
lots of basic things very easily
Language which beginners can get started with
relatively easily, and yet it allows powerful
scripting
Zope



Focuses on object-oriented features and
includes an object-oriented database
Zope is tag-based, but has the ability to add
new tags
Backend programming language is Python.
Bibliography



http://www.ibm.com/news/us/2002/07/221.ht
ml
http://www.filemaker.com/index.html
http://www.mysqltools.com/purchase.htm