Help:COAP-3180: Difference between revisions
mNo edit summary |
|||
Line 4: | Line 4: | ||
== Introduction == | == Introduction == | ||
This is | Disclaimer: This is a resource page for my Spring 2010 I Web Databases course (COAP 3180) at Webster University, Geneva. This page does '''neither''' replace the official syllabus '''nor''' the official learning management system (WorldClassroom/Blackboard) cou, but it allows students to navigate more efficiently through the materials | ||
This program is provisional and will be adjusted on a weekly basis. Note: this | This program is provisional and will be adjusted on a weekly basis. Note: this | ||
course was held as an independent study class. | course was held as an independent study class in 2007 and some contents need to be adjusted to the 2010 course. | ||
==Course level outcomes== | ==Course level outcomes== | ||
At the completion of this course students will be able to: | At the completion of this course students will be able to: | ||
# Add a Webpage Database to an HTML page | |||
# | # Manipulate data using SQL operations | ||
# Manipulate data using SQL operations | # Publish both static and dynamic data on the Web | ||
# | # Convert text files to XML databases | ||
# | # Be able to query XML data using XQuery | ||
# Be able to work with relational data as XML | |||
# Be able to query | |||
# | |||
These outcomes defined in the syllabus can be translated to more practical outcomes: | These outcomes defined in the syllabus can be translated to more practical outcomes: | ||
# Use simple Web 2.0 database services and integrate it into a webpage. | |||
# Manipulate data using SQL operations and create simple SQL databases in a DBMS. | |||
# Understand the architecture of a simple web application (HTML client / Web server / Script / Database). | |||
# Be able use a LAMP/WAMP software bundle and to install and to configure web applications, e.g. a CMS. This can evolve into a term project. | |||
# Generate a very simple web application that can connect to a database management system (DBMS) though an ODBC API. | |||
# Understand/recall XML basics, like converting text files and database output to XML, editing an XML file using a schema and displaying XML data. | |||
# Be able to query and update XML data files and XML Databases using XQuery dand XQuery Update. | |||
# Understand the general architecture and purpose of LDAP address and authentication servers and light-weight solutions like OpenID. | |||
. | |||
==Week 1== | ==Week 1== |
Revision as of 21:23, 10 January 2010
<pageby nominor="false" comments="false"/>
Introduction
Disclaimer: This is a resource page for my Spring 2010 I Web Databases course (COAP 3180) at Webster University, Geneva. This page does neither replace the official syllabus nor the official learning management system (WorldClassroom/Blackboard) cou, but it allows students to navigate more efficiently through the materials
This program is provisional and will be adjusted on a weekly basis. Note: this course was held as an independent study class in 2007 and some contents need to be adjusted to the 2010 course.
Course level outcomes
At the completion of this course students will be able to:
- Add a Webpage Database to an HTML page
- Manipulate data using SQL operations
- Publish both static and dynamic data on the Web
- Convert text files to XML databases
- Be able to query XML data using XQuery
- Be able to work with relational data as XML
These outcomes defined in the syllabus can be translated to more practical outcomes:
- Use simple Web 2.0 database services and integrate it into a webpage.
- Manipulate data using SQL operations and create simple SQL databases in a DBMS.
- Understand the architecture of a simple web application (HTML client / Web server / Script / Database).
- Be able use a LAMP/WAMP software bundle and to install and to configure web applications, e.g. a CMS. This can evolve into a term project.
- Generate a very simple web application that can connect to a database management system (DBMS) though an ODBC API.
- Understand/recall XML basics, like converting text files and database output to XML, editing an XML file using a schema and displaying XML data.
- Be able to query and update XML data files and XML Databases using XQuery dand XQuery Update.
- Understand the general architecture and purpose of LDAP address and authentication servers and light-weight solutions like OpenID.
Week 1
Light-weight databases and web 2.0
Topics Covered
(1) Introduction
- Internet, the WWW and web databases
- Slides: http://tecfa.unige.ch/guides/te/files/webdatabases-intro.pdf (PDF, copies of the slides distributed in class)
(2) Web 2.0 vs. "traditional Internet"
- An ever increasing amount of applications are available through the Internet. Many of these applications can be shared, others are by definition "social software" (e.g. wikis, YouTube, flickr, blogs).
- Reading: O'Reilly Tim (2005), What is Web 2.0, better take the print version.
- Additional resources for those who want to explore this topic further: This wiki, e.g. start from the rich internet application article.
(3) Simple on-line database services
- Learn how to create and use simple tabular databases with a web 2.0 service
- Practical details are explained in the homework 1 page
Classroom activities and homework
Classroom activity 1: Zoho Creator
- Take an account with Zoho:
- Create a database with Zoho Creator
Classroom activity 2: Pageflakes
- Create an account with Pageflakes: :
- http://student.pageflakes.com/ (variant for students)
- http://www.pageflakes.com (variant for all other, the only difference is the initial choice of widgets, pick either one ....)
- Configure the first page as private page
- Create a new page, import the Zoho database and make this page public (i.e. a pagecast)
- Homework
See homework 1
Week 2
Topics Covered
Short overview of databases
- What is a Database and how is it used in Internet applications ?
- Relational data base management systems (RDBMS) and ownership of databases
- MySQL (databases, tables and users): First contact with this RDBMS
Web applications
- Application architectures / frameworks overview (recall of lesson 1)
- WAMP/LAMP software bundles and applications, various options
- Installation of web applications: First contact with that sort of procedure
Reading I suggest that you have a look at the following articles. Reading is not mandatory, but may help you understand some concepts and issues.
- Web Hosting Service (Wikipedia)
- Shared web hosting service
- LAMP (software bundle) (Wikipedia) - WAMP (this wiki)
- MySQL
Classroom activities and homework
- Configuration of a portal in a WAMP system or with an web hosting service
- We will work with the Joomla portalware.
- For all practical tips, see the homework 2 page
Software:
- WOS portal (default system used in class, will run on a memory stick). The instructor will provide you with a default mix.
- Wampserver (for those who prefer to work on their own portable)
- An Internet hosting service with PHP/MySQL included in their offer (for those who prefer to start building projects on their own domain)
- Homework
See homework 2
Week 3
Topics Covered
Portalware configuration (continued):
- discussion of homework 2 and further configuration of Joomla (part 2 of homework 2)
Relational databases: Introduction to SQL (part 1):
- Relational tables (principles)
- Retrieving data
- Definition of SQL tables and use of the phpMySQL tool
- Short Overview of other RDBMS
Slides:
Reading:
Pick one of these. Some articles are presented as multiple pages (!)
- Introduction to Structured Query Language: Version 4.11 by James Hoffman.
- Getting Started With SQL by Ted Brockwood
- What is SQL?
- Introduction to Databases for the Web: Pt. 1 by Selena Sol (most complete article)
Classroom activities Monday and homework
- Learn how to use MySQL Admin (a web application to administer web databases) to create databases and tables
- Create a simple 1-table MySQL database with a database administration tool and with SQL instructions
- homework 3
Classroom activities Wednesday
- web hosting
- Databases and database user management with MySQL
- Joomla installation and configuration
Week 4
Topics Covered
Relational databases
- Introduction to SQL (part 2)
- Modifying data
Working with PHP and MySQL
- Principles of PHP programming
- Simple PHP/MySQL interaction
- Short overview of other application frameworks (.Net, J2EE)
Slides:
Reading
Reading is an option here, since I don't make learning PHP mandatory. Here are a few PHP and PHP/MySQL tutorials that can be found on the net. There exist many others.
- Weiss, Aaron (2000) Welcome to PHP, somewhat outdated ...
- PHP Tutorial (W3C Schools, includes a section about PHP/MySQL).
- Gilfillan, Ian (2002). Using a MySQL database with PHP, Database Journal. (shorter 3-page tutorial)
- Yank, Kevin (2002) wrote a five part series in the Database Journal (Ok, but too much advertisement).
- Build Your Own Database Driven Website Using PHP & MySQL: Pt. 1 (Overview)
- Build Your Own Database Driven Website Using PHP & MySQL: Pt. 2 (yet another MySQL tutorial) ** Build Your Own Database Driven Website Using PHP & MySQL: Pt. 3 (PHP Introduction)
- Build Your Own Database Driven Website Using PHP & MySQL: Pt. 4. (Displaying information on a web page)
- MySQL PHP Web Database Tutorial (1999). Simple table, by web.blazonry
- Williams, Hugh, E. (2002). Tips for Building Web Database Applications with PHP and MySQL, onLamp article (O'Reilly Databases). HTML
- Sample chapter of Web Database Applications with PHP and MySQL website.
Software:
- http://www.webformgenerator.com/ (Webform generator)
- http://www.sqlmaestro.com/products/mysql/phpgenerator/ (SQL Maestro PHP Generator)
Classroom activities and homework
- Monday
- Generation of a simple web application with a code generator. This homework is a follow-up of homework 3 (part 2), i.e. this time we will see how to create a web interface to your little database.
- Wednesday
- Discussion and presentation of homework 1 (final),
- Discussion and presentation of homework 2 (Joomla, almost final).
- Discussion of homework 3, part I (application you plan to create and the table architecture, next step).
- Some simple PHP programming activities (just FYI).
Week 5
Topics Covered
Introduction to XML databases (1)
- Retrieving XML nodes with XPath
Reading
- Ronald Bourret (2005). XML and Databases, http://www.rpbourret.com/xml/XMLAndDatabases.htm
- Darshan Singh, Essential XQuery - The XML Query Language, http://www.yukonxml.com/articles/xquery/
- XQuery http://en.wikipedia.org/wiki/XQuery (Wikipedia)
Slides
Recall of XML technology
- Crash Course introduction to XML and XSLT
- Editing XML files using a schema (DTD and/or XML Schema).
Slides:
- http://tecfa.unige.ch/guides/te/files/xml-intro-edit.pdf
- http://tecfa.unige.ch/guides/te/files/xml-ns.pdf (optional)
- http://tecfa.unige.ch/guides/te/files/xslt-basics.pdf
Classroom activities and homework
- Create or load a valid XML file (XML editor)
- Retrieve nodes with XPath
- Write an XQuery file to retrieve a fragment.
- Homework
See homework 4 (part 1)
Week 6
(provisional)
Topics Covered
Introduction to XML databases (2)
- Use of XML databases, presentation of the eXist XML database
- Short recall of networking, web services and database connectivity standards
- The REST API for eXist
Reading
- I Think, Therefore I eXist ..., by by Kurt Cagle (2006), XML.com
- Managing XML data: eXist -- an open source native XML database by E.R Harold (2005), IBM developer works.
Slides
Additional reading (optional)
- XQuery Wiki book
- A survey of XML standards I
- A survey of XML standards II
- XQuery W3C Index Page
- XQuery Spec. (Jan 2007)
- XQuery Update Facility Spec. (Aug 2007) and 10 use cases
Classroom activities and homework
- Play with the eXist database
- Retrieve documents with the REST interface
- Add documents through the Java Admin client
- Homework
See homework 4 (part 2)
Week 7
(provisional)
Topics Covered
- XQuery (working with the eXist database - finally)
- Database to XML Sources (short introduction)
- Introduction to LDAP databases, authentication systems and address books
- Light-weight digital identity
Reading
- See Week 6 for XQuery-related materials
- LDAP (this wiki)
Classroom activities and homework
- Uploading xq files to eXist
- Integration of an XML data source in a web page.
Week 8
Topics Covered
Exam, see the COAP 3180 exam page for details
(there will be no Wednesday lesson)
Homework and exams overview
Breakdown
(revised version, adapted to small group teaching)
Homework | 70% |
Final exam | 30% |
Final Exam
- The exams will contain paper-based questions (both technical and conceptual)
- All materials will be allowed.
- See the COAP 3180 exam page for details
List of homework
Typically, a homework will extend over at least two weeks. During the first week you are asked to produce part 1. You then have to add extra features and/or make revisions. Only the final version will be evaluated. However, you may get minus points if you don't turn in part 1 versions.