From Cheaha
Revision as of 02:29, 13 September 2011 by Ppreddy@uab.edu (talk | contribs) (initial commit for api wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Attention: Research Computing Documentation has Moved

Please use the new documentation url https://docs.rc.uab.edu/ for all Research Computing documentation needs.

As a result of this move, we have deprecated use of this wiki for documentation. We are providing read-only access to the content to facilitate migration of bookmarks and to serve as an historical record. All content updates should be made at the new documentation site. The original wiki will not receive further updates.

Thank you,

The Research Computing Team

Research Notebook

The research computing platform is an environment that records the context surrounding our computations, projects, platform, ideas, and knowledge. Our goal is a public record of the state and evolution of the environment in which we conduct our research: documented processes that can be incorporated by research teams, influenced by research needs, and shared with peers. This environment is integral to the digital archive of our research effort. This is the research notebook.

RESTful Style Programming

At the core of the research computing platform is a collection of open source tools. Most of these tools have a web programmable interface that support a variety of functionality. The interfaces range from SOAP and XML-RPC to RESTful. The tool spaces which span the breadth of the research computing platform are:

  • Resource management
web APIs for vm register/start/stop via OpenNebula
  • Project management
web APIs to group management, mailing lists, Wordpress, Trac, MediaWiki and new code to tie them together
  • Job Management
web APIs from Galaxy to control workflows

These fairly well align with the Cloud paradigms of Infrastructure (I), Platform (P), and Application (A) as a Service, ie. the IaaS, PaaS, and AaaS.

The goal of our research computing platform is to allow these to be extended into whatever areas interest people and which they are willing to build out.

For example, developers can use these tools to build their own web services and expose them to the communities they want to support. Their users will need resource keys (akin to what you would use for Google or Facebook services, they could even run FB apps) if they are going to be resource intensive APIs or whatever. The sky is pretty much the limit here.

How to

API Overview

Here's a list of developer documentation on the available programmable interfaces for the core tools of the research computing platform

  • OpenNebula Cloud API - offers two interfaces
RESTful service based on the Open Grid Forum (OGF) Open Cloud Computing Interface (OCCI) API specification. OCCI is a Protocol and API for all kinds of management tasks, including deployment, autonomic scaling and monitoring.
2. EC2 Query API
a subset of the EC2 Query interface, enabling the creation of public clouds managed by OpenNebula