Database Design 1 CMS 476 Fall 1, 2007 Dr. Karl Horak, Instructor
Session 8 Week in Review Week in Review Application du Jour Application du Jour Lecture: Database-Web Lecture: Database-Web Demonstration: Plone Demonstration: Plone Exercises Exercises
Week in Review InterLab From Presentation to Panel Discussion (See separate presentation)
Application du Jour Plone Plone –Content Management System Through-the-Web management of site objects (pages, images, files, etc.) Through-the-Web management of site objects (pages, images, files, etc.) –Based on Zope object-oriented database and web server Based on Python programming language Based on Python programming language –Uses Archetypes for custom content Archetypes can be generated directly from a UML class diagram or state diagram Archetypes can be generated directly from a UML class diagram or state diagram
Tonight’s Lecture Topic: Databases and the Web Session 8 ODBC ODBC PHP PHP Zope Zope Ruby on Rails Ruby on Rails SQLAlchemy SQLAlchemy Session 9 ColdFusion ColdFusion ASP.NET ASP.NET Java Java RDF & SPARQL RDF & SPARQL Client-side Client-side
ODBC Open Database Connectivity Open Database Connectivity Standard software API method for using database management systems Standard software API method for using database management systems Independent of programming languages, database systems, and operating systems Independent of programming languages, database systems, and operating systems JDBC and others JDBC and others
PHP PHP: Hypertext Preprocessor PHP: Hypertext Preprocessor Server-side scripting engine Server-side scripting engine Runs with a large number of RDBMS Runs with a large number of RDBMS Part of LAMP core Part of LAMP core –Probably 19 M installations
Zope Python-based, object-oriented Python-based, object-oriented Web application server Web application server Through-the-web management Through-the-web management Links to a number of RDBMS Links to a number of RDBMS Backbone for Plone CMS Backbone for Plone CMS and plone.org and plone.org
Ruby on Rails Database framework for Ruby Database framework for Ruby Scaffolding for rapid development Scaffolding for rapid development Model-View-Controller architecture Model-View-Controller architecture WEBrick web server WEBrick web server
SQLAlchemy Python SQL toolkit Python SQL toolkit Object relational mapper Object relational mapper Recent, but up-and-coming Recent, but up-and-coming
So many choices — So little time Project-based decision Project-based decision –Let requirements determine the toolset Environment-base decision Environment-base decision –Compromise across multiple, often mutually exclusive requirements sets Personal decision Personal decision –Choose a framework that works
Demonstration ArgoUML ArgoUML ArchgenXML ArchgenXML Plone Plone
Exercises and Q&A Continue with Homework #3, due today Continue with Homework #3, due today Final exam to be uploaded within 24 hours Final exam to be uploaded within 24 hours –Final due at the end of next week’s class (Wed. Oct. 3 at 9:30 pm)