Skip to content

REST Interface Specifications

Michael Picher edited this page Feb 23, 2015 · 2 revisions

Overview

Yard - Yet Another REST Daemon

Originally developed by eZuce for configuring services on remote servers.

YARD is extensible using plug-ins.

  1. Plugins can be added to YARD by implementing a C++ interface.
  2. Plugins are automatically loaded from a certain directory. No need for any configuration.
  3. Plugins can subscribe to changes on certain documents and they get notified by yard. Example, you can subscribe to change events for /root/my/cool/app/*. The plugin gets notified every time a change is detected within this document tree.
  4. Plugins can export API calls. Example: A plugin can export /root/api/plugin/dosomecoolstuffhere.

With the above and YARD's built-in process put together, implementors can expose their application specific api and configuration and produce the required management / monitoring / configuration using their respective plugin.

Architecture Diagram

A detailed architecture diagram of how the feature is planned to be implemented.

#Use Cases Use cases help the developer understand how a product or feature will be used. The more use cases created the better.

Working through multiple use cases also helps to flesh out the product / feature descriptions.

Use Case 1

This is use case 1. Use cases usually start with something like ‘An administrator...’ or “A user...”

Use Case N

Use case n.

Requirements

##Functional Requirements Functional requirements break down the detailed product description into specific functional requirements. Priority (or phases of the product) are indicated so that they can be scheduled better.

Usability Requirements

Usability requirements are specific requirements that come from how the product is to be used. For instance, a feature must have a specific page within the Admin GUI.

Technical Requirements

Technical requirements are usually outside requirements that must be satisfied to complete the product or feature. For instance it might be a technical requirement that the feature be implemented on CentOS 4.5 64 bit.

Support Requirements

Support requirements are product features that may required to help support the product.

Interaction Requirements

Interaction requirements are interactions with other portions of the systems.

Assumptions

Assumes that XYZ feature is implemented or customer is running XYZ version of software, etc.

Constraints

Are there any constraints placed on the use of this feature / product.

Workflow Plans

What are the current plans for the workflow to complete this product / feature.

Timelines

What are the timelines associated with developing this feature / product for each phase of the product.

Deliverables

What are the deliverables for each phase of the product / feature.

Evaluation Plan

How will the product / feature be evaluated such that is can be considered complete.

Clone this wiki locally