kalisio/feathers-distributed

View on GitHub
Architecture Diagram.svg

Summary

Maintainability
Test Coverage
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1511px" height="652px" version="1.1" content="&lt;mxfile userAgent=&quot;Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36&quot; version=&quot;7.3.6&quot; editor=&quot;www.draw.io&quot; type=&quot;github&quot;&gt;&lt;diagram name=&quot;Page-1&quot; id=&quot;7a6c530e-6e37-e111-ec74-82921da8cc10&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g transform="translate(0.5,0.5)"><rect x="194" y="55" width="1050" height="595" rx="17.85" ry="17.85" fill="#009bff" stroke="none" pointer-events="none"/><g transform="translate(639.5,65.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="158" height="22" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 20px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 158px; white-space: nowrap; word-wrap: normal; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Overlay Network</div></div></foreignObject><text x="79" y="21" fill="#FFFFFF" text-anchor="middle" font-size="20px" font-family="Helvetica" font-weight="bold">Overlay Network</text></switch></g><rect x="234" y="110" width="340" height="420" rx="10.2" ry="10.2" fill="#8bc63e" stroke="none" pointer-events="none"/><g transform="translate(329.5,116.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="148" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 148px; white-space: nowrap; word-wrap: normal; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><span><font color="#ffffff" style="font-size: 14px">Feathers application 1</font></span></div></div></foreignObject><text x="74" y="14" fill="#000000" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">[Not supported by viewer]</text></switch></g><rect x="834" y="110" width="370" height="420" rx="22.2" ry="22.2" fill="#f04d22" stroke="none" pointer-events="none"/><g transform="translate(943.5,116.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="150" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 152px; white-space: nowrap; word-wrap: normal; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Feathers application N</div></div></foreignObject><text x="75" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">Feathers application N</text></switch></g><rect x="323" y="371" width="141" height="70" rx="10.5" ry="10.5" fill="none" stroke="#ffffff" stroke-width="3" stroke-dasharray="9 9" pointer-events="none"/><g transform="translate(359.5,390.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="67" height="30" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 67px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">local proxy<div>service B</div></div></div></foreignObject><text x="34" y="22" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 377.41 515.26 C 376.51 514.41 376 513.24 376 512.01 C 376 510.78 376.51 509.61 377.41 508.77 L 398.09 488.26 C 399.71 487 402 487 403.62 488.26 L 424.65 509.21 C 426 510.86 426 513.22 424.65 514.86 L 403.52 535.81 C 401.93 537 399.73 537 398.14 535.81 Z M 380.4 511.89 L 387.03 518.38 L 387.03 513.72 L 394 513.72 C 394.65 516.07 396.48 517.91 398.84 518.58 L 398.84 523.18 C 396.96 524.09 395.97 526.17 396.44 528.19 C 396.91 530.21 398.72 531.64 400.81 531.64 C 402.89 531.64 404.7 530.21 405.18 528.19 C 405.65 526.17 404.65 524.09 402.77 523.18 L 402.77 518.48 C 405.17 517.84 407.05 516 407.71 513.62 L 414.68 513.62 L 414.68 518.13 L 421.21 511.74 L 414.68 505.35 L 414.68 509.91 L 407.71 509.91 C 407.08 507.5 405.19 505.6 402.77 504.95 L 402.77 498.37 L 407.36 498.37 L 400.78 491.88 L 394.25 498.37 L 398.84 498.37 L 398.84 505 C 396.46 505.65 394.61 507.5 393.95 509.86 L 386.98 509.86 L 386.98 505.3 Z M 395.55 511.99 C 395.45 510.57 395.95 509.17 396.92 508.12 C 397.89 507.07 399.25 506.46 400.68 506.44 C 402.17 506.38 403.61 506.95 404.64 508.01 C 405.68 509.07 406.21 510.51 406.11 511.99 C 405.93 514.8 403.52 516.96 400.68 516.84 C 397.96 516.8 395.73 514.69 395.55 511.99 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(367.5,471.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="67" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">API gateway</div></div></foreignObject><text x="34" y="12" fill="#FFFFFF" text-anchor="middle" font-size="12px" font-family="Helvetica">API gateway</text></switch></g><path d="M 374 512 L 274 512 L 274 414 L 323 414 L 323 406" fill="none" stroke="#ffffff" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 381 518 L 381 514 L 274 514 L 274 286 L 324 286" fill="none" stroke="#ffffff" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 378.33 610.55 C 377.66 610.49 377.05 610.17 376.62 609.66 C 376.2 609.16 376 608.51 376.07 607.86 L 376.07 577.51 C 376.17 576.25 377.15 575.24 378.43 575.06 L 423.14 575.06 C 424.61 575 425.87 576.08 426 577.51 L 425.95 608.35 C 425.66 609.65 424.5 610.59 423.14 610.65 L 407.46 610.65 L 406.76 613.44 C 406.6 614.08 406.71 614.76 407.07 615.33 C 407.43 615.89 408.01 616.29 408.67 616.43 C 410.19 616.93 411.79 617.15 413.39 617.06 L 416.31 617.06 L 416.31 620 L 383.71 620 L 383.71 617.06 L 387.17 617.06 C 388.99 617.07 390.79 616.78 392.5 616.18 C 393.84 615.87 394.67 614.55 394.35 613.24 L 393.9 610.65 Z M 379.79 607.03 L 422.13 607.03 L 422.13 578.83 L 379.79 578.83 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(378.5,626.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="44" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Computer</div></div></foreignObject><text x="22" y="10" fill="#FFFFFF" text-anchor="middle" font-size="10px" font-family="Helvetica">Computer</text></switch></g><g transform="translate(457.5,6.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="594" height="26" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(13, 13, 13); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Microservice architecture using feathers-distributed</div></div></foreignObject><text x="297" y="25" fill="#0D0D0D" text-anchor="middle" font-size="24px" font-family="Helvetica" font-weight="bold">Microservice architecture using feathers-distributed</text></switch></g><rect x="324" y="233" width="140" height="70" rx="10.5" ry="10.5" fill="none" stroke="#ffffff" stroke-width="3" pointer-events="none"/><g transform="translate(343.5,252.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="100" height="30" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 100px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">local application<div>service A</div></div></div></foreignObject><text x="50" y="22" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 323.5 211.76 C 323.5 214.65 315.11 217 304.75 217 C 294.39 217 286 214.65 286 211.76 L 286 172.24 C 286 169.35 294.39 167 304.75 167 C 315.11 167 323.5 169.35 323.5 172.24 Z M 319.42 173.52 C 319.42 171.54 313.02 169.93 305.13 169.93 C 297.24 169.93 290.85 171.54 290.85 173.52 C 290.85 175.51 297.24 177.12 305.13 177.12 C 313.02 177.12 319.42 175.51 319.42 173.52 Z M 300.03 203.03 C 302.79 201.84 304.58 199.18 304.58 196.23 C 304.58 193.29 302.79 190.63 300.03 189.43 L 292.38 189.43 L 292.38 203.03 Z M 316.36 203.03 C 317.82 202.41 318.74 200.95 318.69 199.35 C 318.63 197.76 317.6 196.37 316.1 195.85 C 317.07 194.94 317.5 193.59 317.24 192.28 C 316.98 190.98 316.07 189.9 314.83 189.43 L 307.68 189.43 L 307.68 203.03 Z M 294.16 191.23 L 299.78 191.23 C 301.63 192.2 302.79 194.13 302.79 196.23 C 302.79 198.34 301.63 200.26 299.78 201.24 L 294.16 201.24 Z M 309.47 191.23 L 314.32 191.23 C 314.96 191.66 315.34 192.38 315.34 193.15 C 315.34 193.93 314.96 194.65 314.32 195.08 L 309.47 195.08 Z M 309.47 197.39 L 314.57 197.39 C 315.7 197.25 316.73 198.05 316.87 199.19 C 317.01 200.32 316.21 201.35 315.08 201.49 L 309.47 201.49 Z" fill="#ffffff" stroke="none" pointer-events="none"/><path d="M 1002.33 606.55 C 1001.66 606.49 1001.05 606.17 1000.62 605.66 C 1000.2 605.16 1000 604.51 1000.07 603.86 L 1000.07 573.51 C 1000.17 572.25 1001.15 571.24 1002.43 571.06 L 1047.14 571.06 C 1048.61 571 1049.87 572.08 1050 573.51 L 1049.95 604.35 C 1049.66 605.65 1048.5 606.59 1047.14 606.65 L 1031.46 606.65 L 1030.76 609.44 C 1030.6 610.08 1030.71 610.76 1031.07 611.33 C 1031.43 611.89 1032.01 612.29 1032.67 612.43 C 1034.19 612.93 1035.79 613.15 1037.39 613.06 L 1040.31 613.06 L 1040.31 616 L 1007.71 616 L 1007.71 613.06 L 1011.17 613.06 C 1012.99 613.07 1014.79 612.78 1016.5 612.18 C 1017.84 611.87 1018.67 610.55 1018.35 609.24 L 1017.9 606.65 Z M 1003.79 603.03 L 1046.13 603.03 L 1046.13 574.83 L 1003.79 574.83 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(1002.5,622.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="44" height="10" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Computer</div></div></foreignObject><text x="22" y="10" fill="#FFFFFF" text-anchor="middle" font-size="10px" font-family="Helvetica">Computer</text></switch></g><path d="M 394 233 L 296 216" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 520 285 C 506.19 285 495 273.81 495 260 C 495 246.19 506.19 235 520 235 C 533.81 235 545 246.19 545 260 C 545 273.81 533.81 285 520 285 Z M 520 281.65 C 525.74 281.65 531.25 279.37 535.31 275.31 C 539.37 271.25 541.65 265.74 541.65 260 C 541.65 254.26 539.37 248.75 535.31 244.69 C 531.25 240.63 525.74 238.35 520 238.35 C 514.26 238.35 508.75 240.63 504.69 244.69 C 500.63 248.75 498.35 254.26 498.35 260 C 498.35 265.74 500.63 271.25 504.69 275.31 C 508.75 279.37 514.26 281.65 520 281.65 Z M 510.25 274 L 507.05 270.85 L 513.6 264.4 L 507.1 257.75 L 510.25 254.65 L 520 264.25 Z M 529.7 265.35 L 520.05 255.7 L 529.7 246 L 533 249.15 L 526.45 255.7 L 533 262.2 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(485.5,217.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="68" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">responder</div></div></foreignObject><text x="34" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">responder</text></switch></g><path d="M 697.78 342 L 681 322.96 L 697.78 304 L 699.77 306.34 L 685.05 322.96 L 699.77 339.52 Z M 700.77 327.14 C 699.78 327.16 698.82 326.73 698.11 325.95 C 697.39 325.16 696.98 324.09 696.97 322.96 C 696.97 321.83 697.37 320.74 698.09 319.94 C 698.8 319.14 699.77 318.7 700.77 318.72 C 701.77 318.72 702.72 319.17 703.42 319.96 C 704.12 320.76 704.52 321.84 704.52 322.96 C 704.48 325.28 702.82 327.14 700.77 327.14 Z M 712 327.14 C 709.98 327.1 708.35 325.25 708.32 322.96 C 708.32 320.65 709.96 318.76 712 318.72 C 712.99 318.72 713.94 319.17 714.65 319.96 C 715.35 320.76 715.74 321.84 715.74 322.96 C 715.71 325.28 714.04 327.14 712 327.14 Z M 723.23 327.14 C 721.23 327.06 719.64 325.23 719.61 322.96 C 719.61 320.67 721.21 318.8 723.23 318.72 C 724.26 318.64 725.28 319.05 726.04 319.86 C 726.79 320.66 727.22 321.79 727.22 322.96 C 727.2 324.13 726.77 325.24 726.01 326.03 C 725.26 326.81 724.25 327.22 723.23 327.14 Z M 724.23 339.59 L 738.82 322.96 L 724.23 306.41 L 726.22 304 L 743 322.96 L 726.22 342 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(621.5,348.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="181" height="17" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 16px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">cote communication layer</div></div></foreignObject><text x="91" y="17" fill="#FFFFFF" text-anchor="middle" font-size="16px" font-family="Helvetica">cote communication layer</text></switch></g><path d="M 520 422 C 506.19 422 495 410.81 495 397 C 495 383.19 506.19 372 520 372 C 533.81 372 545 383.19 545 397 C 545 410.81 533.81 422 520 422 Z M 520 418.65 C 525.74 418.65 531.25 416.37 535.31 412.31 C 539.37 408.25 541.65 402.74 541.65 397 C 541.65 391.26 539.37 385.75 535.31 381.69 C 531.25 377.63 525.74 375.35 520 375.35 C 514.26 375.35 508.75 377.63 504.69 381.69 C 500.63 385.75 498.35 391.26 498.35 397 C 498.35 402.74 500.63 408.25 504.69 412.31 C 508.75 416.37 514.26 418.65 520 418.65 Z M 510.25 411 L 507.05 407.85 L 513.6 401.4 L 507.1 394.75 L 510.25 391.65 L 520 401.25 Z M 529.7 402.35 L 520.05 392.7 L 529.7 383 L 533 386.15 L 526.45 392.7 L 533 399.2 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(487.5,354.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="64" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">requester</div></div></foreignObject><text x="32" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">requester</text></switch></g><path d="M 501 405 L 464 406" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 496 264 L 464 268" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><rect x="943" y="364" width="141" height="70" rx="10.5" ry="10.5" fill="none" stroke="#ffffff" stroke-width="3" pointer-events="none"/><g transform="translate(963.5,383.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="99" height="30" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 101px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">local application<div>service B</div></div></div></foreignObject><text x="50" y="22" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 998.41 508.26 C 997.51 507.41 997 506.24 997 505.01 C 997 503.78 997.51 502.61 998.41 501.77 L 1019.09 481.26 C 1020.71 480 1023 480 1024.62 481.26 L 1045.65 502.21 C 1047 503.86 1047 506.22 1045.65 507.86 L 1024.52 528.81 C 1022.93 530 1020.73 530 1019.14 528.81 Z M 1001.4 504.89 L 1008.03 511.38 L 1008.03 506.72 L 1015 506.72 C 1015.65 509.07 1017.48 510.91 1019.84 511.58 L 1019.84 516.18 C 1017.96 517.09 1016.97 519.17 1017.44 521.19 C 1017.91 523.21 1019.72 524.64 1021.81 524.64 C 1023.89 524.64 1025.7 523.21 1026.18 521.19 C 1026.65 519.17 1025.65 517.09 1023.77 516.18 L 1023.77 511.48 C 1026.17 510.84 1028.05 509 1028.71 506.62 L 1035.68 506.62 L 1035.68 511.13 L 1042.21 504.74 L 1035.68 498.35 L 1035.68 502.91 L 1028.71 502.91 C 1028.08 500.5 1026.19 498.6 1023.77 497.95 L 1023.77 491.37 L 1028.36 491.37 L 1021.78 484.88 L 1015.25 491.37 L 1019.84 491.37 L 1019.84 498 C 1017.46 498.65 1015.61 500.5 1014.95 502.86 L 1007.98 502.86 L 1007.98 498.3 Z M 1016.55 504.99 C 1016.45 503.57 1016.95 502.17 1017.92 501.12 C 1018.89 500.07 1020.25 499.46 1021.68 499.44 C 1023.17 499.38 1024.61 499.95 1025.64 501.01 C 1026.68 502.07 1027.21 503.51 1027.11 504.99 C 1026.93 507.8 1024.52 509.96 1021.68 509.84 C 1018.96 509.8 1016.73 507.69 1016.55 504.99 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(988.5,464.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="67" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">API gateway</div></div></foreignObject><text x="34" y="12" fill="#FFFFFF" text-anchor="middle" font-size="12px" font-family="Helvetica">API gateway</text></switch></g><path d="M 1044 507 L 1154 507 L 1154 399 L 1084 399" fill="none" stroke="#ffffff" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><path d="M 1040 507 L 1154 507 L 1154 264 L 1084 264" fill="none" stroke="#ffffff" stroke-width="3" stroke-miterlimit="10" pointer-events="none"/><rect x="944" y="229" width="140" height="70" rx="10.5" ry="10.5" fill="none" stroke="#ffffff" stroke-width="3" stroke-dasharray="9 9" pointer-events="none"/><g transform="translate(980.5,248.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="66" height="30" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 68px; white-space: nowrap; word-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">local proxy<div>service A</div></div></div></foreignObject><text x="33" y="22" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 1132.5 344.76 C 1132.5 347.65 1124.11 350 1113.75 350 C 1103.39 350 1095 347.65 1095 344.76 L 1095 305.24 C 1095 302.35 1103.39 300 1113.75 300 C 1124.11 300 1132.5 302.35 1132.5 305.24 Z M 1128.42 306.52 C 1128.42 304.54 1122.02 302.93 1114.13 302.93 C 1106.24 302.93 1099.85 304.54 1099.85 306.52 C 1099.85 307.81 1102.57 308.99 1106.99 309.63 C 1111.41 310.28 1116.86 310.28 1121.28 309.63 C 1125.7 308.99 1128.42 307.81 1128.42 306.52 Z M 1109.03 336.03 C 1111.79 334.84 1113.58 332.18 1113.58 329.23 C 1113.58 326.29 1111.79 323.63 1109.03 322.43 L 1101.38 322.43 L 1101.38 336.03 Z M 1125.36 336.03 C 1126.82 335.41 1127.74 333.95 1127.69 332.35 C 1127.63 330.76 1126.6 329.37 1125.1 328.85 C 1126.07 327.94 1126.5 326.59 1126.24 325.28 C 1125.98 323.98 1125.07 322.9 1123.83 322.43 L 1116.68 322.43 L 1116.68 336.03 Z M 1103.16 324.23 L 1108.78 324.23 C 1110.63 325.2 1111.79 327.13 1111.79 329.23 C 1111.79 331.34 1110.63 333.26 1108.78 334.24 L 1103.16 334.24 Z M 1118.47 324.23 L 1123.32 324.23 C 1123.96 324.66 1124.34 325.38 1124.34 326.15 C 1124.34 326.93 1123.96 327.65 1123.32 328.08 L 1118.47 328.08 Z M 1118.47 330.39 L 1123.57 330.39 C 1124.7 330.25 1125.73 331.05 1125.87 332.19 C 1126.01 333.32 1125.21 334.35 1124.08 334.49 L 1118.47 334.49 Z" fill="#ffffff" stroke="none" pointer-events="none"/><path d="M 1014 364 L 1105 349" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 881 283 C 867.19 283 856 271.81 856 258 C 856 244.19 867.19 233 881 233 C 894.81 233 906 244.19 906 258 C 906 271.81 894.81 283 881 283 Z M 881 279.65 C 886.74 279.65 892.25 277.37 896.31 273.31 C 900.37 269.25 902.65 263.74 902.65 258 C 902.65 252.26 900.37 246.75 896.31 242.69 C 892.25 238.63 886.74 236.35 881 236.35 C 875.26 236.35 869.75 238.63 865.69 242.69 C 861.63 246.75 859.35 252.26 859.35 258 C 859.35 263.74 861.63 269.25 865.69 273.31 C 869.75 277.37 875.26 279.65 881 279.65 Z M 871.25 272 L 868.05 268.85 L 874.6 262.4 L 868.1 255.75 L 871.25 252.65 L 881 262.25 Z M 890.7 263.35 L 881.05 253.7 L 890.7 244 L 894 247.15 L 887.45 253.7 L 894 260.2 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(848.5,215.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="64" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">requester</div></div></foreignObject><text x="32" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">requester</text></switch></g><path d="M 886 424 C 872.19 424 861 412.81 861 399 C 861 385.19 872.19 374 886 374 C 899.81 374 911 385.19 911 399 C 911 412.81 899.81 424 886 424 Z M 886 420.65 C 891.74 420.65 897.25 418.37 901.31 414.31 C 905.37 410.25 907.65 404.74 907.65 399 C 907.65 393.26 905.37 387.75 901.31 383.69 C 897.25 379.63 891.74 377.35 886 377.35 C 880.26 377.35 874.75 379.63 870.69 383.69 C 866.63 387.75 864.35 393.26 864.35 399 C 864.35 404.74 866.63 410.25 870.69 414.31 C 874.75 418.37 880.26 420.65 886 420.65 Z M 876.25 413 L 873.05 409.85 L 879.6 403.4 L 873.1 396.75 L 876.25 393.65 L 886 403.25 Z M 895.7 404.35 L 886.05 394.7 L 895.7 385 L 899 388.15 L 892.45 394.7 L 899 401.2 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(851.5,356.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="68" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">responder</div></div></foreignObject><text x="34" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">responder</text></switch></g><path d="M 909 399 L 943 399" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 904 264 L 944 264" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 404 579 L 405 540" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 1022 575 L 1019 530" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 864 490.5 L 561.24 490.5" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 555.24 490.5 L 563.24 486.5 L 561.24 490.5 L 563.24 494.5 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(592.5,466.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="240" height="46" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><span>app N publishes service B</span><div><span><br /></span></div><div>local service B published service event</div></div></div></foreignObject><text x="120" y="30" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 864.44 514 C 864.15 513.81 864 513.48 864.04 513.14 L 864.04 501.37 C 864.09 501.14 864.23 500.94 864.44 500.82 L 869.05 500.82 C 869.41 500.81 869.73 501.03 869.86 501.37 L 869.86 508.16 L 876.53 508.16 C 877 508.16 877.38 508.55 877.38 509.02 L 877.38 513.19 C 877.36 513.65 876.98 514 876.53 514 Z M 874.87 491.86 C 874.58 493.66 873.04 494.98 871.22 494.99 C 869.41 495 867.85 493.69 867.55 491.89 C 867.24 490.1 868.28 488.34 869.99 487.75 C 871.71 487.15 873.61 487.89 874.47 489.49 L 888.57 488.34 C 888.69 487.28 889.17 486.3 889.93 485.57 L 885.06 478.72 C 882.93 479.48 880.56 478.53 879.54 476.51 C 878.51 474.49 879.13 472.02 880.99 470.73 C 882.85 469.44 885.37 469.73 886.9 471.4 C 888.42 473.08 888.47 475.63 887.02 477.37 L 891.93 484.16 C 894.35 483.09 897.19 483.93 898.65 486.15 C 900.1 488.37 899.74 491.31 897.8 493.12 L 902.32 501.07 C 904.4 500.64 906.47 501.82 907.19 503.83 C 907.9 505.84 907.03 508.06 905.15 509.05 C 903.26 510.04 900.95 509.49 899.7 507.76 C 898.46 506.03 898.68 503.65 900.21 502.17 L 895.65 494.32 C 894.48 494.69 893.23 494.66 892.08 494.22 L 888.67 499.96 C 889.93 501.27 890.06 503.3 888.97 504.76 C 887.89 506.22 885.92 506.68 884.3 505.86 C 882.69 505.03 881.91 503.15 882.45 501.42 C 883 499.68 884.72 498.6 886.51 498.85 L 890.13 493.02 C 889.5 492.38 889.03 491.61 888.77 490.75 Z M 898.51 472.94 C 898.28 472.94 898.06 472.85 897.9 472.69 C 897.74 472.53 897.65 472.31 897.65 472.08 L 897.65 467.86 C 897.65 467.63 897.74 467.41 897.9 467.25 C 898.06 467.09 898.28 467 898.51 467 L 910.15 467 C 910.62 467 911 467.38 911 467.86 L 911 479.43 C 911 479.9 910.62 480.28 910.15 480.28 L 906.03 480.28 C 905.56 480.28 905.18 479.9 905.18 479.43 L 905.08 472.99 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(855.5,449.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="63" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">publisher</div></div></foreignObject><text x="32" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">publisher</text></switch></g><path d="M 506.44 514 C 506.15 513.81 506 513.48 506.04 513.14 L 506.04 501.37 C 506.09 501.14 506.23 500.94 506.44 500.82 L 511.05 500.82 C 511.41 500.81 511.73 501.03 511.86 501.37 L 511.86 508.16 L 518.53 508.16 C 519 508.16 519.38 508.55 519.38 509.02 L 519.38 513.19 C 519.36 513.65 518.98 514 518.53 514 Z M 516.87 491.86 C 516.58 493.66 515.04 494.98 513.22 494.99 C 511.41 495 509.85 493.69 509.55 491.89 C 509.24 490.1 510.28 488.34 511.99 487.75 C 513.71 487.15 515.61 487.89 516.47 489.49 L 530.57 488.34 C 530.69 487.28 531.17 486.3 531.93 485.57 L 527.06 478.72 C 524.93 479.48 522.56 478.53 521.54 476.51 C 520.51 474.49 521.13 472.02 522.99 470.73 C 524.85 469.44 527.37 469.73 528.9 471.4 C 530.42 473.08 530.47 475.63 529.02 477.37 L 533.93 484.16 C 536.35 483.09 539.19 483.93 540.65 486.15 C 542.1 488.37 541.74 491.31 539.8 493.12 L 544.32 501.07 C 546.4 500.64 548.47 501.82 549.19 503.83 C 549.9 505.84 549.03 508.06 547.15 509.05 C 545.26 510.04 542.95 509.49 541.7 507.76 C 540.46 506.03 540.68 503.65 542.21 502.17 L 537.65 494.32 C 536.48 494.69 535.23 494.66 534.08 494.22 L 530.67 499.96 C 531.93 501.27 532.06 503.3 530.97 504.76 C 529.89 506.22 527.92 506.68 526.3 505.86 C 524.69 505.03 523.91 503.15 524.45 501.42 C 525 499.68 526.72 498.6 528.51 498.85 L 532.13 493.02 C 531.5 492.38 531.03 491.61 530.77 490.75 Z M 540.51 472.94 C 540.28 472.94 540.06 472.85 539.9 472.69 C 539.74 472.53 539.65 472.31 539.65 472.08 L 539.65 467.86 C 539.65 467.63 539.74 467.41 539.9 467.25 C 540.06 467.09 540.28 467 540.51 467 L 552.15 467 C 552.62 467 553 467.38 553 467.86 L 553 479.43 C 553 479.9 552.62 480.28 552.15 480.28 L 548.03 480.28 C 547.56 480.28 547.18 479.9 547.18 479.43 L 547.08 472.99 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(493.5,449.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="72" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">subscriber</div></div></foreignObject><text x="36" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">subscriber</text></switch></g><path d="M 853.76 402 L 552.24 402" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 859.76 402 L 851.76 406 L 853.76 402 L 851.76 398 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 546.24 402 L 554.24 398 L 552.24 402 L 554.24 406 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 852.76 259 L 553.24 259" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 858.76 259 L 850.76 263 L 852.76 259 L 850.76 255 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 547.24 259 L 555.24 255 L 553.24 259 L 555.24 263 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 856.44 192 C 856.15 191.81 856 191.48 856.04 191.14 L 856.04 179.37 C 856.09 179.14 856.23 178.94 856.44 178.82 L 861.05 178.82 C 861.41 178.81 861.73 179.03 861.86 179.37 L 861.86 186.16 L 868.53 186.16 C 869 186.16 869.38 186.55 869.38 187.02 L 869.38 191.19 C 869.36 191.65 868.98 192 868.53 192 Z M 866.87 169.86 C 866.58 171.66 865.04 172.98 863.22 172.99 C 861.41 173 859.85 171.69 859.55 169.89 C 859.24 168.1 860.28 166.34 861.99 165.75 C 863.71 165.15 865.61 165.89 866.47 167.49 L 880.57 166.34 C 880.69 165.28 881.17 164.3 881.93 163.57 L 877.06 156.72 C 874.93 157.48 872.56 156.53 871.54 154.51 C 870.51 152.49 871.13 150.02 872.99 148.73 C 874.85 147.44 877.37 147.73 878.9 149.4 C 880.42 151.08 880.47 153.63 879.02 155.37 L 883.93 162.16 C 886.35 161.09 889.19 161.93 890.65 164.15 C 892.1 166.37 891.74 169.31 889.8 171.12 L 894.32 179.07 C 896.4 178.64 898.47 179.82 899.19 181.83 C 899.9 183.84 899.03 186.06 897.15 187.05 C 895.26 188.04 892.95 187.49 891.7 185.76 C 890.46 184.03 890.68 181.65 892.21 180.17 L 887.65 172.32 C 886.48 172.69 885.23 172.66 884.08 172.22 L 880.67 177.96 C 881.93 179.27 882.06 181.3 880.97 182.76 C 879.89 184.22 877.92 184.68 876.3 183.86 C 874.69 183.03 873.91 181.15 874.45 179.42 C 875 177.68 876.72 176.6 878.51 176.85 L 882.13 171.02 C 881.5 170.38 881.03 169.61 880.77 168.75 Z M 890.51 150.94 C 890.28 150.94 890.06 150.85 889.9 150.69 C 889.74 150.53 889.65 150.31 889.65 150.08 L 889.65 145.86 C 889.65 145.63 889.74 145.41 889.9 145.25 C 890.06 145.09 890.28 145 890.51 145 L 902.15 145 C 902.62 145 903 145.38 903 145.86 L 903 157.43 C 903 157.9 902.62 158.28 902.15 158.28 L 898.03 158.28 C 897.56 158.28 897.18 157.9 897.18 157.43 L 897.08 150.99 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(843.5,127.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="72" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">subscriber</div></div></foreignObject><text x="36" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">subscriber</text></switch></g><path d="M 505.44 186 C 505.15 185.81 505 185.48 505.04 185.14 L 505.04 173.37 C 505.09 173.14 505.23 172.94 505.44 172.82 L 510.05 172.82 C 510.41 172.81 510.73 173.03 510.86 173.37 L 510.86 180.16 L 517.53 180.16 C 518 180.16 518.38 180.55 518.38 181.02 L 518.38 185.19 C 518.36 185.65 517.98 186 517.53 186 Z M 515.87 163.86 C 515.58 165.66 514.04 166.98 512.22 166.99 C 510.41 167 508.85 165.69 508.55 163.89 C 508.24 162.1 509.28 160.34 510.99 159.75 C 512.71 159.15 514.61 159.89 515.47 161.49 L 529.57 160.34 C 529.69 159.28 530.17 158.3 530.93 157.57 L 526.06 150.72 C 523.93 151.48 521.56 150.53 520.54 148.51 C 519.51 146.49 520.13 144.02 521.99 142.73 C 523.85 141.44 526.37 141.73 527.9 143.4 C 529.42 145.08 529.47 147.63 528.02 149.37 L 532.93 156.16 C 535.35 155.09 538.19 155.93 539.65 158.15 C 541.1 160.37 540.74 163.31 538.8 165.12 L 543.32 173.07 C 545.4 172.64 547.47 173.82 548.19 175.83 C 548.9 177.84 548.03 180.06 546.15 181.05 C 544.26 182.04 541.95 181.49 540.7 179.76 C 539.46 178.03 539.68 175.65 541.21 174.17 L 536.65 166.32 C 535.48 166.69 534.23 166.66 533.08 166.22 L 529.67 171.96 C 530.93 173.27 531.06 175.3 529.97 176.76 C 528.89 178.22 526.92 178.68 525.3 177.86 C 523.69 177.03 522.91 175.15 523.45 173.42 C 524 171.68 525.72 170.6 527.51 170.85 L 531.13 165.02 C 530.5 164.38 530.03 163.61 529.77 162.75 Z M 539.51 144.94 C 539.28 144.94 539.06 144.85 538.9 144.69 C 538.74 144.53 538.65 144.31 538.65 144.08 L 538.65 139.86 C 538.65 139.63 538.74 139.41 538.9 139.25 C 539.06 139.09 539.28 139 539.51 139 L 551.15 139 C 551.62 139 552 139.38 552 139.86 L 552 151.43 C 552 151.9 551.62 152.28 551.15 152.28 L 547.03 152.28 C 546.56 152.28 546.18 151.9 546.18 151.43 L 546.08 144.99 Z" fill="#ffffff" stroke="none" pointer-events="none"/><g transform="translate(496.5,121.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="63" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">publisher</div></div></foreignObject><text x="32" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica" font-weight="bold">publisher</text></switch></g><path d="M 851.76 168 L 704 168 L 704 169 L 553 169" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 857.76 168 L 849.76 172 L 851.76 168 L 849.76 164 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(590.5,148.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="240" height="46" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">app 1 publishes service A<div><br /></div><div>local service A publishes service event</div></div></div></foreignObject><text x="120" y="30" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 904 172 L 1006.69 225.21" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 1012.01 227.97 L 1003.07 227.84 L 1006.69 225.21 L 1006.75 220.74 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(944.5,174.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="165" height="14" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">creates local service proxy</div></div></foreignObject><text x="83" y="14" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">creates local service proxy</text></switch></g><path d="M 506 483 L 411.69 446.94" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 406.09 444.8 L 414.99 443.92 L 411.69 446.94 L 412.13 451.39 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 394 233 L 499.27 158.75" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 504.17 155.29 L 499.94 163.17 L 499.27 158.75 L 495.33 156.63 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(400.5,171.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="30" height="30" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div><div>send</div></div><div><br /></div></div></div></foreignObject><text x="15" y="22" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 1014 434 L 919.28 484.15" fill="none" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" stroke-dasharray="6 6" pointer-events="none"/><path d="M 913.98 486.95 L 919.17 479.68 L 919.28 484.15 L 922.92 486.75 Z" fill="#ffffff" stroke="#ffffff" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(933.5,440.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="30" height="30" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 14px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; white-space: nowrap; text-align: right;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;"><div><div>send</div></div><div><br /></div></div></div></foreignObject><text x="15" y="22" fill="#FFFFFF" text-anchor="middle" font-size="14px" font-family="Helvetica">[Not supported by viewer]</text></switch></g></g></svg>