diff options
Diffstat (limited to 'documentation/application/original-drawings/application-architecture.svg')
-rw-r--r-- | documentation/application/original-drawings/application-architecture.svg | 1063 |
1 files changed, 0 insertions, 1063 deletions
diff --git a/documentation/application/original-drawings/application-architecture.svg b/documentation/application/original-drawings/application-architecture.svg deleted file mode 100644 index 8622942947..0000000000 --- a/documentation/application/original-drawings/application-architecture.svg +++ /dev/null @@ -1,1063 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="82mm" - height="101mm" - viewBox="0 0 290.55118 357.874" - id="svg2" - version="1.1" - inkscape:version="0.91 r" - sodipodi:docname="application-architecture.svg"> - <defs - id="defs4"> - <marker - inkscape:stockid="EmptyTriangleOutL" - orient="auto" - refY="0" - refX="0" - id="EmptyTriangleOutL" - style="overflow:visible" - inkscape:isstock="true"> - <path - id="path4695" - d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" - style="fill:#ffffff;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1pt;stroke-opacity:1" - transform="matrix(0.8,0,0,0.8,-4.8,0)" - inkscape:connector-curvature="0" /> - </marker> - <marker - inkscape:stockid="Arrow2Lend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Lend" - style="overflow:visible" - inkscape:isstock="true"> - <path - id="path4556" - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="matrix(-1.1,0,0,-1.1,-1.1,0)" - inkscape:connector-curvature="0" /> - </marker> - <marker - inkscape:stockid="Arrow2Mend" - orient="auto" - refY="0" - refX="0" - id="Arrow2Mend" - style="overflow:visible" - inkscape:isstock="true"> - <path - id="path4562" - style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" - d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" - transform="scale(-0.6,-0.6)" - inkscape:connector-curvature="0" /> - </marker> - <marker - inkscape:stockid="EmptyTriangleOutL" - orient="auto" - refY="0" - refX="0" - id="EmptyTriangleOutL-9" - style="overflow:visible" - inkscape:isstock="true"> - <path - inkscape:connector-curvature="0" - id="path4695-8" - d="m 5.77,0 -8.65,5 0,-10 8.65,5 z" - style="fill:#ffffff;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1pt;stroke-opacity:1" - transform="matrix(0.8,0,0,0.8,-4.8,0)" /> - </marker> - <marker - markerWidth="7.8382689" - markerHeight="4.2949589" - refX="3.9191345" - refY="2.1474795" - orient="auto" - id="marker4995"> - <path - sodipodi:nodetypes="cc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-9" - d="M 0.37582446,3.9191345 3.9191345,0.37582446" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <path - sodipodi:nodetypes="cc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-9-5" - d="M 7.4624445,3.9191345 3.9191345,0.37582446" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="7.8382688" - markerHeight="4.2949591" - refX="3.9191346" - refY="2.1474795" - orient="auto" - id="marker4995-1"> - <path - sodipodi:nodetypes="cc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-9-3" - d="M 0.37582446,3.9191345 3.9191345,0.37582446" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - <path - sodipodi:nodetypes="cc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-9-5-2" - d="M 7.4624445,3.9191345 3.9191345,0.37582446" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-4"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-6" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-0"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-8" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-8"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-65" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-8-8"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-65-4" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-8-7"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-65-8" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-8-9"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-65-82" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-8-6"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-65-3" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-4-3"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-6-4" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-4-4"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-6-8" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-4-4-4"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-6-8-7" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#33383a;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - <marker - markerWidth="4.6707735" - markerHeight="7.8382583" - refX="4.3000002" - refY="3.9191291" - orient="auto" - id="marker5127-4-4-4-0"> - <path - sodipodi:nodetypes="ccc" - inkscape:connector-curvature="0" - id="path4591-1-5-0-8-0-6-8-7-6" - d="M 0.37582499,0.37582446 3.919125,3.9191245 0.37582499,7.4624345" - style="fill:none;fill-rule:evenodd;stroke:#33383a;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> - </marker> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="1" - inkscape:pageshadow="2" - inkscape:zoom="1.979899" - inkscape:cx="167.01121" - inkscape:cy="174.97105" - inkscape:document-units="mm" - inkscape:current-layer="g4462-8-7" - showgrid="true" - inkscape:window-width="1920" - inkscape:window-height="1060" - inkscape:window-x="-2" - inkscape:window-y="-3" - inkscape:window-maximized="1" - inkscape:object-nodes="true" - inkscape:snap-center="false" - inkscape:snap-object-midpoints="true" - inkscape:object-paths="true" - showguides="true" - inkscape:guide-bbox="true" - inkscape:snap-text-baseline="true"> - <inkscape:grid - type="xygrid" - id="grid4136" - spacingx="3.5433071" - spacingy="3.5433071" - empspacing="10" - units="mm" /> - <sodipodi:guide - position="145.27559,120.47244" - orientation="1,0" - id="guide4278" /> - </sodipodi:namedview> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Taso 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(0,-694.48815)"> - <g - id="g4462" - transform="translate(35.433064,24.803097)"> - <rect - y="839.76379" - x="31.889767" - height="35.433056" - width="77.952759" - id="rect4408" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#33383a;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <flowRoot - transform="translate(-0.28483429,13.018324)" - id="flowRoot4420" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Normal';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - xml:space="preserve"><flowRegion - id="flowRegion4422"><use - height="100%" - width="100%" - id="use4424" - xlink:href="#rect4408" - y="0" - x="0" /></flowRegion><flowPara - id="flowPara4428">HasValue<T></flowPara></flowRoot> <flowRoot - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - id="flowRoot4420-0-2-7" - transform="translate(-5.960083e-4,3.7265644)"><flowRegion - id="flowRegion4422-7-6-3"><use - x="0" - y="0" - xlink:href="#rect4408-7" - id="use4424-6-1-1" - width="100%" - height="100%" /></flowRegion><flowPara - id="flowPara4428-1-6-72">«interface»</flowPara></flowRoot> </g> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.06299213, 1.06299213;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#EmptyTriangleOutL)" - d="m 67.322828,970.86608 0,-35.43304 38.976382,0 0,-35.43307" - id="path4529" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.06299213, 1.06299213;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#EmptyTriangleOutL-9)" - d="m 145.27559,970.86608 0,-35.43304 -38.97638,0 0,-35.43307" - id="path4529-3" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cccc" /> - <g - id="g5560" - transform="translate(-3.5714327,60.236196)"> - <rect - y="886.83691" - x="53.275875" - height="9.619791" - width="35.306797" - id="rect5558" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <flowRoot - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - id="flowRoot4420-0-2" - transform="translate(-0.13751283,47.764101)"><flowRegion - id="flowRegion4422-7-6"><use - x="0" - y="0" - xlink:href="#rect4408-7" - id="use4424-6-1" - width="100%" - height="100%" /></flowRegion><flowPara - id="flowPara4428-1-6"><String></flowPara></flowRoot> </g> - <g - transform="translate(74.397218,60.236196)" - id="g5560-8"> - <rect - y="886.83691" - x="53.275875" - height="9.619791" - width="35.306797" - id="rect5558-2" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <flowRoot - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - id="flowRoot4420-0-2-6" - transform="translate(-0.13751283,47.764101)"><flowRegion - id="flowRegion4422-7-6-8"><use - x="0" - y="0" - xlink:href="#rect4408-7" - id="use4424-6-1-6" - width="100%" - height="100%" /></flowRegion><flowPara - id="flowPara4428-1-6-7"><LocalDate></flowPara></flowRoot> </g> - <g - transform="translate(-31.889763,-141.73234)" - id="g4462-8"> - <rect - y="839.76379" - x="35.433071" - height="38.976364" - width="283.46457" - id="rect4408-7" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#33383a;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="45.792992" - y="866.11798" - id="text4227-9" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-4" - x="45.792992" - y="866.11798">Client-side engine</tspan></text> - </g> - <g - transform="translate(-31.889764,-88.582746)" - id="g4462-8-7-4"> - <rect - y="839.76379" - x="35.433071" - height="258.66144" - width="283.46457" - id="rect4408-7-5-2" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#ff3a49;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="85.039368" - y="865.57709" - id="text4227-9-0-3" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-4-4-0" - x="85.039368" - y="865.57709" - style="text-align:center;text-anchor:middle;fill:#ff3a49;fill-opacity:1">Java Web Application</tspan></text> - </g> - <g - transform="translate(-21.259843,162.99206)" - id="g4462-8-7"> - <rect - y="839.76379" - x="35.433071" - height="46.062996" - width="262.20471" - id="rect4408-7-5" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="42.249683" - y="863.58484" - id="text4227-9-0" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-4-4" - x="42.249683" - y="863.58484">Business Logic</tspan><tspan - sodipodi:role="line" - x="42.249683" - y="871.08484" - id="tspan4961">Persistence</tspan><tspan - sodipodi:role="line" - x="42.249683" - y="878.58484" - id="tspan4963">Database</tspan></text> - </g> - <g - transform="translate(-21.259843,-49.606367)" - id="g4462-8-7-43"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(70.866141,-49.606367)" - id="g4462-8-7-43-4"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(166.53544,-49.606367)" - id="g4462-8-7-43-3"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-5" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(70.866141,3.5432409)" - id="g4462-8-7-43-4-9"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(-21.259843,3.5432409)" - id="g4462-8-7-43-4-9-0"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5-1" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(-21.259843,56.692848)" - id="g4462-8-7-43-4-9-0-8"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5-1-8" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(-21.259843,109.84246)" - id="g4462-8-7-43-4-9-0-3"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5-1-2" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(70.866141,56.692848)" - id="g4462-8-7-43-4-9-0-8-0"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5-1-8-6" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(70.866141,109.84245)" - id="g4462-8-7-43-4-9-0-8-2"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5-1-8-9" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(166.53543,109.84245)" - id="g4462-8-7-43-4-9-0-8-26"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5-1-8-8" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <g - transform="translate(166.53543,3.543241)" - id="g4462-8-7-43-4-9-0-8-26-3"> - <rect - y="839.76379" - x="35.433071" - height="35.433071" - width="74.409447" - id="rect4408-7-5-0-9-5-1-8-8-4" - style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /> - </g> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 106.29921,807.87396 -17.716533,0" - id="path4591" - inkscape:connector-curvature="0" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 53.149606,843.30703 0,-17.71653" - id="path4591-6" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 53.149606,896.45664 0,-17.71654" - id="path4591-1" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="M 106.29921,878.7401 88.582677,896.45664" - id="path4591-9" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 106.29921,914.17318 -17.716533,0" - id="path4591-5" - inkscape:connector-curvature="0" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#00b4f0;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - d="m 237.40157,949.60625 0,-31.88977 -56.69291,0" - id="path4591-7" - inkscape:connector-curvature="0" - sodipodi:nodetypes="ccc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127)" - d="m 237.40157,985.03932 0,17.71658" - id="path4591-1-5-0-7" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="148.5489" - y="746.71686" - id="text4227-9-2" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-4-5" - x="148.5489" - y="746.71686">HTTP Ajax Requests</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="191.33858" - y="914.17316" - id="text4227-9-2-6" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-4-5-4" - x="191.33858" - y="914.17316">Data binding</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="106.47243" - y="943.6062" - id="text4227-9-2-6-2" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-4-5-4-6" - x="106.47243" - y="943.6062">UI Events</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="150.47243" - y="943.6062" - id="text4227-9-2-6-2-7" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="150.47243" - y="943.6062" - id="tspan4800">UI Changes</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="15.186712" - y="942.89197" - id="text4227-9-2-6-2-7-2" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="15.186712" - y="942.89197" - id="tspan4800-6">«extends»</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="201.68675" - y="836.89197" - id="text4227-9-2-6-2-7-2-7" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="201.68675" - y="836.89197" - id="tspan4800-6-5">«extends»</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="92.152405" - y="804.703" - id="text4227-9-2-6-2-7-2-2" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="92.152405" - y="804.703" - id="tspan4800-6-6">1</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="99.9533" - y="877.11243" - id="text4227-9-2-6-2-7-2-2-5" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="99.9533" - y="877.11243" - id="tspan4800-6-6-9">1</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="99.596161" - y="911.0022" - id="text4227-9-2-6-2-7-2-2-2" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="99.596161" - y="911.0022" - id="tspan4800-6-6-8">n</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="56.71933" - y="893.28564" - id="text4227-9-2-6-2-7-2-2-2-0" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="56.71933" - y="893.28564" - id="tspan4800-6-6-8-8">n</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="56.362186" - y="840.13605" - id="text4227-9-2-6-2-7-2-2-2-5" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="56.362186" - y="840.13605" - id="tspan4800-6-6-8-4">n</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:7.5px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="244.5489" - y="746.71686" - id="text4227-9-2-4" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-4-5-5" - x="244.5489" - y="746.71686">HTTP</tspan></text> - <path - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-4)" - d="m 145.27559,985.03932 0,17.71658" - id="path4591-1-5-0-7-7" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-0)" - d="m 53.149606,985.03932 0,17.71658" - id="path4591-1-5-0-7-5" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-8)" - d="m 53.149606,949.60625 0,-17.71654" - id="path4591-1-5-0-7-1" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-8-8)" - d="m 240.94488,843.30704 0,-17.71654" - id="path4591-1-5-0-7-1-8" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-8-9)" - d="m 145.27559,949.60625 0,-17.71654" - id="path4591-1-5-0-7-1-3" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#ff3a49;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-4-3)" - d="m 145.27559,931.88971 0,17.71658" - id="path4591-1-5-0-7-7-4" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#33383a;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-4-4-4)" - d="m 240.94488,737.00782 0,53.14961" - id="path4591-6-4-7-2" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - <path - style="fill:none;fill-rule:evenodd;stroke:#33383a;stroke-width:1.0629921;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5127-4-4-4-0)" - d="m 145.27559,737.00782 0,53.14961" - id="path4591-6-4-7-2-5" - inkscape:connector-curvature="0" - sodipodi:nodetypes="cc" /> - </g> - <g - inkscape:groupmode="layer" - id="layer2" - inkscape:label="Otsikot"> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="48.173229" - y="20.249645" - id="text4227" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229" - x="48.173229" - y="20.249645">WEB BROWSER</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ff3a49;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="13.906496" - y="72.85836" - id="text4227-4-5" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-0-6" - x="13.906496" - y="72.85836">APPLICATION SERVER</tspan></text> - <text - transform="translate(-21.259843,-744.09452)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.548416" - y="855.96033" - id="text4227-4-2" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-0-8" - x="72.548416" - y="855.96033" - style="text-align:center;text-anchor:middle;-inkscape-font-specification:'Montserrat, Light';font-family:Montserrat;font-weight:300;font-style:normal;font-stretch:normal;font-variant:normal;font-size:8.75px;writing-mode:lr;line-height:100%;">VAADIN</tspan><tspan - sodipodi:role="line" - x="72.548416" - y="865.96033" - id="tspan4339" - style="text-align:center;text-anchor:middle;-inkscape-font-specification:'Montserrat, Light';font-family:Montserrat;font-weight:300;font-style:normal;font-stretch:normal;font-variant:normal;font-size:8.75px;writing-mode:lr;line-height:100%;">SERVLET</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - x="44.269997" - y="322.44092" - id="text4227-4" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-0" - x="44.269997" - y="322.44092">BACK END</tspan></text> - <text - transform="translate(70.866141,-744.09452)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.769043" - y="855.95532" - id="text4227-4-2-7" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - id="tspan4229-0-8-2" - x="72.769043" - y="855.95532">VAADIN</tspan><tspan - sodipodi:role="line" - x="72.769043" - y="865.95532" - id="tspan4339-8">SERVICE</tspan></text> - <text - transform="translate(166.53544,-744.09452)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="73.193024" - y="855.96033" - id="text4227-4-2-6" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="73.193024" - y="855.96033" - id="tspan4339-2">DEFAULT</tspan><tspan - sodipodi:role="line" - x="73.193024" - y="865.96033" - id="tspan4384">THEME</tspan></text> - <text - transform="translate(70.866141,-690.94491)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.884041" - y="860.97034" - id="text4227-4-2-7-8" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.884041" - y="860.97034" - id="tspan4339-8-2">WEB PAGE</tspan></text> - <text - transform="translate(-21.259843,-690.94491)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.977638" - y="855.95532" - id="text4227-4-2-7-8-3" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.977638" - y="855.95532" - id="tspan4339-8-2-0">VAADIN</tspan><tspan - sodipodi:role="line" - x="72.977638" - y="865.95532" - id="tspan6588">SESSION</tspan></text> - <text - transform="translate(-21.259843,-637.79531)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.711464" - y="860.95532" - id="text4227-4-2-7-8-3-2" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.711464" - y="860.95532" - id="tspan4485">UI</tspan></text> - <text - transform="translate(-21.259843,-584.64569)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.769043" - y="855.95532" - id="text4227-4-2-7-8-3-6" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.769043" - y="855.95532" - id="tspan4339-8-2-0-8">APPLICATION</tspan><tspan - sodipodi:role="line" - x="72.769043" - y="865.95532" - id="tspan4556">UI</tspan></text> - <text - transform="translate(70.866141,-637.79531)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.769043" - y="855.95532" - id="text4227-4-2-7-8-3-2-7" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.769043" - y="855.95532" - id="tspan4485-6">UI</tspan><tspan - sodipodi:role="line" - x="72.769043" - y="865.95532" - id="tspan4552">COMPONENT</tspan></text> - <text - transform="translate(70.866141,-584.6457)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.769043" - y="855.95532" - id="text4227-4-2-7-8-3-2-5" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.769043" - y="855.95532" - id="tspan4485-3">EVENT</tspan><tspan - sodipodi:role="line" - x="72.769043" - y="865.95532" - id="tspan4548">LISTENER</tspan></text> - <text - transform="translate(166.53543,-584.6457)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.769043" - y="855.95532" - id="text4227-4-2-7-8-3-2-1" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.769043" - y="855.95532" - id="tspan4485-2">DATA</tspan><tspan - sodipodi:role="line" - x="72.769043" - y="865.95532" - id="tspan4544">MODEL</tspan></text> - <text - transform="translate(166.53543,-690.94491)" - xml:space="preserve" - style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:8.75px;line-height:100%;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Light';text-align:center;letter-spacing:0px;word-spacing:0px;writing-mode:lr;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;" - x="72.769043" - y="855.95532" - id="text4227-4-2-7-8-3-2-1-6" - sodipodi:linespacing="100%"><tspan - sodipodi:role="line" - x="72.769043" - y="855.95532" - id="tspan4544-5">APPLICATION</tspan><tspan - sodipodi:role="line" - x="72.769043" - y="865.95532" - id="tspan4589">THEME</tspan></text> - </g> -</svg> |