Title: Choosing a Dynamic Web Publishing Environment
1Choosing a Dynamic Web Publishing Environment
- JQ Johnson
- University of Oregon Library
- Presentation for CIT 382, 13 Feb 2001
2The problem for the UO Library
- Several projects pending that would build dynamic
web sites - No consistency in existing software tools
- Need to provide infrastructure training to
facilitate new technology
3Architecture
Database Server
Web Server
End user (Browser)
Middleware
Developer (html editor, program editor)
4Server-side middleware technologies
5Library environment
- Library has moderately large static website
(about 25,000 pages) - Decentralized maintenance by non-programmers
(librarians). 150 FTE total. - Small IT support staff. 5 FTE.
- Some projects pushing limits of static website
6Examples of projects
- Existing projects
- New Media Center DB-driven websites
- Aviation safety research
- Language lesson planner
- Blackboard system
- Potential projects
- Database of licensed online resources
- Visual image archives
- Classroom inventory
- Etc.
7Existing Library technology
- Web servers
- Apache/Linux (libweb) for general use
- IIS/Windows2000 (nmc) for New Media Center
- Turnkey systems
- Janus OPAC
- Blackboard
- Various experimental servers
- Servers are centrally managed by systems
department
8Web publishing/html editing
- Authoring is widely decentralized throughout
Library - Workshops teach basic techniques
- Variety of tools
- Text editors (Notepad, vi, etc.)
- Claris Home Page
- Dreamweaver emerging as preferred high-end tool
- Some use of other tools (HomeSite, Golive, etc.)
9Databases
- Desktop databases
- Excel, Access used for a variety of tasks
- Some other desktop databases, e.g. Filemaker Pro
- Server databases
- Blackboard uses MySQL
- Some use of MS SQL Server
- Some applications talk to Banner (Oracle)
- Database expertise in library fairly limited
10Programming
- Very few staff have any programming
background/expertise - A few in-house applications
- Perl (mostly for web page form processing)
- C, C
11Options for dynamic web sites
- Outsource
- Development
- Delivery
- Centralize development in Systems Dept.
- Provide support decentralize development
- Requires choice of infrastructure
- Database
- Middleware
- Tools
- Training
12Database options
- MS SQL Server
- Runs on Windows 2000 Costs
- MySQL
- Runs mostly on Linux Free
- Oracle
- Runs on anything Costs
- Ad hoc databases (e.g. flat files)
- Desktop databases (e.g. Access)
13Web server options
- Apache
- Runs mostly on Linux free
- Microsoft IIS
- Runs mostly on Windows 2000
14Middleware options
- Programming environments
- Perl (perhaps with mod_perl)
- Scripting languages
- ASPVBScript (runs mostly on IIS/ Windows)
- PHP (mostly on Apache/ Linux)
- ColdFusion (mostly on IIS/Windows)
- Java Server Pages (e.g. TomCat for Apache)
15Example querying a database in ASP and ColdFusion
- lt
- Set OBJdbConnection Server.CreateObject("ADODB.C
onnection") - OBJdbConnection.Open "nba_membership"
- SQLQuery SELECT id, business FROM directory"
- Set rsCustomers OBJdbConnection.Execute(SQLQuery
) - Do Until rsCustomers.EOF
- Response.Write (rsCustomers("ID") " "
rsCustomers("Business")) ltbrgt - rsCustomers.MoveNext
- Loop
- gt
- ltcfquery name"rsCustomers" datasource"nba_member
ship"gt SELECT id, business FROM directory - lt/cfquerygt
- ltcfoutput query"rsCustomers"gtid
businessltbrgtlt/cfoutputgt
ASP
Cold Fusion
16Example querying a database in PHP
- lt?php
- conn mssql_connect(libsqlserver.uoregon.edu",
"user", "secretpwd") - mssql_select_db("nba_membership")
- SQLquery "SELECT id, business FROM directory"
- rsCustomers mssql_query(SQLquery)
- number_rows mssql_num_rows(rsCustomers)
- for (row 0 row lt number_rows - 1
row) - print mssql_result(rsCustomers, row, 1) .
mssql_result(rsCustomers, row, 2) . - "ltbrgt
-
- mssql_close(conn)
- ?gt
PHP
17Page editing options
- MS Visual Interdev (works best with ASP)
- Dreamweaver Ultradev (works well with ASP and
ColdFusion) - ColdFusion Studio (works only with ColdFusion)
- Dreamweaver (provides minimal help with
programming) - Text editor or tag editor (Notepad, HomeSite)
18Decision making criteria
- Options for different components interact
- Options change rapidly with technology
- Major issues for library include
- Functionality/flexibility
- Price
- Manageability/integration into existing
environment - Consistency with campus/industry direction
- Ease of use by non-programmers
19Sample Option 1
- Install PHP (v3) and MySQL on Linux server
- Use Dreamweaver or text editor for PHP
development - Provide training in SQL, general programming, PHP
- Variants
- Use PHP v4
- Hire student labor for most programming
20Option 1, sampleadvantages/disadvantages
- free
- PHP also good for non-DB dynamic web pages (e.g.
manipulating XML or managing files) - PHP is rapidly evolving (either or -, depending
on perspective), very popular in Open Source
community - would allow us to leverage existing investment in
libweb/Linux - possibly more consistent with the direction other
research libraries are taking
- MySQL high performance for simple queries, but
lacks many features of a high-end SQL
implementation - no good visual development environment for PHP
scripts exists yet. Programmers would have to
use Dreamweaver (not Ultradev) - PHP requires some knowledge of programming
- Requires some knowledge of SQL
21Sample Option 2
- Provide ColdFusion, IIS and SQL Server on
existing Windows 2000 server - Use Dreamweaver Ultradev for CFM development
- Provide SQL training. Use vendors materials for
ColdFusion, Dreamweaver Ultradev - Variants
- Install ColdFusion on Linux, possibly talking to
MySQL - Use Allaire ColdFusion Studio or other tools
instead of Dreamweaver Ultradev
22Option 2, sample advantages/disadvantages
- nice environment for developers
- ColdFusion is mature, stable product (also a
disadvantage) - commercial products, so there training
opportunities, and vendor support available - Allaire (owner of ColdFusion) and Macromedia have
announced merger, so synergies likely in future - SQL Server is a robust, high-performance database
- fairly expensive
- does not leverage staff familiarity with Linux as
web server - would not allow us to import growing amount of
free code written for Linux/PHP. - apparently Allaire and Macromedia are merging
because Allaire hasn't been doing well
financially. Future?
23Decision-making methodology
- Collect data on what we currently do
- Evaluate options
- Read trade press
- Experiment with trial implementations
- Build consensus among stakeholders
- Recommend an option for implementation this term
24Questions for discussion
- What issues should we be considering?
- What additional information is needed?
- What should we do next?
25References
- Allaire Corp. (ColdFusion) http//www.allaire.co
m - Macromedia (Dreamweaver) http//www.macromedia.co
m - PHP http//www.php.net
- MySQL http//www.mysql.com
- PHP vs ColdFusion (a typical article on the web)
http//php.weblogs.com/php_vs_cold_fusion - Server Side scripting shootout
http//hotwired.lycos.com/webmonkey/99/46/index1a.
html?twprogramming - Four Scripting Languages speed development
http//www.zdnet.com/eweek/stories/general/0,11011
,2646052,00.html