GEMMA Views
Views bieden verschillende perspectieven op het GEMMA architectuurmodel. Ze tonen specifieke aspecten van de architectuur en maken het model toegankelijker voor verschillende stakeholders.
Specificaties
object Metadata about this object | |
| id | string |
| viewpoint | string |
| name | string |
| documentation | string |
| properties | object |
Array of objects (Node) | |
Array of objects (Connection) |
{- "id": "v1",
- "name": "Zaakgericht werken",
- "viewpoint": "Application",
- "documentation": "Overzicht van de componenten voor zaakgericht werken",
- "properties": {
- "status": "Actief",
- "domein": "Dienstverlening"
}, - "nodes": [
- {
- "id": 1,
- "identifier": "node_e1",
- "elementRef": "e1",
- "position": {
- "x": 100,
- "y": 100,
- "w": 120,
- "h": 60
}, - "style": {
- "fillColor": {
- "r": 181,
- "g": 255,
- "b": 255,
- "a": 255
}, - "lineColor": {
- "r": 0,
- "g": 0,
- "b": 0,
- "a": 255
}, - "font": {
- "name": "Arial",
- "size": 12
}, - "color": {
- "r": 0,
- "g": 0,
- "b": 0
}
}
}, - {
- "id": 2,
- "identifier": "node_e2",
- "elementRef": "e2",
- "position": {
- "x": 300,
- "y": 100,
- "w": 120,
- "h": 60
}, - "style": {
- "fillColor": {
- "r": 181,
- "g": 255,
- "b": 255,
- "a": 255
}, - "lineColor": {
- "r": 0,
- "g": 0,
- "b": 0,
- "a": 255
}, - "font": {
- "name": "Arial",
- "size": 12
}, - "color": {
- "r": 0,
- "g": 0,
- "b": 0
}
}
}
], - "connections": [
- {
- "id": "c1",
- "relationRef": "r1",
- "source": "1",
- "target": "2",
- "style": {
- "lineColor": {
- "r": 0,
- "g": 0,
- "b": 0,
- "a": 255
}, - "lineWidth": 1,
- "lineStyle": "solid"
}
}
]
}Mappping
- JSON Voorbeeld
- Mapping Configuratie
- XML Input Voorbeeld
{
"identifier": "v9012",
"viewpoint": "application",
"name": "Applicatielandschap Burgerzaken",
"documentation": "Overzicht van applicaties voor burgerzaken",
"properties": {
"versie": "1.2",
"auteur": "Jan Jansen",
"datum": "2023-07-20"
},
"node": [
{
"identifier": "n1",
"elementRef": "e2345",
"position": {
"x": "100",
"y": "150",
"w": "120",
"h": "60"
},
"style": {
"fillColor": {
"r": "255",
"g": "255",
"b": "255",
"a": "100"
},
"lineColor": {
"r": "0",
"g": "0",
"b": "0",
"a": "100"
},
"font": {
"name": "Arial",
"size": "12",
"color": {
"r": "0",
"g": "0",
"b": "0"
}
}
}
}
],
"connection": [
{
"identifier": "c1",
"relationshipRef": "r5678",
"source": "n1",
"target": "n2",
"style": {
"lineColor": {
"r": "0",
"g": "0",
"b": "0"
},
"font": {
"name": "Arial",
"size": "10",
"color": {
"r": "0",
"g": "0",
"b": "0"
}
}
}
}
]
}
{
"name": "Archio XML Views to Gemma OAS",
"mapping": {
"identifier": "@attributes.identifier",
"viewpoint": "@attributes.viewpoint",
"name": "name",
"documentation": "documentation",
"properties": "{ {% for property in properties.property %}\"{{property['@attributes']['propertyDefinitionRef']}}\":\"{{property['value']}}\"{% if not loop.last %},{% endif %}{% endfor %} }",
"node": "{% if node|default %}{{ executeMapping(3, node, true)|json_encode }}{%else%}[]{%endif%}",
"connection": "[ {% for tConnection in connection %}{ \"identifier\":\"{{ tConnection['@attributes']['identifier'] }}\", \"relationshipRef\":\"{{ tConnection['@attributes']['relationshipRef'] }}\", \"source\":\"{{ tConnection['@attributes']['source'] }}\", \"target\":\"{{ tConnection['@attributes']['target'] }}\", \"style\":{ \"lineColor\":{ \"r\":\"{{ tConnection['style']['lineColor']['@attributes']['r'] }}\", \"g\":\"{{ tConnection['style']['lineColor']['@attributes']['g'] }}\", \"b\":\"{{ tConnection['style']['lineColor']['@attributes']['b'] }}\" }, \"font\":{ \"name\":\"{{ tConnection['style']['font']['@attributes']['name'] }}\", \"size\":\"{{ tConnection['style']['font']['@attributes']['size'] }}\", \"color\":{ \"r\":\"{{ tConnection['style']['font']['color']['@attributes']['r'] }}\", \"g\":\"{{ tConnection['style']['font']['color']['@attributes']['g'] }}\", \"b\":\"{{ tConnection['style']['font']['color']['@attributes']['b'] }}\" } } } }{% if not loop.last %},{% endif %}{% endfor %} ]"
},
"cast": {
"properties": "jsonToArray",
"node": "jsonToArray",
"connection": "jsonToArray"
}
}
<view identifier="v9012" viewpoint="application">
<name>Applicatielandschap Burgerzaken</name>
<documentation>Overzicht van applicaties voor burgerzaken</documentation>
<properties>
<property propertyDefinitionRef="versie">
<value>1.2</value>
</property>
<property propertyDefinitionRef="auteur">
<value>Jan Jansen</value>
</property>
<property propertyDefinitionRef="datum">
<value>2023-07-20</value>
</property>
</properties>
<node identifier="n1" elementRef="e2345" x="100" y="150" w="120" h="60">
<style>
<fillColor r="255" g="255" b="255" a="100"/>
<lineColor r="0" g="0" b="0" a="100"/>
<font name="Arial" size="12">
<color r="0" g="0" b="0"/>
</font>
</style>
</node>
<connection identifier="c1" relationshipRef="r5678" source="n1" target="n2">
<style>
<lineColor r="0" g="0" b="0"/>
<font name="Arial" size="10">
<color r="0" g="0" b="0"/>
</font>
</style>
</connection>
</view>
Soorten Views
Het GEMMA model bevat verschillende soorten views:
- Bedrijfsviews: Tonen bedrijfsprocessen, actoren en objecten
- Applicatieviews: Tonen applicatiecomponenten en hun interacties
- Technologieviews: Tonen infrastructuur en technische componenten
- Implementatieviews: Tonen hoe componenten worden geïmplementeerd
- Motivatieviews: Tonen doelen, principes en eisen
Relaties met andere Componenten
Views hebben de volgende relaties met andere componenten:
- Bevatten Nodes die Elementen visualiseren
- Bevatten Verbindingen die Relaties visualiseren
- Kunnen eigenschappen hebben die worden gedefinieerd door Eigenschapsdefinities