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.
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
- Building Production Load
- Third-party software dependencies
- Production Deployment
- Configuration - Reverse Proxy Deployment
- Certificates
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.