forked from vndovr/otus-sample-gateway
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Architecture.archimate
172 lines (165 loc) · 15.8 KB
/
Architecture.archimate
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
<?xml version="1.0" encoding="UTF-8"?>
<archimate:model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:archimate="http://www.archimatetool.com/archimate" name="(new) " id="id-fa7638d7b2fc4759994f639e157d4f5d" version="4.6.0">
<folder name="Strategy" id="id-8aef9cd5785340de8d8172c44c6765c1" type="strategy"/>
<folder name="Business" id="id-4cd4049645c5425bb16715598a75d0aa" type="business"/>
<folder name="Application" id="id-d31fdaa000834db1abcf2ea1c10b2a8a" type="application">
<element xsi:type="archimate:ApplicationComponent" name="Auth database" id="id-872322e298474d2385c2dc31ac35b6a4"/>
<element xsi:type="archimate:ApplicationComponent" name="Profile database" id="id-b25065fb646445b7aa51cbd760937c52"/>
<element xsi:type="archimate:DataObject" name="Auth API" id="id-262ce775d8f041d5a8765ce60d50e58f"/>
<element xsi:type="archimate:ApplicationComponent" name="Auth API" id="id-f4b61a7bd13545aaa4748fb35a94b459"/>
<element xsi:type="archimate:ApplicationService" name="API Gateway" id="id-8e6bfe943ef845e4bfdc0c5980a112a7"/>
<element xsi:type="archimate:ApplicationComponent" name="Profile API" id="id-386458438dd24ab19cafb46452273dea"/>
<element xsi:type="archimate:ApplicationComponent" name="Session cache" id="id-15da7452027e40758bf2fded7b77cae0"/>
</folder>
<folder name="Technology & Physical" id="id-7188ee6d7d124f8895d8d1e6be01f423" type="technology">
<element xsi:type="archimate:Device" name="API client" id="id-60a75d8aefeb468ebb4eb8c485721b8c"/>
</folder>
<folder name="Motivation" id="id-a3cf763f7bf34d61b0eace6c2c022860" type="motivation"/>
<folder name="Implementation & Migration" id="id-2c82d84da27f41ccbd275b2cad80ee15" type="implementation_migration"/>
<folder name="Other" id="id-f240645e1040419da7c1ff26e9cb0670" type="other">
<element xsi:type="archimate:Grouping" name="Authorization" id="id-f7c56648a53d416cbbda3b9df96ff3cc"/>
<element xsi:type="archimate:Grouping" name="Profile" id="id-c5ed840830a94d1b823afaaf6d0c34ca"/>
<element xsi:type="archimate:Grouping" name="Gateway" id="id-b66d648dd4f740f5abdcc85deb194368"/>
</folder>
<folder name="Relations" id="id-7cefebd7719547568dce05cdaa36a878" type="relations">
<element xsi:type="archimate:ServingRelationship" id="id-ecb22d40c35740a08cc4d4744f62f49e" source="id-f4b61a7bd13545aaa4748fb35a94b459" target="id-872322e298474d2385c2dc31ac35b6a4"/>
<element xsi:type="archimate:ServingRelationship" name="authoriztion requests" id="id-80a745c6fe374c9f8f65cb08d1692520" source="id-8e6bfe943ef845e4bfdc0c5980a112a7" target="id-f4b61a7bd13545aaa4748fb35a94b459"/>
<element xsi:type="archimate:CompositionRelationship" id="id-926aee74010c4e2e87e868f57033b543" source="id-f7c56648a53d416cbbda3b9df96ff3cc" target="id-f4b61a7bd13545aaa4748fb35a94b459"/>
<element xsi:type="archimate:CompositionRelationship" id="id-b1cda76a603044df97171cd20198a1a1" source="id-f7c56648a53d416cbbda3b9df96ff3cc" target="id-872322e298474d2385c2dc31ac35b6a4"/>
<element xsi:type="archimate:CompositionRelationship" id="id-47b8de9a4ec74328b19e3451bef5bbf1" source="id-c5ed840830a94d1b823afaaf6d0c34ca" target="id-b25065fb646445b7aa51cbd760937c52"/>
<element xsi:type="archimate:CompositionRelationship" id="id-21d60527189e4633a15ab71aece96fdc" source="id-c5ed840830a94d1b823afaaf6d0c34ca" target="id-386458438dd24ab19cafb46452273dea"/>
<element xsi:type="archimate:ServingRelationship" id="id-a76142d0441c466fa3d89343a03e05b0" source="id-8e6bfe943ef845e4bfdc0c5980a112a7" target="id-386458438dd24ab19cafb46452273dea"/>
<element xsi:type="archimate:ServingRelationship" id="id-bb6a74aaf3774f17a44e59402dc4601f" source="id-60a75d8aefeb468ebb4eb8c485721b8c" target="id-8e6bfe943ef845e4bfdc0c5980a112a7"/>
<element xsi:type="archimate:CompositionRelationship" id="id-6719e9403c0348bc8cd602156544728b" source="id-f7c56648a53d416cbbda3b9df96ff3cc" target="id-15da7452027e40758bf2fded7b77cae0"/>
<element xsi:type="archimate:ServingRelationship" id="id-e4d8b47a9b8940d4933be205aa9a4687" source="id-f4b61a7bd13545aaa4748fb35a94b459" target="id-15da7452027e40758bf2fded7b77cae0"/>
</folder>
<folder name="Views" id="id-11057988600d45c6bc088e519a9f1da6" type="diagrams">
<element xsi:type="archimate:ArchimateDiagramModel" name="Default View" id="id-da4752657dd948cdbe7e454659a9413e">
<child xsi:type="archimate:DiagramObject" id="id-a4f2baaf29e04cc99de209a502b2efc2" textAlignment="1" archimateElement="id-b66d648dd4f740f5abdcc85deb194368">
<bounds x="432" y="222" width="229" height="140"/>
</child>
<child xsi:type="archimate:DiagramObject" id="id-25f6b212c5764c31b93b50493b61812a" targetConnections="id-4f099581c2aa4b248c04199daf5742a9" archimateElement="id-8e6bfe943ef845e4bfdc0c5980a112a7">
<bounds x="492" y="264" width="120" height="55"/>
<sourceConnection xsi:type="archimate:Connection" id="id-058ce8dd5bea45e6aeb5fee65e38f525" source="id-25f6b212c5764c31b93b50493b61812a" target="id-551ce900ab304a5eba312ee58a41c4ed" archimateRelationship="id-80a745c6fe374c9f8f65cb08d1692520"/>
<sourceConnection xsi:type="archimate:Connection" id="id-3b7451b7d3fe4c5585b27209cf294edb" targetConnections="id-6085697a49964258bdfa8a72298a6696" source="id-25f6b212c5764c31b93b50493b61812a" target="id-f41374c0b03a49719e12a62b101f3ae8" archimateRelationship="id-a76142d0441c466fa3d89343a03e05b0">
<bendpoint startX="396" startY="-2" endX="3" endY="-198"/>
</sourceConnection>
</child>
<child xsi:type="archimate:DiagramObject" id="id-c0699190b5e343e4ab07361b51a84659" targetConnections="id-5ba68b96bf2e4e41acf5b9eb7e6cce07" textAlignment="1" archimateElement="id-f7c56648a53d416cbbda3b9df96ff3cc">
<bounds x="432" y="408" width="361" height="241"/>
<sourceConnection xsi:type="archimate:Connection" id="id-4535a63c8ad74517ba69eaaae93da67c" source="id-c0699190b5e343e4ab07361b51a84659" target="id-551ce900ab304a5eba312ee58a41c4ed" archimateRelationship="id-926aee74010c4e2e87e868f57033b543"/>
<sourceConnection xsi:type="archimate:Connection" id="id-437a197b1b1948f5a16d35ffc2509c4b" source="id-c0699190b5e343e4ab07361b51a84659" target="id-f8650fcf75e14cfea748f5e0cf9012bf" archimateRelationship="id-b1cda76a603044df97171cd20198a1a1"/>
<sourceConnection xsi:type="archimate:Connection" id="id-6e00d8980f5547058e5e288c00827ea6" source="id-c0699190b5e343e4ab07361b51a84659" target="id-f66bbdd9db894a5592bc731af1ea17c2" archimateRelationship="id-6719e9403c0348bc8cd602156544728b"/>
<child xsi:type="archimate:DiagramObject" id="id-551ce900ab304a5eba312ee58a41c4ed" targetConnections="id-058ce8dd5bea45e6aeb5fee65e38f525 id-4535a63c8ad74517ba69eaaae93da67c" archimateElement="id-f4b61a7bd13545aaa4748fb35a94b459">
<bounds x="60" y="48" width="120" height="55"/>
<sourceConnection xsi:type="archimate:Connection" id="id-56164e84ab0d4d569530557301ead349" source="id-551ce900ab304a5eba312ee58a41c4ed" target="id-f8650fcf75e14cfea748f5e0cf9012bf" archimateRelationship="id-ecb22d40c35740a08cc4d4744f62f49e"/>
<sourceConnection xsi:type="archimate:Connection" id="id-15a9412180b145a98f7136f8e6639aa7" source="id-551ce900ab304a5eba312ee58a41c4ed" target="id-f66bbdd9db894a5592bc731af1ea17c2" archimateRelationship="id-e4d8b47a9b8940d4933be205aa9a4687"/>
</child>
<child xsi:type="archimate:DiagramObject" id="id-f8650fcf75e14cfea748f5e0cf9012bf" targetConnections="id-437a197b1b1948f5a16d35ffc2509c4b id-56164e84ab0d4d569530557301ead349" archimateElement="id-872322e298474d2385c2dc31ac35b6a4">
<bounds x="60" y="144" width="120" height="55"/>
</child>
<child xsi:type="archimate:DiagramObject" id="id-f66bbdd9db894a5592bc731af1ea17c2" targetConnections="id-6e00d8980f5547058e5e288c00827ea6 id-15a9412180b145a98f7136f8e6639aa7" archimateElement="id-15da7452027e40758bf2fded7b77cae0">
<bounds x="216" y="48" width="120" height="55"/>
</child>
</child>
<child xsi:type="archimate:DiagramObject" id="id-c3d626e80055473ca403c85df7b20ffe" textAlignment="1" archimateElement="id-c5ed840830a94d1b823afaaf6d0c34ca">
<bounds x="828" y="408" width="229" height="241"/>
<sourceConnection xsi:type="archimate:Connection" id="id-d3e5559f5f4f4ead997bf3f1c01dc4b6" source="id-c3d626e80055473ca403c85df7b20ffe" target="id-bc7bd3432c8840868e83222b40e2d0b3" archimateRelationship="id-47b8de9a4ec74328b19e3451bef5bbf1"/>
<sourceConnection xsi:type="archimate:Connection" id="id-b838acb5f07b48b2b7d916f80226ea85" source="id-c3d626e80055473ca403c85df7b20ffe" target="id-f41374c0b03a49719e12a62b101f3ae8" archimateRelationship="id-21d60527189e4633a15ab71aece96fdc"/>
<sourceConnection id="id-81afd5daeb2c44039cc7ecb475c94ef2" source="id-c3d626e80055473ca403c85df7b20ffe" target="id-6a4ca0d861324b62b405cac6a55dd408"/>
<child xsi:type="archimate:DiagramObject" id="id-bc7bd3432c8840868e83222b40e2d0b3" targetConnections="id-d3e5559f5f4f4ead997bf3f1c01dc4b6" archimateElement="id-b25065fb646445b7aa51cbd760937c52">
<bounds x="60" y="144" width="120" height="55"/>
</child>
<child xsi:type="archimate:DiagramObject" id="id-f41374c0b03a49719e12a62b101f3ae8" targetConnections="id-b838acb5f07b48b2b7d916f80226ea85 id-3b7451b7d3fe4c5585b27209cf294edb" archimateElement="id-386458438dd24ab19cafb46452273dea">
<bounds x="58" y="52" width="120" height="55"/>
</child>
</child>
<child xsi:type="archimate:Note" id="id-4315b24d8ac2434fa3fbd59d68234063" textAlignment="1">
<bounds x="984" y="156" width="253" height="97"/>
<sourceConnection id="id-6085697a49964258bdfa8a72298a6696" source="id-4315b24d8ac2434fa3fbd59d68234063" target="id-3b7451b7d3fe4c5585b27209cf294edb"/>
<content>Forwareded requests to /profiles/ path. Path is secured and available only for logged in users.
Information about user is supplied in X-User header of http request
</content>
</child>
<child xsi:type="archimate:DiagramObject" id="id-bb1eb5983ed64a3ebcdfcca33c1fb904" targetConnections="id-ff500269ac464af08e529b2b2b9194f3" archimateElement="id-60a75d8aefeb468ebb4eb8c485721b8c">
<bounds x="192" y="264" width="120" height="55"/>
<sourceConnection xsi:type="archimate:Connection" id="id-4f099581c2aa4b248c04199daf5742a9" source="id-bb1eb5983ed64a3ebcdfcca33c1fb904" target="id-25f6b212c5764c31b93b50493b61812a" archimateRelationship="id-bb6a74aaf3774f17a44e59402dc4601f"/>
</child>
<child xsi:type="archimate:Note" id="id-6a4ca0d861324b62b405cac6a55dd408" targetConnections="id-81afd5daeb2c44039cc7ecb475c94ef2" textAlignment="1">
<bounds x="1080" y="287" width="241" height="98"/>
<content>Set of services responsible for processing of profile data.
Includes database and sping microservices. Updates to database structure are handled with Flyway</content>
</child>
<child xsi:type="archimate:Note" id="id-cdfbb01945bc4927b4c5ccacab9ba71f" textAlignment="1">
<bounds x="418" y="108" width="243" height="80"/>
<sourceConnection id="id-ff500269ac464af08e529b2b2b9194f3" source="id-cdfbb01945bc4927b4c5ccacab9ba71f" target="id-bb1eb5983ed64a3ebcdfcca33c1fb904"/>
<content>Clients that use REST to call API.
After client is logged it gets the session identifier. This identifier should be supplied with each request in cookie "session"</content>
</child>
<child xsi:type="archimate:Note" id="id-66bfebd101104cbbb0825bdfbe05ba1b" textAlignment="1">
<bounds x="113" y="408" width="277" height="180"/>
<sourceConnection id="id-5ba68b96bf2e4e41acf5b9eb7e6cce07" source="id-66bfebd101104cbbb0825bdfbe05ba1b" target="id-c0699190b5e343e4ab07361b51a84659"/>
<content>Stores information about user login + sha1(password + salt).
Responsible for managing registered users, login, issuing of session tokes (stored in session cache for fast access). 
When there is a request to protected area and call is intercepted by API Gateway - checks the token and exchange it to userid that is passed downstream in http header "X-User"
Tokens are expiring after 15 minutes of inactivity</content>
</child>
</element>
<element xsi:type="archimate:ArchimateDiagramModel" name="_READ_ME_" id="id-e1cbd150590d4777b40f7eb795f9a523">
<child xsi:type="archimate:Note" id="id-65280957687a48779da1720ac5f4fb05" textAlignment="1" fillColor="#f6f6d8">
<bounds x="12" y="12" width="685" height="721"/>
<content>Properties that follow are used by the "Customizable Report"
There are two types of properties: "model wide" or "view only". "model wide" properties affect the whole report where "view only" properties impact only the rendering of the view having them set.
MODEL WIDE PROPERTIES
Report:Model:Hide:Business
Set to "true" to hide the list of business concepts.
Report:Model:Hide:Application
Set to "true" to hide the list of application concepts.
Report:Model:Hide:Technology&Physical
Set to "true" to hide the list of technlology and physical concepts.
Report:Model:Hide:Motivation
Set to "true" to hide the list of motivation extension concepts
Report:Model:Hide:Implementation&Migration
Set to "true" to hide the list of implementation & migration extension concepts.
Report:Model:Hide:Other
Set to "true" to hide the list of connectors and groupings.
Report:Model:Hide:Relations
Set to "true" to hide the list of relations.
Report:Model:Hide:Views
Set to "true" to hide the list of views.
Report:Model:Hide:ViewNumbering
Set to "true" to hide numbering at the begining of view name (regexp '^[0-9.]* ').
Report:Model:Cover:Background
URL or path to an image used on the cover (595 x 842).
If unset a default image is used. Set it to "null" to disable it.
Report:Model:Header:Background
URL or path to an image used on page header (595 x 50).
If unset a default image is used. Set it to "null" to disable it.
VIEW ONLY PROPERTIES
Report:View:Detailed
Set to "true" to show a detailed list of elements.
Report:View:Hide
Set to "true" to hide the view.
Report:View:Hide:Diagram
Set to "true" to hide the diagram.
Report:View:Tag
Use this property to tag a view (you can use this property multiple time). Tags can then be used to create a report containing only one specific tag. To do this add "#tagname" to the end of the report title (case insensitive). You can make a view visible for all tag using the special tag "all".</content>
</child>
<property key="Report:View:Hide" value="true"/>
<property key="Report:View:Hide:Diagram" value="(unused. here only to reference it once in global properties list)"/>
<property key="Report:View:Detailed" value="(unused. here only to reference it once in global properties list)"/>
<property key="Report:Model:Cover:Background" value="(unused. here only to reference it once in global properties list)"/>
<property key="Report:Model:Header:Background" value="(unused. here only to reference it once in global properties list)"/>
<property key="Report:View:Tag" value="(unused. here only to reference it once in global properties list)"/>
</element>
</folder>
<property key="Report:Model:Hide:Business" value="false"/>
<property key="Report:Model:Hide:Application" value="false"/>
<property key="Report:Model:Hide:Technology&Physical" value="false"/>
<property key="Report:Model:Hide:Motivation" value="false"/>
<property key="Report:Model:Hide:Implementation&Migration" value="false"/>
<property key="Report:Model:Hide:Other" value="false"/>
<property key="Report:Model:Hide:Relations" value="false"/>
<property key="Report:Model:Hide:Views" value="false"/>
<property key="Report:Model:Hide:ViewNumbering" value="true"/>
</archimate:model>