-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTrading.drawio
More file actions
221 lines (221 loc) · 26.7 KB
/
Trading.drawio
File metadata and controls
221 lines (221 loc) · 26.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<mxfile host="app.diagrams.net" modified="2023-05-13T00:06:34.233Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" etag="2QTM1ZqkUz7w3iAhBUk1" version="21.2.9" type="github">
<diagram name="Page-1" id="73ckfo2DLwfB0zwxTyM4">
<mxGraphModel dx="1113" dy="1152" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="9XtSm5aBb7Ffbd0GUGP9-6" value="Trading Strategy" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="355" y="440" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="9XtSm5aBb7Ffbd0GUGP9-7" value="chart" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="9XtSm5aBb7Ffbd0GUGP9-6" vertex="1">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="9XtSm5aBb7Ffbd0GUGP9-8" value="trigger" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="9XtSm5aBb7Ffbd0GUGP9-6" vertex="1">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="9XtSm5aBb7Ffbd0GUGP9-9" value="place holder" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" parent="9XtSm5aBb7Ffbd0GUGP9-6" vertex="1">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="9XtSm5aBb7Ffbd0GUGP9-10" value="<p style="margin:0px;margin-top:6px;text-align:center;"><b>Exchange API Interface</b></p><hr><p style="margin:0px;margin-left:8px;">+ exchange end<br>+ application end</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="510" y="260" width="180" height="90" as="geometry" />
</mxCell>
<mxCell id="9XtSm5aBb7Ffbd0GUGP9-11" value="" style="shape=component;jettyWidth=8;jettyHeight=4;" parent="9XtSm5aBb7Ffbd0GUGP9-10" vertex="1">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-1" value="Asset Management" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="540" y="630" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-2" value="deposit" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-1">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-3" value="withdraw" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-1">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-4" value="place holder" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-1">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-5" value="Authentication &amp; Authorization " style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#ffe6cc;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="355" y="630" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-6" value="User Module" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-5">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-7" value="Role Permission Mod" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-5">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-8" value="Auth Module" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-5">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-22" value="Trade Execution" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="530" y="440" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-23" value="order" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-22">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-25" value="inquiry" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-22">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="D-Yq91E-UCHwqCJ7QkfF-22" source="D-Yq91E-UCHwqCJ7QkfF-23" target="D-Yq91E-UCHwqCJ7QkfF-23">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-24" value="place holder" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-22">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-27" value="Historical Data" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="540" y="820" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-28" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-27">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-29" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-27">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-30" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-27">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-31" value="Analytics" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="355" y="820" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-32" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-31">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-33" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-31">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-34" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-31">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-35" value="Notification / Alert" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="780" y="440" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-36" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-35">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-37" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-35">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-38" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-35">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-43" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="740" y="930" as="sourcePoint" />
<mxPoint x="740" y="260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-44" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="320" y="380" as="sourcePoint" />
<mxPoint x="870" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-45" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="1">
<mxGeometry x="160" y="960" width="1250" height="8" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-46" value="<p style="margin:0px;margin-top:6px;text-align:center;"><b>User</b></p><hr><p style="margin:0px;margin-left:8px;">+ registration<br>+ login</p><p style="margin:0px;margin-left:8px;">+ logout</p><p style="margin:0px;margin-left:8px;">+ change info</p><p style="margin:0px;margin-left:8px;">+ close account</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="150" y="1000" width="180" height="120" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-47" value="" style="shape=component;jettyWidth=8;jettyHeight=4;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-46">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-48" value="<p style="margin:0px;margin-top:6px;text-align:center;"><b>Role &amp; Permission</b></p><hr><p style="margin:0px;margin-left:8px;">+ role create, update, delete<br>+ permission create, update</p><p style="margin:0px;margin-left:8px;">+ role permission assign</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="390" y="1000" width="180" height="120" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-49" value="" style="shape=component;jettyWidth=8;jettyHeight=4;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-48">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-50" value="<p style="margin:0px;margin-top:6px;text-align:center;"><b>Authentication</b></p><hr><p style="margin:0px;margin-left:8px;">+ token<br>+ sensitive data</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="630" y="1000" width="180" height="120" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-51" value="" style="shape=component;jettyWidth=8;jettyHeight=4;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-50">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-52" value="<p style="margin:0px;margin-top:6px;text-align:center;"><b>Password</b></p><hr><p style="margin:0px;margin-left:8px;">+ Reset<br>+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="880" y="1000" width="180" height="120" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-53" value="" style="shape=component;jettyWidth=8;jettyHeight=4;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-52">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-54" value="Logging" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="170" y="820" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-55" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-54">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-56" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-54">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-57" value="+ field: type" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-54">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-58" value="Logging" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#ffe6cc;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="150" y="1180" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-59" value="+ field: type" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-58">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-60" value="+ field: type" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-58">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-61" value="+ field: type" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-58">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-62" value="Exception Handling" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#ffe6cc;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;strokeColor=#d79b00;" vertex="1" parent="1">
<mxGeometry x="380" y="1180" width="140" height="104" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-63" value="+ field: type" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-62">
<mxGeometry y="26" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-64" value="+ field: type" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-62">
<mxGeometry y="52" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-65" value="+ field: type" style="text;strokeColor=#d79b00;fillColor=#ffe6cc;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-62">
<mxGeometry y="78" width="140" height="26" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-66" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="140" y="1350" as="sourcePoint" />
<mxPoint x="1420" y="1350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-67" value="<p style="margin:0px;margin-top:6px;text-align:center;"><b>Data&nbsp;</b></p><hr><p style="margin:0px;margin-left:8px;">+ DAO<br>+&nbsp;</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
<mxGeometry x="840" y="730" width="180" height="90" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-68" value="" style="shape=component;jettyWidth=8;jettyHeight=4;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-67">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-69" value="<p style="margin:0px;margin-top:6px;text-align:center;"><b>API</b></p><hr><p style="margin:0px;margin-left:8px;">+&nbsp;<br>+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p><p style="margin:0px;margin-left:8px;">+&nbsp;</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="160" y="1410" width="180" height="120" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-70" value="" style="shape=component;jettyWidth=8;jettyHeight=4;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-69">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-71" value="<p style="margin:0px;margin-top:6px;text-align:center;">Cache</p><hr><p style="margin:0px;margin-left:8px;">+&nbsp;<br>+ Cache</p>" style="align=left;overflow=fill;html=1;dropTarget=0;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;fontColor=#333333;" vertex="1" parent="1">
<mxGeometry x="840" y="850" width="180" height="90" as="geometry" />
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-72" value="" style="shape=component;jettyWidth=8;jettyHeight=4;" vertex="1" parent="D-Yq91E-UCHwqCJ7QkfF-71">
<mxGeometry x="1" width="20" height="20" relative="1" as="geometry">
<mxPoint x="-24" y="4" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="D-Yq91E-UCHwqCJ7QkfF-73" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;Interface&gt;&gt;</i><br/><b>Interface</b></p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ field1: Type<br/>+ field2: Type</p><hr size="1"/><p style="margin:0px;margin-left:4px;">+ method1(Type): Type<br/>+ method2(Type, Type): Type</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="1250" y="630" width="190" height="140" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>