wikimedia/mediawiki-extensions-Wikibase

View on GitHub
repo/rest-api/docs/assets/images/diagrams/hexagonal_architecture.drawio.svg

Summary

Maintainability
Test Coverage
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1122px" height="739px" viewBox="-0.5 -0.5 1122 739" content="&lt;mxfile&gt;&lt;diagram id=&quot;p6hl9USGLld62rvWTSbY&quot; name=&quot;Page-1&quot;&gt;7Vxbd6o4FP41rjXz4gICAR4FbG1ta2t77OUtQkRaFArx1l8/QaAFkx45U/TMmYIPkk0SyP6+neydBFrAnK1PIxROLwMH+y1JcNYtYLUkSRIEgf4lkk0qESVVTiVu5DmZ7ENw673hTJgVdBeeg+NSRhIEPvHCstAO5nNsk5IMRVGwKmebBH75riFyMSO4tZHPSu89h0wzqQj1jws97LnT7NaapKYXZijPnLUkniInWBVEoNsCZhQEJD2brU3sJ9rL9ZKWO/nk6vuDRXhOqhSQ0gJL5C+ytmXPRTZ5Y6NgMXdwkl9oAWM19Qi+DZGdXF1RfKlsSmY+TYn0dBLMSYaXJCdpz/fNwA+ibV1gjGzNAVQekyh4wYUrEpBlhd7EYFuQNWqJI4LXBVHWolMczDCJNjRLdlUHWSsyfgFda+eiVQGvnIfTAlQgk6GMIu577R9apCeZIvlKBf9HpYqy8HuVKuzXKrWmMDmNCZ7bnv8XeXoYj4PLlXWGJueRHUxVtNrIvqgqp4aLvJugazzoy8eLRV9EVji6cbXhFX2OZ12zHzdr79Eb35CnzuDqftPx+i3JMAf2vTa/DCPnsg9PhwtydQ2NcTQ8u5veLIk+7KITmuvmSRx6s+WTeG4K/VP06q7v/DB6mBkGHhEf3wju6FGcoMXAuIBwMhaeZfcuUH889/uD8TktPzGcNzMkvcWD43rPHSd5osGD/tAZYXEA++bJYnN3u3wG5vJ8Jvc6b5dTMpcVGfdoxmHQu5he00qC59iyN1In1v2BvhKkNzUMdOtpFNFrV0NgyYY/7975/uuleUFFL/ZLSOg/igXdlxF5AZHsr+PN8s0UFqOlMTCCs03P70naYnl5NbqNdPc8Wo7v4zMNijOL9nYAiDYy7gZPfaS9PG1GUf9GsMar4AY518vlq3sR3vY96/rZWEw31v3960Wve38RPswNywwGfbsnDzWK3N8VrKHMfqNjahaoh+OSANqKWKK5KrQhZFiuQqmtayzRoQbbUKuB7GJD9obsLNmtTlc7MXldPTS1rnFSkxkoFc0AHtoMKrgnjRk0ZnAYMwACZXcFK1AObQUV/MnGChorOJAVVB0M5AObgcZYQe/u7pqxBFrIC2O8X5soDtO5gYm3TiKxfWGWg7A2sbnqtjU8ntTV6ZSjLBXwoiyNE2RpNQRZEhtkWcannY298T0axUZgv7LHabx7MX4XIPvF3UbBgwWh1eBMHqcAiMp/BRBRgFIVSOCBIAFy0/s3vT/LftHoiF2Jx35BgN1OTb2/XDUiBod2gpTGDBoz+G1moFQLBaRDW4HKsQLok2yw3C555AqAr4tkFYE2H0y2R1EE3eTfCmbIm9NStzhaejaO88roc6T1pfkYS6NqI4zO50EyihvI99x54h1QdeNoB7EsTwHPBATPRn4nKzbzHMf/zH0rT5sX/QOpJqA1pQTz+7BenOLWdRZhUBPAkHXAcpC2C2kUIjNHaRzlAA0xcgo5/gi0knTBXE+2R00oQtCWykACXeEarCy1JR6ccjt3vL4Cp8xbtCjaawrfDxqvSIKJ4j/dAncwFbbHthRBxAuS2sFWUAPIkqLu9MnHNlaZN0vPojuieDhp8xtwq4KrwzK02pGh5c08s9DScdOjgLw16P7aJMfuAr0gvqN2LIB5k6oswMNgQZK+uYfmVLFR0z1Xt2BRbWt64dDKBi0f2aB50ygs3mfzSYQoagubLKIE+OQGkmAhguhfx6Y+8v+fAzBJO16E7UyAqUqSor4XjrInSs572S1qYIsqCLseG+0l2prKemy8+KoukvAmGRqS/KSjODZLGL9eUdh+5KAUYQO0ZtzI+4zDDxs8uA86bOybcPl+AVxtSDPxmwKODC67pPjN47fasN0J3xSBv1n0kODqlcD9XhFcXfjuBnCyzl0TPSS+SoVdMXjudJLt/gkcPopjz259urH6ZxpMgc63+ssM9DSvbCW/n2kXO6WXCljdFrcUcRaTc1mEfQrnEpcq52kyu8N14G1XBnLT3NnHLYs785xxsIhsnJX6wIOtSNtTEUGRiwlT0RbY92ZXw7rC4l+DNQcivSasATge1jwHu8F6L9agLrsGR7RrnnfdYL0f67rsWj6iXfOc7QbrvVjr+yCqirW6r4OoEWue772D9a+9AfcvN30wHi0H6U+dXF2CbbkcoULOCqPMwT7fR/kVBxeya8f5VgB+OFLQFzcy4QQiebDi4wmpNxipQ/9qOciAuRtYjDAU3lRfHdqv8AbWVyhcefN27RTWj0hhiVFiJwx9SrE02v6mPNY4PFYPxeMK24e/wuP31y85XXE2Gh+Gx6p0RB6z8efuGtD3pLIqHpPKv+ZBZvp0UDzdqkT8uS9Z9hkTCV575CHRZVsVxSz9uE1LEGRpa50pe5vYFBLXOPJoE5MpQCv1SVFEWO92Kz7x/PyxWjzfsxJEx3FHoaS3NVVTy8syAAptgUaOqqKIUFQgKFdb1UXVhLKLusua+jxUWMFDrZNLFdEvUA5KJcol3xb5VcpV5RJt9RagTOnyb+XXTmj7PoX1VS7tvotTH5dU1lG/p7rP9wNk37/5HgOEJuzs22MHaZDHnXWPDyrrsnNwKOx1/56QcELYuiChyY9PF6WW9PEFKND9Bw==&lt;/diagram&gt;&lt;/mxfile&gt;">
    <defs/>
    <g>
        <rect x="902" y="378.32" width="100" height="30" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
        <rect x="110" y="378.32" width="100" height="30" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
        <path d="M 173.51 394 L 364.26 63.62 L 745.75 63.62 L 936.49 394 L 745.75 724.38 L 364.26 724.38 Z" fill="#bac8d3" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 223.51 394 L 389.26 106.92 L 720.75 106.92 L 886.49 394 L 720.75 681.08 L 389.26 681.08 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 272.9 394 L 413.64 150.22 L 695.14 150.22 L 835.88 394 L 695.14 637.78 L 413.64 637.78 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 323.51 394 L 439.26 193.52 L 670.75 193.52 L 786.49 394 L 670.75 594.48 L 439.26 594.48 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/>
        <ellipse cx="40" cy="393.32" rx="40" ry="40" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 393px; margin-left: 1px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                HTTP
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="40" y="401" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="24px" text-anchor="middle">
                    HTTP
                </text>
            </switch>
        </g>
        <path d="M 1032 368.32 C 1032 360.04 1045.43 353.32 1062 353.32 C 1069.96 353.32 1077.59 354.9 1083.21 357.71 C 1088.84 360.53 1092 364.34 1092 368.32 L 1092 418.32 C 1092 426.6 1078.57 433.32 1062 433.32 C 1045.43 433.32 1032 426.6 1032 418.32 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 1092 368.32 C 1092 376.6 1078.57 383.32 1062 383.32 C 1045.43 383.32 1032 376.6 1032 368.32" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 405px; margin-left: 1033px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                DB
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="1062" y="412" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="24px" text-anchor="middle">
                    DB
                </text>
            </switch>
        </g>
        <path d="M 373.51 394 L 464.26 236.83 L 645.75 236.83 L 736.49 394 L 645.75 551.17 L 464.26 551.17 Z" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 422.9 394 L 488.64 280.13 L 620.14 280.13 L 685.88 394 L 620.14 507.87 L 488.64 507.87 Z" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/>
        <rect x="455" y="240" width="199" height="36.68" fill="none" stroke="none" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 258px; margin-left: 456px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font color="#ffffff">
                                    Domain Services
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="555" y="265" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Domain Services
                </text>
            </switch>
        </g>
        <rect x="433.25" y="375.66" width="242.29" height="34.34" fill="none" stroke="none" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 240px; height: 1px; padding-top: 393px; margin-left: 434px;">
                        <div data-drawio-colors="color: #FFFFFF; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                Domain Models,
                                <br/>
                                Read Models
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="554" y="399" fill="#FFFFFF" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Domain Models,...
                </text>
            </switch>
        </g>
        <rect x="227.9" y="240" width="199" height="36.68" fill="none" stroke="none" transform="rotate(300,327.4,258.34)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(300 327.4000000000001 258.3399999999999)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 258px; margin-left: 229px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Use Cases
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="327" y="265" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Use Cases
                </text>
            </switch>
        </g>
        <rect x="266" y="260" width="199" height="36.68" fill="none" stroke="none" transform="rotate(300,365.5,278.34)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(300 365.5 278.3399999999999)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 278px; margin-left: 267px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Validation
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="366" y="285" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Validation
                </text>
            </switch>
        </g>
        <rect x="302" y="281.68" width="199" height="36.68" fill="none" stroke="none" transform="rotate(300,401.5,300.02)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(300 401.5 300.02)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 300px; margin-left: 303px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Serialization
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="402" y="307" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Serialization
                </text>
            </switch>
        </g>
        <rect x="187.9" y="220" width="199" height="36.68" fill="none" stroke="none" transform="rotate(300,287.4,238.34)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(300 287.4000000000001 238.33999999999992)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 238px; margin-left: 189px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Route Handlers
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="287" y="245" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Route Handlers
                </text>
            </switch>
        </g>
        <rect x="670.25" y="213.87" width="298" height="36.68" fill="none" stroke="none" transform="translate(0,232.21)scale(1,-1)translate(0,-232.21)rotate(-60,819.25,232.21)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(60 819.25 232.2099999999998)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 296px; height: 1px; padding-top: 232px; margin-left: 671px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Infrastructure / Data Access
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="819" y="239" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Infrastructure / Data Access
                </text>
            </switch>
        </g>
        <rect x="673.25" y="530" width="298" height="36.68" fill="none" stroke="none" transform="translate(0,548.34)scale(1,-1)translate(0,-548.34)rotate(-300,822.25,548.34)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(300 822.25 548.3399999999999)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 296px; height: 1px; padding-top: 548px; margin-left: 674px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Infrastructure / Data Access
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="822" y="555" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Infrastructure / Data Access
                </text>
            </switch>
        </g>
        <rect x="187.9" y="530" width="199" height="36.68" fill="none" stroke="none" transform="rotate(60,287.4,548.34)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(60 287.4000000000001 548.3399999999999)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 548px; margin-left: 189px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Route Handlers
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="287" y="555" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Route Handlers
                </text>
            </switch>
        </g>
        <rect x="227.9" y="510" width="199" height="36.68" fill="none" stroke="none" transform="rotate(60,327.4,528.34)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(60 327.4000000000001 528.3399999999999)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 528px; margin-left: 229px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Use Cases
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="327" y="535" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Use Cases
                </text>
            </switch>
        </g>
        <rect x="266" y="488.32" width="199" height="36.68" fill="none" stroke="none" transform="rotate(60,365.5,506.66)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(60 365.5 506.65999999999985)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 507px; margin-left: 267px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Validation
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="366" y="513" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Validation
                </text>
            </switch>
        </g>
        <rect x="302" y="473.32" width="199" height="36.68" fill="none" stroke="none" transform="rotate(60,401.5,491.66)" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)rotate(60 401.5 491.65999999999985)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 197px; height: 1px; padding-top: 492px; margin-left: 303px;">
                        <div data-drawio-colors="color: #000000; " style="box-sizing: border-box; font-size: 0px; text-align: center;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                <font>
                                    Serialization
                                </font>
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="402" y="498" fill="#000000" font-family="Helvetica" font-size="22px" text-anchor="middle">
                    Serialization
                </text>
            </switch>
        </g>
        <path d="M 210 394 L 238.03 394" fill="none" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/>
        <path d="M 245.53 394 L 235.53 399 L 238.03 394 L 235.53 389 Z" fill="#4d4d4d" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 260 394 L 288.03 394" fill="none" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/>
        <path d="M 295.53 394 L 285.53 399 L 288.03 394 L 285.53 389 Z" fill="#4d4d4d" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 310 394 L 338.03 394" fill="none" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/>
        <path d="M 345.53 394 L 335.53 399 L 338.03 394 L 335.53 389 Z" fill="#4d4d4d" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 360 394 L 388.03 394" fill="none" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/>
        <path d="M 395.53 394 L 385.53 399 L 388.03 394 L 385.53 389 Z" fill="#4d4d4d" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 900 394 L 721.97 394" fill="none" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="stroke"/>
        <path d="M 714.47 394 L 724.47 389 L 721.97 394 L 724.47 399 Z" fill="#4d4d4d" stroke="#4d4d4d" stroke-width="4" stroke-miterlimit="10" pointer-events="all"/>
        <rect x="896.49" y="640" width="40" height="20" fill="#1ba1e2" stroke="#006eaf" pointer-events="all"/>
        <rect x="942" y="635" width="158" height="30" fill="none" stroke="none" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 156px; height: 1px; padding-top: 650px; margin-left: 944px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                Domain
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="944" y="657" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px">
                    Domain
                </text>
            </switch>
        </g>
        <rect x="896.49" y="670" width="40" height="20" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/>
        <rect x="942" y="665" width="178" height="30" fill="none" stroke="none" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 176px; height: 1px; padding-top: 680px; margin-left: 944px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                Application
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="944" y="687" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px">
                    Application
                </text>
            </switch>
        </g>
        <rect x="896.49" y="700" width="40" height="20" fill="#bac8d3" stroke="#000000" pointer-events="all"/>
        <rect x="942" y="695" width="178" height="30" fill="none" stroke="none" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 176px; height: 1px; padding-top: 710px; margin-left: 944px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                Infrastructure
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="944" y="717" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px">
                    Infrastructure
                </text>
            </switch>
        </g>
        <path d="M 603.65 332.7 L 770 10" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/>
        <path d="M 600.9 338.04 L 601.01 329.09 L 603.65 332.7 L 608.12 332.76 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>
        <path d="M 653.91 282.65 L 770 60" fill="none" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="stroke"/>
        <path d="M 651.13 287.97 L 651.29 279.02 L 653.91 282.65 L 658.38 282.72 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-width="2" stroke-miterlimit="10" pointer-events="all"/>
        <rect x="776" y="0" width="314" height="30" fill="none" stroke="none" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 312px; height: 1px; padding-top: 15px; margin-left: 778px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                WB Data Model
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="778" y="22" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px">
                    WB Data Model
                </text>
            </switch>
        </g>
        <rect x="776" y="40" width="314" height="30" fill="none" stroke="none" pointer-events="all"/>
        <g transform="translate(-0.5 -0.5)">
            <switch>
                <foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;">
                    <div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 312px; height: 1px; padding-top: 55px; margin-left: 778px;">
                        <div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;">
                            <div style="display: inline-block; font-size: 22px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">
                                WB Data Model Services
                            </div>
                        </div>
                    </div>
                </foreignObject>
                <text x="778" y="62" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="22px">
                    WB Data Model Services
                </text>
            </switch>
        </g>
    </g>
    <switch>
        <g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
        <a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
            <text text-anchor="middle" font-size="10px" x="50%" y="100%">
                Text is not SVG - cannot display
            </text>
        </a>
    </switch>
</svg>