This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new ac25f4b2c1 ISIS-3073: polishing Metamodel Terminology
ac25f4b2c1 is described below
commit ac25f4b2c1ba9e6573941753989fe769faeb60bc
Author: Andi Huber <[email protected]>
AuthorDate: Wed Jun 29 08:25:08 2022 +0200
ISIS-3073: polishing Metamodel Terminology
---
.../resources/pages/metamodel_terminology.adoc | 60 +++++++++++++++-------
1 file changed, 42 insertions(+), 18 deletions(-)
diff --git
a/antora/components/docs/modules/resources/pages/metamodel_terminology.adoc
b/antora/components/docs/modules/resources/pages/metamodel_terminology.adoc
index 35fe6740a0..4890190c20 100644
--- a/antora/components/docs/modules/resources/pages/metamodel_terminology.adoc
+++ b/antora/components/docs/modules/resources/pages/metamodel_terminology.adoc
@@ -1,48 +1,72 @@
# metamodel_terminology
+== Metamodel Terminology
+
:Notice: Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with this work
for additional information regarding copyright ownership. The ASF licenses this
file to you under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by
applicable law or ag [...]
-.metamodel_terminology
[plantuml,file="metamodel_terminology.png"]
+.Metamodel Terminology
--
@startuml
skinparam nodesep 20
skinparam ranksep 1
+(Domain\nObject) as DO
+(Entity) as E
+(View\nModel) as VM
+(<i>Apache Isis</i>) as FW
+(Persistence\nLayer) as PL
+together {
+ (Mixin) as M
+ (Mixee) as ME
+}
+(Service) as S
+(Domain\nService) as DS
+(<i>Spring</i>) as SPRING
+(Member) as MB
+(Property) as P
+(Collection) as C
+(Action) as A
+
together {
- (Domain\nObject) as DO
- (Entity) as E
- (View\nModel) as VM
DO <-d-"is a" VM
DO <-d-"is a" E
- (Isis) as FW
FW .u.> VM : manages
- (Persistence\nLayer) as PL
PL .u.> E : manages
}
together {
- (Member) as MB
- (Property) as P
- (Collection) as C
- (Action) as A
P "is a"-u-> MB
C "is a"-u-> MB
A "is a"-u-> MB
}
DO --> MB : has 1..*
-(Mixin) as M
-(Mixee) as ME
-
-M "contributes"..> MB
-M "to"-> ME
+M "contributes\n a"..> MB
+M "contributes\n to"-> ME
DO -> ME : can \n act \n as
-(Service) as S
-(Domain\nService) as DS
+SPRING ..> S : manages
DS "is a"-u-> S
-DS --> A : contribute \n according \n to <i>Nature</i>
+DS --> A : contributes\n an\n
@enduml
--
+
+*_Viewmodels_* and *_Entities_* are specializations of *_Domain-Objects_*.
+
+_Domain-Objects_ have *_Properties_*, *_Collections_* and *_Actions_*,
+while _Viewmodels_ are (lifecycle-) managed by _Apache Isis_,
+_Entities_ are managed by the configured persistence layer
+(either JDO or JPA).
+
+*_Services_* in general are (lifecycle-) managed by _Spring_.
+We distinguish between _Services_ that *_contribute_* to the metamodel
+and those that don't. Contributing _Services_ we call *_Domain-Services_*.
+Those do contribute _Actions_ to the metamodel.
+Those _Actions_ are either visible as _Menu Actions_ in the UI
+and/or made available for the _Restful Objects Viewer_.
+(As indicated by the so called _Service's_ *_Nature_*.)
+
+*_Mixins_* do contribute either a _Property_, a _Collection_
+or an _Action_ to their *_Mixee_* (-type).