Grisu is an open source framework intended to sit on top of grid middleware (Globus being the only supported one at the moment -- others possible via plugins) in order to make development of user/workflow/application specific clients for grid resources as easy as possible. Grisu also comes with two implementations of general purpose grid clients, one commandline based called griclish, the other one a desktop gui application called the Grisu Template client:
Grisu is written in Java and is split up in a backend and a [frontend] (https://github.com/grisu/grisu/wiki/Frontpage) part. The connection between those two parts is done via an API, which is implemented in a class called ServiceInterface.
In order to build Grisu from the git sources, you need:
- Java development kit (version 6)
- git
- Apache Maven (version >=3)
Clone the git repository:
git clone git://github.com/grisu/grisu.git
Build using maven:
cd grisu
mvn clean install
The Grisu maven parent project consists of several child projects. Those are:
- grisu-commons: common code that is shared between front- and backend
- grisu-core: the backend code, including a local backend that can be connected to directly if in the same classpath as a grisu client
- grisu-client: main client code, if you want to write a grisu client, this is the main dependency
- grisu-client-swing: extends grisu-client, adds Swing based widgets and application struts
- grid_commons: Library containing commonly used code for different types of grid clients
- jgrith: collection of methods and classes related to grid authentication
- grid-session: little daemon-type application that holds authentication tokens and caches them in memory for use by different clients, can auto-renew some types of credentials
- grin: Grid information manager written in Java/Groovy, trying to be as easy to configure as possible
- griclish: generic command line client
- Grisu template client: generic GUI client
- grython: a wrapper to enable scripting grid submission workflows using python syntax
- Grisu-Virtscreen: GUI application for a Virtual screening pipeling (using Gold & Gromacs)
- grisu-benchmark: commandline client to submit the same job using different cpu configurations and plot out benchmark results
- enunciate-backend: web service based Grisu backend
- grisu-archetypes: maven archetypes to assist creating Grisu clients
- grisu-integration-tests: End-to-end tests for the Grisu framework
- combined client: project to combine several Grisu clients in order to make them installable (plus auto-update) via:
- nesi-tools-installer: izpack based installer to make deployment and auto-updating of client tools easy