Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 43 Nächste Version anzeigen »

Architektur Entscheidungen

Entwurf vom 20.01.2015

  1. Keine _ in keys.
  2. JSON Properties werden Camelcase geschrieben, also boMetaId statt bo_meta_id (sh.:http://google-styleguide.googlecode.com/svn/trunk/jsoncstyleguide.xml#Property_Name_Format)
  3. 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 (wenn möglich) nicht voll-qualifiziert (Ausnahme: im den VLP, Layout ML-Regeln) - Siehe Diskussion
    3. Attribute werden klein am Anfang geschrieben: de_test_Auftrag_gesamtsumme
  4. Trennung von technischen und fachlichen Attributen: 
    1. Bei BOs wird der fachliche Inhalt unter dem Key "attributes" aufgelistet (früher "bo_values")
  5. Alle Links werden folgendermaßen gerendert:

    "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"]
       }
    }
  6. URLs:
    1. FQN statt UID
  7. Dependencies:
    1. URL: FQNs statt UIDs, subforms
    2. Inhalt:

      "subforms" : {
      	"de_test_Auftragsposition_auftrag" : {" : {
      		"links": {
                 	"self": {
                 		"href": "/bo_metas/de_test_Auftrag/123/subforms/de_test_Auftragsposition_auftrag/",
                     	"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"]
             	}
      	},
      }
      
      
  8. Umbenennungen
    1. cstr (in ContainerRVO.java) -> constraints

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?
  5. Status Auflistung muss geändert werden:
    1. Beachten: Statuswechsel vs. Daten eingeben inkl. Statuswechsel
    2. URL zum Statuswechsel (ohne Datenänderung), Speichern inkl. Statuswechsel Attribut.
    3. Offen
  6. URLs + Inhalt

 

 


  • Keine Stichwörter