Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Anhänge
previewfalse
uploadfalse
oldfalse

Inhalt
indent0px

Architektur Entscheidungen

Entwurf vom 20.01.2015

  1. Keine _ in keys.
  2. UIDs werden durch FQNs ersetzt:
    1. Statt der UID des BO-Meta wird der Package Name und der Name des BOs genutzt: de_test_Auftrag
    2. Attribute werden nicht voll-qualifiziert (Ausnahme: im den VLP, Layout ML-Regeln) - Siehe Diskussion
  3. Trennung von technischen und fachlichen Attributen: 
    1. Bei BOs wird der fachliche Inhalt unter dem Key "bo_content" aufgelistet
  4. Alle Links werden folgendermaßen gerendert:

    Codeblock
    languagejs
    "links": {
    	"self": {  // key ist das "rel"
        	"href": "http://.../bo_metas/de_test_Auftrag/123",	 // FQN bei BO 
           	"methods": [ "GET", "POST"],	// Array
        },
        "bo_meta": {
        	"href": "/bo_metas/de_test_Auftragsposition/",
            "methods": [ "GET"]
       }
    }
  5. URLs:
    1. FQN statt UID
  6. Dependencies:
    1. URL: FQNs statt UIDs, subforms
    2. Inhalt:

      Codeblock
      "subforms" : {
      	""de_test_Auftragsposition_Auftrag" : {" : {
      		"links": {
                 	"self": {
                 		"href": "/bo_metas/de_test_Auftrag/123/subforms/de_test_Auftragsposition/",
                     	"methods": [ "GET", "POST"],
                 	},
                 	"bo_meta": {
                 		"href": "/bo_metas/de_test_Auftragsposition/",
                     	"methods": [ "GET"]
                 	}
             	}
          },
          "de_test_Reklamation_Folgeauftrag" : {
      		"self": {
             		"href": "/bo_metas/de_test_Auftrag/123/subforms/de_test_Reklamation_Folgeauftrag/",
                 	"methods": [ "GET", "POST"],
            	},
             	"bo_meta": {
             		"href": "/bo_metas/de_test_Reklamation",
                 	"methods": [ "GET"]
             	}
      	},
      	"de_test_Reklamation_Auftrag" : {
      		"self": {
             		"href": "/bo_metas/de_test_Auftrag/123/subforms/de_test_Reklamation_Auftrag/",
                 	"methods": [ "GET", "POST"],
            	},
             	"bo_meta": {
             		"href": "/bo_metas/de_test_Reklamation",
                 	"methods": [ "GET"]
             	}
      	},
      }
      
      

Diskussion:

  1. Attribute sollten nicht voll-qualifiziert, weil:
    1. das mehr Traffic erzeugt
    2. das unübersichtlich aussieht
    3. Test-Fälle aufwendiger zu erstellen sind.
  2. Attribute müssen in Layout-ML + VLP Regeln auch zugreifbar sein, insbesondere wenn ein REST Service Client diese Attribute auswertet.
  3. HAL wird nicht verwendet, wegen der Vermischung von fachlichen und technischen Daten.
  4. Dependencies oder "subforms"?
    1. Was ist der key? Der Name des Attributes?

 

 

/

Codeblock
{
    "session_id": "ckW5dWQzBxkIfiH2eaWb",
    "username": "nuclos",
    "locale": "de_DE",
	"links": {
		"list" : {"href": "http://localhost:8280/example/rest/bo_metas", "verb": "GET"},
		"menu" : {"href": "http://localhost:8280/example/rest/bo?menu", "verb": "GET"}
	}
} 

...