フォロワー

2021年8月23日月曜日

plantuml node procedure アーキテクチャ図の部品化


 最近よくアーキテクチャ図を描くようになりました。

一々Node名とリンクやIP、データベースの設定するのもいいのですが、

Node数が多すぎると大変な作業になります。そこで、plantumlのprocedureを作れました。

他の部品も同じ方法で作れますので、興味ある方はご参考ください。

SVG画像

@startuml

!procedure $node($alias, $name="mynode",$ip="", $database="", $namelink="", $dbtype="", $dblink="", $fontsize=14, $color="#bafcc8")
    !include 
    skinparam node {
        backgroundColor $color
        FontSize $size
    }
    !if ($namelink != "")
        !$name = "[[" + $namelink + " " + $name + "]]"
    !endif
    !if ($ip != "")
        !$name = $name + "\n(" + $ip + ")" 
    !endif
    
    
    node "$name" <<$archimate/technology-node>> as $alias {
        !if ($database != "")
            !$dbalias = $alias + "DB"
            !if ($dblink != "")
                !$database = "[[" + $dblink + " " + $database + "]]"
            !endif
            !if ($dbtype != "")
                !$database = $database + "\n(" + $dbtype + ")" 
            !endif   
            database "$database" as $dbalias
            !endif
    }

!endprocedure

$node($alias="SpotfireServer", $name="Spotfireサーバ", $ip="192.168.1.20", $database="Spotfire", $namelink="http://localhost", $dbtype="PostgreSQL", $dblink="http://localhost")

$node($alias="DWHDb", $name="DWH DBサーバ",$ip="192.168.1.21", $database="Spotfire", $namelink="http://localhost", $dbtype="PostgreSQL", $dblink="http://localhost")

SpotfireServerDB <-> DWHDbDB

@enduml

0 件のコメント:

コメントを投稿