Skip to content

Project Architecture

Dimitris Papagiannis edited this page Jul 31, 2023 · 1 revision

Project Architecture

Software-oriented view

flowchart TD
    rr[Run Registry]
    oms[OMS API]

    subgraph HDQM
        subgraph Frontend
            feserver["HTML/JS\nserved by nginx"]
        end
        subgraph Backend
            apiserver["API (gunicorn+Flask)\n\n/api/..."]
        end

        subgraph dqmextractor["dqm_extractor.py"]
            rr_extractor
            oms_extractor
        end    
        feserver<-->apiserver
    end
    EOS-->dqmextractor
    apiserver<-->db[Database]
    dqmextractor-->db
    rr-->rr_extractor
    oms-->oms_extractor
Loading

Deployment-oriented view

flowchart TD
    user[User]
 
    subgraph PaaS
        proxyprod[SSO proxy]
        proxytest[SSO proxy]
    end 
    subgraph vocms0231
        nginx
        hdqmtest["HDQM test API"]
        hdqmprod["HDQM production API"]
    end


    user-->|https://cms-hdqm.web.cern.ch|proxyprod
    proxyprod-->|port 80|nginx

    user-->|https://cms-hdqm-test.web.cern.ch|proxytest
    proxytest-->|port 81|nginx
    
    nginx-->|port 5000|hdqmprod
    nginx-->|port 5001|hdqmtest 
   
    hdqmprod-->dbod[DBoD]
    hdqmtest-->dbod

    hdqmprod-->rr[Run Registry]
    hdqmtest-->rr
    hdqmprod-->oms[OMS API]
    hdqmtest-->oms
    hdqmprod-->eos["EOS"]
    hdqmtest-->eos

    %% Not sure if DQMGUI is even used    
    %% hdqmprod-->dqmgui["DQM GUI"]
    %% hdqmtest-->dqmgui  
Loading