Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. GET, DELETE, CREATE API ControlLoop Sequence Diagram

    PlantUML Macro
    titleGET, DELETE, CREATE API Sequence Diag
    @startuml
    
    actor CLAMP
    participant API_Gateway
    database Database
    note over Database: It can be DesiginTime Or RuntTime Catalogue Database
    
    
    CLAMP -> API_Gateway: Rest API Request (JSON/Yaml)
    API_Gateway -> Database: Get, Delete Or Create ControlLoops
    activate API_Gateway
    note over API_Gateway,Database: Pull, Delete existing Or Create New ControlLoops in Database
    
    alt successful case
    
        Database -> API_Gateway : Return List of ControlLoops Or able to Delete, Create ControlLoop in Database
        API_Gateway -> CLAMP: Return Success
    
    else failure case
    
        API_Gateway <- Database: Return either Empty List for Get ControlLoops Or Failure Status for Delete, Create Request
    	deactivate API_Gateway
        note over Database: No ControlLoops exist Or Failed in Deleting, Creating ControlLoops
        API_Gateway -> CLAMP : Return Failure
    
    end
    @enduml



  2. Deploy API ControlLoop Sequence Diagram 

    PlantUML Macro
    titleDeploy API ControlLoop Sequence Diag
    @startuml
    
    actor CLAMP
    participant API_Gateway
    database DesignTime_Catalogue_Database
    database RunTime_Catalogue_Database
    participant Dmaap
    collections Participants
    
    CLAMP -> API_Gateway: Rest Deploy API Request (JSON/Yaml)
    API_Gateway -> DesignTime_Catalogue_Database: Fetch ControlLoop from DesignTime Catalogue Database
    activate API_Gateway
    note over API_Gateway,DesignTime_Catalogue_Database: Fetch existing ControlLoops from DesignTime Catalogue Database
    
    alt successful case
        DesignTime_Catalogue_Database -> API_Gateway : Return List of existing ControlLoops from DesignTime Catalogue Database
        note over DesignTime_Catalogue_Database, RunTime_Catalogue_Database: Populate RunTime Catalogue with ControlLoops existing in DesignTime Catalogue Database
        API_Gateway -> RunTime_Catalogue_Database: Push ControlLoop to RunTime Catalogue Database
        note over Dmaap: Putting ControlLoop Metadata for individual Participant
        API_Gateway -> ParticipantsDmaap: Push ControlLoop to individual Participants(App) over Dmaap
        note over Dmaap,Participants: Asynchronous communication
        Dmaap -> Participants
        API_Gateway -> CLAMP: Return Success
    
    else failure case
    
        API_Gateway <- DesignTime_Catalogue_Database: Return Empty ControlLoop List, No ControlLoop exist in DesignTime Catalogue
    	deactivate API_Gateway
        note over API_Gateway, DesignTime_Catalogue_Database: DesignTime Catalogue Database is Empty, cannot deploy ControLoop in RunTime Catalogue Database 
        API_Gateway -> CLAMP : Return Failure
    
    end
    @enduml


...