No frames
Your browser does not support frames. Here's the list of slides, but they are graphical, so you will not get the maximum benefit without being able to use frames.
Advanced Web Techniques 1
|
|
|
Incorporating Dynamic Content into Web
Presentations |
|
Paco Hope |
Goal of this Series
|
|
|
Provide a clear framework to categorize
existing technologies |
|
Provide clear differentiation between
technologies |
|
Introduce the basic structure and
syntax of three key technologies |
|
Provide foundation which can be
sup-plemented by existing documentation |
Dynamic versus Static
|
|
|
Dynamic |
|
Reacts to stimuli (date, time,
database, weather, user input) |
|
Sometimes slower |
|
Requires computation (sometimes an
issue) |
|
Reduces effectiveness of caching |
|
Static |
|
File contents served
as is |
|
No processing done |
|
Fastest delivery (13 system calls in
apache under Solaris) |
|
Benefits from caching |
Two Classes of Dynamism
|
|
|
Client-side |
|
(handled by web browser or software on
local machine) |
|
Java |
|
JavaScript |
|
ActiveX |
|
Shockwave |
|
RealAudio (video, etc) |
|
Server-side |
|
(handled by web server) |
|
CGI |
|
SSI |
|
PHP |
|
ASP |
|
Cold Fusion |
|
Domino |
Taxonomy of Technologies
Static Web Content
Illustrated
|
|
|
1. Web browser makes HTTP request |
|
2. Web server matches URL against file
system |
|
3. Web server finds corresponding file |
|
4. Web server reads file off disk |
|
5. Web server sends file contents to
browser in HTTP response |
|
6. Web browser renders HTML graphically |
Server-side Dynamic
Example
The Rendering Process
Tour of Technology
|
|
|
JavaScript |
|
Java |
|
Active X |
|
ASP |
|
SSI |
|
CGI |
|
PHP |
JavaScript: What is it?
|
|
|
Scripting language |
|
Interpretted by browsers |
|
Can do useful housekeeping and
interactivity tasks |
|
Not standardized |
JavaScript
|
|
|
Good |
|
Adds spice |
|
Readily available |
|
Improves usability of web pages |
|
Many examples and cookbooks available |
Java: What is it?
|
|
|
Programming language not necessarily
web-related |
|
Interpretted by browsers |
|
Powerful and extendable |
|
Standards are shaky |
Java
|
|
|
Good |
|
Powerful |
|
Flexible, extensible |
|
Offloads computation |
|
Can perform complex tasks |
|
Robust security |
|
Good development environments |
ActiveX
|
|
|
Client-side, Windows, IE only (not even
Mac) |
|
Provides complete program functionality |
|
Full access to client system |
|
Can be developed in several languages
(Basic, C, C++) |
|
Rotten security model |
ActiveX
|
|
|
Good |
|
Easy to develop (if you already work in
Windows languages, like VB and VC++) |
|
Easy to integrate with Windows products |
|
Full access can solve some otherwise
difficult problems |
|
Bad |
|
Windows IE only |
|
Large downloads like Java |
|
Security model encourages costly applet
signing or lax browsing practices |
Active Server Pages (ASP)
|
|
|
Windows only, server-side dynamic
content |
|
Connects seamlessly to Windows products |
|
Lots of modules available |
|
Includes database connectivity |
|
Rapid development environment |
ASP
|
|
|
Good |
|
Easy to develop |
|
Easy to integrate with Windows products |
|
Development environment is nice |
|
Many simple apps are easily developed |
Server Side Includes
|
|
|
Processes simple ôcommentsö to execute
commands |
|
Includes some control flow (if, else,
variables) |
|
Enables invokation of programs or
decisions based on a few trivial criteria |
Server Side Includes
|
|
|
Good |
|
Quick and simple |
|
Building block for more sophisticated
content |
|
Enables modular site design |
|
Does not defeat caching |
Common Gateway Interface
|
|
|
Allows execution of arbitrary programs |
|
Any language can be used with CGI |
|
Not platform-specific |
|
Source code is protected |
CGI
|
|
|
Good |
|
Maximally flexible |
|
Allows developer to use their favorite
environment |
|
Easily portable |
|
Can protect secrets or access
proprietary data |
PHP
|
|
|
|
Powerful scripting language |
|
Like C, Perl, shell scripts |
|
Lots of modules standard |
|
Oracle |
|
MySQL |
|
MS SQL |
|
Informix |
|
Etcà |
|
Integrates into web server |
|
Can be modular and efficient |
PHP (personal home page)
|
|
|
Good |
|
Powerful, fast, small |
|
Source is hidden |
|
Includes support for tons of databases |
|
Easy to incorporate into HTML |
|
Similar to familiar languages |