250 likes | 362 Views
The problem for the UO Library. Several projects pending that would build dynamic web sitesNo consistency in existing software toolsNeed to provide infrastructure
E N D
1. Choosing a Dynamic Web Publishing Environment JQ Johnson
University of Oregon Library
Presentation for CIT 382, 13 Feb 2001
2. The 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
3. Architecture
4. Server-side middleware technologies
5. Library 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
6. Examples 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.
7. Existing 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
8. Web 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.)
9. Databases 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
10. Programming Very few staff have any programming background/expertise
A few in-house applications
Perl (mostly for web page form processing)
C, C++
11. Options for dynamic web sites Outsource
Development
Delivery
Centralize development in Systems Dept.
Provide support; decentralize development
Requires choice of infrastructure
Database
Middleware
Tools
Training
12. Database 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)
13. Web server options Apache
Runs mostly on Linux; free
Microsoft IIS
Runs mostly on Windows 2000
14. Middleware options Programming environments
Perl (perhaps with mod_perl)
Scripting languages
ASP+VBScript (runs mostly on IIS/ Windows)
PHP (mostly on Apache/ Linux)
ColdFusion (mostly on IIS/Windows)
Java Server Pages (e.g. TomCat for Apache)
15. Example: querying a database in ASP and ColdFusion <%
Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
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")) & “<br>”
rsCustomers.MoveNext
Loop
%>
<cfquery name="rsCustomers" datasource="nba_membership"> SELECT id, business FROM directory
</cfquery>
<cfoutput query="rsCustomers">#id# #business#<br></cfoutput>
16. Example: querying a database in PHP <?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 <= $number_rows - 1 ; $row++) {
print mssql_result($rsCustomers, $row, 1) . mssql_result($rsCustomers, $row, 2) .
"<br>“;
}
mssql_close($conn);
?>
17. Page 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)
18. Decision 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
19. Sample 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
20. Option 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
21. Sample Option 2 Provide ColdFusion, IIS and SQL Server on existing Windows 2000 server
Use Dreamweaver Ultradev for CFM development
Provide SQL training. Use vendor’s 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
22. Option 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?
23. Decision-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
24. Questions for discussion What issues should we be considering?
What additional information is needed?
What should we do next?
25. References Allaire Corp. (ColdFusion): http://www.allaire.com
Macromedia (Dreamweaver): http://www.macromedia.com
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?tw=programming
Four Scripting Languages speed development http://www.zdnet.com/eweek/stories/general/0,11011,2646052,00.html