Difference between revisions of "Accounting Model"

From Gcube Wiki
Jump to: navigation, search
(Single Usage Record)
(Aggregated Usage Record)
Line 26: Line 26:
  
 
=== Aggregated Usage Record ===
 
=== Aggregated Usage Record ===
 +
 +
Used to identify if an UsageRecord is referred to the aggregation of one (degenerate case) or more UsageRecords becoming from different accounting operations.
 +
 +
This interface define additional methods which allow to retry information regarding
 +
* how many SingleUsageRecords were aggregated
 +
* the time interval related to the aggregated SingleUsageRecords
  
 
==Abstract Implementation==
 
==Abstract Implementation==

Revision as of 19:36, 30 November 2015

The Accounting Model is based on the concept of Usage Record (UR).

Accounting Usage Records Hierarchy

UsageRecord.png

Interfaces

Abstract Implementation

Interfaces

Usage Record

This is the very basic interface to respect for every Usage Record. It mainly define the generic access methods. In particular:

  • Getter and Setter for basic fields;
  • Generic Key-Value method both to set and retrieve a single value (key:String, value:Comparable<? extends Serializable>);
  • Generic Map<String, Comparable<? extends Serializable>> to set all property at once.

Single Usage Record

Used to identify if an UsageRecord is referred to a single operation to account.

Aggregated Usage Record

Used to identify if an UsageRecord is referred to the aggregation of one (degenerate case) or more UsageRecords becoming from different accounting operations.

This interface define additional methods which allow to retry information regarding

  • how many SingleUsageRecords were aggregated
  • the time interval related to the aggregated SingleUsageRecords

Abstract Implementation

Basic Usage Record

Usage Records Standard Types

JobUsageRecord

PortletUsageRecord

ServiceUsageRecord

StorageUsageRecord

TaskUsageRecord