Running Athena from the command line

74 views
Skip to first unread message

Gary Moore

unread,
Feb 14, 2011, 7:31:19 PM2/14/11
to athena-t...@googlegroups.com
Athena code is in beta, and one of our goals in the beta testing period was to put together an easy way for people to run Athena.

Recall that Athena is comprised of a collection of .war files that can be deployed to a Java servlet container. Once Athena is built, one can drop the .war files into the container and hit go.

This process is outlined here:
https://github.com/fracturedatlas/ATHENA/wiki/Setting-up-and-Deploying-ATHENA-from-source-code

The obvious problem with this process is that it relies on several moving parts (Glasfish, MySql, Ruby, Rubygems) being correctly configured by the implementor.

Those not wishing to download and compile source code will be able to download an athena.tar file which will contain all components as well as an embedded app server. The implementor can download the tar file, explode it to some directory (/opt/local perhaps), and get athena running by typing "athena/bin/athena.sh". This leaves only mysql to be configured before the user is off and running.

The exploded tar file structure is outlined below. Comments and questions on any of this stuff are welcome.

The exploded directory structure
--------------------------------
/athena
/bin
:athena.sh - Simple shell script to call the athena-runner.jar "java -jar athena-runner.jar"
:athena-runner.jar - Configures an embedded Jetty instance and deploys the war files to it.
/log - All log files will land in here. This is in contrast with the siloed container approach shown below, but I'm a big fan of keeping all log files together
/config - Configuration specific to the athena-runner
/db - I'm considering using sqlite as the default out-of-the-box-to-play-with db. If so, those files will live here.
/lib - athena-runner specific dependencies. I don't anticipate that there will be any that aren't already bundled in the jar
/components - Each component (tix, people, orders...) will have a folder as described below
/tix
/lib - External dependencies not included in the standard Maven build
/war - The actual war file to be deployed
/config - component specific configuration. Values specified here will override those specified in shared/config
/shared
/lib - External dependencies available to all components
/config - Configuration made available to all components


--
Gary Moore | gary....@fracturedatlas.org | @gsmoore
Fork us on Github: http://github.com/fracturedatlas/
Join us on IRC: ##athena on irc.freenode.net

Reply all
Reply to author
Forward
0 new messages