Docs is a an open documentation platform for UAB built on the Mediawiki engine, the same wiki engine that powers Wikipedia. Content contributions to docs are welcome and encouraged. The breadth, depth, and value of our documentation is directly attributable to those who participate in its development. Please see the notes on Editing Docs for information on how to contribute to this wiki.
Caveat Emptor: Some of information is of historical nature. We are actively reviewing and tagging outdated content to ensure it is updated.
The research computing system includes a collection of libraries designed to address a variety of needs. The libraries you use and how you interact with them, depends on which aspect of the system you want to leverage. It is possible to work exclusively with one library, using only it's default interface. More evolved tool users might leverage many different libraries and combine them in novel ways to create new applications or additional services. Nonetheless, even simple scripts that only tune a default feature are often the most appreciated.
Our goal is to get you started developing, a.k.a. creating, as quickly as possible. You will eventually want to become familiar with the system model so you can organize your work accordingly.
Generally speaking, as a developer, you will find yourself working in one of two areas of the system. You are either building scripts to support data analysis or virtual experiments using the compute library or you are working on web accessible libraries or applications. The compute library, a.k.a. the cluster Cheaha and all the tools it makes available, is very mature and is used autonomously by most developers today. Web accessible resources are at the leading edge of our research computing platform.
Developers building web accessible libraries and applications, typically, work closely with the core team since this part of the platform is under heavy construction and requires a higher level of coordination between team members.
The following guides provide a rough introduction to the environment.
- Developer Tools
- Web -- As with all web development, you need to have an environment where you can run a web application and interact with it via a web browser. For most applications, this requires some light weight web server that will run you code and expose an HTTP interface to your browser. Most web applications have some basic instructions for getting the application set up in a personal development environment. You can use these to get started.
- Command-line -- The command line environment accessible via SSH to Cheaha provides a full service Linux environment where you can build any code that you need. Familiar command line tools are available and more can be discovered with the `module avail` command.
- Identity Management
- Data Management
- Application Frameworks
- HPC Workflow Tools
- caGrid/DASI Tools
- HowtoInstallCagrid: Installation notes for caGrid stack
- HowtoDataModelling: Data/Object modelling using EA/caAdapter
- HowtoBuildDataService: Data service build process using caCORE-SDK
- HowtoBuildGridDataService: Grid service build process using Introduce
- HowtoDeployWebService: Deployment steps for web service
- HowtoDeployGridService: Deployment steps for grid service
- HowtoQueryDataService: Quering data service using CQL/DCQL
- System Overview
- Managing Permissions
Information Security Guide
A nascent Information Security Guide is under development. The current information provides perspective on the priniciples and perspective guiding that effort.