Help:COAP-3180/exam: Difference between revisions
Jump to navigation
Jump to search
m (using an external editor) |
m (→XQuery basics) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<pageby nominor="false" comments="false"/> | <pageby nominor="false" comments="false"/> | ||
== Introduction == | == Introduction == | ||
This is a page to help you prepare the [[Help:COAP-3180|COAP-3180]] exam, December 2007. | |||
== Conceptual exam topics == | == Conceptual exam topics == | ||
=== Web databases, major database types and simple Internet architectures === | |||
* Understand the difference between major database types | |||
* HTML Forms, server-side scripts and databases: you should understand roughly how they interact | |||
* The three-tier architecture model (client, webserver+script, database) | |||
Reading: | |||
* http://tecfa.unige.ch/guides/te/files/webdatabases-intro.pdf | |||
=== Simple web 2.0 databases === | === Simple web 2.0 databases === | ||
* Understand the potential of tools like [[Zoho]] Creator and other virtual office software, e.g. other Zoho applications or Google Apps like [[Google Docs]] | |||
Reading: | |||
* O'Reilly Tim (2005), What is Web 2.0, http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html, better take the [http://www.oreillynet.com/lpt/a/6228 print] version. | |||
=== Webtops and widgets === | === Webtops and widgets === | ||
* Understand the principle of a web top like [[Pageflakes]] | |||
* Understand the principle of web widgets and how to create simple mashups (either in a webtop or on your own HTML page) | |||
Reading: | |||
* [[Web widget and mashup]] (chapters 1 and 2) | |||
=== Relational databases === | === Relational databases === | ||
* Principles of relational databases, i.e. how objects can be represented with tables, and how tables can be linked together with keys | |||
Reading: | |||
* See [[#SQL basics|SQL basics below]] | |||
=== The LAMP architecture === | === The LAMP architecture === | ||
=== | * Understand what Apache/MySQL/Php means | ||
* Understand advantages/disadvantages of working with a [[web hosting service]], a local WAMP installation or a WAMP on a memory stick. | |||
* Know about some other alternatives (e.g. ASP/.Net or Java/JSP/J2EE) | |||
Reading: | |||
* http://en.wikipedia.org/wiki/Web_hosting_service | |||
* [[Web application]] | |||
* [[Web application framework]] (additional pointers, optional) | |||
=== PHP/MySQL and Code generators === | |||
* Be able to produce scripting code with a generator | |||
* Understand what the generator does and why generators can be useful | |||
* Have a basic understanding how PHP interacts with MySQL | |||
Reading: | |||
* http://tecfa.unige.ch/guides/te/files/php-mysql.pdf | |||
* See also the [[Help:COAP-3180/hw3|homework 3]] page. | |||
=== Installation and configuration of LAMP-based portalware === | |||
* Discuss the design of a CMS, i.e. its purpose, front page design, menu layout, skin and extra tools installed | |||
* Understand different user roles: Administrator, editor, user and guest | |||
* Understand the difference between a front end (user) and a back end (admin). | |||
Reading: | |||
* none required, but you must be able to define objectives and come up with a sketch of desired functionalities. | |||
* Joomla Manual, http://help.joomla.org/images/User_manual/user_manual_v1%200%201_10%2021%2006.pdf (optional) | |||
=== The W3C XML framework === | === The W3C XML framework === | ||
=== | * Purpose of XML | ||
* Basic technical features of XML: | |||
** well-formedness, | |||
** validity, i.e. the Schema concept (DTD, XML Schema, etc.) and its purpose | |||
** namespaces | |||
* Some understanding of the purpose of important XML applications, e.g. XHTML, XSLT, XPath, SVG. | |||
* Understand the difference between "true XHTML" and XHTML used as "just" HTML | |||
Reading: | |||
* http://tecfa.unige.ch/guides/te/files/xml-databases.pdf | |||
* http://tecfa.unige.ch/guides/te/files/xml-intro-edit.pdf (not all the technical details, but you should understand for example how various XML applications can combine) | |||
* http://tecfa.unige.ch/guides/te/files/xml-ns.pdf (optional) | |||
* http://tecfa.unige.ch/guides/te/files/xslt-basics.pdf (not all the technical details, but you should understand what a "template" is) | |||
* [[XML]] (this wiki, optional) and http://en.wikipedia.org/wiki/XML | |||
* [[SVG]] (distributed book chapter) | |||
=== XML Databases === | |||
* Understand the purpose of XML databases | |||
* Advantages and disadvantages compared to other database technologies | |||
* Have a rough understanding on how XPath, XQuery, Xupdate, XQuery Update, XSLT and CSS may work together | |||
Reading: | |||
* http://tecfa.unige.ch/guides/te/files/xml-databases.pdf | |||
* Ronald Bourret (2005). XML and Databases, http://www.rpbourret.com/xml/XMLAndDatabases.htm (in particular chapters 2, 3, 4 and section 6.3) | |||
=== Web services === | |||
* Have a general understanding of what we mean be "webservice" | |||
* Be able to distinguish between a REST, A XML-RPC and SOAP interface | |||
* Understand the role of XML formats (query languages, web service languages, data formats) | |||
Reading: | |||
* http://tecfa.unige.ch/guides/te/files/connectivity-web-services.pdf (first few chapters) | |||
* Additional pointers can be found in [[web service]] | |||
=== LDAP databases === | === LDAP databases === | ||
Readings: | Readings: | ||
* [[LDAP]] (this wiki) | |||
* Optional: http://www.zytrax.com/books/ldap/ch2/ and http://www.zytrax.com/books/ldap/ch3/ | |||
== Technical exam topics == | == Technical exam topics == | ||
You are expected to master technical details (beginner's level) of these topics. | You are expected to master technical details (beginner's level) of these topics. | ||
Note: Other SQL and XQuery tutorials can be found on the web, e.g. at http://www.w3schools.com/ | |||
=== SQL basics === | === SQL basics === | ||
* Be able to create a simple table with an SQL statement (CREATE) | |||
* Be able to query and update a table (SELECT, INSERT, UPDATE) | |||
* Be able to query 2 tables (SELECT) | |||
Readings: | Readings: | ||
* http://tecfa.unige.ch/guides/te/files/mysql-intro.pdf (Note: You can find links to additional SQL tutorials on the [[Help:COAP-3180|course homepage]] or the [[SQL]] and [[MySQL]] pages if the slides are not clear enough... | |||
=== PHP/MySQL basics === | |||
* Be able to use the PHPMyAdmin interface (create users and databases; fix permissions, i.e. GRANT user rights for a database) | |||
* Install a portal on a LAMP server | |||
Readings: | |||
* none, but you can consult the Joomla installation manual (http://help.joomla.org/) or read [[Joomla installation and configuration]] or look at the [[Help:COAP-3180/hw2|homework 2]] page .... | |||
=== XQuery basics === | === XQuery basics === | ||
* Be able to write a simple XQuery application (of course, this includes simple XPath expressions) | |||
* Produce both XML and HTML output | |||
* Be able to upload XML data files and *.xq files to an eXist server | |||
* Query and eXist database with simple REST expressions | |||
Readings: | Readings: | ||
* http://tecfa.unige.ch/guides/te/files/xml-databases.pdf | |||
* http://tecfa.unige.ch/guides/te/files/connectivity-web-services.pdf (last few chapters) |
Latest revision as of 13:43, 16 December 2007
<pageby nominor="false" comments="false"/>
Introduction
This is a page to help you prepare the COAP-3180 exam, December 2007.
Conceptual exam topics
Web databases, major database types and simple Internet architectures
- Understand the difference between major database types
- HTML Forms, server-side scripts and databases: you should understand roughly how they interact
- The three-tier architecture model (client, webserver+script, database)
Reading:
Simple web 2.0 databases
- Understand the potential of tools like Zoho Creator and other virtual office software, e.g. other Zoho applications or Google Apps like Google Docs
Reading:
- O'Reilly Tim (2005), What is Web 2.0, http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html, better take the print version.
Webtops and widgets
- Understand the principle of a web top like Pageflakes
- Understand the principle of web widgets and how to create simple mashups (either in a webtop or on your own HTML page)
Reading:
- Web widget and mashup (chapters 1 and 2)
Relational databases
- Principles of relational databases, i.e. how objects can be represented with tables, and how tables can be linked together with keys
Reading:
- See SQL basics below
The LAMP architecture
- Understand what Apache/MySQL/Php means
- Understand advantages/disadvantages of working with a web hosting service, a local WAMP installation or a WAMP on a memory stick.
- Know about some other alternatives (e.g. ASP/.Net or Java/JSP/J2EE)
Reading:
- http://en.wikipedia.org/wiki/Web_hosting_service
- Web application
- Web application framework (additional pointers, optional)
PHP/MySQL and Code generators
- Be able to produce scripting code with a generator
- Understand what the generator does and why generators can be useful
- Have a basic understanding how PHP interacts with MySQL
Reading:
- http://tecfa.unige.ch/guides/te/files/php-mysql.pdf
- See also the homework 3 page.
Installation and configuration of LAMP-based portalware
- Discuss the design of a CMS, i.e. its purpose, front page design, menu layout, skin and extra tools installed
- Understand different user roles: Administrator, editor, user and guest
- Understand the difference between a front end (user) and a back end (admin).
Reading:
- none required, but you must be able to define objectives and come up with a sketch of desired functionalities.
- Joomla Manual, http://help.joomla.org/images/User_manual/user_manual_v1%200%201_10%2021%2006.pdf (optional)
The W3C XML framework
- Purpose of XML
- Basic technical features of XML:
- well-formedness,
- validity, i.e. the Schema concept (DTD, XML Schema, etc.) and its purpose
- namespaces
- Some understanding of the purpose of important XML applications, e.g. XHTML, XSLT, XPath, SVG.
- Understand the difference between "true XHTML" and XHTML used as "just" HTML
Reading:
- http://tecfa.unige.ch/guides/te/files/xml-databases.pdf
- http://tecfa.unige.ch/guides/te/files/xml-intro-edit.pdf (not all the technical details, but you should understand for example how various XML applications can combine)
- http://tecfa.unige.ch/guides/te/files/xml-ns.pdf (optional)
- http://tecfa.unige.ch/guides/te/files/xslt-basics.pdf (not all the technical details, but you should understand what a "template" is)
- XML (this wiki, optional) and http://en.wikipedia.org/wiki/XML
- SVG (distributed book chapter)
XML Databases
- Understand the purpose of XML databases
- Advantages and disadvantages compared to other database technologies
- Have a rough understanding on how XPath, XQuery, Xupdate, XQuery Update, XSLT and CSS may work together
Reading:
- http://tecfa.unige.ch/guides/te/files/xml-databases.pdf
- Ronald Bourret (2005). XML and Databases, http://www.rpbourret.com/xml/XMLAndDatabases.htm (in particular chapters 2, 3, 4 and section 6.3)
Web services
- Have a general understanding of what we mean be "webservice"
- Be able to distinguish between a REST, A XML-RPC and SOAP interface
- Understand the role of XML formats (query languages, web service languages, data formats)
Reading:
- http://tecfa.unige.ch/guides/te/files/connectivity-web-services.pdf (first few chapters)
- Additional pointers can be found in web service
LDAP databases
Readings:
- LDAP (this wiki)
- Optional: http://www.zytrax.com/books/ldap/ch2/ and http://www.zytrax.com/books/ldap/ch3/
Technical exam topics
You are expected to master technical details (beginner's level) of these topics. Note: Other SQL and XQuery tutorials can be found on the web, e.g. at http://www.w3schools.com/
SQL basics
- Be able to create a simple table with an SQL statement (CREATE)
- Be able to query and update a table (SELECT, INSERT, UPDATE)
- Be able to query 2 tables (SELECT)
Readings:
- http://tecfa.unige.ch/guides/te/files/mysql-intro.pdf (Note: You can find links to additional SQL tutorials on the course homepage or the SQL and MySQL pages if the slides are not clear enough...
PHP/MySQL basics
- Be able to use the PHPMyAdmin interface (create users and databases; fix permissions, i.e. GRANT user rights for a database)
- Install a portal on a LAMP server
Readings:
- none, but you can consult the Joomla installation manual (http://help.joomla.org/) or read Joomla installation and configuration or look at the homework 2 page ....
XQuery basics
- Be able to write a simple XQuery application (of course, this includes simple XPath expressions)
- Produce both XML and HTML output
- Be able to upload XML data files and *.xq files to an eXist server
- Query and eXist database with simple REST expressions
Readings: