nsi-requester

A fully functional NSI Requester Agent

View project onGitHub

Overview

The NSI Requester (nsi-requester) is a web-based client application implementing the Open Grid Forum Network Service Interface Connection Service version 2 (OGF NSI CS v2) protocol. It is considered an NSI compliant Network Service Agent (NSA), or more specifically, an Ultimate Requester Agent (uRA) which only initiates NSI service requests. All operations specified in the OGF NSI CS v2 specification are supported by this application making it the perfect interface for testing an NSI deployment.

Example software stack

The nsi-requester can be deployed in a number of configurations, each achieving an NSI compliant deployment. Choosing the correct options may take some trial and error, but using the information held within this documentation should reduce your time to successful deployment considerably. Please see the documentation page on production deployments for more information on a deployment option that can meet your needs.

References

Quick Start

The nsi-requester is written in Scala and utilizes the Play Framework as a runtime environment. This will require Java to be installed on your platform of choice (Java 1.8 is preferred), and as a minimum either Play 2.3.1 or SBT 0.13.5. We recommend installing SBT since it will pull in the required Play Framework dependencies. Instructions for SBT download and installation can be found here.

For a Mac you can use either of brew or port to do the installation:

$ brew install sbt

or

$ port install sbt

To download, build, and run the vanilla default configuration perform the following commands:

$ git clone https://github.com/BandwidthOnDemand/nsi-requester.git
$ cd nsi-requester
$ sbt run

The nsi-requester application will be accessible by browser at the default location http://localhost:9000.

Tailor your installation by choosing a deployment option, configure the application conf/application.conf, logging conf/application-logger.xml, build a production load sbt stage, and use either upstart or a customized shell script scripts/ to start the application.

Choosing an IDE

If you are looking for an Integrated Development Environments (IDE) to view or modify the code we recommend one of the following.

Eclipse

For editing in Eclipse the Scala IDE is very usefull.

Eclipse Juno users please use the follwoing update site: Eclipse IDE 2.1 milestones

Generating the Eclipse project files can be done by running eclipse with-source=true in the sbt console.

IntelliJ Community Edition

The IntelliJ IDE is an extremely popular IDE for Java, and now it is becoming increasingly popular for Scala development as well through an add-on plugin and direct SBT integration. For information on IntelliJ Scala support and tutorials can be found here.