Skip to content

BloSS@M: Asset Channel Design

joshua-roberts edited this page Apr 16, 2024 · 7 revisions

BloSS@M Asset Management Channel (the business channel)

This is building on the ATO process.

For each step:

  • Note any action that should cause a transaction.
  • For the transaction, what should be recorded.
  • What steps occur outside of blossom vs. interacting with blossom.
  • What steps should cause a notification, also note FROM to TO roles.
    • (You need a notification to let someone know to take an action to keep the process moving.)

Organizational Terms

  1. Requesting Organization (RO) - Needs to manage license(s)
  2. Service Provider (SP) - Agency that purchased, manages, and distributes access to the leased licenses
  3. Implicit Private Data Collection (IPDC) - The private data collection each organization has by default

Actors for Organizations

  1. Acquisition Officer (ACQ) - Both RO and SP have an ACQ. SP ACQ is manages orders for licenses. RO ACQ approves/denies orders for their org.
  2. Technical Point of Contact (TPOC) - Only RO has a TPOC. RO TPOC is responsible for creating license orders, returning licenses, and reporting SWIDs.
  3. License Owner (LO) - Only the SP has a LO. SP LO owns the licenses and makes them available for leasing by ROs.

Steps

  • (ORG:ROLE) Action [Function]

Setting up Licenses

  • (SP:LO) Add an asset with available licenses and end date. [asset:AddAsset]
sequenceDiagram
  actor SP LO
  actor SP ACQ
  participant SP IPDC
  actor RO TPOC
  actor RO ACQ
  participant RO IPDC

SP LO-)SP IPDC: asset:AddAsset
Loading

Obtaining licenses

Order initiation

  • (RO:TPOC) Request a quote for an asset with number of licenses and duration. [order:GetQuote]
  • (SP:ACQ) Send quote price based on existing quote request. [order:SendQuote]
  • (RO:TPOC) Initiate a purchase order based on existing quote. [order:InitiateOrder]
  • (RO:ACQ) Approve or Deny initiated order. [order:ApproveOrder | order:DenyOrder]
sequenceDiagram
actor SP LO
actor SP ACQ
participant SP IPDC
actor RO TPOC
actor RO ACQ
participant RO IPDC

RO TPOC-)SP IPDC: order:GetQuote
SP ACQ-)SP IPDC: order:SendQuote
RO TPOC-)SP IPDC: order:InitiateOrder
RO ACQ-)SP IPDC: order:ApproveOrder | order:DenyOrder
Loading

License Allocation

  • (SP:ACQ) Identify the licenses that are available to be allocated to the RO. [order:GetLicensesToAllocateForOrder]
  • (SP:ACQ) Allocate the licenses returned in the previous step in the SP IPDC. [order:AllocateLicenses]
  • (SP:ACQ) Send the allocated licenses to the RO [order:SendLicenses]
sequenceDiagram
actor SP LO
actor SP ACQ
participant SP IPDC
actor RO TPOC
actor RO ACQ
participant RO IPDC

SP ACQ-)SP IPDC: order:GetLicensesToAllocateForOrder
SP ACQ-)SP IPDC: order:AllocateLicenses
SP ACQ-)RO IPDC: order:SendLicenses
Loading

Using licenses

  • (RO:ACQ|TPOC) Get allocated licenses that are available and not associated with a SWID tag. [order:GetAvailableLicenses]
  • (RO) Install application and Primary SWID tag generated.
  • (RO:TPOC ) Enter SWID tag. [swid:ReportSWID]
sequenceDiagram
actor SP LO
actor SP ACQ
participant SP IPDC
actor RO TPOC
actor RO ACQ
participant RO IPDC

RO TPOC-)RO IPDC: order:GetAvailableLicenses
RO TPOC-)RO IPDC: order:ReportSWID
Loading

Returning licenses

  • (RO:TPOC) Initiate a return of one or more licenses associated with an order. [order.InitiateReturn]
  • (SP:ACQ) Get the licenses RO wants to return. [order:GetInitiatedReturnForOrder]
  • (SP:ACQ) Deallocate the licenses from the RO IPDC. [order:DeallocateLicensesFromAccount]
  • (SP:ACQ) Deallocate the licenses from the SP IPDC. [order:DeallocateLicensesFromSP]
sequenceDiagram
actor SP LO
actor SP ACQ
participant SP IPDC
actor RO TPOC
actor RO ACQ
participant RO IPDC

RO TPOC-)SP IPDC: order:InitiateReturn
SP ACQ-)SP IPDC: order:GetInitiatedReturnForOrder
SP ACQ-)RO IPDC: order:DeallocateLicensesFromAccount
SP ACQ-)SP IPDC: order:DeallocateLicensesFromSP
Loading