270 likes | 279 Views
This article provides an introduction to database-driven web sites, including the benefits, choosing a database and scripting language, and why information architects should be concerned. It also compares popular databases and scripting languages.
E N D
Database-Driven Web Sites Presented by Xueying Bai Nov. 23 2004
Overview • 1. Introduction • 2. When and why to build a database-driven Web site? • 3. Choosing a database • 4. Choosing a scripting language • 5. Why information architects should be concerned? • 6. Conclusion • 7. References
Static Web pages vs. dynamic Web pages • Static Web pages • Data is stored in .html files • Won't change until someone changes their source codes • Dynamic Web pages • Web pages that respond to users' requests and gather information from them. Oftentimes, they have built-in links to a database, from which they extract data based on input from the users • Created in real time
What is data and database? • Data: a general term meaning the facts, numbers, letters, and symbols processed by a computer or communications system to produce information. In a computer system these items are stored in files. • Database: A collection of related files is a database
What is a database-driven Web site? • Definition: A database-driven Web site is a Web site that uses a database to gather, display, or manipulate information • Example: • News sites: CNN.com and MSNBC.com • E-commerce companies: Amazon.com, which is a Web interface of a big-sized database system containing customer and transactional information.
When do we need a database-driven web site? • We would need a database-driven Web site if our information changes very often, just like in a banking site • Most organizations have a great deal of information in databases and could benefit if this information is made available online • When the content on a site reaches critical mass, it's time to stop managing it as “resources embedded in static HTML" and start to create a database-driven Web site
Why do we need database-driven Web sites? (I) • Web pages of database-driven Web sites are created dynamically (in real time) thus giving a Web site visitor an up-to-date view of information stored in the database. • Users can do their own maintenance via a set of Web-based data entry forms • Such as we can change our address, credit card information of our Amazon account by ourselves • The information that the Web site visitor sees on a dynamic Web page can be quickly customized • For example, the sort order of the items can be changed or certain database fields can be shown or hidden
Why do we need database-driven Web sites? (II) • The look & feel of the database-driven pages can be easily changed vs. having to redo dozens if not hundreds or thousands of static Web pages in the event that a site's design needs to be modified • Several different views of the database information can be presented in the same time • For example, the items could be presented in alphabetical order by name but then could also be sorted and presented by cost • The site visitor can do a search on the items in the database • It is easy for Web masters to maintain the Web sites
3. Choosing a database • Commercial databases: Oracle, SQL Server • Cost: expensive • Hardware requirements: high • Target customers with more specific needs than open source databases (enterprise edition and standard edition) • Have an impressive array of advanced features • Open source databases: MySQL, PostgreSQL • Cost: cheap • Hardware requirements: low • Be lack of some advanced features
Oracle • Oracle databases are used by the big-sized businesses which stored data >= 100GB • Strengths • full of features • fast • reliable • Weaknesses • Very expensive • High hardware requirement
SQL Server • SQL Server caters to small and mid-sized businesses • Strengths • Overtakes Oracle as the No. 1 DBMS on Windows • Cheaper than Oracle • Weaknesses • SQL Server can't scale. • SQL Server is not very secure. • Prices comparison between Oracle and SQL Server
MySQL vs. PostgreSQL • MySQL is the most popular open source database vs. PostgreSQL is the most advanced open source database • MySQL is faster than PostgreSQL • MySQL is used more often than PostgreSQL • MySQl has stronger community and resource support than PostgreSQL • MySQL lacks some advanced features that PostgreSQL has.
Choosing a Scripting language • Open-source scripting languages • PHP • JSP • Perl • Proprietary scripting languages • ASP.NET • Cold Fusion
PHP • Strengths • Cost: PHP is free. • Portability: can be compiled for any operating system • Ease of Maintenance • Maturity: mature enough to be used in any production environment • Weaknesses • Be lack of exceptions, event-based error-handling instances • Its function names are case insensitive
JSP (Java Server Pages) • Strengths • Platform independent: write once, run anywhere • Developers can extend the JSP language • Easily write and maintain pages • Weakness • One significant disadvantage of JSP documents is that no XML-compliant version of JSP comments exists. A JSP document developer can use client-side (HTML-/XML-style) comments or embed Java comments.
Perl • Strengths • There is a big developer community and a great deal of support for Perl • Perl is good for quick, single Web sites • Weakness • Some of the syntax is quite frightening
ASP.NET • ASP.NET is the product of Microsoft • Strengths • Developers can choose many programming languages (ASP.NET works with scripted languages such as VBScript, JScript, Perlscript, and Python, as well as compiled languages such as VB, C#, C, Cobol, Smalltalk, and Lisp) • Developers can use many development environments (such as WebMatrix, a community-supported tool, Visual Studio .NET, or various Borland tools such as Delphi and C++ Builder) to create ASP.NET pages • Weakness • It needs more memory usage and more execution time.
Cold Fusion • Cold Fusion is the product of Macromedia • Strengths • A very nice development environment called Macromedia ColdFusion MX 6.1 • Fewer lines of code than ASP, PHP, and JSP • Easy to learn and write • Weakness • Harder to maintain
Why information architects should be concerned? (1) • How to show retrieval results from databases: sorting and ranking • Sorting: helpful to users who want to make a decision or take an action • Example: Amazon.com • Ranking: there is a need to understand information or learn something • Example: UTNetCAT
Why information architects should be concerned? (2) • Show retrieval results in sets of pages • Example: Google
Why information architects should be concerned? (3) • "Hidden Web“ problem • Valuable data is buried alive in isolated databases • Information architects need to work together with developers and system integrators to provide users with intellectual access to information and data, independent of format
Why information architects should be concerned? (4) • "deep Web" search engine • The information inside Web databases is called the "deep Web". • Information architects of database-driven Web sites should provide Web sites' users the "deep Web" search engine to easily and quickly access data in database (such as search engine of Amazon.com, users can use it to search information about books, DVDs etc. that is stored in the database).
Why information architects should be concerned? (5) • Proper database and scripting language choice • Increase of data size: according to the Web site's longtime requirements • Now: 5000 users • 2 years later: 50000 users • Speed: if there are thousands of users per second visit your Web site, you can’t use ASP.NET because it needs more memory usage and more execution time
Conclusion • The exponential increase of the number of database-driven Web sites on the Internet • Information architects should know: • When and why they need to build database-driven Web sites and • How to build good database-driven Web sites.
References (1) • Boulton, C. (2003). Are Open Source Databases Following in Linux' Footsteps? Retrieved Oct. 22, from http://boston.internet.com/news/article.php/2221901 • Building database driven Websites using Dreamweaver (n.d.). Retrieved Oct. 22, from http://www2.shu.ac.uk/schools/cms/itf/course2.cfm?Course_ID=building • Cold Fusion Overview (n.d.). Retrieved Oct. 22, from http://telecom.fit.edu/cfdocs/gettingstarted/gs030006.htm • Database-driven Web Sites (n.d.). Retrieved Oct. 20, from http://www.crendo.com/database-driven-websites.htm • Database driven websites (n.d.). Retrieved Oct. 20, 2004, from http://www.summersault.com/services/database.html • Definition of PostgreSQL(n.d.). Retrieved Nov. 15 2004, from http://www.wordiq.com/definition/PostgreSQL#Features • DevGuy(2002). Avoid PHP code leaks - Source Guardian. Retrieved Oct. 21, from http://www.pchardware.ro/Articles/article.php?id=179&p=2 • Gary, R. (2000). Designing a Database-Driven Web Site, or, The Evoluation of the INFOIGUANA. Retrieved Oct. 20, 2004, from EBSCOhost database.
References (2) • Gesker, D. (2001) Alternatives for Dynamic Web Development Projects. Retrieved Oct. 20, 2004, from ACM database. • Ghanem, T. & Aref, W. (2004). Databases Deepen the Web. Retrieved Oct. 20, 2004, from IEEE Xplore database. • Hull, S (n.d.). PHP and ASP.NET Go Head-to-Head. Retrieved Oct. 22, from http://www.oracle.com/technology/pub/articles/hull_asp.html • Ian Gilfillan (2003). PostgreSQL vs MySQL: Which is better? Retrieved Nov. 13, from http://www.databasejournal.com/features/mysql/article.php/3288951 • JavaServer Pages Overview (n.d.). Retrieved Oct. 22, from http://java.sun.com/products/jsp/overview.html • Lowe S. (2002). Selecting a database: Open source or commercial? Retrieved Nov. 13, from http://techrepublic.com.com/5100-6265_11-1054291-2.html • Macromedia ColdFusion MX 6.1(n.d.). Retrieved Nov. 13, from http://www.macromedia.com/software/coldfusion/ • Rosenfeld, L. & Morville, P. (2002). Information Architecture for the World Wide Web (2nd ed.). Sebastopol, CA: O'Reilly and Associates, Inc.
Questions? Thank you!