Title: Dynamic Web Sites
1Dynamic Web Sites
- Kenton Good
- LIS 538
- January 28, 2002
2Today
- Finish Content Management
- First Assignment Questions
- Dynamic Web Pages
- Demo
- Customization and Personalization
- Corporate Portals
3Next Week
- Start Digital Library Projects
- Will cover image compression, color depth, etc.
4E-journals - Approaches
- Static Web Pages linking to journals works for
small collections - Maintain separate database of all ejournals (used
by most large academic libraries) - Use Catalogue (either as search interface or
source of data)
5Databases/Indexes
- Most academic libraries maintain a database of
databases - Database contains elements such as Title, URL,
Description, Licensing Restrictions, Type,
Subject, Language, etc.
6Pathfinders/Subject Guides
- URL maintenance big issue
- How to avoid teaching everybody HTML
7Definitions
8SQL (Structured Query Language)
- A standard programming language for getting
information from and updating a database
Source whatis.com - Example
- Select firstname, lastname, email
- From students
- Where lastname 'smith'
9ODBC
- Open Database Connectivity
- A standard that allows you to connect to a
database from a programming language. In the
context of dynamic web sites, this standard is
how we tell the web code where the database is
found on the server.
10Scalability
- The ability of a computer application or product
(hardware or software) to continue to function
well as it (or its context) is changed in size or
volume in order to meet a user need. - Source whatis.com
11Interoperability
- The ability of a system or a product to work
with other systems or products without special
effort on the part of the customer. (source
whatis.com) - In the library world, emerging standards such as
Z39.50 and OpenURL allow our systems to move in
the direction of interoperability.
12Web Server
- A software program that runs on a server and
serves web pages to a web browser. - Numerous web servers exist but the two most
popular in the library world are Microsofts
Internet Information Server (IIS) and the Open
Source Apache web server.
13UNIX Server
- The UNIX operating system was developed in 1969.
- Numerous flavours exist including Linux and
Solaris. - UNIX servers are generally more secure and
scalable than their Windows counterparts but do
take a higher level of expertise to learn and
operate in part due to their command line
interfaces.
14Windows Server
- Windows 2000 server and its predecessor, Windows
NT server, are used in many libraries for file
servers, email servers and web servers. - Learning curve relatively low in part because
server products use same interface as
workstation versions. - The windows server market share continues to grow
but recent security issues with Windows web
servers have many IT managers rethinking earlier
decisions.
15Static Web Sites
- Traditional way of organizing content on web
pages - Stand alone HTML pages
- HTML Editor
- Page content and structure found in one html
document - Good for small web sites
16Static Pages - Problems
- Consistency Difficult
- Elements repeated on every page maintenance
issues - No interactive features such as forms,
customization or more advanced content management
possible - Limited flexibility
17Solution Dynamic Pages
- Use programming besides HTML to create pages
- Often have database component
- Separation of page content from structure
- Web pages created on the fly
18Dynamic Web Sites - Architecture
- Web Server
- - Stores and Serves HTML Templates
- Middleware or programming languages
- - The Magic
- Relational Database
- - Stores Content
19Why Dynamic Web Pages
- Distributed Content Management and Resource
Sharing - Consistency
- Modularity and Portability
- Lower Maintence Overhead
20Dynamic Web Pages Pre-requisites
- High level of control over Web server
- Staff expertise programmers, database
administrators - Sustainability Plan
- Money
21Web Servers
- A software program that runs on a server and
serves web pages to a web browser. - Most popular Web Servers Apache and Internet
Information Server (IIS) - Personal Web Server
22Apache
- www.apache.org
- Cost Free (Open Source)
- Best web server money Cant buy
- Used with Major web sites
- Secure and powerful
23Internet Information Server
- www.microsoft.com
- Cost Free with Windows Server
- Windows Only
- Powerful and Feature Rich
- Recent security concerns
24Middleware
- Programming Languages
- Applications Servers Complete package of
dynamic web site tools - Tools used to hook into a relational database
on the web
25Cold Fusion
- www.macromedia.com
- Cost - 1000s
- Easy to learn and use web scripting language
- Popular in Libraries (particularly in Alberta)
26Cold Fusion
- Advantages Low Learning Curve, Quick and Easy
- Disadvantages Cost, Not as feature rich as
other languages
27Cold Fusion Code
- 70 HTML like tags each with a series of
attributes. - Code to query database for books that have the
author smith, and display results in web page.
28ltcfquery namegetbooks datasourcebookdatabase
gt Select title, author, callnumberFrom
booksWhere author smith lt/cfquerygt ltcfoutput
namegetbooksgt titleltbrgtauthorltbrgtcallnum
ber lt/cfoutputgt
29Active Server Pages (ASP)
- www.microsoft.com
- Cost Included with Windows Web Server
30ASP Code
- If iRecordCount lt 2 Then Set objCleanUpRS
Server.CreateObject("ADODB.Recordset")
objCleanUpRS.Open strSQL, DB_CONNECTIONSTRING,
adOpenStatic, adLockPessimistic, adCmdText For I
1 to 2 objCleanUpRS.AddNew objCleanUpRS.Fields("
text_field") CStr(WeekdayName(WeekDay(Date())))
objCleanUpRS.Fields("integer_field")
CInt(Day(Now()))
31Java
- Cost Free to 1000s
- Code that runs on server not applets
- Many flavours Java Server Pages (JSP), Java
Servlets - Very powerful and used in many large scale web
sites
32Java Code
- import java.io. import javax.servlet.
import javax.servlet.http. - public class HelloWorld extends HttpServlet
public void doGet(HttpServletRequest request,
HttpServletResponse response) throws
ServletException, IOException PrintWriter out
response.getWriter() out.println("Hello World")
33PERL
- www.perl.com
- Cost Free (Open Source)
- Traditional way of web scripting
- Hard learning curve and primarily UNIX based
- Still popular in many libraries
34PERL Code
h HTTPHeaders-gtnewp HTMLHeadParser-gtne
w(h)p-gtparse(ltltEOT)lttitlegtStupid
examplelt/titlegt ltbase href"http//www.linpro.no/l
wp/"gt Normal text starts here. EOT undef p
print h-gttitle should print "Stupid example"
35PHP
- www.php.net
- Cost Free (Open Source)
- Popular open source web scripting language
- Cross platform
- Yet to really take of in library community
36PHP Code
- lt?php if (!isset(PHP_AUTH_USER))
header("WWW-Authenticate Basic realm\"My
Realm\"") header("HTTP/1.0 401 Unauthorized")
echo "Text to send if user hits Cancel
button\n" exit - else echo "ltpgtHello PHP_AUTH_USER.lt/pgt"
echo "ltpgtYou entered PHP_AUTH_PW as your
password.lt/pgt" ?gt
37Relational Databases
- Used to store content in Web applications
38Database Options
- Microsoft Access
- Microsoft SQLServer
- Oracle
- MySQL
- Others DB2 (IBM), FileMaker Pro
39Factors in Database Selection
- Scalability and Performance
- Cost
- Compatibility
- Ease of Use
- Supports Open Standards
40Microsoft Access
- www.microsoft.com
- Cost - 100s
- Only works with Windows servers
- Used for small scale projects not appropriate
for heavy use web sites - Easy to use
41Microsoft SQL Server
- www.microsoft.com
- Cost - 1000s
- Suitable for medium/large scale web sites
- Only works on Windows servers
- Good combination of ease of use and power
42Oracle
- www.oracle.com
- Cost - 1000s
- Best database money can buy
- Very powerful and scalable but does required
skilled staff to run and administer - Used with large scale web sites
43MySQL
- www.mysql.com
- Cost Free (open source)
- Used for medium/large scale web sites
- Not as feature rich as Oracle or SQL Server but
an inexpensive alternative for libraries
44Customization and Personalization
- The Difference?
- Examples
- My Yahoo
- - My UCLA
- - MyLibrary at NCState
- - U of Washington Library My Gateway
45Personalization
- Fine Notification
- Request Tracking
- Content Notification
- Content Profiling Based on user profile and
preferences - Search History
- Current Awareness
46Customization
- Favorite Databases/Ejournals
- Favorite Web Sites
- Customize the interface
47Campus Portal
- My UCLA
- U of A Next Few Years
48My Library
- Respect Privacy Have Privacy Statement
- Does not replace Library Web Site
- Integrate with library service model and larger
library web presence - Creating stand alone service is doomed for
failure
49My Library at NC State
- global message
- Message from the Librarian
- Your Librarians
- Library Links
- University Links
- Current Awareness
- Personal Links
- Quick Searches
- Reference Shelf
- Bibliograhic Databases
- Electronic Journals
50Corporate Portals
51Unique Features of a Corporate Portal
- Not a given the librarian will be involved in
development and content. - Often work with larger IT unit in corporation
- Need to prove Return on Investment (ROI)
- Working under the radar
- Often purchase pieces or content
52Example Product
53Case Study
- Enmax Virtual Business Information Network
- Calgary, Alberta