<pageby nominor="false" comments="false"/>
This is a page to help you prepare the COAP-3180 exam, December 2007.
2 Conceptual exam topics
2.1 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)
2.2 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
- 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.
2.3 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)
- Web widget and mashup (chapters 1 and 2)
2.4 Relational databases
- Principles of relational databases, i.e. how objects can be represented with tables, and how tables can be linked together with keys
- See SQL basics below
2.5 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)
- Web application
- Web application framework (additional pointers, optional)
2.6 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
- See also the homework 3 page.
2.7 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).
- 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)
2.8 The W3C XML framework
- Purpose of XML
- Basic technical features of XML:
- validity, i.e. the Schema concept (DTD, XML Schema, etc.) and its purpose
- 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
- 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)
2.9 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
- Ronald Bourret (2005). XML and Databases, http://www.rpbourret.com/xml/XMLAndDatabases.htm (in particular chapters 2, 3, 4 and section 6.3)
2.10 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)
- http://tecfa.unige.ch/guides/te/files/connectivity-web-services.pdf (first few chapters)
- Additional pointers can be found in web service
2.11 LDAP databases
- LDAP (this wiki)
- Optional: http://www.zytrax.com/books/ldap/ch2/ and http://www.zytrax.com/books/ldap/ch3/
3 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/
3.1 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)
- 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...
3.2 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
- 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 ....
3.3 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