Architectural Overview
OAT is built using Scala (
http://www.scala-lang.org) and the Play! web framework (
http://www.playframework.com).
Play contains its own built-in web server. So the Play app runs on one machine (oat-102.cs.uwaterloo.ca) with pretty much nothing else on it. We might eventually want to put an Apache server in front of it to do load balancing, but right now it's just Play.
The database runs on another machine (postgres165.cs.uwaterloo.cs). Also pretty much the only thing on that machine.
Both machines are accessible via the campus network, but to get to them from off-campus you need to use the VPN.
Database
It is our intent that the data in the database be accessible in the following use cases:
- Authenticated users (eg advisors) via the OAT web site (https://advising.uwaterloo.ca). This includes ASIS to display student data as well as "Canned Queries" to run pre-written queries with user modified parameters.
- Authenticated users (eg students either as themselves or via a portal) via web services provided by the OAT web site.
- Direct SQL for a small set of selected users (eg: OAT developers, people developing Canned Queries, people doing "what if" analysis of the data). Tools in use as of 20131022 are
- psql (command-line tool)
- pgAdmin (GUI wrapper on psql)
- Excel
In addition to the above, CSCF has access for some administrative processes.